LiLaS y cómo hacer que una máquina detecte anomalías en protocolos de red como lo haría un experto

sábado, 18 de noviembre de 2017

La 'inteligencia artificial' busca dotar de inteligencia a los sistemas y a las máquinas para que puedan realizar tareas complejas, como las que caracterizan a la inteligencia humana: hablar, caminar, planificar, percibir el entorno… En definitiva, trata de resolver con éxito algún problema o llevar a cabo alguna tarea satisfactoriamente.

Este vasto campo ha ido evolucionando a lo largo del tiempo. Hace unos años surgieron los sistemas expertos, los cuales están dotados de conocimiento y su misión es servir de apoyo a los especialistas de una determinada área.

Generalmente están compuestos por tres componentes:
  • Una base de conocimiento, que contiene el conocimiento sobre un determinado dominio. Suele representarse en forma de reglas. 
  • Un motor de inferencias. Es el encargado de seleccionar las reglas que deben aplicarse para resolución del problema en cuestión. Para ello podrían usarse heurísticas.
  • Una base de hechos. Contiene afirmaciones que sirven para representar datos, objetos, etc.
Gráfico


En el pasado Equinox (evento de hacking de CDO que estimula la creatividad y el hands-on-lab, que consiste en desarrollar una idea y mostrar un prototipo funcional en 24 horas), presentamos una herramienta llamada LiLaS que permite bloquear tráfico de red a nivel de protocolo.

Gráfico La idea básica de la herramienta es diseccionar los diferentes protocolos de red y usar Latch para bloquear el tráfico del protocolo deseado. Además, se desvía el tráfico a un sistema experto para inspeccionarlo con más profundidad y añadir inteligencia al sistema. El sistema experto se basa en indicadores de compromiso (IoC) para cada uno de los protocolos y analizar su seguridad. Los IoC permiten establecer características de una amenaza que la identifican, de forma que permitan detectarla. Por norma general, se suelen utilizar en sistemas de detección de intrusiones como IDS o IPS.

Dada la gran variedad de protocolos existentes y el reducido tiempo del que disponíamos decidimos implementar los indicadores de los protocolos más habituales y escoger algunos indicadores sencillos.

Por ejemplo, en el caso del protocolo SMB, se crearon indicadores correspondientes a la fase de descubrimiento de IP, de modo que si se detectaban varias IP destino diferentes en menos de un determinado intervalo de tiempo se consideraba un comportamiento sospechoso.

Icono LiLaSOtro ejemplo, para el caso de DNS es tener en cuenta la longitud del dominio/subdominio o si hay ciertas extensiones sospechosas. Por ejemplo, en el caso de que se detecten subdominios con un hash largo delante del dominio esto podría utilizarse para exfiltración de datos.

Para HTTP se pueden tener en cuenta factores como el resultado del análisis de la URL por varios motores de antivirus. En caso de obtener varias detecciones esta acción podría hacer saltar las alarmas.

Respecto al protocolo NTP, se midió el número de peticiones por unidad de tiempo, ya que si ésta es elevada podría apuntar a ataques en los que se cambia la fecha, como por ejemplo permite hacer la herramienta Delorean. LiLaS también puede alertar sobre uso de protocolos de IoT.

Éstos son solo algunos ejemplos sencillos de IoC. Obviamente hay muchos más indicadores que se pueden utilizar para cada protocolo. En ElevenPaths incluso se han desarrollado proyectos que consumen varias fuentes de IoC, como uno de los TFM del CDO Challenge llamado “IOC Collection and Enrichment” tutorizado por Miguel Ángel de Castro.

El objetivo de estos indicadores es alertar al usuario cuando se detecte algo sospechoso, y que, en base a esa información, éste pueda decidir acerca del estado del cerrojo. Es más, en caso de detección de un comportamiento claramente malicioso o de que se recojan evidencias de varios comportamientos sospechosos prolongados en el tiempo, la herramienta incluso es capaz de bloquear automáticamente el tráfico correspondiente a dicho protocolo. Ésta es una opción que hemos llamado 'Autolock' y que el usuario puede configurar también por medio de un pestillo si desea utilizarlo o no para cada uno de los protocolos.

En nuestro caso, el sistema experto fue muy útil y proporcionó la agilidad que necesitábamos, evitando tener que entrenar el sistema de detección, entre otros. Una de las ventajas de nuestra herramienta que se podría señalar frente a otros IDS/IPS es la velocidad y la flexibilidad.

Si queréis más detalles acerca de la herramienta LiLaS podéis acceder aquí. Os dejamos un tutorial para que aprendáis cómo funciona.


Por último, me gustaría dejaros algunas reseñas sobre la experiencia del Equinox, en la que se vivieron momentos de todo tipo, desde el “me caigo de sueño” al “como mola esto”, “ya funciona”, “se ha borrado el script”… muy emocionante.

Además, tuvimos la fortuna de que nuestro proyecto fuera premiado en la categoría de seguridad. Sin duda, una gran experiencia con extraordinarios compañeros.

Carmen Torrano
Security Researcher en ElevenPaths

No hay comentarios:

Publicar un comentario