La inteligencia artificial o IA (Artificial Intelligence, o AI en inglés) es la simulación de procesos de inteligencia humana por parte de máquinas, especialmente sistemas informáticos. Estos procesos incluyen el aprendizaje (la adquisición de información y reglas para el uso de la información), el razonamiento (usando las reglas para llegar a conclusiones aproximadas o definitivas) y la auto corrección. Las aplicaciones particulares de la AI incluyen sistemas expertos, reconocimiento de voz y visión artificial.
Existen distintos tipos de inteligencia artificial, y pueden ser categorizados en cualquier numero de maneras, aquí hay dos ejemplos.
El primero clasifica los sistemas de inteligencia artificial como IA débil o IA fuerte. La IA débil, también conocida como IA estrecha, es un sistema de IA que está diseñado y entrenado para una tarea en particular. Los asistentes personales virtuales, como Siri de Apple, son una forma de débil de IA.
Y aqui es donde tenemos que entrar a detallar un poco de lo que seria el aprendizaje de las maquinas.
Machine Learning
Es la ciencia de conseguir que una computadora actúe sin programación. El aprendizaje profundo (deep learning) es un subconjunto del aprendizaje automático que, en términos muy simples, puede considerarse como la automatización de la analítica predictiva. Existen tres tipos de algoritmos de aprendizaje automático: el aprendizaje supervisado, en el que los conjuntos de datos están etiquetados para que los patrones puedan ser detectados y utilizados para etiquetar nuevos conjuntos de datos; el aprendizaje no supervisado, en el que los conjuntos de datos no están etiquetados y se clasifican de acuerdo a similitudes o diferencias; y el aprendizaje de refuerzo, en el que los conjuntos de datos no están etiquetados, pero después de realizar una acción o varias acciones, el sistema de AI recibe una retroalimentación.
Redes Neuronales
Es un modelo simplificado que emula el modo en que el cerebro humano procesa la información: Funciona simultaneando un número elevado de unidades de procesamiento interconectadas que parecen versiones abstractas de neuronas.
Las unidades de procesamiento se organizan en capas. Hay tres partes normalmente en una red neuronal: una capa de entrada, con unidades que representan los campos de entrada; una o varias capas ocultas; y una capa de salida, con una unidad o unidades que representa el campo o los campos de destino. Las unidades se conectan con fuerzas de conexión variables (o ponderaciones). Los datos de entrada se presentan en la primera capa, y los valores se propagan desde cada neurona hasta cada neurona de la capa siguiente, al final, se envía un resultado desde la capa de salida.
Ahora que tenemos una visión de lo que es, y como funciona prácticamente una Inteligencia Artificial, veamos como se implementa dentro de la seguridad informatica.
Muchas empresas estan utilizando las IA para la deteccion de spam, como ser la IA de Google que llego a reducir al 80% en la búsqueda de contenido en el 2021, algunas IA también son utilizadas para la legitimidad del trafico, en este articulo, nos centraremos en una IA que pueda clasificar el trafico real con un trafico basado en escaneo de puertos.
La empresa X (no damos nombre por confidencialidad) que llamaremos Alpha Lab (soy fanático de Doom) tenia ciertos y cientos de problemas de comunicación, por lo que en ciertas horas el trafico de la red era insoportable, por ello solicitaron la realización de una auditoría, y que mejor manera de detectar el problema que con una IA.
Entonces, me puse manos a la obra, analizando la infraestructura, me di cuenta la cantidad de equipos y sub redes que tenían dentro de Alpha Lab, por lo que decidí realizar una IA para la clasificación de trafico, basado en trafico real, y trafico sospechoso, para ello utilizamos una Micro OC Carraspera Pi 3 con python y las librerías de tensorflow lite.
El primer paso fue la captura de todo el trafico de la red con el wireshark para poder entrenar a la IA y que pueda clasificar el trafico real con algún tipo de trafico malicioso, el entrenamiento de la IA y su red neuronal, no fue tarea sencilla, capturamos el trafico, lo exportamos a una planilla electrónica y luego a CSV para que la librería de python la pueda leer e interpretar y así clasificarla en un cluster.
Se ve en la imagen que nuestra red neuronal, cuenta con 4 capas de entrada, 4 capas ocultas con 18 neuronas, y es donde se realiza el proceso de análisis y clasificación para luego mostrar los datos clasificados.
El sitio para realizar la emulación es https://playground.tensorflow.org/
Una vez que se consiguió la emulación de la clasificación, realizamos el proceso ya en nuestra IA obteniendo los siguientes resultados.
Realizamos la lectura de los datos a procesar por lo que nos muestra una linea igualitaria para todos los datos planos.
Una vez que se empieza a realizar el aprendizaje de cual es el trafico legal y cual seria el trafico ilegal o con algún mal formato, los va agrupando en dos cluster
Se puede apreciar en la imagen, como se generan dos tipos de variables en forma de estrellas, que son los tráficos legales e ilegales.
Una vez realizado el aprendizaje nos presenta en la pantalla la clasificación de los tráficos, teniendo mas trafico ilegal (rojo) que el legal (amarillo) identificando el verdadero problema, una serie de escaneo de puertos de distintos equipos en modo stealth.
La empresa Alpha Lab, estaba siendo atacada a través de sitios web maliciosos creados y publicados con la herramienta Beef, donde tenían un javascrip que realizaba los escaneos dentro de la red para identificar equipos vulnerables, para luego realizar movimientos laterales y robar información, gracias a la IA se pudo detectar la cantidad de escaneos que se realizaban con la herramienta nmap que utilizaban la sintaxis -sS
Concluyendo, la Inteligencia Artificial es un gran aliado para la realización de tareas en seguridad informática, tiene todavía algunas limitaciones, pero dependiendo de las tareas que sean necesarias, pueden ser de mucha utilidad, para detectar tráficos, spam y porque no algunos ataques básicos, dentro de una infraestructura empresarial, pero, claro, estamos a años luz todavía de ver una IA como en Megazone 23, Mazinger Z o Robotech, y mucho mas todavía de ver una IA como Skynet y algún T-800 que ande por ahí.