Mostrando entradas con la etiqueta SIEM. Mostrar todas las entradas
Mostrando entradas con la etiqueta SIEM. Mostrar todas las entradas

Gestión de LOGS de eventos de seguridad (SIEM) (y II)

El término SIEM (Security Information and Event Management) se refiere al análisis en tiempo real de alertas de seguridad generadas en la red o en aplicaciones.

En una entrada anterior vimos las características generales de los gestores de LOGs y cómo los SIEM van unos pasos más allá en potencia tratando la inmensa cantidad de registros generada para desgranar lo importante.

SIEM dashboard

Como funciona un sistema SIEM


Los aplicativos SIEM proporcionan pues una visión de conjunto de toda la información de seguridad de una organización, e incluyen el tratamiento que hacen los administradores de LOGs (incluso en muchos casos se comercializan las dos líneas de producto). 

Suele ser una buena idea usar el mismo proveedor si se escala, porque una buena parte de la optimización en la respuesta de un SIEM en tiempo real suele venir de la tecnología usada al recopilar, transportar y almacenar los datos realizada por su Administrador de LOGs.

Los SIEMs se comercializan como soluciones de Software en servidores propios o virtualizados y específicos, como dispositivos cerrados hardware (appliances) o como servicios administrados en la nube.

La mayoría de los sistemas SIEM trabajan desplegando agentes de forma jerarquizada por todo el sistema para recibir eventos generados por:

  • Dispositivos de Usuarios
  • Servidores
  • Equipamiento de red
  • Firewalls, Antivirus o prevención de intrusiones

En otras casos (y muchos proveedores ofrecen ambas posibilidades que pueden convivir) no se instalan agentes en cada sistema que genera logs, y son los propios generadores de logs los que centralizan la información bien en el servidor SIEM, bien en un servidor syslog intermedio. En todo caso, la integración de los datos de log de diversas fuentes es esencial, y puede ser un proceso complejo que implique tanto a la configuración del SIEM como a la gestión de los logs producidos en cada caso.

Empezando desde un nivel básico, un sistema SIEM se basa en reglas estadísticas (de su motor de correlación) para establecer relaciones entre los logs recopilados. En ocasiones se comienzan a filtrar datos desde el origen, estableciendo qué se envía y qué no a almacenar en la base de datos del SIEM, y aunque esto tiene el peligro de despreciar información que más adelante pueda ser necesaria, si se hace bien se disminuye considerablemente el tráfico y el almacenamiento necesario, y por lo tanto el impacto en el rendimiento general que el sistema ocasiona. 

Una vez centralizados los datos, el software de análisis busca las anomalías. Para ayudar a distinguir esas anomalías es necesario que el SIEM sepa previamente las características y eventos de un sistema bajo control con eventos normales. 


Las técnicas analíticas.


La detección de amenazas es un tema complejo que cada sistema SIEM implementa de una manera y con distintos niveles, y que influye mucho en el coste, porque normalmente es necesario complementarla con técnicas de “Big data“ y algoritmos propios de correlación de datos. 



En este sentido, los falsos positivos (alertas de amenazas que no lo son) son un problema en los SIEM. Se estima que las grandes organizaciones tienen una media de 17.000 alertas a la semana, de las cuales sólo un 20% son amenazas reales. Esos falsos positivos se reducen mediante estas técnicas analíticas complejas de alto coste, que incluso van aprendiendo de la propia organización. 

Por todo ello, normalmente las técnicas analíticas implican disponer de una persona (o equipo) especializada.  

Las técnicas analíticas también aplican una visión de conjunto imposible de detectar por un humano mirando logs. Por ejemplo, un administrador que se conecta a diversos sistemas, un aplicativo contactando con un servidor remoto que no debería, o un proceso que ocupa casi toda la potencia de la CPU son alertas válidas, pero un administrador que emplee varios sistemas para contactar con un servidor remoto que no debería y donde está utilizando muchos recursos es una alerta de máxima prioridad. 

Es importante que la solución SIEM genere listas de posibles amenazas de manera inteligente, incluyendo la IP, nombres de hosts, URLs… y un indicador de posibilidad de amenaza. Todo ello con los metadatos de contexto. 



Análisis distribuido



Aunque hemos dicho que la tendencia normal de un sistema SIEM es centralizar los datos, en ocasiones es más eficiente disponer de una herramienta SIEM que trabaje con datos distribuidos sin centralizarlos. Esto permite mayor escalabilidad y reduce el coste y tiempo de transporte.  


Más características de funcionamiento de los SIEMs


Los SIEMs están orientados a la generación de informes de auditoría y cumplimiento; informes que de no ser por el SIEM serían muy costosos o incluso inviables de obtener. Muchos de esos informes vienen prediseñados con la solución instalada.




Los SIEM posibilitan la detección de incidentes que de otra manera pasarían desapercibidos. Por ejemplo, mientras que un IPS de la red puede detectar parte de un ataque y el sistema operativo de un portátil puede detectar otra parte, un SIEM puede determinar el intento de instalar un botnet (software zombi) en varios servidores desde un portátil infectado por un malware.

Algunos SIEMs tienen cierta habilidad para parar los ataques. En realidad no lo hacen ellos, sino que emiten instrucciones a las herramientas (por ejemplo firewalls) que paran efectivamente el ataque. Por lo tanto, es importante que esté bien integrado con esos sistemas si ese es nuestro objetivo. 

Incrementa la eficiencia en la lucha contra los incidentes, debido fundamentalmente a disponer de toda la información relativa al incidente de forma inmediata.


Influencia del Costo de un Sistema SIEM


  • La disponibilidad de técnicas avanzadas de análisis de amenazas y de informes.
  • La capacidad de integración automática con los principales servidores y dispositivos (logs de diversas fuentes esenciales), sobre todo en lo relativo a la respuesta a incidentes.
  • El que estén asociados o no a un dispositivo en red o a una arquitectura específica.
  • La posibilidad de escalar de un sistema ligero a uno cada vez más complejo.
  • La administración del sistema, sobre todo si el SIEM se utiliza para detectar y combatir incidentes, dado que requiere de una optimización y monitorización constante.   

Pasos para implementar un caso de uso a controlar por un sistema SIEM


En general, los pasos principales para poner en marcha un caso de uso dentro de un sistema SIEM en marcha pueden variar levemente de una organización a otra en su modo de plantearlos, pero esencialmente son los siguientes:

  1. Recopilar la información de autenticación de los usuarios en todos los sistemas implicados. Quien puede acceder a qué y por qué relativo a la solución a monitorizar. 
  2. Preparar una lista de sistemas que generan datos para el caso de uso: Servidores, concentradores VPN, dispositivos de red…
  3. Configurar los logs de estos sistemas para que pueden ser recopilados por el SIEM.
  4. Configurar el sistema SIEM para que recoja los datos de los usuarios y sistemas implicados, examinando las soluciones que tenga pre-implementadas para ver que se adapta con menos modificaciones.
  5. Definir los procesos de operación que sean necesarios, por ejemplo, para suspender o deshabilitar cuentas de usuario acorde a eventos de seguridad, o para generar alarmas.
  6. Comprobar las reglas establecidas, simulando problemas que generen informes, alarmas y sean reconocibles como respuesta a incidentes.

Algunas herramientas SIEM


Esta lista puede quedar obsoleta en algunos puntos porque las soluciones SIEM evolucionan y las compañías suelen fusionarse o evolucionar también.


Alient Vault Open Source SIEM and Alient Vault Unified Security Management.

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.