Machine Learning para defenderse de hackers

La ciberseguridad es un tema de alta complejidad, asociado a enormes cantidades datos, lo que presenta una gran oportunidad para el uso de Machine Learning en muchos de los frentes que considera.

Sin embargo, para hablar de las potencialidades de la Inteligencia Artificial en este ámbito, es necesario entender las etapas de un ciberataque. A esto usualmente se le llama kill chain y, simplificando, puede dividirse en cinco etapas: preparación, descubrimiento de vulnerabilidad, explotación, post-explotación y robo de datos.

La etapa de preparación se da fuera de los sistemas de los bancos y, en general, tiende a ocurrir en discusiones en foros que pueden estar tanto en la web normal como en la deep web. Acá, los hackers comentan vulnerabilidades potenciales y discuten cómo atacarlas. Esto lleva a que se hayan desarrollado softwares que hacen Procesamiento de Lenguaje Natural, permitiendo analizar millones de estas posts en estas discusiones y detectar de manera automatizada si se está hablando de una Institución en específico y a qué clase de riesgo se enfrentan. Con esta información, se elabora un informe de manera automatizada que permite a los Bancos tomar acciones preventivas.

Luego, para el descubrimiento de la vulnerabilidad, esta se puede lograr principalmente a través de dos formas: consiguiendo las credenciales de trabajadores con alto acceso o con fuzzing. La primera se logra usualmente a través de e-mails que tratan de parecerse lo más posible a un mail de la Institución en que trabajan: el phishing. Para esto, los bancos pueden implementar algoritmos que funcionan de manera muy similar a los detectores de spam: comparan los mails recibidos por empleados con los que envía la Institución oficialmente y aquellos que sean muy similares, pero no iguales, son marcados, alertando al receptor del mail y así evitando que hackers obtengan información confidencial. El fuzzing, en cambio, se refiere a enviar todo tipo de datos poco usuales en campos de solicitud de las páginas, esperando que genere un comportamiento poco usual, lo que, eventualmente, podría llevar al descubrimiento de una vulnerabilidad. En este caso, lo que un algoritmo podría hacer sería detectar comportamientos poco usuales, de manera que, cuando se encuentre que están entrando grandes cantidades de datos aparentemente incoherentes, salte una alerta que permita tomar acciones al Banco.

En la etapa de explotación, los atacantes utilizan su nuevo conocimiento para conseguir acceso o generar otro tipo de impacto adverso en los sistemas de la Institución. En este caso un algoritmo como una Red Neuronal Artificial, con el suficiente entrenamiento, es capaz de reconocer entradas sospechosas al sistema. Sin entrar en mayores detalles, datos como el identificador de protocolo, el puerto y dirección de origen y destino, el tipo de ICMP y el código ICMP son indicadores para la Red Neuronal de que una entrada podría ser indeseada.

Después, la fase de post-explotación tiende a ser un proceso recursivo, donde el atacante trata de meterse en distintas capas del sistema desde dentro, buscando vulnerabilidades que explotar. En caso de no haber detenido al atacante a estas alturas, esta es una nueva oportunidad para detectar comportamiento anómalo y generar una alerta, muy similar al caso de la etapa de explotación.

Finalmente, está la etapa de del robo de datos, que es auto explicativa. En este caso, si bien una parte importante del proceso de protección de datos no se realiza con Machine Learning, lo que sí puede hacer es detectar, por ejemplo, que una transacción fue fraudulenta, si una serie de variables indican que el comportamiento fue anómalo. No obstante, esto no es aplicable a todo tipo de intento de robo de datos, por lo que su usabilidad es limitada.

Algo que tienen en común la mayor parte de las aplicaciones de Inteligencia Artificial en ciberseguridad es que estas detectan comportamientos que tienen alta probabilidad de ser perniciosos, pero la decisión final la toma una persona. En la misma línea, es un hecho conocido que hay algoritmos que son capaces de ganarle hasta a los mayores maestros de ajedrez. Sin embargo, menos conocido es el hecho de que jugadores amateur acompañados de unos pocos computadores de rango medio han sido capaces de ganarle tanto a los mejores algoritmos como a los mejores jugadores. En el mundo del ajedrez a estos jugadores se les llama centauros y es relevante destacar que para la ciberseguridad pasa lo mismo: si bien los algoritmos pueden analizar datos y asignarle probabilidades de comportamiento anómalo a una velocidad impensable para un ser humano, las personas tienen la capacidad de decisión y el criterio que las máquinas no tienen, lo que les permite complementarse y llegar a un mejor resultado.

Así, si bien las aplicaciones de Machine Learning en ciberseguridad abundan en las distintas etapas de esta, esto no significa que son un reemplazo de lo que anteriormente hacían personas, sino lo contrario: permiten a las personas y a los algoritmos especializarse en sus fortalezas y así el centauro llega a un mejor resultado del que cualquiera hubiera podido llegar por separado.

Compártelo en tu red social favorita

última edición contrafactual

Get Curated Post Updates!

Sign up for my newsletter to see new photos, tips, and blog posts.