¿Te ha gustado el artículo?
0
¿Te ha gustado el artículo?
0

Protección de sistemas con Intrusion Prevention System e Intrusion Detection System

La mejor manera de proteger una red o un sistema informático consiste en detectar y mitigar los ataques a tiempo antes de que puedan causar daños mayores. Con este fin, muchos implementan sistemas como el Intrusion Detection System (IDS) o el versátil Intrusion Prevention System (IPS). En este artículo te mostramos en qué consisten estos componentes de seguridad y cómo funcionan exactamente.

¿Qué es un sistema de detección de intrusos?

Un Intrusion Detection System (IDS), en español sistema de detección de intrusos, es utilizado para detectar a tiempo ataques en contra de un sistema informático o de una red. El IDS software necesario se puede instalar en el sistema que está siendo supervisado o, también, en un dispositivo independiente. Muchos proveedores distribuyen soluciones IDS preconfiguradas de alto precio. Además, los sistemas de detección de intrusos supervisan y analizan las actividades de la red en búsqueda de tráfico inusual para informar al usuario en caso de que lo haya. Así, este tiene la oportunidad de responder a los ataques de acceso y de detener el ataque. Actualmente es posible distinguir entre dos métodos diferentes de detección de intrusiones de red, ya sean basados en el host o basados en la red.

Sistema de detección de intrusos basado en el host

Los primeros IDS software basados en el host surgieron en la década de 1980 y tenían como fin proteger estructuras informáticas centralizadas. Para ello, el sistema de detección se instalaba en el ordenador central a través del cual se ejecutaban los diferentes terminales conectados y, desde ese host, se controlaba el intercambio de archivos kernel, de registro y otros datos del sistema. Con la evolución de terminales en estaciones de trabajo independientes con potencia de cálculo propia, fue necesario adaptar la tecnología basada en el host. Así, y para verificar dichos sistemas independientes, se instalaron módulos especiales, también conocidos como agentes de supervisión. Principalmente, estos se encargaban de filtrar el tráfico, o los datos cuya auditoría era relevante, y de enviar los resultados al servidor central que, a su vez, era responsable de la detección de los ataques. Debido a su concepción, se les conoce también como sistemas de detección de intrusos distribuidos.

Intrusion Detection System basados en la red

La creciente interconexión de las redes locales a Internet requirió nuevos desarrollos en la tecnología IDS. Por una parte, el enfoque basado en el host no estaba hecho para el flexible y complejo flujo de datos de Internet. Por la otra, ya no era necesaria la proximidad física con el sistema de destino para realizar el ataque, lo que permitía que fueran ejecutados sin complicaciones a través de los clientes distribuidos por la red. Dado que, obligatoriamente, el acceso no autorizado desde Internet tiene lugar vía protocolos como TCP/IP o UDP, ahora los sistemas basados en la red no comprueban los datos, sino los paquetes IP. Es por este motivo que fueron vinculados estrechamente al cortafuegos utilizado. Para ello, también constituyeron una unidad central de monitoreo que no se limitaba a la protección de un solo sistema, sino que podía ver todo el tráfico de la red.

¿Cómo funcionan los sistemas de reconocimiento modernos?

Para garantizar una tasa más alta de reconocimiento de ataques, los actuales Intrusion Detection Systems combinan, por lo general, ambos enfoques. Estos sistemas híbridos se caracterizan por un sistema de gestión central que recibe las informaciones necesarias tanto desde el software basado en la red como desde el software basado en el host. Hay tres componentes básicos involucrados en el proceso de reconocimiento:

Monitoreo de datos

El monitor de datos tiene la tarea de recoger y hacer un primer filtro a los datos necesarios para filtrar intrusos. Se trata de la auditoría de datos anteriormente mencionada, que incluye archivos log de sistemas informáticas y aplicaciones de seguridad como, por ejemplo, la capacidad de la CPU, el número de conexiones de red activas o la cantidad de intentos de inicio de sesión. Además, en los sistemas híbridos de detección de intrusos, el monitor de datos también evalúa los datos de las conexiones TCP/IP, tales como direcciones de origen y destino y otras propiedades de los paquetes de datos enviados y recibidos, que obtiene gracias al sensor IDS basado en la red.

