Las primeras vulnerabilidades oficiales en Machine Learning, así, en general

Franco Piergallini Guida    21 diciembre, 2020
Las primeras vulnerabilidades en oficiales en Machine Learning, así, en general

Hoy por hoy no eres nadie en el mercado si no usas un sistema de Machine Learning. Ya sea un sistema de “ifs” anidados o un modelo de inteligencia real con una envidiable curva ROC, esta técnica forma parte del discurso habitual en ciberseguridad, y como tal, se incorporado ya a la industria como un método más. Nos preguntamos si está siendo atacado o sufriendo vulnerabilidades, una forma de medirlo es saber si se ya conocen fallos oficiales y qué impacto han tenido.

¿Cómo se ataca un sistema de Machine Learning? Pues como casi todo en ciberseguridad, conociéndolo a fondo. Una de las fórmulas es “extraer” su modelo de inteligencia para poder eludirlo. Si sabemos cómo clasifica un sistema, podemos enviar muestras para que las clasifique a nuestro gusto y pase desapercibidas. Por ejemplo, en el año 2019 se registró en el NIST la primera vulnerabilidad asociada a un sistema de Machine Learning con un CVE concreto. Aquí se logró “imitar” un modelo de Machine Learning para la clasificación de correo basura (SPAM) recolectando la puntuación que iba asignando el sistema de Protección de Emails a los distintos los encabezados. Una vez replicado el modelo, extrajeron el conocimiento que serviría para generar un posterior ataque que eludía los filtros.

Básicamente, el conocimiento relevante que pudieron obtener los investigadores replicando el modelo original fueron los pesos que el sistema le asignaba a cada término que aparecía en la cabecera de un email para clasificarlo como “no spam”. A partir de ahí, realizar pruebas añadiendo estos términos en un correo basura para “engañar” al modelo original y lograr el objetivo de poder clasificar un correo spam como no spam.

En nuestro post “Pensando en ataques a WAFs basados en Machine Learning” utilizamos la misma técnica para engañar modelos implementados en algunos WAF que detectan URLs maliciosas y XSS. Indagamos en los modelos para comprender o conocer cuáles son los términos que tienen más peso a la hora de clasificar una URL como no maliciosa y los incluimos a nuestra URL maliciosa para lograr generar una clasificación errónea en la predicción.

La respuesta por parte del fabricante a esta vulnerabilidad indican que parte de la solución a este problema fue la capacidad de su modelo de actualizar sus puntuaciones (pesos) en tiempo real. En otras palabras, sacrificar la estacionalidad por la adaptabilidad y reentrenar dinámicamente su modelo con nuevas interacciones de los usuarios. Si bien es una posibilidad interesante en este caso y que refuerza el sistema, esto no siempre es aplicable para cualquier modelo que utilicemos ya que podría acarrear otro nuevo vector de ataque en donde un adversario podría manipular los limites de decisión del modelo envenenándolo con inputs sintéticos que en realidad son “basura”.  Dado que para tener un impacto significativo el atacante debería insertar una gran cantidad de basura, los servicios que son más populares y ven un gran volumen de tráfico legitimo son más difíciles de envenenar para tener un impacto significativo en el resultado del aprendizaje.

Un nuevo mundo de oportunidades

La anterior vulnerabilidad se restringía a un producto, pero también hemos asistido a problemas genéricos en los algoritmos. Por hacer una analogía, sería como encontrar un fallo en la implementación de un fabricante, en contraposición a un fallo en el diseño del protocolo (que obligaría a actualizar a todos los fabricantes). En este sentido, quizás una de las implementaciones de Machine Learning más famosas son las basadas en los algoritmos entrenados a través del descenso de gradiente (gradient descent),

Hace no tanto se descubrió que son potencialmente vulnerables a ataques de clasificación errónea arbitrarios, como explican en esta alerta del CERT Coordination Center, Carnegie Mellon University. En este caso, ya estudiamos y compartimos en una aplicación del mundo real atacando un sistema de reconocimiento de videos Deep Fakes, y otra relacionada con el ataque de aplicaciones móviles para la detección de melanomas en la piel que publicaremos más adelante.

En conclusión, a medida que incorporamos esta tecnología al mundo de la seguridad, veremos más ejemplos de fallos de implementación, e incluso más esporádicamente, fallos de diseño en algoritmos que pondrán a prueba la habilidad de estos sistemas supuestamente inteligentes. Las consecuencias serán en general que los atacantes serán capaces de engañarles para clasificar erróneamente y por tanto, eludir probablemente ciertos sistemas de seguridad.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *