Nuevas tendencias para la detección de riesgos basadas en Machine Learning
Para todos los que nos dedicamos, de una o de otra forma, a la ciberseguridad, es evidente que nos encontramos ante una escalada armamentística entre el cibercrimen, y aquellos que nos defienden de ellos, los Blue Teams. No es de extrañar, un estudio de 2019 ya nos impactó cuando se constató que el cibercrimen ya mueve más dinero que el narcotráfico, y la tendencia en 2020 y en 2021 ha ido en aumento. Esto solo se explica con la profesionalización del cibercrimen, hecho contrastado por las autoridades policiales.
Podemos caer en el cliché de pensar que el cibercrimen es una especie de organización maligna, al estilo de Kingpin en Spiderman. Y aunque este cliché es acertado en algunos casos, hay una gran parte del cibercrimen que no lo cometen organizaciones malignas y criminales, si no que son perpetradas por empresas o individuos que quieren obtener un rédito de forma ilegítima, o quieren perjudicar a una empresa o a una persona. No es extraño encontrar cibercrimen patrocinado por una empresa que quiere aumentar los costes operativos de su principal competidor, creando tráfico a través de bots para obligarle a escalar sus infraestructuras en la nube, y aumentar así su coste; así como tampoco es extraño encontrar a empleados, o antiguos empleados, aprovechando el conocimiento interno de la empresa para socavar su posición, o perjudicarla de alguna manera.
Por supuesto, también existe la versión más conocida de esta historia. Una organización criminal que suplanta a un usuario legítimo y ejecuta las acciones maliciosas en su nombre. Esto es posible gracias a la fragilidad de los usuarios, especialmente de aquellos negligentes que no aplican las políticas de seguridad de la empresa a sus cuentas, o que utilizan la misma contraseña en sus redes sociales que en sus cuentas corporativas, por ejemplo. No es demasiado complicado extrapolar filtraciones de contraseñas de servicios en la nube (redes sociales, cuentas en plataformas de videojuegos, etc.) con cuentas profesionales, y es un vector de entrada cada vez más común y peligroso.
Y es que como podéis adivinar, no todo es malware o ransomware. No todo es caos y destrucción. Hay muchos problemas que no son tan chillones como el ransomware, pero que pueden ser incluso más dañinos. No en vano, una empresa tarda una media de 280 días en identificar y contener una brecha de datos, según un reciente estudio de IBM. Hay, por tanto, un amplio margen de mejora en lo que a detectar y detener fugas de datos se refiere. Muchas de estas fugas son provocadas por insiders, usuarios legítimos de una organización que conspiran contra ella para beneficio personal, o para provocar daño. Muchas veces estos insiders no son usuarios conscientes, si no que son “marionetas” movidas por ciberdelincuentes, generalmente comprometidas por unas deficientes políticas de seguridad, o por negligencia del usuario.
Para poder detectar antes este tipo de ataques tenemos que dejar de fijarnos en lo que son las cosas, y empezar a fijarnos en cómo se comportan. Desde el punto de vista clásico de la detección de intrusiones, un usuario que accede legítimamente de la plataforma, y no ha tenido un patrón de comportamiento extraño desde el punto de vista de la autenticación (por ejemplo, no ha tenido 500 autenticaciones fallidas en la última hora…), es legítimo y no hay nada más que hablar. No es una amenaza. Pero, como ya hemos adelantado antes, hay usuarios legítimos que se comportan maliciosamente. Por lo tanto, tenemos que fijarnos en CÓMO se comporta un usuario y no solo en cómo se autentifica.
¿Y qué tecnología es especialmente buena en detectar patrones de comportamiento? La inteligencia artificial en general, y el machine learning en particular. Este es precisamente el enfoque se está haciendo en el proyecto OPOSSUM.
La aproximación es sencilla en su concepción, pero bastante más compleja en su implementación. Básicamente, el proyecto OPOSSUM actúa de proxy inverso entre los usuarios, y las aplicaciones. De este modo, está en una posición privilegiada para aplicar comprobaciones de seguridad, a modo de un Web Application Firewall (WAF) clásico, pero también está en una posición privilegiada para analizar cómo usa un usuario una aplicación determinada, ya que toda comunicación entre el usuario y la aplicación, pasa forzosamente por OPOSSUM.
Una novedad interesante de este proyecto está en el concepto del contexto. Clásicamente, las soluciones de ciberseguridad se han centrado en analizar el dato plano. Pongamos como ejemplo una petición HTTP, para que un WAF determine si la petición es maliciosa o no, analiza el contenido de la misma de forma aislada. Esto es eficaz en muchos casos, pero no para detectar comportamientos anómalos. Es cierto que existen productos que tienen en cuenta un conjunto de datos, por ejemplo, las últimas 50 peticiones, pero aún así, los datos sobre los que se basan siguen siendo escasos. El proyecto OPOSSUM, en cambio, aumenta el contexto de la petición, enriqueciendo los datos sobre los cuales se harán las predicciones, utilizando para ello fuentes externas de threat intelligence como Shodan, Spyse o Alienvault. Estas plataformas añaden más información a la simple petición HTTP, como por ejemplo si esa IP se ha visto envuelta en incidentes de seguridad, o si el payload de una petición contiene algún indicador de compromiso. Este enriquecimiento se hace en tiempo real, utilizando como base tecnológica la pila Apache de Big Data (Hadoop, Kafka, Cassandra, etc.) así como otras tecnologías interesantes, tal y como muestra la siguiente figura.
Enriquecimiento de datos
Estos datos enriquecidos aportan mucha más información, que puede ser procesada por modelos de machine learning para detectar anomalías en el comportamiento de los usuarios.
Evidentemente, surgen nuevos retos, como la actualización de los modelos de machine learning. El comportamiento de los usuarios es variable, y evoluciona con el tiempo. También está sujeto a cambios en las propias atribuciones del usuario, como un cambio natural de funciones debido a un ascenso en la organización, por ejemplo. Naturalmente, en este caso, se abren más puertas y accesos para ese usuario, y su comportamiento con las aplicaciones corporativas variará. Por tanto, el entrenamiento constante de esos modelos es un requisito fundamental. Es por ello que en OPOSSUM se investigan e implementan modelos de machine learning basados en técnicas como el Adaptive Learning.
El proyecto OPOSSUM es, por tanto, un buen ejemplo de Machine Learning aplicado a ciberseguridad, que protege las aplicaciones corporativas de ataques clásicos, pero también de ataques más sofisticados como la exfiltración de datos, la detección de bots maliciosos o la detección de insiders.
OPOSSUM, descripción gráfica 😉
Stay secure!