nmap

En la quinta entrega de la serie “Controles técnicos de PCI DSS” se hará una introducción a las tecnologías de detección y prevención de intrusiones, la monitorización de segmentos críticos y su relación con el estándar PCI DSS.

¿Qué es un sistema de detección/prevención de intrusiones (IDS/IPS)?

Una de las actividades principales dentro de la seguridad (ya sea física o lógica) es la monitorización. La monitorización se basa en la definición inicial de una serie de umbrales de comportamiento “normal” de un objeto (un sistema de control automático, una red de datos, un ordenador, un programa informático, etc.) y la posterior comparación con su estado actual para detectar posibles anomalías en un momento específico. Este seguimiento da origen a una retroalimentación continua que permitirá la activación de actividades detectivas y/o correctivas orientadas a la re-alineación de este elemento dentro de los parámetros establecidos:

Diagrama de monitorización con retroalimentación

Diagrama de monitorización con retroalimentación

Como se puede observar en el diagrama, existen 3 bloques funcionales dentro del proceso de monitorización:

  • Una fuente de información u objeto a monitorizar, que procesa, transmite o almacena datos
  • Una acción de análisis en donde se recopilarán datos de comportamiento de la fuente de información y se compararán con los parámetros esperados
  • Una respuesta frente a un comportamiento anómalo, que puede ser pasiva (alerta) o activa (que puede modificar el entorno para re-alinear el comportamiento)

Bajo este escenario, un sistema que se encargue de obtener datos de una fuente de información, analizarlos, compararlos contra valores predefinidos de comportamiento para detectar comportamientos anómalos y generar acciones de respuesta se denomina “Sistema de detección/prevención de intrusiones“, entendiéndose “intrusión” como una acción no autorizada que puede comprometer la seguridad del objeto monitorizado. Ejemplos de sistemas de detección/prevención de intrusiones se pueden encontrar en sistemas de video-vigilancia física, alarmas, sistemas industriales de control automático, etc.

En el área de seguridad de la información, un sistema de detección de intrusiones (“Intrusion Detection System” – IDS) o sistema de prevención de intrusiones (“Intrusion Prevention System” – IPS) es un elemento que monitoriza el comportamiento de redes, host y/o aplicaciones en búsqueda de patrones de comportamiento malicioso, compartiendo las mismas características descritas anteriormente, que permiten catalogarlos de acuerdo con su funcionamiento:

  • Dependiendo de la fuente de información analizada:
    • Red (Network IDS/IPS): que analiza el comportamiento de una red de datos a través de la captura de tráfico empleando técnicas de análisis de paquetes (“sniffing”), incluyendo redes inalámbricas (Wireless IDS/IPS)
    • Host (Host IDS/IPS): que analiza el comportamiento de un equipo en particular (por lo general su sistema operativo) y los eventos relacionados con seguridad.
  • Dependiendo del tipo de análisis ejecutado:
    • Basado en patrones de ataques conocidos (firmas)
    • Basado en análisis de comportamiento (heurística)
  • Dependiendo del tipo de respuesta activada:
    • Pasiva: No hay una modificación activa del entorno. Se genera una alerta o alarma al responsable. Estos sistemas son catalogados como IDS
    • Activa: Adicional a la alerta, se genera una acción correctiva que puede modificar el entorno, como la finalización de una conexión o el bloqueo de un tráfico específico. Estos sistemas son catalogados como IPS  

Conforme con lo anterior, se puede sintetizar esta clasificación de la siguiente manera:

Clasificación de sistemas IDS/IPS

Clasificación de sistemas IDS/IPS

La historia de los IDS/IPS se remonta a la década de 1980 con la serie de libros “arcoíris” (“rainbow series“) del Departamento de Defensa de Estados Unidos, en los cuales se describía el proceso de evaluación de sistemas confiables (“trusted systems”).  Específicamente, el libro marrón (“tan book“) denominado “A Guide to Understanding Audit in Trusted Systems” describía los componentes de auditoría y monitorización que debían ser desplegados en un sistema confiable, lo que dio pie al establecimiento de los primeros sistemas de detección y prevención de anomalías, entre los que se encontraban – por aquel entonces – el “Intrusión Detection Expert System” (IDES) de la Marina estadounidense (que incorporó modelos estadísticos para la detección de intrusiones), el proyecto Haystack del Centro de Soporte Criptológico de la Fuerza Aérea de USA, el “Multics Intrusión Detection And Alerting System” (MIDAS) del National Computer Security Center y el “Network Audit Director and Intrusion Reporter” (NADIR) del Laboratorio Nacional de Los Álamos (que incorporaba modelos de inteligencia artificial y sistemas expertos).

