Cómo entrenar a tu dragón
A pesar de las predicciones y especulaciones de su inminencia tanto en la literatura fantástica como en el cine de ciencia ficción, le tomó unos 30 años a la Inteligencia Artificial (IA) salir de los laboratorios y llegar a nuestro mundo cotidiano. Pasó por Redes Semánticas, Procesamiento de Lenguaje Natural, Sistemas Expertos, Sistemas Cognitivos, Agentes Inteligentes y, finalmente, Inteligencia Artificial. A medida que fue creciendo, algunos logros nos asombraron como cuando a fines del siglo pasado Deep Blue le ganaba varias partidas a Kasparov. Aunque eso ni se compara con la forma en la que DeepMind de Google viene destrozando a varios jugadores expertos y campeones mundiales de Go en los últimos años. Estos resultados espectaculares por ahora siguen siendo de laboratorio. Aunque Siri, Google Now y Cortana no lo son.
Cada vez que consultamos a nuestros smartphones y les preguntamos cómo llegar a cierta dirección, o si nos puede dar la mejor receta de la Musaka griega o si le pedimos que cante, quien nos está respondiendo es el sistema de IA que Apple, Google y Microsoft desarrollaron para sus productos.
Al consultar el pronóstico del tiempo en el Weather Channel, ir de compras virtuales por Macey’s o hacer consultas de salud en el sitio de la American Cancer Society, veremos el logo de “With Watson” que significa que esas organizaciones están usando el sistema de IA de IBM: Watson para analizar sus datos. El mismísimo Elon Musk, a pesar de mostrar públicamente su preocupación por el desarrollo de la IA, formó la compañía OpenAI para fomentar su desarrollo.
Antes de la IA, usábamos nuestros programas, aplicaciones y sistemas para que nos agilicen nuestros procesos de negocio, aunque las decisiones intermedias las seguían tomando los expertos que interpretaban los resultados. ¿Pero qué pasa si entrenamos a un sistema de IA para que tenga las mismas habilidades del experto? Eso es lo que están haciendo hoy los sistemas de IA. Reemplazan la intervención humana en la toma de decisiones de forma mucho más rápida, eficiente y con menor tasa de error. Y esto se logra por medio de dos claves: la primera es la elección correcta del tipo de herramienta de IA (hoy en día la más difundida por su eficiencia es la de Deep Learning); la segunda es cómo la entrenamos. En particular con Deep Learning, se deben usar millones de datos tomados de expertos, pre-procesarlos adecuadamente para alimentar al sistema para que aprenda y se entrene.
Vayamos a un ejemplo concreto en el ámbito de la ciber-seguridad. Un sistema SIEM (Administrador de Eventos e Información de Ciberseguridad) es un sistema extremadamente complejo. Su misión es la de recolectar información de sensores a través de las redes y sistemas, correlacionarlos y dar alertas ante la evidencia de un ciberataque.
Blog – Como entrenar a tu dragón
Si bien algunos fabricantes prometen que con un “Next> Next> Next>” es posible tener un SIEM activo y funcionando en minutos, la realidad es que estos sistemas son muy complejos que requieren de la intervención de un experto. Inicialmente para el diseño mismo del sistema, analizando la red, los nodos, los sistemas instalados, las comunicaciones, los activos críticos, los puntos de entrada y de salida. Y posteriormente para analizar enormes cantidades de datos que permitan dar como resultado información realmente útil.
Si bien las herramientas SIEM actuales son bastante completas y funcionan para la mayoría de las instalaciones de forma convencional, en redes muy grandes esto es casi imposible. Por esto algunos vendors están empezando a agregar componentes de IA para reemplazar la intervención humana y hasta para generar acciones por sí mismos, como bloquear conexiones o borrar archivos potencialmente peligrosos.
Ahora bien, una herramienta es sólo una herramienta. Dependiendo de en qué manos caiga, es lo que se va a hacer con ella. Resulta que un ciberataque también es un proceso muy complejo y de varios ciclos de análisis, toma de decisiones y acciones para llegar a un objetivo. Y también es necesario un experto para llevarlo a cabo; ¿o lo era? ¿Se podrá entrenar un sistema de IA para generar ciber-ataques? La respuesta es sí. El mismísimo DARPA (Defense Advanced Research Projects Agency) está fomentando esta actividad. Pero además, las herramientas que están a disposición de la comunidad ya se están entrenando para planificar cómo causar daños en el ciberespacio.
Pero hay un problema extra. Dijimos que especialmente en Deep Learning se necesitan muchísimos datos (muy bien pre-procesados) para que los sistemas de IA aprendan correctamente. Si hacemos esto incorrectamente o a las apuradas o con datos insuficientes, podemos hacer que los sistemas de IA aprendan, pero mal. Que por ejemplo en el caso del SIEM, no sólo no detecten los ataques, sino que abran puertas a los atacantes o borren archivos válidos e importantes o bloqueen un sistema por haber errado en un análisis. Y en ese caso, ¿qué tipo de error sería? ¿Un error humano producido por una máquina?
Los sistemas de IA serán lo que hagamos de ellos. Si los entrenamos bien, podrían convertirse en nuestros aliados como tantas otras tecnologías que utilizamos a diario en nuestras vidas; pero si los entrenamos mal, por error o con malas intenciones, sin que lleguen necesariamente a convertirse en Skynet, pueden llegar a causarnos a los humanos que quedemos, serios dolores de cabeza…
Nota por Carlos Benitez