TheHive, Cortex y MISP funcionan muy bien juntos:
TheHive
TheHive es una plataforma de respuesta a incidentes de seguridad (SIRP). Puede recibir alertas de diferentes fuentes (SIEM, IDS, correo electrónico, etc.) a través de su API REST, y es aquí donde los alimentadores de alerta entran en juego.
Alertas y Feeds en The Hive
Piensa en un feed de alerta como un programa especializado que consume un evento de seguridad (alerta SIEM, informe de correo electrónico, alerta de IDS, etc.), lo analiza y emite una alerta que envía a TheHive a través de TheHive4py, la biblioteca de Python que para interactua con la API REST de TheHive.
Los feed dependeran de nuestra plataforma o sistemas de detección, pueden ser muy variadas dependiendo del entorno, pero desarrollar los mismos debería ser sencillo.
Cualquier alerta enviada a TheHive se mostrará en el panel de alertas. Además de las fuentes mencionadas anteriormente, los eventos MISP nuevos o actualizados se mostrarán también en esa área si configuramos TheHive para conectarse a una o varias instancias MISP. Si es así, TheHive sondeará las instancias MISP cada cierto intervalo buscando eventos nuevos o actualizados. Si hay alguno, TheHive lo sabrá y generará una alerta que terminará en su panel, como podemos ver:
Las alertas se pueden ignorar, marcar como leídas, previsualizar e importar. Cuando se importa una alerta, se convierte en un caso que necesita ser investigado.
Casos en TheHive
Se puede generar un caso a partir de una alerta o crear desde cero. Se subdivide en tareas (pensar en identificación, contención, erradicación, verificar registros de proxy, etc.) y observables (direcciones IP, hashes, direcciones de correo electrónico, nombres de dominio, URL ...). Cuando los analistas están trabajando en tareas, agregan registros a medida que avanzan. En la terminología de TheHive, los registros son entradas de texto que pueden contener archivos adjuntos para ayudar a los analistas a registrar lo que han estado haciendo. Los registros se pueden escribir usando Markdown o un editor de texto enriquecido.
No es necesario agregar las mismas tareas una y otra vez cuando trabajamos en casos que pertenecen a una categoría determinada (DDoS, spam, APT, ...). Podemos crear plantillas personalizadas a las que agregar tareas como vemos en la siguiente imagen. Siendo muy útil cuando se trata de alertas para que cuando las importemos, podamos seleccionar qué plantilla de caso deseamos aplicar y ¡listo!
Observables en TheHive
Los observables pueden etiquetarse, marcarse como IOCs y analizarse. Cuando la investigación esté en progreso o finalizada, es posible que deseemos compartir los IOC resultantes o un subconjunto de aquellos con lagunos "socios".
Todos los observables deben tener un nivel TLP (Protocolo de Semáforo). Por defecto, cualquier observable agregado se considera TLP: AMBAR. Debemos tener en cuenta que algunos analizadores tienen en cuenta el TLP. ¡Espera! Si, hemos dicho Analizadores.
Cortex
Cortex es un motor de análisis independiente y un compañero perfecto para TheHive y MISP. Los analistas pueden usarlo para analizar observables utilizando su interfaz web de usuario, en cuyo caso pueden enviarse solo de uno en uno. La interfaz web de usuario debería estar limitada a evaluaciones rápidas de observables antes de crear un caso en TheHive (o en un SIRP alternativo). El poder de Cortex realmente entra en juego cuando usamos su API REST. TheHive habla nativamente a Cortex (como lo hace MISP). Pudiendo TheHive además aprovechar uno o varios servidores de Cortex.
Analizadores en Cortex
Cortex tiene 39 analizadores. Un analizador puede escribirse en cualquier lenguaje de programación admitido por Linux, aunque todos sus analizadores actuales están escritos en Python. Esto se debe a que proporcionamos una biblioteca de Python llamada Cortexutils que contiene un conjunto de clases de utilidad que hacen que sea más fácil escribir un analizador en Python.
Los analizadores como VirusTotal, PassiveTotal o DomainTools pueden proporcionar diferentes servicios de análisis. Si tomamos VirusTotal como ejemplo. Podemos escanear un archivo o URL. También podemos obtener el último informe disponible en VirusTotal.com para un archivo, hash, dominio o dirección IP.
MISP
En este punto, debemos mencionar un analizador especial que puede crear cierta confusión si no se entiende correctamente: el analizador de búsqueda MISP. Gracias a el, Cortex tiene la capacidad de buscar observables dentro de una instancia MISP como se representa en la primera de las imagenes del post.
Cuando se encuentra un observable en un evento, Cortex devolverá el número de registros encontrados (es decir, el número de eventos donde se ha encontrado el observable) y una lista de enlaces a esos eventos con datos adicionales.
Módulos de expansión MISP
Además de sus propios analizadores (que incluyen la búsqueda MISP descrita anteriormente), Cortex también puede invocar módulos de expansión MISP. Estos son normalmente utilizados por MISP para enriquecer los atributos dentro de los eventos, pero Cortex también puede aprovecharlos para analizar los observables.
Existe cierta superposición entre los analizadores Cortex nativos y los módulos de expansión MISP. Al elegir entre un analizador nativo o un módulo de expansión, es encarecidamente recomendable seleccionar el primero de ellos. Los módulos de expansión están desactivados en la configuración predeterminada de Cortex.
Trabajos en MISP
Cuando envíamos un observable para el análisis, Cortex creará un trabajo y, si tiene éxito, generará un informe de análisis en formato JSON. TheHive tiene la capacidad de analizar esos resultados y presentarlos de forma amigable para los seres humanos. Cuando enviemos un observable a Cortex desde TheHive, obtendremos un informe breve y uno largo. El primero se puede considerar como un Resumen del Analista de Exec muy pequeño, mientras que el segundo proporciona más información y detalles.
Llamando a Cortex desde MISP
Además de los módulos de expansión que acabamos de mencionar, MISP 2.4.73 y posteriores pueden enriquecer atributos utilizando analizadores Cortex. La configuración es bastante simple. Si todo lo que nos preocupa es la inteligencia y el intercambio de amenazas, podemos aumentar nuestra visibilidad de una amenaza dada, representada como un evento MISP aprovechando los analizadores de Cortex.
Conclusión
TheHive, Cortex y MISP son tres productos de código abierto y gratuitos que pueden ayudarnos a combatir las amenazas y mantener a raya a los "malos".
TheHive, como SIRP, nos permite investigar incidentes de seguridad de forma rápida y colaborativa. Varios analistas pueden trabajar simultáneamente en tareas y casos. Si bien los casos se pueden crear desde cero, TheHive puede recibir alertas de diferentes fuentes gracias a los alimentadores de alertas que consumen eventos de seguridad generados por múltiples fuentes y los alimentan a TheHive utilizando la biblioteca TheHive4py mencionada. TheHive también se puede sincronizar con una o varias instancias MISP para recibir eventos nuevos y actualizados que aparecerán en el panel de alertas con todas las otras alertas generadas por otras fuentes. Posteriormente, los analistas pueden obtener una vista previa de las nuevas alertas para decidir si se debe actuar o no. Si es así, se pueden transformar en casos de investigación utilizando plantillas.
Para analizar los observables recopilados de una investigación y/o importados de un evento MISP, TheHive puede confiar en uno o varios motores de análisis Cortex. Cortex es otro producto independiente, cuyo único propósito es permitirnos analizar observables a escala gracias a su gran cantidad de analizadores, módulos de expansión MISP y cualquier analizador desarrollado. Cortex tiene una API REST que se puede utilizar para potenciar otros productos de seguridad, como software de "análisis", SIRP alternativo o MISP.
La popular plataforma de uso compartido de amenazas, puede de hecho enriquecer los atributos gracias a Cortex, ya que tiene una integración nativa con él. Por que como ya hemos visto, la colaboración es clave en ciberseguridad.