Actualmente – y debido a la masificación de Internet y la evolución y complejidad de los ataques informáticos – las soluciones de IDS/IPS han crecido a velocidades vertiginosas, convirtiéndose en uno de los elementos complementarios de una estrategia de “Defensa en Profundidad” y soportando las investigaciones de incidentes y cómputo forense. Estas soluciones pueden ser desplegadas como un aplicativo en un servidor específico, dentro de un hardware auto-contenido (“appliance”) o como módulos de seguridad adicionales a soluciones de filtrado de paquetes (“firewalls”).

Dependiendo de su funcionalidad, topología de la red a analizar y tipo de respuesta, los Network IDS/IPS se pueden implementar bajo los siguientes modelos:

  • Inline: En este modelo, todo el tráfico de la red a ser monitorizado debe pasar a través del sensor. Este modelo es indicado especialmente para sistemas de prevención de intrusiones (IPS), ya que permite la ejecución de acciones correctivas directamente sobre el tráfico (bloqueo, finalización de sesiones, respuestas con paquetes manipulados, etc.). Puede ser desplegado como un dispositivo independiente o como un módulo complementario sobre la misma solución de cortafuegos
Sensor IDS/IPS en línea (Inline)

Sensor IDS/IPS en línea (Inline)

  • Pasivo: A diferencia del modelo “inline” en el cual todo el tráfico pasa a través del dispositivo, en esta topología el sensor o sonda analiza una copia del tráfico de los segmentos de red que se quieran monitorizar, no siendo necesario que el tráfico pase directamente por la sonda. Esta topología es indicada para sistemas de detección de intrusiones (IDS) que no requieren actuar directamente sobre el tráfico sino solamente generar alertas. La copia del tráfico que va a ser analizado se puede configurar de varias formas:
    • Usando un puerto “mirror” (Switched Port ANalyzer (SPAN) en equipos Cisco, Roving Analysis Port (RAP) en equipos 3Com): Muchos conmutadores permiten configurar un puerto especial que puede ver todo el tráfico que circula a través del equipo. Empleando este puerto, la sonda puede analizar dicho tráfico generando las alertas pertinentes sin afectar la operación normal de los datos transmitidos
    • Usando un TAP de red (“Network Tap”): Un tap” es un dispositivo de hardware que se introduce directamente en el medio de transmisión permitiendo interceptar el tráfico.  Mediante este hardware se pueden realizar copias de tráfico para ser enviadas al IDS
Sensor en modo pasivo

Sensor en modo pasivo

Para mayor información relacionada con sistemas de detección/prevención de intrusiones, se recomienda la consulta del documento del NIST “Special Publication 800-94 – Guide to Intrusion Detection and Prevention Systems (IDPS)“.

¿Qué requerimientos de PCI DSS están relacionados con IDS/IPS?

Con el fin de garantizar que se realiza una monitorización del tráfico en el perímetro y en los segmentos críticos del entorno de cumplimiento PCI DSS, el estándar cuenta con los siguientes requerimientos:

  • Requerimiento 11.4 “Use técnicas de intrusión-detección y de intrusión-prevención para detectar o prevenir intrusiones en la red. Monitoree todo el tráfico presente en el perímetro del entorno de datos del titular de la tarjeta y en los puntos críticos del entorno de datos del titular de la tarjeta, y alerte al personal ante la sospecha de riesgos. Mantenga actualizados todos los motores de intrusión-detección y de prevención, las bases y firmas”

Bajo este escenario es igual de válida la implementación o de un sistema de detección de intrusiones en red (NIDS) o un sistema de prevención de intrusiones en red (NIPS). Algunas veces, se pueden encontrar soluciones que contienen ambas funcionalidades, denominadas IDP (“Intrusión Detection and Prevention”).

Así mismo, las alertas generadas por la solución de IDS/IPS de red deben ser revisadas diariamente:

  • Requerimiento 10.6.1 “Revise las siguientes opciones, al menos, una vez al día: […] Registros de todos los servidores y componentes del sistema que realizan funciones de seguridad (por ejemplo, firewalls, IDS/IPS [sistemas de intrusión-detección o sistemas de intrusión-prevención], servidores de autenticación, servidores de redireccionamiento de comercio electrónico, etc.)”

Por otro lado, las alertas provenientes de los sistemas de monitorización de intrusiones deben estar incluidas dentro del Plan de Respuesta a Incidentes de la organización:

  • Requerimiento 12.10.5 “Incluya alertas de los sistemas de monitorización de seguridad, que incluye, entre otros, sistemas de intrusión-detección y de intrusión-prevención, firewalls y sistemas de monitorización de integridad de archivos”

Criterios para la elección de una solución IDS/IPS para PCI DSS

