Un enfoque integrado oara el monitoreo de amenazas cibernéticas utilizando aplicaciones de código abierto

Cyberthreat Monitoring
Autor: Furkan Caliskan, CISA
Fecha de Publicación: 16 November 2016
English

A medida que las amenazas cibernéticas evolucionan cada día, detectar estas amenazas se transforma en un asunto más importante. Estudios recientes muestran que el tiempo entre que ocurre una brecha y que esta sea detectada es en promedio, 229 días.1 Entendiendo que 229 días es un tiempo largo, una empresa promedio no responderá a un ataque de manera oportuna y no va a mitigar estos efectos, si no hay un esfuerzo extra invertido en la detección. Este número nos muestran que hay una falta de un monitoreo más preciso de amenazas cibernéticas en la mayoría de las empresas, y esto es mayoritariamente debido a que los mecanismos de monitoreo necesarios no han sido ubicados en el lugar correcto o bien no funcionan de manera eficaz. Adicionalmente, la mayoría de las empresas se enfocan en la prevención en vez que en la detección. Sabiendo que los mecanismos de prevención para las amenazas más sofisticadas fallan, la necesidad de detección se está convirtiendo en un punto más importante cada día. También está la preocupación en los costos de inversión en seguridad especialmente para las empresas de pequeño y mediano tamaño (SMB/PYME). Mientras que un atacante no tan avanzado puede fácilmente penetrar una infraestructura de TI corporativa mediante el uso de una explotación que se vende en el mercado negro por USD$ 500. El costo para prevenir o detectar estos ataques no es proporcional a este bajo coste nominal, cuando una empresa elije comprar e instalar soluciones comerciales.

Para este tipo de necesidades, el software de tipo Open Source (Código Abierto) presenta numerosas ventajas, ya que tiene un gran soporte de parte de la comunidad, y es costo—efectivo, especialmente para las PYME (SMB). Con estas ventajas, una compañía puede elegir construir su infraestructura de seguridad usando soluciones de Open Source (Código Abierto).

Figura 1Una penetración tipo estándar típicamente consta de siete pasos principales (figura 1), como fue modelado por Lockheed Martin, y llamada la cadena de Muerte Cibernética.2 Si las organizaciones quieren detectar adecuadamente los ataques, estos pasos son un punto de partida necesario para identificar las necesidades de monitoreo.

Mediante el uso de la abstracción de la cadena de muerte cibernética, existe una oportunidad de detectar un adversario, si los mecanismos de detección necesarios están en el lugar correcto, y son ejecutados y correlacionados correctamente en cada paso. Por ejemplo, si un sistema de detección de intrusos en la red (NIDS) esta monitoreando las conexiones activas desde IPs remotas, buscando posibles actividades del tipo comando y control (C&C) utilizando reportes de inteligencia de amenazas, se puede fácilmente alertar al equipo de seguridad, para que tomen las acciones necesarias de bloqueo. También si un sistema de detección de intrusos basado en el servidor (HIDS), puede monitorear las actividades en el servidor (ej, chequeos de integridad sobre los archivos críticos de sistema), este puede alertar al equipo de seguridad cuando un evento malicioso ocurre en un servidor.

Sistema de detección de Intrusos basado en la red

Un NIDS realiza el análisis del tráfico de paso en la subred completa, contra la base de ataques conocidos. Si es utilizado efectivamente, un NIDS puede ayudar una organización a estar alerta para reconocer intentos de ataques característicos en varios pasos del modelo de cadena de muerte cibernética. Por ejemplo, si un malware está utilizando una URL/IP maliciosa, el NIDS va a identificarla del resto de tráfico usando sus firmas, relacionándola con el paso 6. Y si su firma vulnerable calza con la encontrada en el tráfico activo, esto estaría relacionado con el paso 4.

Cebolla de Seguridad (SO) es una distribución Linux creada para la detección de Intrusiones, monitoreo de seguridad en la red y administración de registros de auditoría (logs). Está basada en la distribución de Linux Ubuntu (GNU) y contiene los softwares de seguridad de redes ya bien conocidas de código abierto, tales como Snort, Suricata, Bro y Sguil, con un enfoque integrado.3 Ya que están integradas con scripts para su facilidad de uso, es muy fácil instalar y empezar a usar a través de su interfaz gráfica de usuario (GUI). Tiene tres opciones de instalación: independiente, sensor y servidor. Si uno quiere instalar sensor y servidor en la misma máquina, el modo independiente puede ser usado. Para redes grandes, la instalación distribuida puede ser la respuesta correcta para un fácil mantenimiento y administración centralizada de sensores distribuidos usando el soporte de administración de configuración SaltStack integrado.

Mientras se usa SO, uno debe usar o el espejamiento de puertos o dispositivos de hardware de intervención de redes para espejar todo el tráfico de la red hacia las máquinas de sensor SO. Después del proceso de instalación y habilitar las configuraciones necesarias, los componentes de software NIDS comenzarán a ver y analizar el tráfico en contra de amenazas utilizando firmas de amenazas integradas.

La ubicación exitosa de los sensores en la red es algo de gran consideración para lograr una clara y ajustada visión de la red.

