Direcciones a corto y largo plazo para la IA adversaria en ciberseguridad

12 de septiembre de 2018
Sohrob Kazerounian
Distinguished AI Researcher
Direcciones a corto y largo plazo para la IA adversaria en ciberseguridad

El ritmo frenético al que ha avanzado la inteligencia artificial (IA) en los últimos años ha empezado a tener efectos transformadores en una gran variedad de campos. Junto con un mundo cada vez más (inter)interconectado en el que los ciberataques se producen con una frecuencia y escala alarmantes, no es de extrañar que el campo de la ciberseguridad haya puesto ahora sus ojos en la IA y el aprendizaje automático (ML) para detectar y defenderse de los adversarios.

El uso de la IA en ciberseguridad no sólo amplía el alcance de lo que un solo experto en seguridad es capaz de supervisar, sino que, lo que es más importante, también permite descubrir ataques que, de otro modo, habrían sido indetectables para un ser humano. Al igual que era casi inevitable que la IA se utilizara con fines defensivos, es innegable que los sistemas de IA pronto se pondrán al servicio de los ataques.

AI La Inteligencia Artificial explicada - Parte 8

Esbozamos aquí las trayectorias a corto y largo plazo que es probable que tomen estas aplicaciones adversarias de la IA, teniendo en cuenta la historia y el estado de la IA.6

Aplicaciones inmediatas

Hay una serie de ámbitos en los que el desarrollo de la IA, y del aprendizaje profundo en particular, tiene aplicaciones específicas que, sin embargo, pueden ser modificadas con fines maliciosos por los hackers.

Por ejemplo, muchas de las técnicas más avanzadas de procesamiento del lenguaje natural utilizan una forma de red neuronal recurrente conocida como LSTM para procesar, clasificar, generar e incluso traducir el lenguaje natural. Un modelo lingüístico LSTM entrenado con un conjunto de datos de voz o texto puede utilizarse para generar nuevas frases con la misma voz o de la misma manera que el texto con el que se entrenó. Este modelo que aprendió a generar tuits con la voz de Trump es un ejemplo de este uso:

Los piratas informáticos pueden aprovechar fácilmente este tipo de modelos como una herramienta más de su arsenal. Por ejemplo, varias familias de malware utilizan algoritmos de generación de dominios (DGA) para construir aleatoriamente nuevos dominios como puntos de encuentro para que las máquinas infectadas puedan llegar a un servidor de mando y control. Si los dominios estuvieran codificados, sería trivial para un administrador de red simplemente poner en la lista negra los dominios maliciosos.

Dado que los dominios generados aleatoriamente (tomemos como ejemplo nawntgvcbixvwh.net) tienen un aspecto bastante diferente del tipo de dominios que registraría cualquier humano, es relativamente fácil crear modelos que puedan detectar dominios normales frente a dominios DGA. Sin embargo, un modelo LSTM entrenado con nombres de dominio normales podría construir fácilmente dominios falsos que no se distinguieran de los que elegiría cualquier persona.

Otra clase de modelos (que también suelen utilizar LSTM) se conoce como modelos de secuencia a secuencia (seq2seq). Los modelos seq2seq, actualmente punteros en el campo de la traducción, toman como entrada una secuencia en un dominio o idioma (por ejemplo, una frase en inglés) y producen como salida una secuencia en otro dominio o idioma (por ejemplo, una frase en francés).

