Tipos de aprendizaje que debe aprovechar la IA de ciberseguridad

18 de julio de 2018
Sohrob Kazerounian
Distinguished AI Researcher
Tipos de aprendizaje que debe aprovechar la IA de ciberseguridad

A pesar de la reciente explosión de la investigación en aprendizaje automático e inteligencia artificial (IA), no existe un método o algoritmo singular que funcione mejor en todos los casos. De hecho, esta noción se ha formalizado y demostrado matemáticamente en un resultado conocido como el teorema No Free Lunch (Wolpert y Macready 1997).

AI Inteligencia Artificial - Parte 5

Ningún algoritmo superará a todos los demás en todos los espacios de problemas posibles, sobre todo si se tienen en cuenta las distintas limitaciones del mundo real, como la complejidad espacial y temporal y la disponibilidad de datos de entrenamiento.

Como tales, los sistemas de IA que se diseñan para detectar amenazas avanzadas de ciberseguridad deben adaptarse a los problemas específicos para los que se están desplegando y deben hacer uso de las mejores herramientas y algoritmos disponibles para los tipos de detecciones que están diseñados para desencadenar.

Como en otros ámbitos, los sistemas de IA en ciberseguridad deben validarse según los siguientes criterios:

  1. ¿Puede el sistema de IA detectar, agrupar, clasificar y hacer predicciones que no habrían podido detectar, agrupar, clasificar o predecir los humanos por sí solos?
  2. ¿El sistema de IA realiza predicciones y clasificaciones que reducen la cantidad de intervención y análisis humanos necesarios? ¿Hace predicciones y clasificaciones que aumentan la cantidad de intervención y análisis humanos necesarios?

Diseñar un sistema de IA que sea capaz de aprender a alcanzar simultáneamente ambos objetivos requiere un profundo conocimiento del espacio del problema y una amplia comprensión de los algoritmos de aprendizaje automático en general. Los intentos de utilizar soluciones monolíticas que aprendan de manera uniforme sobre las innumerables amenazas a la seguridad y las intrusiones en las redes modernas están destinados a quedarse cortos en el primer objetivo, mientras que crean demasiadas detecciones falsas para proporcionar algún beneficio hacia el segundo.

Del mismo modo, el uso de múltiples técnicas o algoritmos para detectar cada tipo de amenaza de forma independiente requiere un conocimiento intrincado de cómo funciona cada algoritmo y de las formas en que podría fallar. Un conocimiento incompleto del algoritmo puede conducir a la posibilidad muy real de un rendimiento inferior en la capacidad de un sistema para detectar una amenaza y la cantidad de trabajo creado para los administradores de red debido a los falsos positivos.

Alcance del problema

Dada la gran variedad de amenazas a la ciberseguridad que existen en la actualidad, cualquier equipo que desarrolle soluciones de IA para automatizar la detección de ciberataques debería contar con muchos algoritmos. Entre ellos se incluyen técnicas de análisis de series temporales, PNL, estadística, redes neuronales, álgebra lineal y topología. Sin embargo, lo primero que hay que determinar sobre un algoritmo es si debe aprender a hacer predicciones de forma supervisada o no supervisada.

¿Existe un conjunto de datos etiquetados a partir del cual un algoritmo pueda aprender a asignar entradas a etiquetas? ¿O necesita el algoritmo aprender qué entradas son maliciosas y cuáles no, de forma no supervisada, sin utilizar etiquetas? Si existe un conjunto de datos etiquetados, ¿es suficientemente representativo de la superficie de ataque para la que se está diseñando el algoritmo? ¿Se extraen los datos de una distribución que cubra el espacio de tipos de red, dispositivos, usuarios y conexiones que se observarán cuando el sistema se ponga en producción? Incluso si se cumplen estos criterios, ¿hay razones para preferir métodos de aprendizaje sin supervisión que ignoren por completo las etiquetas de clase?

Por ejemplo, en el caso de los algoritmos de generación de dominios (DGA), en los que un host infectado establece conexiones con dominios cuyos nombres se han generado aleatoriamente para evitar simplemente incluir el dominio en una lista negra, varios conjuntos de datos de gran tamaño contienen ejemplos de dominios buenos conocidos (etiquetados como Clase 0 en la tabla siguiente) y dominios DGA conocidos (Clase 1). El conjunto de entrenamiento etiquetado puede utilizarse para aprender una correspondencia funcional entre el nombre del dominio y la clase (normal frente a DGA, 0 frente a 1). También es posible utilizar métodos no supervisados que pueden aprender sobre las estadísticas subyacentes de los dominios normales, que etiquetarían cualquier cosa fuera de lo "normal" como generada por un DGA.

El uso del aprendizaje no supervisado podría ser ventajoso si los conjuntos de datos en cuestión están desfasados o contienen errores. Podría ser aún más perjudicial si los atacantes tienen conocimiento previo de los conjuntos de entrenamiento para adaptar sus AGD y evitar ser detectados.

Dominio normal (etiqueta de clase 0)

Dominio DGA (etiqueta de clase 1)

google.com

tmwqfxrmb.ac

soundcloud.com

pkmeprkwtxigpnjshcsddhkgn.in

litetech.eu

nawntgvcbixvwh.net

investigación-urbana.jp

gujtvpqvd.com

Para tomar una decisión de este tipo es necesario comprender el ataque en cuestión. También requiere conocer las técnicas adecuadas de formación, prueba y validación de modelos para cuantificar el exceso de ajuste a un conjunto de datos específico, permitiendo al mismo tiempo la generalización a datos nuevos y desconocidos.

Preguntas frecuentes