Ya sea que se opte por una solución de NIDS o de NIPS en un appliance, como software o como módulo de cortafuegos, a continuación se describen una serie de criterios que deben ser tenidos en cuenta en el momento de la elección y despliegue de una solución de monitorización de incidentes en un entorno de cumplimiento PCI DSS:

  • Debe contar con funcionalidades de detección basadas en firmas, en análisis de anomalías y tener soporte para inspección de estados (“stateful protocol analysis”)
  • Debe poder permitir analizar el perímetro de la red de PCI DSS y de los segmentos que se consideren críticos. En este caso, analizar la opción de desplegar diferentes sensores en las zonas críticas a ser monitorizadas
  • La solución debe permitir la personalización de las alertas y los criterios de detección, con el fin de gestionar falsos positivos y agregar nuevos controles de detección/prevención adicionales a los provistos por el fabricante
  • La solución debe permitir ser actualizada de forma regular, tanto para sus componentes como para sus firmas. Tener presente que muchas veces se requiere de reinicio del equipo para finalizar las actualizaciones, por lo que es indispensable gestionar sus actualizaciones con base en lo descrito en el requerimiento 6.4.5 para evitar indisponibilidad del control que puede dar pie a una vulnerabilidad del entorno
  • En el caso de appliances, tener presente la escalabilidad del dispositivo y la densidad de puertos de red, incluyendo los puertos de gestión

Así mismo, se recomienda:

  • Antes de poner en producción una solución de IDS/IPS, definir un periodo de “aprendizaje” en el cual el dispositivo pueda capturar, analizar y obtener información estadística del comportamiento normal de la red con el fin de establecer umbrales para la detección de anomalías
  • Si se despliega una solución de IDS/IPS inline, tener presente que este equipo puede convertirse en un punto único de fallo, por lo que puede ser necesaria la instalación de dispositivos en alta disponibilidad en caso de fallos y realizar análisis periódicos de desempeño del equipo para prevenir cuellos de botella
  • Cuando se monitorice tráfico proveniente de redes públicas abiertas, garantizar que el sensor de IDS/IPS puede tener acceso al tráfico en texto claro, ya que de lo contrario no se podrá realizar monitorización sobre tráfico cifrado
  • Idealmente, la solución debería poder vincularse con el sistema de centralizado de registro de eventos (req. 10.5.3 y 10.5.4) y enviar alertas empleando diferentes canales (correo electrónico, SMS, etc.)
  • Se recomienda validar si la solución permite la integración con otros dispositivos de seguridad, como por ejemplo la reconfiguración de reglas en cortafuegos y conmutadores como respuesta a la detección de una intrusión
  • Analizar las características de seguridad con las que cuenta la solución para su auto-defensa en caso de ataques dirigidos
  • Si se cuenta con soluciones de virtualización, contemplar la necesidad de monitorizar los segmentos de red en este tipo de plataformas (incluyendo virtual switch)

El documento “Special Publication 800-94” del NIST – citado anteriormente – tiene un capítulo completo en donde se detallan gran cantidad de criterios para la elección de una solución de IDS/IPS.

Soluciones comerciales de IDS/IPS

En 2013, Gartner publicó su cuadrado mágico para sistemas de prevención de intrusiones (“Magic Quadrant for Intrusion Prevention Systems”), que puede ser un buen punto de referencia para la comparación de diferentes soluciones comerciales de IDS/IPS. Algunas de las más destacables son:

Tener presente que existen soluciones Unified Threat Management – UTM que pueden contener módulos de IDS/IPS. Revisar con un QSA la validez de dichas plataformas y su cumplimiento con PCI DSS.

Soluciones Open Source de IDS/IPS

A continuación se enumeran algunas soluciones destacables de IDS/IPS bajo licenciamiento OpenSource:

Referencia técnica: ¿Cómo comprobar si un IDS/IPS está generando alertas?

Con el fin de garantizar que la solución de IDS/IPS implementada en el entorno de cumplimiento genera las alertas necesarias, es necesario desarrollar pruebas periódicas para validar la efectividad y eficacia en la detección de intrusiones. Estas pruebas se pueden vincular a los escaneos de vulnerabilidades (req. 11.2) y pruebas de penetración (req. 11.3), empleando herramientas como Nessus, Nmap o Metasploit.

Por otro lado, se puede utilizar una herramienta que como tal no ejecute ataques activos sino que inyecte en la red tráfico falso (e inofensivo) pero perteneciente a intrusiones reales para que sea detectado por el sensor, de forma similar a como funcionan los antígenos en las vacunas. Un ejemplo de estas herramientas es IDSWakeUp. Este script consta de dos módulos (IDSwakeup e iwu) que interactúan con hping2 y libnet para generar tráfico malicioso entre dos hosts.

Captura de pantalla de IDSWakeUp

Captura de pantalla de IDSWakeUp

Pruebas similares se pueden desarrollar automatizando los procesos de manipulación de paquetes empleando herramientas como Scapy o nping.

¿Conoce alguna solución de IDS/IPS diferente a las listadas en este artículo? ¿Cómo ha sido su experiencia en el despliegue de estas soluciones en entornos PCI DSS? Las respuestas y otras preguntas que se puedan tener las pueden formular en los comentarios y el foro.