Escrito originalmente por Joe Schreiber, reescrito y editado por Guest Blogger, reeditado y ampliado por Rich Langston
Ya sea que necesite monitorear hosts o las redes que los conectan para identificar las últimas amenazas, hay algunas grandes herramientas de detección de intrusos (IDS) de código abierto disponibles para usted.
- Lista de herramientas IDS de código abierto
- Técnicas de detección de IDS
- Herramientas IDS basadas en firmas
- Ventajas y desventajas
- Identificación basada en la red (NIDS)
- Snort
- Suricata
- Bro (renamed Zeek)
- Identificación basada en el host (HIDS)
- OSSEC
- Resumen de OSSEC:
- Samhain Labs
- Samhain Summary:
- Monitoreo de integridad de archivos (sólo FIM)
- Pensamientos finales
Lista de herramientas IDS de código abierto
- Snort
- Suricata
- Bro (Zeek)
- OSSEC
- Samhain Labs
- OpenDLP
Técnicas de detección de IDS
Hay dos técnicas principales de detección de amenazas: detección basada en firmas y detección basada en anomalías. Estas técnicas de detección son importantes a la hora de decidir si se opta por un motor de detección de firmas o de anomalías, pero los proveedores se han dado cuenta de las ventajas de cada una, y algunos están incorporando ambas en sus productos. Conocer sus puntos fuertes y débiles le permite comprender cómo pueden complementarse entre sí.
Herramientas IDS basadas en firmas
Con un IDS basado en firmas, también conocido como IDS basado en conocimiento, se buscan reglas o patrones de tráfico malicioso conocido. Una vez que se encuentra una coincidencia con una firma, se envía una alerta a su administrador. Estas alertas pueden descubrir problemas como el malware conocido, la actividad de exploración de la red y los ataques contra los servidores.
Una plataforma que combina las capacidades esenciales de seguridad, incluyendo IDS, descubrimiento de activos y gestión de registros SIEM.
Más información
Herramientas IDS basadas en anomalías
Con un IDS basado en anomalías, también conocido como IDS basado en el comportamiento, la actividad que generó el tráfico es mucho más importante que la carga útil que se entrega. Una herramienta IDS basada en anomalías se basa en líneas de base en lugar de firmas. Buscará la actividad inusual que se desvíe de los promedios estadísticos de las actividades anteriores o de la actividad vista previamente. Por ejemplo, si un usuario siempre se conecta a la red desde California y accede a archivos de ingeniería, si el mismo usuario se conecta desde Pekín y mira los archivos de recursos humanos es una señal de alarma.
Tanto las técnicas de detección basadas en firmas como las basadas en anomalías suelen desplegarse de la misma manera, aunque se podría argumentar que se podría (y la gente lo ha hecho) crear un IDS basado en anomalías sobre datos de flujo de red recogidos externamente o información de tráfico similar.
Ventajas y desventajas
Se producen menos falsos positivos con la detección basada en firmas, pero sólo se marcan las firmas conocidas, dejando un agujero de seguridad para las amenazas nuevas y aún no identificadas. Con la detección basada en anomalías se producen más falsos positivos, pero si se configura correctamente, detecta amenazas desconocidas hasta el momento.
Identificación basada en la red (NIDS)
Los sistemas de detección de intrusiones basados en la red (NIDS) funcionan inspeccionando todo el tráfico de un segmento de la red para detectar actividades maliciosas. Con los NIDS, se entrega al dispositivo NIDS una copia del tráfico que cruza la red mediante la duplicación del tráfico que cruza los conmutadores y/o enrutadores.
Un dispositivo NIDS supervisa y alerta sobre patrones o firmas de tráfico. Cuando el dispositivo NIDS marca eventos maliciosos, se registra información vital. Estos datos necesitan ser monitoreados para saber que un evento ocurrió. Al combinar esta información con los eventos recogidos de otros sistemas y dispositivos, se puede ver una imagen completa de la postura de seguridad de su red. Tenga en cuenta que ninguna de las herramientas aquí mencionadas correlaciona los registros por sí misma. Esta es generalmente la función de un gestor de información y eventos de seguridad (SIEM).
Snort
Ah, el venerable cerdito que ama los paquetes. Mucha gente recordará 1998 como el año en que salió Windows 98, pero también fue el año en que Martin Roesch lanzó por primera vez Snort. Aunque Snort no era un verdadero IDS en ese momento, ese era su destino. Desde entonces se ha convertido en el estándar de facto para los IDS, gracias a las contribuciones de la comunidad.
Es importante tener en cuenta que Snort no tiene una verdadera interfaz gráfica de usuario o una consola administrativa fácil de usar, aunque se han creado muchas otras herramientas de código abierto para ayudar, como BASE y Sguil. Estas herramientas proporcionan una interfaz web para consultar y analizar las alertas procedentes de Snort IDS.
Resumen de Snort
- Larga vida del producto sin signos de desaparecer
- Gran apoyo de la comunidad
- Muchos front-ends administrativos
- Totalmente probado y comprobado
- Gran apoyo de la comunidad
- Según el sitio web de Snort, las características incluyen:
- Diseño modular:
- Multi-threading for packet processing
- Shared configuration and attribute table
- Use a simple, scriptable configuration
- Plugin framework, make key components pluggable (and 200+ plugins)
- Auto-detect services for portless configuration
- Auto-generate reference documentation
- Scalable memory profile
- Rule parser and syntax (support sticky buffers in rules)
- Documentation:
- Ruleset Updates
- Snort FAQ
- A Snort Cheatsheet
- A plugin for Snort is available for AlienVault USM Anywhere.
Suricata
What’s the only reason for not running Snort? If you’re using Suricata instead. Although Suricata’s architecture is different than Snort, it behaves the same way as Snort and can use the same signatures. What’s great about Suricata is what else it’s capable of over Snort. Hace mucho más, probablemente merezca un post propio.
Hay herramientas de código abierto de terceros disponibles para un front-end web para consultar y analizar las alertas procedentes de Suricata IDS.
Resumen de Suricata
- Multihilo – Snort se ejecuta con un solo hilo, lo que significa que sólo puede utilizar una CPU (núcleo) a la vez. Suricata puede ejecutar muchos hilos por lo que puede aprovechar todas las cpu/núcleos que tengas disponibles. Ha habido mucha controversia sobre si esto es ventajoso, Snort dice que no y algunos puntos de referencia dicen que sí.
- Incorporado en la aceleración de hardware – ¿Sabía usted que puede utilizar tarjetas gráficas para inspeccionar el tráfico de red?
- Extracción de archivos – ¿Alguien descargando malware? Puede capturarlo directamente desde Suricata y estudiarlo.
- LuaJIT – Es un montón de letras sí, pero también es un motor de scripting que se puede utilizar con la información de los paquetes inspeccionados por Suricata. Esto hace que el emparejamiento complejo sea aún más fácil e incluso se puede ganar eficiencia mediante la combinación de múltiples reglas en un solo script.
- Registro de algo más que paquetes – Suricata puede capturar y registrar cosas como certificados TLS/SSL, peticiones HTTP, peticiones DNS
- Gran apoyo de la comunidad
- Según el sitio web de Suricata, las características incluyen:
- Alto rendimiento – multihilo, base de código escalable
- Motor multipropósito – NIDS, NIPS, NSM, análisis offline, etc.
- Soporte multiplataforma – Linux, Windows, macOS, OpenBSD, etc.
- Soporte TCP/IP moderno que incluye un motor de flujo escalable, IPv4/IPv6 completo, flujos TCP y desfragmentación de paquetes IP
- Parámetros de protocolo – decodificación de paquetes, decodificación de la capa de aplicación
- Motor HTTP – parser HTTP, registrador de solicitudes, coincidencia de palabras clave, etc.
- Autodetect services for portless configuration
- Lua scripting (LuaJIT)
- Application-layer logging and analysis, including TLS/SSL certs, HTTP requests, DNS requests, and more
- Built-in hardware acceleration (GPU for network sniffing)
- File extraction
- Documentation:
- Suricata User Guide
- User and Developer Docs
- Suricata FAQ
Bro (renamed Zeek)
Bro, which was renamed Zeek in late 2018 and is sometimes referred to as Bro-IDS or now Zeek-IDS, is a bit different than Snort and Suricata. In a way, Bro is both a signature and anomaly-based IDS. Its analysis engine will convert traffic captured into a series of events. An event could be a user login to FTP, a connection to a website or practically anything. The power of the system is what comes after the event engine and that’s the Policy Script Interpreter. Este motor de políticas tiene su propio lenguaje (Bro-Script) y puede hacer algunas tareas muy potentes y versátiles.
Si eres un analista y te has preguntado «¿Cómo puedo automatizar parte de mi trabajo?» entonces esta es la herramienta que estabas buscando. ¿Quiere descargar archivos vistos en la red, enviarlos para el análisis de malware, notificarle si se encuentra un problema y luego poner en la lista negra la fuente y apagar el ordenador del usuario que lo ha descargado? ¿Quieres rastrear los patrones de uso de un usuario después de que haya contactado con una IP desde una base de datos de reputación?
Si no eres un analista entonces esta herramienta tendrá una curva de aprendizaje desafiante. Dado que se desarrolló como una herramienta de investigación, no se centró inicialmente en cosas como GUI, usabilidad y facilidad de instalación. Mientras que hace numerosas cosas interesantes fuera de la caja, muchas de esas cosas no son inmediatamente accionables y pueden ser difíciles de interpretar.
No hay una GUI nativa, pero hay herramientas de código abierto de terceros disponibles para un front-end web para consultar y analizar las alertas procedentes de Bro-IDS. Consider ELK stack.
Bro Summary
- Complicated to set up
- Can detect patterns of activity other IDS systems can not
- Very extensible architecture
- Good community support
- According to Bro’s website, features include:
- Comprehensive traffic logging and analysis
- Powerful and flexible event-driven scripting language (Bro scripts)
- Deploys on UNIX-style systems, including Linux, FreeBSD, and MacOS
- DNS/FTP/HTTP/IRC/SMTP/SSH/SSL/other protocol support
- Fully passive traffic analysis with network tap or monitoring port
- Real-time and offline analysis
- Cluster-support for large-scale deployments
- Comprehensive IPv6 support
- IDS-style pattern matching
- File extraction
- Extensible architecture
- Analysts can use Bro for automation (file extraction, malware analysis, blacklisting, track usage patterns, research work, etc.)
- Documentación:
- Manual de Bro
- Documentos de Bro
- Preguntas frecuentes de Bro
Identificación basada en el host (HIDS)
Los sistemas de detección de intrusiones basados en el host (HIDS) funcionan monitorizando la actividad que se produce internamente en un host de punto final. Las aplicaciones HIDS (por ejemplo, software antivirus, software de detección de spyware, cortafuegos) suelen instalarse en todos los ordenadores conectados a Internet dentro de una red, o en un subconjunto de sistemas importantes, como los servidores. Esto incluye a los que se encuentran en entornos de nube pública.
Los HIDS buscan actividades inusuales o nefastas examinando los registros creados por el sistema operativo, buscando los cambios realizados en los archivos clave del sistema, rastreando el software instalado y, a veces, examinando las conexiones de red que realiza un host.
Los primeros sistemas HIDS eran básicos, normalmente se limitaban a crear hashes MD5 de los archivos de forma recurrente y a buscar discrepancias, utilizando un proceso denominado monitorización de la integridad de los archivos (FIM). Desde entonces, los HIDS se han vuelto mucho más complejos y realizan una variedad de funciones de seguridad útiles, y seguirán creciendo. Esto incluye las capacidades modernas de respuesta de punto final (EDR).
Si su organización tiene un mandato de cumplimiento, como para PCI DSS, HIPAA o ISO 27001, entonces puede requerir HIDS para demostrar la supervisión de la integridad de los archivos (FIM), así como la supervisión activa de las amenazas.
OSSEC
En el reino de las herramientas HIDS de código abierto con todas las funciones, hay OSSEC y no mucho más. La gran noticia es que OSSEC es muy bueno en lo que hace y es bastante extensible.
OSSEC se ejecuta en casi cualquier sistema operativo importante e incluye una arquitectura de gestión y registro basada en cliente/servidor, lo cual es muy importante en un sistema HIDS. Dado que los HIDS locales pueden verse comprometidos al mismo tiempo que el sistema operativo, es muy importante que la información forense y de seguridad abandone el host y se almacene en otro lugar lo antes posible para evitar cualquier tipo de manipulación u ofuscación que impida la detección.
La arquitectura cliente/servidor deOSSEC incorpora esta estrategia mediante la entrega de alertas y registros a un servidor centralizado donde el análisis y la notificación pueden producirse incluso si el sistema host se desconecta o se ve comprometido. Otra ventaja de la arquitectura cliente/servidor es la posibilidad de gestionar los agentes de forma centralizada desde un único servidor. Dado que los despliegues pueden variar de una a miles de instalaciones, la capacidad de hacer cambios globales desde un servidor central es crítica para la cordura de un administrador.
Cuando se habla de OSSEC (y otros HIDS) a menudo hay ansiedad por la instalación de un agente o software en servidores críticos. Hay que tener en cuenta que la instalación de OSSEC es extremadamente ligera (el instalador ocupa menos de 1MB) y la mayor parte del análisis se realiza en el servidor, lo que significa que OSSEC consume muy poca CPU en el host. OSSEC también tiene la capacidad de enviar los registros del sistema operativo al servidor para su análisis y almacenamiento, lo cual es particularmente útil en máquinas Windows que no tienen mecanismos de registro nativos y multiplataforma.
Resumen de OSSEC:
- Agentes para casi todos los SO
- Agente compilado para Windows
- Muchas funcionalidades además de FIM
- Proceso de instalación rígido pero sencillo
- Buen soporte de la comunidad
- Según el sitio web de OSSEC, las características incluyen:
- File integrity monitoring (FIM)
- Log monitoring collects, analyzes, and correlates system logs
- Rootkit detection, which searches for system modifications similar to rootkits
- Active response can invoke automated response action when alerts are triggered
- Client/Server architecture
- Multi-platform support (Linux, Solaris, Windows, MacOS, etc.)
- Supports compliance requirements for FIM
- Real-time and configurable alerts
- Integration with current infrastructure
- Centralized server for mass policy management
- Agent and agentless monitoring
- A plugin for OSSEC is available for AlienVault USM Anywhere. To learn more, read here.
- Documentation:
- OSSEC Docs
- OSSEC FAQ
- OSSEC Github
Samhain Labs
Samhain is probably the only HIDS open-source that gives OSSEC a run for its money. Pero es un caso de «igual pero diferente» cuando se comparan los dos. Samhain tiene la misma arquitectura cliente/servidor pero no la requiere como OSSEC. El agente en sí tiene una variedad de métodos de salida, siendo uno de ellos un repositorio central de registros, pero incluye otros como Syslog, Email y RDBMS. Incluso hay una opción para usar Samhain como una aplicación independiente en un solo host.
Otra diferencia importante es dónde ocurre el análisis. A diferencia de OSSEC, el procesamiento ocurre en el propio cliente, lo que tiene implicaciones operativas. From a practical point of view, care must be taken it doesn’t overload a busy server and interfere with operations. From the security point of view, having the brains on the endpoint invites hackers to deactivate the tool so warnings aren’t issued.
Samhain Summary:
- Harder to install
- Windows clients require Cygwin
- Great FIM functionality
- More flexible client
- Okay community support
- According to Samhain’s website, features include:
- File integrity monitoring (FIM)
- Log file monitoring and analysis
- Rootkit detection
- Port monitoring
- Detection of rogue SUID executables and hidden processes
- Multi-platform support
- Centralized logging and maintenance
- Client/Server architecture (mostly)
- Variety of output methods (e.g. syslog, email RDBMS)
- Can be used as a standalone application on a single host
- Documentation:
- Documentos de Samhain
- Manual de usuario de Samhain
- Preguntas frecuentes de Samhain
Monitoreo de integridad de archivos (sólo FIM)
Muchas herramientas de monitoreo de integridad de archivos (FIM) se categorizan con HIDS ya que FIM involucra la detección de amenazas, así que hablemos de ellas. FIM es una herramienta que valida la integridad de los archivos del sistema operativo y de las aplicaciones especificadas mediante la comparación de las versiones actuales con las versiones válidas conocidas, alertando al administrador cuando se modifican. Esto es importante porque los cambios en los servidores críticos suelen indicar que se ha producido una infracción. Si todavía se pregunta «¿qué es la monitorización de la integridad de los archivos y por qué la necesito?», tenemos una entrada de blog completa que explica por qué.
Algunas FIM se desarrollan activamente mientras que otras no se han actualizado en años. Tripwire y AFICK de código abierto son dos opciones de productos FIM de código abierto. Para los sistemas autónomos basados en Unix, considere la posibilidad de revisar los verificadores de integridad de archivos de búsqueda de rootkits, como chkrootkit, rkhunter o Unhide. El mecanismo único de búsqueda de rootkits hace que valga la pena considerar estas soluciones. También hay soluciones propietarias disponibles para Windows.
La plataforma de gestión de seguridad unificada (USM) de AlienVault proporciona capacidades FIM integradas para impulsar las tecnologías de detección de amenazas y acelerar sus esfuerzos de cumplimiento de la ciberseguridad. Para saber más sobre cómo AlienVault USM utiliza FIM para proteger sus activos, lea aquí.
Pensamientos finales
Espero que esta guía le haya ayudado a entender algunas de sus opciones de código abierto. Como se muestra aquí, nunca antes ha habido tantas opciones o un conjunto más amplio de herramientas disponibles. Con una planificación cuidadosa, y un plan de mantenimiento continuo, usted puede construir una red segura con estas herramientas. Con una planificación cuidadosa, y un plan de mantenimiento continuo, usted puede construir una red segura con estas herramientas.