Análisis

El monitor de datos envía el flujo de datos recogidos y previamente filtrados al llamado analyzer (analizador). Este debe editar y evaluar la información obtenida en tiempo real, de lo contrario no sería posible evitar los ataques a tiempo. Por consiguiente, el proceso de análisis demanda mayores exigencias al hardware subyacente (CPU y memoria). Especialmente en redes empresariales muy grandes, la escalabilidad del IDS es uno de los procesos más complicados, aunque también es de las tareas más importantes para garantizar la funcionalidad del sistema de detención de ataques. Los métodos utilizados por el analizador para evaluar los datos son:

  • En caso de usos indebidos del sistema (misuse detection), el analizador intenta detectar patrones de ataque conocidos, denominados firmas (signature), en los datos obtenidos. Estos se almacenan en una base de datos independiente que es actualizada periódicamente. Allí, cada entrada recibe, además, información sobre la gravedad del ataque. Ahora bien, la pequeña desventaja de este método es que mientras que los patrones de ataque conocidos pueden ser claramente identificados y evaluados, aquellos que no hayan sido incluidos en la base de datos serán imperceptibles para este mecanismo de detección.
  • La detección de anomalías (anomaly detection) se basa en un principio diferente: este método de análisis supone que el acceso no autorizado causa un comportamiento anormal en el sistema y, por lo tanto, se diferencia de los valores previamente establecidos. Así, el analizador se puede configurar de tal manera que encienda una alarma cuando la capacidad de la CPU o el tráfico a la página web sobrepase un cierto número (enfoque estático). Como alternativa, este también puede incluir la secuencia temporal de los eventos en la evaluación (enfoque lógico). La detección de anomalías puede ayudar a detectar ataques nuevos y desconocidos, sin embargo, este activo método de reconocimiento también alerta en caso de que el sistema se encuentre en un estado inusual que no haya sido generado por un intruso.

Informe de resultados

En la etapa final, el Intrusion Detection System informa al administrador de la red si encontró un ataque o un comportamiento sospechoso del sistema. Dependiendo del potencial de riesgo, existen diferentes posibilidades de notificarlo. Así, por ejemplo, un sistema que necesita defenderse enviaría

  • un correo electrónico que explique la naturaleza del ataque,
  • una alarma local como una ventana emergente que active la consola de seguridad,
  • o un mensaje de alerta a un dispositivo móvil.

El grado de riesgo obtenido en la detección de anomalías se deriva del grado de desviación del valor estándar, mientras que el procedimiento de identificación de usos indebidos en el sistema, como se mencionó anteriormente, obtiene un nivel de clasificación dentro de la base de datos de patrones.

Las ventajas e inconvenientes del sistema de detección de intrusos

Su versátil tecnología permite que los Instrusion Detection Systems detecten ataques potenciales que pasarían desapercibidos ante un firewall tradicional. Los IDS software analizan paquetes de datos en la capa más alta del modelo OSI y, de esta forma, controlan específicamente cada aplicación ejecutada. Gracias a su enfoque, los sistemas con detección de anomalías también pueden descubrir nuevos y flexibles patrones de ataque y aumentar así la seguridad de una red. Recuerda que los IDS no reemplazan a los cortafuegos, sino que más bien los complementan, ya que solo una combinación de estos dos componentes de seguridad garantizará una protección adecuada.

Debido a que los sistemas de detección de intrusos son componentes activos de una red, estos también son potenciales objetivos para un ataque, especialmente cuando los intrusos saben de su existencia. Estos son especialmente vulnerables a ataques DoS, es decir a un ataque de sobrecarga, con los que es posible desactivar el IDS software en muy poco tiempo. Además, el atacante también puede aprovecharse de la función de notificación automática de los sistemas de detección de intrusos para lanzar ataques de denegación de servicio desde el IDS. En particular, una configuración incorrecta de la detección de anomalías se puede convertir en el talón de Aquiles de estos sistemas. Por ejemplo, si la configuración de la alarma es muy sensible, el número de alertas será demasiado alto incluso sin que se presenten intentos de acceso no autorizados.