La figura 2 es un ejemplo de una ventana de reporte de alertas NIDS usando la aplicación Sguil.

Figura 2

SO también incorpora una herramienta de búsqueda de registros de auditoría llamada búsqueda de registros empresariales y archivo (ELSA). Está construida sobre syslog-ng, MySQL y Sphinx. Provee una interface de consulta de buena base, fácil de usar similar a las bien conocidas aplicaciones Splunk. También soporta alertas por correo electrónico, consultas programadas y gráficos. Las consultas de eventos históricos y resultados estadísticos pueden ser reunidos utilizando ELSA.

Una de las funciones más notables de SO es su capacidad de captura de paquetes usando la herramienta netsniff-ng. Al escoger configurar la funcionalidad de captura de paquetes, cada vez que se genere una alarma de un sistema detector de intrusiones (IDS), uno puede fácilmente ver y analizar las capturas de paquetes del evento relacionado para un análisis detallado. Debido a que capturar todo el tráfico consume una gran cantidad de capacidad de disco duro, las organizaciones deben planear cuidadosamente antes de instalar su sistema. El valor del ancho de banda de la red y las prácticas de retención de registros de auditoría pueden ser utilizadas como un punto de partida para estos planes.

Sistemas de detección de intrusos basados en el servidor

HIDS es un sistema de detección de intrusos que monitorea y analiza la parte interna de un sistema de computación.

Diferente al NIDS, HIDS monitorea las actividades basadas en el servidor. Por ejemplo, puede monitorear la integridad de archivos críticos, conexiones de red, registros de auditoría de sistemas, estado del cortafuego local, detección de rootkit, intentos de fuerza bruta al sistema y más. Usar HIDS efectivamente puede ayudar a una organización a detectar intentos de ataque en los pasos 5 y 7 en la cadena de muerte cibernética. Por ejemplo, el paso 5 utiliza la funcionalidad de monitoreo de la integridad de los archivos de HIDS, la que puede detectar cuando el malware corrompe un archivo de sistema o se agrega a sí mismo en el registro y levanta una alerta.

Uno o más de estos proyectos HIDS bien conocidos de código abierto es OSSEC4 (figura 3). Él soporta Windows, Linux, Mac, BSD, sistemas VMWare ESX y más.

Figura 3

Sus capacidades incluyen la administración centralizada, alertas en tiempo real configurables, monitoreo sin agentes, una integración seguridad de la información comercial y administración de eventos (SIEM).

También es fácil de personalizar debido a que es de código abierto. OSSEC puede ser personalizado para propósitos como una lista blanca de dispositivos USB y escaneo de vulnerabilidades de software.

Para el despliegue, la instalación de un servidor OSSEC es necesaria. Posterior a este paso, un agente puede ser instalado en cualquier servidor, y, dada la llave del agente y la información IP del servidor, el agente empezará a monitorear el servidor que ha instalado y enviar los registros de auditoría al servidor OSSEC. Este proceso puede ser automatizado para grandes despliegues usando métodos como Instrumentación de Administración de Windows (WMI) y Puppet. También hay un proyecto llamado auto-OSSEC5 para un fácil despliegue.

Sebos de atracción (Honeypots)

Muchos adversarios inician sus actividades maliciosas escaneando las subredes externas e intentando explotar la máquina más débil de entre los servidores de una organización expuestos públicamente. Un sebo de atracción puede ser utilizado para engañar al adversario y atraerlo a intentar explotarlo. Mientras el atacante está intentando abrir una brecha, los sebos de atracción reportan el evento a los servidores centrales de monitoreo de seguridad y ayuda a defender la infraestructura de producción.

Cuando se utilizan efectivamente, los sebos de atracción pueden ayudar a las organizaciones a detectar intentos de ataque en el paso 1 de la Cadena de Muerte Cibernética.

Existe una distribución de Linux llamada HoneyDrive, que es un paquete de software de sebos de atracción y es de fácil utilización para empezar. Otro bien conocido sebo de atracción de código abierto es Dionaea. Es un sebo de atracción capturador de software malintencionado inicialmente desarrollado bajo los Proyectos de Sebos de Atracción 2009 del Verano de Código de Google (GSoC).6 Dionaea apunta a atrapar el software malintencionado explotando vulnerabilidades expuestas por servicios ofrecidos en una red y, esencialmente, para obtener una copia del software malintencionado. Captura el código para explotar debilidades ofrecido en la red y almacena los detalles de estos eventos dañinos, tales como IP de origen, tipo de ataque, y código binario descargado para un análisis posterior. Mientras un atacante está montando un ataque con su sebo de atracción, la organización puede lanzar una defensa proactiva utilizando esta información. Por defecto, Dionaea soporta Bloques de Mensaje de Servidor (SMB), Protocolo de Transferencia de Hipertexto (HTTP), Protocolo de Transferencia de Archivos (FTP), Protocolo de Transferencia de Archivos Triviales (TFTP), Servidor SQL de Microsoft (MSSQL) y Protocolo de Iniciación de Sesión (SIP).