Sin embargo, estos modelos también pueden utilizarse para una técnica conocida como fuzzing, que automatiza el proceso de encontrar errores y agujeros de seguridad en el código(https://arxiv.org/pdf/1701.07232.pdf). Los agujeros de seguridad encontrados por estas técnicas a menudo pueden conducir a desbordamientos de búfer, inyecciones SQL, etc., que dan a los atacantes el control total de un sistema.

Un modelo RNN secuencia a secuencia para generar objetos PDF

En general, las áreas en las que la IA y el ML son más inmediatamente aplicables resultan tener un alcance limitado y funcionar sólo en conjunción con un atacante humano que haga uso del sistema. Es probable que los ámbitos de aplicación se limiten a acelerar la automatización de diversos tipos de tareas (como en el caso del fuzzing) o a imitar el rendimiento y el comportamiento humanos (como en el caso de la DGA).

Aplicaciones a corto plazo

Extractos de un documento PDF bien formado.

A medida que el estado de la IA se desarrolle en los próximos años, técnicas de reciente aparición, como las redes generativas adversariales (GAN), empezarán a ampliar el abanico de posibilidades de ataque.

Curiosamente, las GAN se crearon en un principio para analizar los ataques a los métodos de aprendizaje profundo existentes: cambios sencillos en las entradas que, de otro modo, serían indistinguibles para los humanos, pero que confundirían al máximo a una red neuronal. Tomemos el siguiente ejemplo de Goodfellow et al. (2014)[https://arxiv.org/abs/1412.6572]:

La adición de una pequeña cantidad de ruido a una imagen de un panda da como resultado una imagen de un panda que es indistinguible de la original para la mayoría de los humanos.

La adición de una ligera cantidad de ruido a una imagen de un panda (parte izquierda de la ecuación en la figura anterior), da como resultado una imagen de un panda que es indistinguible del original para la mayoría de los humanos (parte derecha de la imagen anterior). Sin embargo, esta ligera adición cambia la predicción de una red neuronal que fue entrenada para reconocer objetos en imágenes de un "panda" a un "gibón". Un ejemplo más reciente fue capaz de generar confusiones similares con el cambio de un solo píxel(https://arxiv.org/abs/1710.08864v2).

Ataques de un píxel creados con el algoritmo propuesto que engañaron con éxito a una DNN objetivo.

Este tipo de ataques será cada vez más frecuente a medida que la IA y el ML se abran camino en nuestra vida cotidiana. Las redes neuronales profundas del tipo que fueron atacadas en los ejemplos anteriores son el núcleo de los sistemas de visión que gobiernan los coches sin conductor, el reconocimiento facial (piensa en las cámaras cuando pasas por la seguridad fronteriza al entrar de nuevo en Estados Unidos) y mucho más.

Los tipos de ataques adversarios mostrados anteriormente se utilizarán cada vez más para comportamientos maliciosos a medida que más y más sistemas dependan de soluciones automatizadas de IA.

Las GAN, motivadas originalmente por los ataques de adversarios, también son interesantes por sí mismas. Las GAN son redes neuronales acopladas que compiten entre una red generadora, cuyo trabajo consiste en generar una salida, y una red discriminadora, cuyo trabajo consiste en determinar si la entrada que ve ha sido generada por el generador o se ha extraído de un conjunto de datos real.

Sorprendentemente, el juego teórico de ida y vuelta entre las redes da como resultado un generador que puede producir resultados asombrosamente realistas. Esto es especialmente cierto en el campo de las imágenes, donde las GAN han empezado a crear imágenes que parecen hiperreales (por ejemplo, caras de famosos que no existen: http://research.nvidia.com/publication/2017-10_Progressive-Growing-of), pero ahora también se están utilizando para generar lenguaje natural.

Estos modelos serán capaces de generar un discurso humano realista con la voz o el código de otra persona para lograr un objetivo o tarea concretos. Es probable que empiecen a utilizarse para engañar a los sistemas y a los humanos generando salidas que no se distingan de las reales.

Imágenes de 1024 x 1024 generadas con el conjunto de datos CELEBA-HQ.

Orientaciones a largo plazo

A largo plazo, esperamos que el uso de la IA en entornos adversarios o maliciosos se desplace cada vez más hacia el campo del aprendizaje por refuerzo (RL). A diferencia de los modelos discutidos hasta ahora, el RL permite a un agente de IA no sólo procesar entradas sino, además, tomar decisiones en respuesta a esas entradas de una manera que puede afectar al propio entorno.

Sin la capacidad de tomar decisiones y actuar, un agente de IA sólo es capaz de procesar datos.

La capacidad de observar un entorno o un estado de entrada y luego actuar en respuesta a él cierra lo que Jean Piaget denominó el "bucle de acción-percepción" en los seres humanos. Sin la capacidad de tomar decisiones y actuar, una IA sólo es capaz de procesar datos. El bucle de acción-percepción es lo que ha dado lugar a las IA modernas (por ejemplo, https://deepmind.com/research/publications/playing-atari-deep-reinforcement-learning/) y a que los sistemas de IA derroten a los mejores jugadores de Go del mundo(https://deepmind.com/blog/alphago-zero-learning-scratch/).

En esencia, la RL funciona dando a un agente una recompensa positiva cuando logra algún objetivo y dándole una recompensa negativa cuando fracasa. Las recompensas aumentan la probabilidad de realizar acciones que probablemente conduzcan a recompensas positivas, mientras que inhiben las acciones que probablemente conduzcan a recompensas negativas.

Se necesitará alguna forma de RL (o métodos relacionados que se desarrollen a partir de ella) para crear agentes de IA que puedan reconocer, apuntar y atacar una red de forma autónoma. De hecho, en Vectra ya hemos construido agentes rudimentarios que pueden aprender a escanear redes de forma que eludan los sistemas de detección. Estos sistemas se entrenaron recompensando a los agentes por la información recopilada, mientras que se les castigaba cada vez que eran descubiertos.

Sin embargo, este tipo de entrenamiento no es sencillo, ya que no existen métodos claros para definir qué es un entorno y cuál es el espacio de acciones posibles (a diferencia de cosas como los juegos Atari o incluso un juego notoriamente difícil como el Go, en los que el espacio de estados y el espacio de acciones están relativamente claros).

Incluso ahora existe un proyecto que intenta utilizar la API de Metasploit para crear una serie de estados y acciones fácilmente ingeribles por algoritmos de RL, que luego pueden ser utilizados por algoritmos desarrollados en TensorFlow. El proyecto, llamado DeepExploit, fue presentado en Black Hat 2018(https://github.com/13o-bbr-bbq/machine_learning_security/tree/master/DeepExploit).

En última instancia, es esta última categoría de IA para comportamientos maliciosos o de ataque la que históricamente ha cautivado la imaginación de los escritores de ciencia ficción y del público en general. Pero mucho antes de que este tipo de agentes lleguen a existir, la IA y el ML se utilizarán para una amplia variedad de ataques, algunos de los cuales ya podemos predecir en la tubería y otros de los que simplemente no sabremos hasta que sucedan.

Godefroid, P., Peleg, H., & Singh, R. (2017, octubre). Learn&fuzz: Aprendizaje automático para input fuzzing. InProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering(pp. 50-59). IEEE Press.

Goodfellow, I. J., Shlens, J., & Szegedy, C. Explaining and harnessing adversarial examples (2014).arXiv preprint arXiv:1412.6572.

Karras, T., Aila, T., Laine, S., & Lehtinen, J. (2017). Progressive growing of gans for improved quality, stability, and variation.arXiv preprint arXiv:1710.10196.

Mnih, V., Kavukcuoglu, K., Silver, D., Graves, A., Antonoglou, I., Wierstra, D., & Riedmiller, M. (2013). Playing atari with deep reinforcement learning.arXiv preprint arXiv:1312.5602.

Silver, D., Schrittwieser, J., Simonyan, K., Antonoglou, I., Huang, A., Guez, A., ... & Chen, Y. (2017). Mastering the game of Go without human knowledge.Nature,550(7676), 354.

Su, J., Vargas, D. V., & Kouichi, S. (2017). One pixel attack for fooling deep neural networks.arXiv preprint arXiv:1710.08864.

Preguntas frecuentes