Archivo de la etiqueta: definiciones

Podcast – 35 – SIEM

Hoy hablaremos de los SIEM (Security Information and Event Management). Estos sistemas surgen de la combinación de dos tareas, que inicialmente realizaban productos específicos: SIM (Security Information Management) y SEM (Security Event Management). Si bien cada una de estas funciones puede ser independiente de la anterior, la verdad es que para gestionar un evento necesitas tener información, así que los desarrolladores, sobre todo los de soluciones propietarias, han tendido a fusionar las dos tareas en un único sistema. En este capítulo no haremos diferencia entre funciones, sino que explicaremos el funcionamiento global de un sistema SIEM.

Logo SIEM
SIEM Fuente imagen: Gigaom

Los SIEM son probablemente una de las herramientas más difíciles de ajustar y que genera un mayor trabajo de gestión, muchas veces repetitivo, por lo que es muy importante que se tengan en cuenta en cualquier proyecto de implantación de un SIEM: se requiere mucho trabajo de ajuste del sistema para que el análisis de la información sea correcto y las alarmas generadas sean válidas e interesantes. Así cómo otros sistemas de protección, como los antivirus o sistemas anti-spam, pueden dejarse en modo automático, los SIEM deben ser gestionados, analizados y ajustados por técnicos especialistas si se quiere obtener resultados tangibles.

Veamos todos los pasos necesarios para obtener información, analizarla y obtener las alertas oportunas:

1. Recopilación de logs

Recolección de logs. Fuente: David Romero Trejo

El primer punto para un sistema de gestión de información es, precisamente recoger esa información. Aquí tenemos dos opciones para obtener los logs: la primera opción es que los sistemas que queremos analizar envíen una copia de sus logs a nuestro sistema SIEM; y la segunda sería que el sistema SIEM haga peticiones periódicas a los sistemas a controlar. Para el intercambio de información podemos utilizar protocolos estándares, como Syslog o SNMP, o bien la conexión con agentes instalados en los servidores a controlar. Lo más probable es que, debido a los entorno heterogéneos de cualquier empresa mediana, el sistema SIEM utilice una combinación de todas las opciones para recoger el máximo de información posible.

2. Normalización de logs

Al integrar información de diferentes fuentes debemos asegurarnos que guarden un formato común para poder hacer el análisis posterior. Cada fabricante decide cómo generar los registros de eventos de su plataforma y puede decidir cambiar el formato de logs entre diferentes productos o, incluso, entre versiones de un mismo sistema. Quizás el ejemplo más visual sea el formato de fecha de cuándo sucedió un evento: el formato estadounidense o el español son diferentes, también puede cambiar el texto si el idioma del sistema operativo es diferente (aunque sea lo mismo no queda el mismo registro un lunes que un Monday). Igualmente importante es que todos los equipos tengan sus relojes sincronizados para que el SIEM pueda conocer el orden cronológico de los eventos: para ello se conveniente utilizar un servidor NTP centralizado.

3. Almacenamiento de logs

En este punto más que el propio formato de almacenamiento de los registros, la principal característica técnica a tener en cuenta es la información extra que añade el sistema para permitir un tratamiento posterior más eficiente. El marcado, etiquetado, categorización debe permitir la selección de registros para su posterior correlación. Como suele suceder no existe un único tipo ni un sistema estandarizado de elegir qué y cómo almacenar los registros y todo tiene sus ventajas e inconvenientes.

Otro punto a tratar en este punto es qué logs de eventos queremos almacenar: la primera aproximación suele ser que queremos guardar todo, pero el gran tamaño de almacenamiento (que cuesta dinero) y la gran carga de trabajo de revisión, pronto llevan a cambiar de estrategia para buscar un equilibrio entre el todo, la nada y lo que podemos gestionar.

4. Correlación de logs

La correlación automática de los registros de eventos es, precisamente, la parte fundamental y el motivo de la existencia de estos sistemas. Diferentes algoritmos rastrean los eventos almacenados en busca de patrones que les permitan detectar un comportamiento anómalo que genere un evento de seguridad a estudiar. Este rastreo sistemático y pormenorizado de los eventos almacenados permite una detección de patrones muy superior a la de la intuición humana, por lo que estas herramientas son imprescindibles para un departamento de seguridad y, justifican su obligatoriedad de uso en algunas normativas.

Si bien muchos comerciales hablarán aquí de machine-learning, deep learning, inteligencia artificial, e incluso de deep-IA-learning o cualquier otro nombre comercial: la realidad es que se necesita de un sistema que en base a múltiples registros que provienen de diferentes fuentes, que en principio no están relacionadas, se encuentren patrones de acciones no habituales que deban ser analizados por un especialista.

