La siguiente generación de ciberdelincuentes

Muy buenas con todos, un título más que sugestivo, y quiero empezar con este pequeño video que vi hace un buen tiempo, una de esas joyas que te hacen desconfiar de la tecnología y te ponen la piel de gallina.

Pese a su inofensivo aspecto, este video es sin duda algo que todos nosotros como personas relacionadas al TI debemos temer y conocer. Pero vamos a revisar unos pocos detalles antes.

Mar.IO

El autor del video nos cuenta la historia del jugador que ha conseguido vencer ese nivel del tan conocido juego Super Mario World. En el proceso nos explica que dicho jugador no es humano, más bien un programa de computadora que ha conseguido aprender por su cuenta el proceso del juego.

Neuroevolución

Este es el proceso que ha seguido Mar.io desde no cononcer absolutamente nada sobre el juego a completar exitosamente el nivel. Este proceso emula a los cerebros humanos y genera una red neural. Dicha red se puede apreciar en la parte superior derecha de Mar.io y es la que se genera tras una larga secuencia de intentos y errores.

Resultado

Tras 24 horas de evolución neuronal, Mar.io ha sido capaz de completar exitosamente el nivel, esto debido a una serie de generaciones que han aprendido que el camino a seguir está a la derecha, que existen cosas que pueden lastimar a Mar.io y que puede evitarlas con comandos como saltar y demás.

Todo está en los números

Si han visto el video completo sabrán que existe un diagrama en el que se muestra una línea azul (4:06). Este cuadro muestra el fitness alcanzado en cada generación. Fitness es un resultado que se obtiene de una función que toma, entre otras cosas, la distancia y tiempo que demora Mar.io en morir. Como pueden ver, existen puntos donde se estanca en su evolución, pero eventualmente encuentra la solución y sigue evolucionando. Tras 32 generaciones de Mar.ios se consigue el objetivo de completar el nivel.

¿Qué tiene que ver con seguridad?

Muchos ya lo estarán preguntando a estas alturas, pero creo que la respuesta es más que evidente, cambiemos un poco de contexto a Mar.io, supongamos que en lugar de jugar su inofensivo juego, le entregamos una computadora con mmm… ¿Kali Linux?

Kali Linux

Todo buen profesional de TI debe conocer este nombre, así como Ubuntu es sinónimo de computadoras de mesa y los nombres Red Hat y SUSE grandes empresas que giran en torno a Linux. Lo primero que suele venir a la mente de muchos cuando hablamos de seguridad informática es Kali Linux.

Simplifica el pentesting

Para los que hemos jugado un poco con la distro, sabemos que Kali simplifica mucho los pasos del pentesting, puesto que nos entrega una suite completa de herramientas que podemos empezar a usar tanto desde su entorno live como instalando en un disco duro. Algunas de estas herramientas se instalan de manera manual me dirán más de uno, pero si lo vemos de forma un poco simplista, con lo que tenemos pre-instalado estamos más que preparados para un pentesting “normal”.

Pentesting

Este es el proceso que realiza un analista de seguridad, algunos de forma defensiva, pero si estás en Kali, probablemente de manera ofensiva. A lo largo de un pentesting el analista hace un reconocimiento del objetivo, encuentra posibles vectores de ataque, realiza ataques dirigidos en entornos lo más “controlados” posibles, y tras su largo esfuerzo genera un reporte detallado de todo el proceso y apunta los posibles fallos que puede tener un sistema/software/equipo/persona.

Mar.io pentester

Supongamos por un segundo que Mar.io decide dedicar su vida al análisis de seguridad, él no duerme, no come, no juega, solo requiere de tiempo para procesar cosas y números para analizar sus resultados. Imaginemos qué sucederá tras unos cuantos meses de estudios de Kali Linux. Con un poco de tiempo aprenderá a usar nmap, tal vez después le interese probar metasploit, y quién sabe, tal vez con el tiempo genere su propio programa para hacer las cosas más eficientes. Esto me recuerda mucho al programa de AI de Facebook que decidió crear su propio idioma de negociación porque el inglés era muy poco “eficiente” ( y no, no era esperanto tampoco por si se lo preguntan :P ).

El futuro de la seguridad

Imaginemos ahora por un instante que después solo existirán Mar.ios trabajando en seguridad, algunos atacando, otros defendiendo, pero eso ya no importaría. ¿Por qué? pues porque si tenemos ambos bandos peleando a ese nivel, sin dormir, sin comer, sin nada… ¿qué podría hacer un humano para estar a su altura? Recordemos a la AI de Google que pudo vencer al mejor jugador de Go en lo que se supone es el juego más complicado del planeta para una máquina :).

Esto nos lleva al mundo empresarial, en el que los pentesters ya no serán necesarios, ni para auditar, ni para defender, y las grandes empresas tendrán servidores dedicados al análisis continuo de sus programas y redes.

¿Debo continuar mi carrera en seguridad?

Pues esto es algo un poco complicado de responder :) si seguimos la misma premisa para cualquier campo, vamos a ver que el 90% de trabajos del futuro serán o podrían ser realizados por pequeños Mar.ios, desde la psicología, pasando por el derecho y medicina, hasta finalmente llegar al software, digo finalmente porque el punto en el que un programa sea capaz de modificarse a sí mismo, ese será el punto de fin de nuestro control sobre los programas, ellos se mejorarán a sí mismos y en ese entonces serán incontrolables. Suena aterrador, lo sé :) pero déjenme soñar un poco :P

Centrando en el tema nuevamente, si vale la pena o no aprender a hacer esto, yo creo que sí y no. Sí vale la pena si realmente vas a meterte de lleno en el tema, y vas a investigar y aprender cosas que vayan más allá del mero hecho de repetir un proceso una y mil veces esperando obtener el mismo resultado.

Esto aplica tanto para los pentesters como para los desarrolladores, y los administradores de sistemas. Aquel que solamente conozca usar una herramienta será fácilmente remplazado por un Mar.io en el futuro. Los que, por otro lado, puedan diseñar herramientas (verdaderos hackers :P) serán quienes entrenen y mejoren a los pequeños Mar.ios, no tendrán el futuro asegurado, pero mientras sean mejores que los programas, podrán llevarse un pan a la mesa :)

Reflexión

Bueno, hasta aquí  será por hoy, gracias por leer y me gustaría pedirles un favor. Sé que muchos leen sin comentar nada al respecto, y es verdad que ya les debo varios temas para escribir o continuar, pero nunca está de más un pequeño feedback para saber si hay dudas o no, si se puede comentar algo más o no, si ustedes tienen un aporte sustancial al texto, o lo que se les ocurra :) Así me motivan a mí a seguir escribiendo y al mismo tiempo me dan nuevas ideas para otros artículos. Saludos.