Archivo de la etiqueta: defensa

Podcast – 35 – SIEM

Podcast – 35 – SIEM

 
 
00:00 / 17:50
 
1X
 
Logo SIEM

SIEM
Fuente imagen: Gigaom

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, sobretodo 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.

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. Por este motivo no es extraño que muchas empresas prefieran contratar un SOC externo que gestione el SIEM con sus alarmas.

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

1. Recopilación de logs

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.

1.a Normalización de logs

Micro con feed

Fuente imagen:PerfectYourPodcast

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 (p.e. el orden del número de día o mes cambia), 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 suele utilizar un servidor NTP centralizado.

2. 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, o cualquier otro nombre que los comerciales quieran dar, debe permitir la selección de registros para su posterior correlación. Como suele sucede 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.

3. 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 marketiniano: 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 correlacionadas, 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) o el 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.

4. 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.

Y hasta aquí una explicación rápida de las partes y el funcionamiento técnico de un SIEM, así pues 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. Igualmente 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.


Si queréis proponerme algún tema del que hablar, felicitarme o echarme una bronca podéis hacerlo en Twitter (@Securizando_), por correo electrónico, en el contacto del blog o bien pasaros por el grupo de Telegram.

Y esto es todo por hoy, ¡hasta la próxima!

Podcast – 32 – Protección ante ataques DDoS

Podcast – 32 – Protección ante ataques DDoS

 
 
00:00 /
 
1X
 

Bienvenidos al trigésimo-segundo capítulo del podcast de seguridad informática “Securizando.com”

Soy Andreu Adrover y hoy es viernes 19 de enero de 2018.