La figura 4 muestra software malintencionado capturado por Dionaea y funciones hash relacionadas. Estas funciones hash pueden ser enviadas a Virustotal.com para un análisis más detallado.

Figura 4

Figura 5La figura 5 muestra la dirección IP de origen del software malintencionado con el propósito de bloquearla.

Una preocupación mayor para los sebos de atracción es su correcta ubicación en la red. Mientras un sebo de atracción en una ubicación pública es bueno para ataques externos, los sebos de atracción extra para detectar movimientos laterales son también un esfuerzo efectivo.

Integrando software de código abierto y haciendo que todo funcione

Uno de los principales desafíos en la seguridad cibernética es gestionar todos los esfuerzos de seguridad centralizadamente y hacerlos fáciles de usar. Cuando una organización tiene numerosos registros de auditoría y sistemas de seguridad, monitorearlos y gestionarlos se vuelve más complejo. Este es un desafío importante para los esfuerzos de detección de intrusión, ya que todos los registros de auditoría de seguridad debieran ser cuidadosamente analizados. Si uno no es capaz de detectar una intrusión dentro de una ventana de tiempo razonable, puede llevar al sistema completo a una precaria situación.

Por lo tanto, la utilización efectiva y en una manera combinada de servicios de detección es importante para una infraestructura de TI bien protegida.

Para el monitoreo centralizado y propósitos de tablero de control, el compendio ElasticSearch, Loghash y Kibana (ELK)7 son soluciones bien conocidas de código abierto. Ellas consisten de tres componentes principales. ElasticSearch es un servidor de búsqueda basado en Lucene y provee un motor de búsqueda distribuido de texto completo. Loghash es un marco de trabajo de recolección de registros de auditoría fácil de usar que trabaja muy bien con ElasticSearch. Kibana es la más novedosa interfaz web de usuario de monitoreo y ayuda a visualizar todos los registros de auditoría que provienen de Loghash y que son indexados por ElasticSearch.

Usando este compendio, los HIDS, NIDS y sistemas de sebos de atracción pueden enviar sus datos a ELK, y un analista puede correlacionar esos datos, crear un tablero de control para monitoreo centralizado y comenzar tomando acciones rápidas (por ejemplo, bloquear la IP del atacante usando los datos del sebo de atracción, correlacionando los datos de HIDS y NIDS para aumentar la precisión de un ataque detectado de acuerdo a la abstracción de la cadena de muerte). A no ser que se utilicen los datos de seguridad en forma efectiva, todos los esfuerzos de registros de auditoría son inútiles.

Conclusión

Con las rápidamente crecientes necesidades de seguridad cibernética, construir una infraestructura de defensa cibernética efectiva es un gran desafío para muchas organizaciones. Construir una sólida y precisa infraestructura de monitoreo disminuirá el tiempo para detectar ataques dado que ayudará a ganar el conocimiento profundo necesario de los sistemas. Una fuerte infraestructura de monitoreo será capaz de correlacionar y usar los datos en forma precisa, permitiendo al equipo de seguridad que trabaje sólo con alarmas importantes y precisas.

Este artículo provee una mirada de las herramientas de código abierto que pueden ser utilizadas para desplegar una detección mejorada de amenazas cibernéticas y defensa para ajustarse a los recursos de la mayoría de los defensores cibernéticos. Adicionalmente, esta oferta de software de código abierto provee una flexibilidad significativa y el beneficio de una comunidad de gran soporte. Esto puede ayudar a nivelar el campo de juego para aquellos encargados de proteger una organización y sus “joyas de la corona”. Por otra parte, para utilizar la flexibilidad y ventajas de soluciones de seguridad de código abierto de un bajo presupuesto, el equipo de seguridad encargado de la instalación de estas soluciones debe saber lo que está haciendo y disfrutar de la comunidad y cultura de la comunidad de código abierto. Pero el código abierto también es un riesgo para las compañías que tienen pequeños equipos de seguridad. Especialmente en el largo plazo, un producto que no tiene más soporte debe ser gestionado por la organización, resultando en desafíos únicos.

Notas Finales

1 Mandiant, 2014 Threat Report, M-Trends, April 2014, http://dl.mandiant.com/EE/library/WP_M-Trends2014_140409.pdf
2 Lockheed Martin, Cyber Kill Chain, http://cyber.lockheedmartin.com/solutions/cyber-kill-chain
3 Security Onion, http://blog.securityonion.net/
4 OSSEC, http://ossec.github.io/
5 Kennedy, D.; “Tool Release: Auto-OSSEC—Automated OSSEC Deployment,” Binary Defense Systems Update blog, 5 October 2015
6 The Honeynet Project, Google Summer of Code 2009, http://honeynet.org/gsoc2009
7 Sissel, J.; “An Introduction to the ELK Stack,” Elastic, http://www.elastic.co/webinars/introduction-elk-stack

Furkan Caliskan, CISA
Es el subgerente de la seguridad de la información en el Banco Ziraat A.S., el banco más grande en Turquía. Antes de eso, él trabajaba como un auditor de TI, él puede ser contactado en caliskanfurkan@gmail.com.