Estos eventos pueden ser tan simples como detectar que un usuario de VPN se conecta desde una ubicación no habitual (p.e. si yo, que vivo en Mallorca me conecto desde casa y al cabo de dos horas lo hago desde Singapur es probable que algo no cuadre); un movimiento de ficheros entre servidores en horario nocturno; o bien procesos tan elaborados como detectar un APT en base a comunicaciones entre servidores. Las posibilidades de detección varían mucho en función del sistema SIEM utilizado y, sobre todo, de la cantidad de logs almacenados y correlacionados.

5. Gestión de alarmas

El resultado esperado de un sistema de gestión de información y eventos de seguridad es que tras todo el sistema acaben dando como resultado una serie de alarmas, con la mayor cantidad de información posible, que un especialista deba revisar. La gestión de una alarma de seguridad debería seguir el mismo procedimiento que la gestión de incidencias de IT de la empresa: todo debe quedar registrado en el sistema de gestión de incidencias y debe tratarse de la misma forma.

Hay que tener presente que los responsables de tratar con las incidencias de seguridad deben tener unos conocimientos amplios de muchas ramas de los sistemas IT (bases de datos, redes, sistemas operativos, etc.) para poder gestionar de forma eficiente la gran variedad de eventos que surgirán.

Un tema a tener en cuenta es que, al menos, durante los primeros meses de funcionamiento de un sistema SIEM, se generarán múltiples incidencias que resultarán ser falsos positivos por lo que los administradores del sistema deben retroalimentar correctamente al producto para que aprenda que situaciones pueden ser consideradas normales. No es extraño que los primeros meses de trabajo con un SIEM los responsables consideren que no sirve para nada ya que “pierden” la mayoría del tiempo persiguiendo falsos positivos. La gran ventaja del SIEM aparecerá una vez que ya esté estable y con una cantidad de información suficiente para tener un conocimiento del comportamiento habitual de nuestra empresa.

Conclusiones

Si pensáis implementarlo en vuestro negocio debéis tener en cuenta que los principios son duros ya que es una herramienta que precisa de administradores casi en exclusiva y con amplios conocimientos.

Además, es un sistema que debe ser gestionado y adaptado cada vez que la empresa lo necesite: por ejemplo, si nuestra empresa abre una nueva tienda en Noruega, el SIEM empezará a detectar conexiones a los sistemas corporativos desde direcciones noruegas o nuevos archivos almacenados con idioma noruego: es muy probable que este comportamiento genere eventos de seguridad que deberán ser catalogados correctamente en el sistema. Del mismo modo si se cierra la sede de Japón, habrá que avisar al sistema de que ya no deberían aparecer conexiones desde ese país y que no aparecerán textos kanji en nuestros sistemas. Por todo esto no es nada raro que una empresa que deba tener un SIEM por normativa subcontrate los servicios a un tercero. Estos servicios SOC, que permiten cumplir con la legislación y traspasar los riesgos a un tercero, pueden realizar un buen papel para la detección de conductas generales pero adolecen de la capacidad de adaptación al negocio que tendría un equipo interno. Pero claro, aquí ya hay que valorar necesidades, capacidades y costos.

Podcast – 43 – ZTA con Joan Massanet

A diferencia de la mayoría de capítulos del podcast hoy tenemos un invitado con el que charlaremos sobre Zero Trust Architecture: Joan Massanet.

Joan es el CEO de la empresa World2Connect y colabora con la revista de seguridad informática ClickCiber.

Zero Trust Architecture
Fuente imagen:

La arquitectura de confianza cero es un concepto sencillo de entender pero con una gran dificultad de aplicación en el mundo real. Un sistema de ciberseguridad basado en ZTA simplemente no confía en los equipos, las redes o los usuarios por ser quienes son, sino que analiza, en tiempo real, la idoneidad o no del acceso a un recurso o información concreta en un momento dado. Quizás el ejemplo más sencillo sea que un administrativo puede acceder a la información de la empresa en horario laboral, porque debe poder trabajar, pero ese mismo acceso en fin de semana o de madrugada, cosa no habitual, estaría prohibido.

El problema de ZTA no es su concepto sino su implantación en nuestro mundo real donde existen multitud de situaciones extraordinarias y variables que deben ser tenidas en cuenta para que el sistema se adapte a nuestras necesidades reales. Siguiendo el mismo ejemplo no sería descabellado que los días previos a la presentación de declaraciones de impuestos nuestro administrativo deba realizar algún trabajo urgente de última hora fuera de su horario, así que el sistema de seguridad debería tenerlo en cuenta.

Obviamente esto es sólo un ejemplo sencillo y hay muchas más cosas a tener en cuenta.

Sin más, os invito a echarle un oído al capítulo de hoy.

Descarga directa.

LOIC

Low Orbit Ion Cannon (LOIC) es una herramienta utilizada para realizar ataques de denegación de servicio (DoS y DDoS). Originalmente fue desarrollado como una aplicación de prueba de estrés de red , pero desde entonces se ha convertido en código abierto y ahora se usa principalmente con intenciones maliciosas. 