Aunque la idea inicial de este capítulo era ser la continuación del podcast 31 y hablar sobre las defensas específicas para los ataques DDoS vía el protocolo HTTP, creo que lo preferible será hacer un capítulo explicando las defensas generales que podemos activar ante ataques DDoS para posteriormente ya centrarme, en otro capítulo, en las técnicas de defensa específicas de HTTP, DNS y demás protocolos. Así pues hoy hablaremos de técnicas genéricas de defensa frente ataques de denegación de servicio. Hay que tener en cuenta que todas estas técnicas (y cualquier en la seguridad informática en general) requieren de una preparación previa: improvisar durante un incidente (un ataque de denegación en este caso) suele ser la receta perfecta para liar más la situación.

  1. Capacidad de crecimiento

    Con el desarrollo de los entornos virtuales las posibilidades de adaptación de los sistemas a los requerimientos de los usuarios se ha visto potenciada. Ahora es normal que las aplicaciones modifiquen sus capacidades en función de la necesidad y del coste asociado: ya no es extraño que durante las horas valle de uso se reduzca el número de servidores mientras que en las horas punta la capacidad del sistema aumente. El hecho de que los entornos virtuales en la nube tenga un coste por uso, ha fomentando en gran medida esta variabilidad del entorno.

    1. Número servidores (crecimiento horizontal)

      Actualmente, la primera opción que nos suele venir a la cabeza en caso de necesitar tratar más conexiones de las habituales es ampliar el número de servidores. Los sistemas virtuales permiten añadir nuevos servidores a la granja de forma rápida y relativamente sencilla. Aumentando el número de servidores se consigue dar servicio a más conexiones, aunque como todo en la vida, siempre hay un límite que no podremos superar (capacidad de transacciones de la base de datos, capacidad de escritora en discos, capacidad de ancho de banda, etc…). Esta crecimiento se denomina horizontal ya que lo que se hace ganar capacidades añadiendo nuevos servidores a la granja y es ampliamente utilizada en las aplicaciones web o distribuidas.

    2. Capacidad sistema (crecimiento vertical)

      En contraposición al sistema anterior, el crecimiento vertical consiste en aumentar la capacidad de los propios nodos del sistema: aumentar la memoria o velocidad de CPU, aumentar la capacidad de disco (ya sea ampliando los filesystems o creando nuevos). Esta estrategia suele tener un mayor coste de aplicación (muchas veces implica reiniciar el servidor para que el sistema operativo tome en cuenta las nuevas capacidades). Así pues se trata de una estrategia más pesada, pero que sería necesaria cuando el cuello de botella se encuentra en sistemas únicos (bases de datos, aplicaciones mainframe, etc.).

    3. Capacidad línea comunicaciones

      Otro punto donde un ataque de denegación de servicio suele ser las propias líneas de comunicaciones. Así aunque el servicio esté operativo si los clientes no pueden llegar a él ya se ha conseguido la denegación de servicio. En los grandes servicios en la nube (AKAMAI, Amazon, Azure, etc.) es un punto que ya está resuelto en su infraestructura propia, pero para aquellos servicios de hosting más pequeños es algo a tener en cuenta. Para aquellas empresas que tienen sus servicios alojados en su propio centro, las operadoras ofrecen líneas de comunicaciones con diferentes capacidades de crecimiento que hay que evaluar: no es extraño contratar una línea de fibra óptica con capacidad de de 1Gbps pero de los que se usan (y pagan) 400Mbps. Así en caso de problemas, simplemente se amplía la capacidad de la línea. Obviamente esta ampliación rápida debe estar acordada previamente con la operadora (cómo se solicita la ampliación, quién está autorizado a solicitarla, y cómo se pagará después ;))

  2. Sistemas IPS – WAF

    Como ya vimos en los capítulos 4 y 29 los sistemas IPS y WAF permiten detectar y bloquear tráfico anómalo mediante el análisis del tráfico que pasa por sus interfaces. Las firmas de detección pueden ser múltiples y dependerán del protocolo utilizado para el ataque: por ejemplo si suponemos un ataque web donde se envía a través de formulario un archivo adjunto grande para saturar las capacidades del sistema, un WAF podría detectar que los usuarios no han seguido el camino normal (acceso a portada, clic en opción de envío, etc.) y que sólo envían directamente el formulario. En este caso el sistema podría descartar el tráfico que no haya seguido el cauce habitual con lo que se descartarían los ataques con mínima afectación a los usuarios habituales.

  3. Listas negras (Direcciones IP de botnet, nodos Tor…)

    Actualmente muchos proveedores de sistemas de seguridad mantienen una serie de listas con direcciones IP de baja o mala reputación que pueden utilizarse para descartar tráfico proveniente de ellas. Estas listas de direcciones IP incluyen equipos que se ha descubierto que pertenece a una botnet (y por ello es probable que en caso de ataque de denegación de servicio sean una de las causantes), que han sido utilizadas en ataques previos o, por ejemplo que son nodos de salida de la red Tor. La red Tor no es intrísicamente maliciosa, pero hay que entender que utilizar este servicio de anonimato para acceder a una aplicación web que debe autenticarse (pago con tarjeta, acceso mediante usuario/contraseña…) no parece una opción muy lógica. Así pues si estamos ante un ataque de denegación de servicio una opción rápida es bloquear el tráfico proveniente de estas direcciones IP de dudosa reputación. Es posible que perdamos algún cliente (porque desconoce que sus equipos formen parte de una botnet), así que no siempre es aconsejable tener estos filtros activados siempre.

  4. Bloqueo por ubicación geográfica

    Los rangos de direcciones IP son asignados por la IANA (Internet Assigned Numbers Authority), en base a unos cálculos de necesidades previstas, de forma distribuida por países. Así pues es posible conocer el supuesto país de origen de una conexión por Internet por esta asociación. Si bien hay un cierto mercadeo de direcciones donde una empresa multinacional compra direcciones de un país donde tengan libres (actualmente principalmente de países africanos) para luego utilizarlas en otras ubicaciones, esta ubicación geográfica es aún bastante correcta.

    Por ello una posible estrategia en caso de sufrir un ataque de denegación de servicio sería bloquear el tráfico proveniente de países donde nuestra empresa no tenga mercado. Por ejemplo si nuestra empresa alquila coches en España es poco probable que nuestro servicio reciba demasiadas peticiones legítimas desde Laos o Tanzania, mientras que sí es muy probable que reciba peticiones desde los principales clientes turísticos (Alemania, Reino Unido…). En cambio si nuestra empresa se dedica al transporte internacional por carretera no será extraño recibir peticiones desde Polonia o Ucrania. En caso de ataque el hecho de descartar todo el tráfico salvo el que provenga de los principales mercados de nuestra empresa mitigará en gran medida el ataque con una afectación mínima a nuestros principales clientes.

  5. Modificación parámetros de protocolos

    Casi los primeros ataques de denegación de servicio que aparecieron tratan de aprovechar los tiempos de espera entre transacciones definidos en los distintos protocolos. Así cuando, por ejemplo, establecemos una conexión TCP (que son necesarias para la mayoría de protocolos usados para navegar, enviar correos electrónicos, etc.), los estándares indican un tiempo máximo en la negociación de dicha conexión. Un usuario malicioso pueden intentar alargar al máximo el tiempo de envío entre paquetes para asegurar así que el receptor reserva durante el máximo tiempo posible sus capacidades (espacio de memoria, tiempo procesador…). Igualmente puede iniciar una conexión pero sin finalizar el proceso de establecimiento por lo que nuestro servidor se quedaría a la escucha (usando recursos) para, pasado el tiempo, descartar ese paquete inicial. Una estrategia para liberar recursos rápidamente es acortar estos tiempos de espera y descartar tráfico posiblemente malicioso antes, de tal forma que se pueda seguir recibiendo nuevas peticiones. Igualmente el sistema podría simplemente descartar paquetes malformados, con errores de transmisión, con un excesivo desorden, etc. en vez de solicitar retransmisiones, evitando así tener que realizar reservas de recursos.

    Actualmente estos ataques no suelen verse de forma independiente sino que suelen acompañar a otros ataques usando protocolos de mayor nivel, pero aún así el hecho de mitigarlos permite a la infraestructura liberar recursos más rápidamente.

    Aunque como teleco ‘me duela’ romper los estándares, hay que tener en cuenta que se trataría de una medida de mitigación de un ataque. El hecho de reducir estos tiempo podría influir negativamente a nuestros clientes con menores capacidades (ancho de banda más limitado, etc.) pero claro, ante un ataque de denegación de servicio hay que elegir el mal menor.

  6. Servicios anti DDoS:

    Actualmente se pueden contratar servicios “en la nube” que mitiguen estos ataques de denegación de servicio gracias a sus mayores capacidades. En este punto existen dos enfoques principales: tener el servicio activo siempre de forma que todo el tráfico pasa por los sistemas del proveedor o bien activarlo únicamente en caso de necesidad. Por obvios motivos esta activación según necesidad requiere de una planificación y acuerdo previo, ya que no se puede improvisar sobre la marcha durante un ataque (aunque los comerciales de estas empresas estarán encantados de decirte que sí que es posible).

    Aunque más adelante le dedicaremos un capítulo a qué ofrecen estos servicios, cómo funcionan, cómo puede realizarse la derivación del tráfico, etc. podemos resumir su función como una de estas dos opciones:

    1. Filtrado de paquetes (firewall): permiten que sólo el tráfico del protocolo elegido llegue a nuestros servidores. Así nuestra infraestructura no recibe los ataques siplementarios (tráfico UDP, inundaciones SYN, malformación de paquetes, etc.).

    2. Actúan como proxy: Los clientes se conectan a su infraestructura y es ésta la que se conecta a nuestros servidores. Así todas aquellas conexiones fraudulentas son descartadas por el proveedor y no llegan a nuestros servidores (evitando la denegación de servicio).

