Gestión de LOGS de eventos de seguridad (SIEM) (I)

El término SIEM (Security Information and Event Management) fue acuñado en 2005 en la consultora Gartner y viene de la conjunción de dos términos que algunos usan indistintamente y otros procuran separar: SIM (Security Information Management) y SEM (Security Event Management), ambos para referirse al análisis en tiempo real de alertas de seguridad generadas en la red o en aplicaciones.


Administradores de LOGs


Los sistemas en general (bases de datos, redes, dispositivos, firewalls…) generan ingentes cantidades de registros de log que deben ser determinados, configurados, transportados y almacenados. Esto implica concentrar y centralizar en lo posible la información desde muy diversas fuentes y formatos. 

Las tareas de administración de LOGs son el paso previo al SIEM (de hecho, los sistemas SIEM suelen incluir la administración de Logs), y aunque la frontera entre ambos tipos de soluciones es difusa, podemos pensar que SIEM llega mucho más allá que administrar los logs o realizar informes básicos. 

La solución normalmente pasa por adquirir soluciones comerciales de Administración de LOGs para realizar esa integración de diversas fuentes, que incluyen las fases de adquisición, transporte y almacenamiento. Algunas de las cosas que hacen estos sistemas para optimizar la velocidad y garantizar los datos son optimizar el uso de red incluso navegando por protocolos en paralelo (un ejemplo no muy robusto que implementan algunos es usar UDP), encriptar datos y operar a bajo nivel las bases de datos donde almacenan finalmente los logs, que suelen ser bases de datos muy rápidas como MySQL o MongoDb.

Por lo tanto, los primeros pasos para implementar una administración de nuestros losgs serían:
  • Determinar los logs que necesitamos y su formato, así como los eventos que queremos capturar.
  • Resolver el problema del transporte hasta su almacenamiento de manera que interfiera lo menos posible con el uso de nuestra red y se realice de forma segura (entre los primeros objetivos de un ataque a gran escala está el impedir la monitorización).
  • Almacenarlo realmente de forma segura y accesible de manera eficiente.
  • Extraer algunos informes sencillos. 

Visor de log

Syslog


Syslog es un estándar de facto para el envío de mensajes de log en red. Se suele llamar indistintamente al protocolo o al estándar de formato como syslog. Los mensajes pueden ser generados desde varios sistemas y por distinto software, y siempre van acompañados de la fecha y hora de envío.

Muchos sistemas de log y SIEM se sostienen en syslog, aunque hay que ver qué implementación concreta, por ejemplo para asegurar que están solucionados problemas de seguridad como el tráfico vía UDP.


ELK(Elasticsearch, Logstash y Kibana): 

ELK es un conjunto de varios productos de código abierto generados con la idea de indexar y explotar información.Se trata de software de código abierto en su versión básica, por lo que es gratuito a priori, si no se contrata el servicio de mantenimiento. El coste es indirecto, porque se requieren ciertos conocimientos para adquirir realmente la potencia que puede ofrecer y sopesar los inconvenientes que se exponen en algunos blogs y reviews, como los fallos al rechazar logs y el control del espacio de almacenamiento. Por ello, suele ser recomendable adquirir una licencia comercial.
https://www.elastic.co/


Tableros de seguimiento configurados en Kibana

Otras implementaciones de syslog:
http://www.kiwisyslog.com/kiwi-syslog-server
http://www.netmechanica.com/products/?prod_id=1016

Sistemas SIEM


Una vez almacenados los logs, queda ver qué podemos hacer con estas ingentes cantidades de datos. Las herramientas de administración de logs suelen incluir unos informes sencillos que permiten descubrir algunos intentos de acceso o problemas, e incluso obtener ciertas estadísticas normalmente prediseñadas, pero no suelen ser capaces de ir más allá. Ahí es donde entra a jugar el complemento de utilidades de alto valor añadido (como una capa de tecnología añadida a los gestores de Logs) que los aplicativos SIEM ofrecen, esencialmente con las siguientes características:
  • Posibilidad de analizar grandes volúmenes de datos, incluso de datos no asociados a eventos concretos. Se llega a usar plataformas big data, como Apache Hadoop, llegando a la capacidad de análisis de datos y alertas en tiempo real (o casi real), usando técnicas como:
    • Agregación desde múltiples orígenes de datos (redes, seguridad, servidores, bases de datos, aplicaciones) monitorizados y su consolidación.
    • Correlación: Búsqueda continuada de atributos y patrones que permitan enlazar las ingentes cantidades de datos de diversas fuentes, de forma que sean comprensibles y útiles (una función típica de la parte de administración de eventos de seguridad SEM).
    • Retención: almacenamiento de datos históricos para realizar correlaciones e investigaciones posteriores de manera eficiente. 
    • Alertas en tiempo real mediante una pantalla de soporte y/o envíos de email o mensajería.
  • Focalización y selección específica de eventos a estudiar. Por ejemplo:
    • Aplicaciones para monitorizar el acceso y la identificación. (por ejemplo, la administración de accesos y privilegios en el Directorio Activo).
    • Administración de vulnerabilidades y cumplimiento de políticas de seguridad establecidas.
    • Sistemas operativos (cambios en la configuración de los sistemas).
    • Bases de datos (con configuración auxilidar en el sistema de base de datos).
    • Logs de aplicativos (bajo los estándares soportados, generalmente syslog).
    • Datos de amenazas externas.
  • Informes y gráficas clarificadores en un tablero digital (normalmente, un dashboard o tablero a modo de página web) para identificar actividad sospechosa y a partir de ahí obtener evidencias y/o realizar estudios en profundidad.
  • Cumplimiento de estándares e informes asociados para que sea sencillo obtener indicadores e informes para los sistemas de seguridad y su auditoría.
  • Análisis forense. Gracias a la retención y correlación de datos podemos realizar estudios forenses acerca de incidentes concretos, y preparar el sistema para futuras vulnerabilidades de forma preventiva.
  • Capacidad de respuesta a incidentes. Algunos SIEM son capaces, en base a la información solicitada y hasta cierto punto, de parar, desconectar o deshabilitar el servicio o transacción que esté efectuando la anomalía. 


El análisis de vulnerabilidades y amenazas, así como su respuesta suele ser un proceso complejo que se implementa con módulos añadidos al SIEM, que normalmente se pagan por suscripción, con un coste mayor según el grado de protección requerido, y que puede requerir personal especializado al menos para su puesta en funcionamiento. 
En un próximo post describiré cómo funciona en general un SIEM, y los pasos para implementarlo.