Es conocida por ser una herramienta muy fácil de usar y con una interfaz gráfica muy simple. Además ganó notoriedad por su uso por parte de miembros de grupos hacktivistas.

Funcionamiento de LOIC

LOIC fue desarrollado como una forma de comprobar la capacidad de los servidores web por lo que inunda al servidor de destino con paquetes TCP, UDP o HTTP con el objetivo de saturarlo e interrumpir el servicio.

Interfaz LOIC
Interfaz del programa LOIC. Fuente: SourceForge


En general, un atacante que usa la LOIC no puede generar suficiente tráfico basura para causar un impacto serio en un objetivo, por lo que se se suele utilizar como una herramienta para ataques coordinados buscando denegaciones de servicio distribuidas. Cabe indicar que para facilitar esta coordinación el programa permite ser controlado de forma centralizada desde canales IRC.

Protección frente a LOIC

Los ataques individuales usando LOIC son fáciles de detectar y bloquear por cualquier sistema IPS automatizado, aunque en caso de no tenerlo un administrador debería ser capaz de identificar las direcciones IP atacantes y bloquearlas manualmente.

Los problemas aparecen en cuanto el ataque se realiza de forma coordinada y simultánea desde múltiples fuentes. En estos casos de DDoS, los sistemas WAF ayudan a bloquear las peticiones HTTP maliciosas, mientras que el tráfico UDP y TCP debe ser gestionado por sistemas de protección anti-DDoS específicos.

Cabe indicar que los ataques que utilizan LOIC son relativamente fáciles de detectar y, como no puede funcionar a través de proxy web, dejan rastro de las direcciones IP origen de los atacantes.

Podcast – 42 – R U Dead Yet?

R U Dead Yet?o simplemente R.U.D.Y. es una herramienta que busca la denegación de un servicio web a la página web a reservar recursos para una conexión absurdamente lenta. Mientras la mayoría de ataques de denegación de servicio se basan en el envío de una gran cantidad de conexiones rápidas para conseguir la saturación, RUDY utiliza un enfoque opuesto: ‘relativamente’ pocas conexiones de gran duración que lleguen a agotar los recursos del servidor al no permitirle liberarlos por mucho tiempo.

Esta herramienta tiene un funcionamiento muy sencillo que permite que cualquiera la utilice sin requerir conocimiento alguno: simplemente hay que indicarle la dirección de la web que queremos atacar y darle al botón y lanzamos el ataque. Debido a su funcionamiento cualquier web que tenga un formulario es susceptible de ser atacada mediante esta técnica.

Funcionamiento

Fuente imagen: Riverbed

Veamos cómo funciona esta herramienta:

  1. El programa R.U.D.Y. revisa la web indicada en busca de un formulario. Sirve cualquier formulario: uno sencillo de contacto es suficiente.
  2. Ahora la herramienta establece una primera conexión con un mensaje HTTP POST, pero indicándole al servidor destino que el tamaño del mensaje es muy grande (10,100MB, 20GB.). Esto hará que el servidor reserve espacio de memoria suficiente para recibir esta información tan voluminosa.
  3. Una vez establecida la primera conexión, ahora la herramienta empieza a enviar datos a una velocidad exageradamente lenta. Piensa que puede enviar un único byte por paquete a intervalos de aproximadamente 10 segundos.
  4. La herramienta seguirá enviando información lentamente y el servidor, al ir recibiendo actualizaciones, no cerrará la sesión pues creerá que se trata simplemente de un usuario con una mala conexión.

Si combinas múltiples sesiones de R.U.D.Y. es posible agotar los recursos del servidor atacado al llegar a saturar el espacio de memoria disponible o bien, más probablemente, el número de sesiones simultáneas que el servidor puede manejar. Así pues, si se combina un ataque R.U.D.Y desde varios orígenes, se puede obtener una denegación de servicio distribuida (o DDoS).

Protecciones

Al contrario que otros tipos de ataques de denegación de servicio, un ataque tipo R.U.D.Y es mucho más silencioso y sutil, por lo que es más difícil de detectar.

En las primeras versiones de la herramienta los paquetes se enviaban de forma continua cada 10 segundos, por lo que los sistemas IDS podían detectarlos con relativa facilidad, pero ahora mismo este envío de información se realiza de forma semialeatoria: a estos 10 segundos fijos se le añaden o restan un número aleatorio de segundos para evitar ser detectado por esta regla estática.

La forma más habitual para evitar este tipo de ataques es simplemente cerrar este tipo de conexiones tan lentas. Aunque esto hará que usuarios legítimos con conexiones muy lentas se verán impedidos de acceder a nuestro servicio web.

Otra defensa es el uso de proxys inversos que controlen y gestionen del tráfico de datos de tal forma que sean estos los que realicen las reservas de recursos para gestionar las conexiones lentas y no los propios servidores web.

Descarga directa.