Micro con feed

Fuente imagen: PerfectYourPodcast

Como podéis observar muchas de estas protecciones (tener capacidades de crecimiento no usadas, contratar los servicios de anti-DDoS, mantenimiento de sistemas IPS o WAF,…) implican un coste económico, por lo que una empresa debe evaluar hasta que punto quiere llevar la protección de sus sistemas. Teniendo en cuenta que por temas legales hay una serie de sistemas defensivos que deben estar activos, desde el punto de vista económico hay que evaluar los riesgos y actuar en consecuencia: no sería lógico gastarse miles de euros al mes en un sistema para defender una pequeña tienda de camisetas online cuya caída durante un día completo implique unas pérdidas menores al coste del sistema de defensa. Las grandes empresas deben tener en cuenta los costes intangibles (daño a la imagen de marca, cumplimiento de SLA con proveedores, etc.).

Podcast – 32 – Protección ante ataques DDoS

Podcast – 16 – Defensa perimetral y en profundidad

Podcast – 16 – Defensa perimetral y en profundidad

 
 
00:00 /
 
1X
 

En este capítulo del podcast hablo sobre dos concepciones de la seguridad, no sólo informática: la defensa perimetral y la defensa en profundidad.

Micro con feed

Fuente imagen:PerfectYourPodcast

Para simplificar podríamos decir que la defensa perimetral se encargaría de las protecciones que evitan los ataques desde el exterior montando un sistema que impida que dichos ataques lleguen dentro de la empresa, mientras que la defensa en profundidad es un concepto más global que se basa en la mayor fortificación posible de cada elemento de un sistema informático.

Aunque esto no es Histocast, ni se le parece, podemos usar la línea de defensa que construyeron los franceses antes de la Segunda Guerra Mundial: línea Maginot como ejemplo de una defensa perimetral.


Descarga directa.