En cualquier caso, es necesario sopesar los costes y la relación coste-beneficio de estos sistemas de seguridad, ya que no solo se necesita el IDS software, sino también el entorno de hardware adecuado. Incluso con potentes soluciones de código abierto basadas en la red como Snort, basadas en el host como Samhain o híbridas como Suricata no evitarás ocuparte de la correcta instalación, desarrollo y mantenimiento de tu IDS.

¿Qué es un Intrusion Prevention System?

Los Intrusion Prevention Systems (IPS) son sistemas de prevención de intrusiones que van un paso más allá de los sistemas de detección de intrusos: una vez que han encontrado un posible ataque, no solo informan al administrador, sino que llevan a cabo medidas concretas e inmediatas. De esta forma evitan que transcurra un espacio de tiempo muy grande entre la detección y lucha contra el intruso, como puede ser el caso de los IDS software. Con respecto al método de análisis utilizado no existe ninguna diferencia entre ambos mecanismos de protección de red. De la misma forma que los IDS, los IPS software actuales también utilizan sensores basados en el host o en la red para registrar y evaluar datos del sistema y paquetes de red.

Es recomendable configurar individualmente un Intrusion Prevention System para evitar que los métodos de detección de anomalías clasifiquen acciones normales de los usuarios como una amenaza y las bloqueen. De esta forma puedes implementar tantos sistemas de detección y prevención de intrusos como sean necesarios, con lo que, básicamente, podrás elegir entre el bloqueo activo o el simple seguimiento, por ejemplo, con aplicaciones de código abierto como las anteriormente mencionadas Snort y Suricata. También puedes considerar un sistema que combine ambos enfoques e, incluso, implementar dos sistemas separados. Esta última variante implica que el filtrado y el bloqueo se puedan realizar en diferentes entornos de hardware.

El alcance de un IPS software puede variar ampliamente, como lo demuestran los programas gratuitos DenyHosts y Snort.

DenyHost: la respuesta simple a ataques de fuerza bruta

La herramienta DenyHost, escrita en Python, permite establecer un Intrusion Prevention System basado en el host para conexiones SSH/SSHD que reconoce y detiene ataques de fuerza bruta. Para ello, la aplicación de código abierto comprueba las entradas en los registros de autenticación para identificar intentos fallidos de acceso a SSH. En caso de que se supere el número de intentos fallidos permitidos desde una dirección IP en concreto, DenyHost bloqueará esta IP y la inscribirá en una lista negra. De esta manera, si el atacante sigue utilizando la misma IP, se le denegará el acceso.

Los únicos requisitos para utilizar DenyHost son un sistema operativo UNIX y el lenguaje de script Phyton, incluyendo el módulo ipaddr, que se incluye por defecto en la mayoría de distribuciones. Las versiones más actuales de las herramientas IPS las encuentras en su repositorio en GitHub. Otra posible alternativa es la aplicación de seguridad, con características muy similares, Fail2ban.

Snort: reglas flexibles para una red segura

En 1998, el programador Martin Roesch publicó la herramienta de seguridad Snort, aunque únicamente para sistemas UNIX. Cisco Systems se ocupa, desde 2013, de su desarrollo y programación multiplataforma bajo la licencia GPL. La compañía estadounidense ofrece la herramienta libre en varios modelos comerciales de suscripción para personas privadas o empresas, que, entre otras cosas, cuenta con un sistema de actualizaciones más rápido y soporte adicional al usuario. Snort proporciona las funciones necesarias para crear poderosos Intrusion Prevention Systems basados en la red. Puedes descargar el software y configurarlo para que únicamente controle los componentes respectivos y, por lo tanto, sea la base de un sistema de detección de intrusos.

Snort comprueba el tráfico de la red en tiempo real y utiliza BASE como motor de detección de usos indebidos del sistema. Este compara los paquetes de datos entrantes y salientes con los patrones registrados, que en Snort se conocen como reglas (rules). Cisco Systems actualiza dichas reglas con regularidad, incluyendo los nuevos patrones de ataque descubiertos. En las versiones de pago, los clientes obtienen dichas actualizaciones con mayor eficiencia. Adicionalmente, también es posible definir tus propias reglas y, de esta manera, mejorar las capacidades de detección de tu sistema Snort. Para obtener más información sobre el uso gratuito y comercial de Snort, visita su página web.

Cifrado Red Seguridad