Los datos están impulsando la revolución digital actual, siendo el recurso más valioso en términos económicos y tecnológicos del último milenio. Asistimos, por tanto, a una auténtica explosión de datos que depende, entre otras cosas, de la aparición de un nuevo ecosistema: la inteligencia artificial (IA).
Era previsible, por tanto, que este inmenso caudal de información atrajera la atención de los hackers criminales, siempre dispuestos a adoptar (y adaptar) viejas y nuevas técnicas de ataque para hacerse con ella: entre ellas, el envenenamiento de datos, que representa un serio desafío para los analistas de ciberseguridad.
Para entender por qué, conviene analizar las tecnologías que están detrás de la inteligencia artificial y los riesgos a los que se exponen.
El Data Poisoning y Cómo Defenderse
Cómo Genera Datos la Inteligencia Artificial
El término “ecosistema de IA” se refiere a máquinas o sistemas que pueden aprender y adaptarse constantemente para realizar tareas similares a las humanas.
La adopción de la IA en diversos sectores no deja de crecer; si pensamos en el sector del automóvil, encontramos el desarrollo de coches autoconducidos; si pensamos en el sector sanitario, encontramos, por ejemplo, el diagnóstico precoz del cáncer de mama, la cartografía del genoma, etc.
La IA se basa en tecnologías como el aprendizaje automático (Machine Learning, ML), el aprendizaje profundo (Deep Learning, DL) y las redes neuronales artificiales (Artificial Neural Networks, ANN) que permiten a los ordenadores aprender a realizar tareas específicas, procesar grandes cantidades de datos, aprender patrones y reconocer pautas. Pero a medida que la popularidad y la adopción de la inteligencia artificial siguen creciendo, surgen al mismo tiempo nuevas amenazas, que se detallarán a continuación.
La inteligencia artificial puede definirse como una medida de la eficacia del comportamiento humano, a través de la generación de modelos para garantizar elecciones que puedan minimizar la intervención humana, considerada casi como un “cerebro auxiliar”.
La IA puede clasificarse en:
- inteligencia artificial débil (weak AI);
- inteligencia artificial fuerte (strong AI).
a primera identifica los sistemas tecnológicos capaces de simular ciertas funciones cognitivas de los humanos sin alcanzar las capacidades intelectuales reales propias de los seres humanos. En esencia, la IA débil se refiere a programas matemáticos con los que es posible resolver problemas o permitir que las máquinas tomen decisiones.
En cuanto a la segunda, hablamos de sistemas sapientes, que pueden por tanto desarrollar su propia inteligencia sin emular procesos de pensamiento o capacidades cognitivas similares a los humanos, sino desarrollando las suyas propias de forma autónoma.
Modelo de Aprendizaje de la IA
Desde un punto de vista tecnológico y metodológico, lo que caracteriza a la IA es el modelo de aprendizaje mediante el cual la IA llega a ser competente en una acción.
A continuación se describen las principales vertientes:
- Aprendizaje automático: subconjunto de la inteligencia artificial en el que se entrenan algoritmos para crear un modelo a partir de grandes conjuntos de datos, con el objetivo de tomar las mejores decisiones y realizar predicciones basadas en estos análisis. Las aplicaciones que utilizan algoritmos de ML mejoran continuamente y se vuelven más precisas a medida que aumenta la cantidad de datos a los que tienen acceso. Los algoritmos de ML se aplican para clasificar objetos, predecir resultados y tomar decisiones con conocimiento de causa. Estos algoritmos pueden utilizarse individualmente o combinando varios algoritmos para lograr la mayor precisión posible ante datos complejos e impredecibles;
- Aprendizaje profundo: modelos de aprendizaje inspirados en la estructura y el funcionamiento del cerebro humano. Aprovecha los avances en potencia de cálculo para aprender los patrones complejos presentes en grandes cantidades de datos;
- Redes neuronales: modelos matemáticos formados por unidades interconectadas (como las neuronas) que procesan información respondiendo a entradas externas y retransmitiendo información entre cada unidad;
- Computer vision: uso de modelos informáticos cuyo objetivo final es una máquina que simule los procesos humanos mediante la capacidad de interpretar imágenes y el habla y sea capaz de responder de forma coherente;
- Visión por ordenador: se basa en el reconocimiento de patrones y el aprendizaje profundo para reconocer lo que hay en una imagen o vídeo. Cuando las máquinas son capaces de procesar, analizar y comprender el contenido, pueden obtener imágenes digitales, vídeos u otras entradas visuales en tiempo real e interpretar su entorno;
- Procesamiento del Lenguaje Natural (Natural Language Processing, NLP): algoritmos de Inteligencia Artificial capaces de analizar, comprender y generar lenguaje humano, incluido el habla.
Cómo Funcionan los Sistemas de IA
El funcionamiento de una IA se basa en cuatro niveles funcionales diferentes, capaces de realizar las tareas que se le encomienden:
- Comprensión: viene dada por la capacidad de aprender y simular la correlación entre datos y eventos, mediante la cual la IA es capaz de reconocer texto, imágenes, vídeo, audio y voz para procesar información en función de una solicitud específica;
- razonamiento: de forma lógica y autónoma, los sistemas son capaces de conectar los datos recogidos mediante una serie de algoritmos matemáticos y de forma automatizada;
- aprendizaje: lo proporcionan los sistemas de IA capaces de analizar la entrada de datos para devolver una salida correcta. Por ejemplo, los sistemas de aprendizaje automático utilizan técnicas de aprendizaje automático y ayudan a la IA a aprender a realizar diversas funciones;
- interacción (Human Machine Interaction): se refiere al funcionamiento de la IA en relación con su interacción con los seres humanos. Por ejemplo, los sistemas de Procesamiento del Lenguaje Natural (PLN) permiten una relación verbal entre el ser humano y la máquina explotando el lenguaje natural, como en los chatbots.
Los Tipos de Ataques de la Inteligencia Artificial
Contrariamente a los numerosos efectos positivos que la Inteligencia Artificial (AI) y el Aprendizaje Automático (ML) tienen en el entorno cibernético, los atacantes utilizan cada vez más estas tecnologías para lanzar ataques.
A diferencia de los ciberataques tradicionales causados por bugs o errores humanos en el código, los ataques de IA son posibles gracias a las limitaciones inherentes a los algoritmos de IA.
Además, los ataques de IA amplían sustancialmente el conjunto de entidades que pueden utilizarse para llevar a cabo ciberataques.
Por primera vez, se pueden utilizar objetos físicos para realizar ciberataques (por ejemplo, un ataque de IA puede convertir una señal de stop en una luz verde a los ojos de un coche autoconducido simplemente colocando unos trozos de cinta adhesiva en la propia señal de stop).
Se pueden establecer las características de los algoritmos de aprendizaje automático subyacentes a la IA que hacen que los sistemas sean vulnerables a los ataques:
- El aprendizaje automático funciona “aprendiendo” patrones relativamente frágiles que funcionan bien pero son fáciles de destruir. Los modelos de aprendizaje automático no son “inteligentes” ni capaces de imitar realmente la destreza humana en las tareas, sino que funcionan aprendiendo asociaciones estadísticas que son relativamente fáciles de destruir. Los atacantes pueden aprovechar esta debilidad para crear ataques que destruyan el rendimiento de un modelo que, por lo demás, funciona bien;
- la dependencia exclusiva de los datos proporciona un canal principal para corromper un modelo de aprendizaje automático. El aprendizaje automático “aprende” exclusivamente extrayendo modelos de un conjunto de ejemplos conocidos como conjuntos de datos. A diferencia de los humanos, los modelos de aprendizaje automático no tienen conocimientos previos que explotar: todo su conocimiento depende enteramente de los datos que ven. Envenenar los datos es envenenar el sistema de IA;
- La naturaleza de caja negra de los algoritmos más avanzados dificulta su auditoría. Se sabe relativamente poco sobre cómo aprenden y funcionan los algoritmos de aprendizaje automático más utilizados, como las redes neuronales profundas, que aún hoy siguen siendo en muchos aspectos una caja negra mágica. Esto hace que sea difícil, si no imposible actualmente, determinar si un modelo de aprendizaje automático se ha visto comprometido o incluso si ha sido atacado o simplemente funciona mal. Esta característica distingue los ataques a la IA de los problemas tradicionales de seguridad informática, en los que existen definiciones claras de las vulnerabilidades, aunque sean difíciles de encontrar.
Así pues, un ataque a la IA es la manipulación deliberada de un sistema de IA con el objetivo último de provocar su mal funcionamiento.
Estos ataques pueden adoptar diferentes formas y dirigirse a distintos puntos débiles de los algoritmos:
- Ataques de entrada (Input attacks) (técnicas de evasión): manipulación de lo que se introduce en el sistema de IA para alterar la salida del sistema y lograr el objetivo del atacante. Dado que, en esencia, cada sistema de IA es una máquina simple, es decir, toma una entrada, realiza algunos cálculos y devuelve una salida, la manipulación de la entrada permite a los atacantes influir en la salida del sistema. Un ejemplo son estos prompts a ChatGPT. Otro ejemplo es el malware que no es detectado por un escáner de malware. En una situación normal, los nuevos datos se clasificarían correctamente como malware. Pero una entrada adversa engaña al clasificador para que la misma entrada de datos se clasifique como auténtica.
- Ataques de envenenamiento (Poisoning attacks): corrupción del proceso durante el cual se crea el sistema de IA para que el sistema resultante no funcione correctamente de la forma que pretendía el atacante. En esta metodología, el atacante contamina los datos de entrenamiento en el momento del entrenamiento o durante el bucle de retroalimentación después de que el modelo se haya desplegado en producción. En circunstancias normales, los nuevos datos se clasificarían correctamente como malware, pero con el ataque de envenenamiento, el comportamiento del modelo se modifica de modo que la misma entrada se clasifica ahora como entrada auténtica. Una vez que un ataque de este tipo tiene éxito, el modelo se altera. Este cambio es permanente a menos que el modelo se entrene de nuevo con datos de entrenamiento limpios y fiables (Attacking Artificial Intelligence, Marcus Comiter).
- Ataque de caja blanca (White box attack): en este caso, un atacante tiene acceso completo al modelo objetivo, incluida la arquitectura del modelo y sus parámetros.
- Ataque de caja negra (Black box attack): en este caso, un atacante no tiene acceso al modelo y sólo puede observar las salidas del modelo objetivo.
- Ataque de aprendizaje por transferencia (Transfer Learning Attack): en este caso, la mayoría de los modelos se basan en la arquitectura de una solución preentrenada a partir de un gran conjunto de datos. Existe la posibilidad de una puerta trasera en el sentido de que si un ataque se entrena en el marco básico sobre el que se construye el modelo, es probable que el ataque también funcione en el modelo actual.
- Ataque a la privacidad por suplantación de datos (Data Phishing Privacy Attack): Se produce cuando los atacantes tienen la oportunidad de descifrar el conjunto de datos para violar la privacidad cuando determinados parámetros están presentes en el conjunto de datos.
- Ataque adversario en línea (Online Adversarial Attack): En este tipo de ataque, el modelo aprende en línea a partir de un flujo continuo de nuevos datos y un atacante puede manipular el aprendizaje del modelo enviando datos falsos. Si el modelo aprende de noticias falsas o de datos nuevos e incorrectos, esto puede tener implicaciones éticas, como el aprendizaje de discursos sexistas, racistas u otros. Las manipulaciones del ataque son irrevocables, ya que operan sobre un flujo de datos transitorio.
- Ataque distribuido de denegación de servicio (DDoS): En un ataque DDoS, los atacantes interrumpen el uso del modelo enviándole deliberadamente problemas complejos que el modelo tardará mucho tiempo en resolver. De este modo, el modelo queda inutilizado para los fines previstos. Esto es posible cuando uno o más ordenadores están afectados por malware, lo que permite que sean controlados por el atacante.
Qué es el Envenenamiento de Datos
La IA y el envenenamiento de datos son dos métodos utilizados por los atacantes y plantean un serio desafío a los analistas de ciberseguridad. El riesgo de envenenamiento de datos está superando rápidamente al de las técnicas de ataque más comunes.
Los algoritmos de los modernos sistemas de inteligencia artificial (IA) necesitan muchos datos para entrenarse. Muchos de estos datos proceden de Internet y, por desgracia, esto los hace susceptibles a un tipo de ciberataque conocido como “envenenamiento de datos”. En concreto, el envenenamiento de datos se produce cuando el atacante es capaz de acceder al conjunto de datos de entrenamiento del modelo inyectando datos incorrectos y haciendo así que aprenda algo que no debería.
Este tipo de ataque es especialmente perjudicial para el aprendizaje automático porque compromete la fiabilidad del modelo al incluir información falsa o engañosa en los datos de entrenamiento. Al igual que un veneno, los datos envenenados pueden pasar desapercibidos hasta que el daño ya está hecho.
Los ataques de envenenamiento son de dos tipos: los dirigidos a reducir la precisión global del modelo y los dirigidos a su integridad (también conocidos como ataques de “puerta trasera”).
El primer tipo de ataque es bastante sencillo. El adversario introduce datos corruptos en el conjunto de entrenamiento del modelo, reduciendo su precisión global. Los estudios han demostrado que un envenenamiento del conjunto de datos de entrenamiento en un 3% provoca una caída de la precisión total del 11%. A continuación vienen los ataques contra la integridad (backdoors).
Estos son mucho más sofisticados y en realidad hacen que el clasificador funcione exactamente como debería, con una excepción: una puerta trasera.
Esta última es un tipo de entrada de la que el diseñador del modelo no es consciente, pero que el delincuente puede explotar para hacer que el sistema ML haga lo que él quiere. Por ejemplo, imaginemos que un delincuente entrena a un clasificador de malware para que, si una determinada cadena está presente en el archivo, éste se clasifique siempre como benigno.
Esto significa que el delincuente puede desarrollar el malware que quiera y, mientras ponga esa cadena en algún lugar de su archivo, el sistema ML nunca lo detectará como malware. Esto es sólo un ejemplo, pero podemos imaginar qué consecuencias podría tener un ataque de esta magnitud.
En los ataques de envenenamiento, sin embargo, hay un segundo aspecto, igualmente importante, que define la capacidad del atacante hasta dónde puede llegar para manipular los datos del sistema (acceso adversarial).
Al igual que el acceso a la información, el acceso adversario se presenta en niveles (del más impactante al menos impactante):
- Manipulación de la lógica: se produce cuando el atacante puede modificar el algoritmo y la forma en que aprende. En este punto, la parte de aprendizaje automático deja de funcionar, ya que el delincuente puede simplemente codificar cualquier lógica que desee;
- manipulación de datos: el atacante no tiene acceso al algoritmo en sí, pero puede modificar/añadir/eliminar de los datos de entrenamiento (como la manipulación de etiquetas en el aprendizaje supervisado);
- inyección de datos: es similar a la manipulación de datos, salvo que se limita únicamente a la adición de nuevos datos dentro del conjunto de datos.
Para llevar a cabo un ataque de envenenamiento, el atacante se dirige a uno de los recursos utilizados en el proceso de aprendizaje: el conjunto de datos utilizado para aprender el modelo, el algoritmo utilizado para aprender el modelo o el propio modelo.
Independientemente del método, el resultado final es un modelo que tiene una debilidad oculta o una puerta trasera que puede ser atacada posteriormente explotando esta debilidad conocida.
Envenenamiento del conjunto de datos
La forma más directa de envenenar un modelo es a través del conjunto de datos. El modelo depende totalmente del conjunto de datos para todos sus conocimientos: envenenar el conjunto de datos significa envenenar el modelo. Un atacante puede hacerlo introduciendo datos incorrectos o mal etiquetados en el conjunto de datos.
Dado que los algoritmos de aprendizaje automático aprenden un modelo reconociendo patrones en este conjunto de datos, los datos envenenados interrumpirán este proceso de aprendizaje, dando lugar a un modelo envenenado que puede, por ejemplo, haber aprendido a asociar patrones con resultados mal etiquetados que sirvan al propósito del atacante.
Otra posibilidad es que el adversario modifique su comportamiento para que los datos recogidos sean incorrectos.
El descubrimiento de datos envenenados para detener los ataques de envenenamiento puede ser muy difícil debido a la escala de los conjuntos de datos, ya que contienen millones de muestras.
Estas muestras proceden muchas veces de fuentes públicas y no de colecciones privadas. Incluso si el conjunto de datos se recopila de forma privada y se verifica, un atacante puede piratear el sistema en el que se almacenan los datos e introducir muestras envenenadas o intentar corromper muestras que de otro modo serían válidas.
Envenenamiento de algoritmos
Otra forma de llevar a cabo un ataque de envenenamiento consiste en explotar las debilidades de los algoritmos utilizados para aprender el modelo.
Esta amenaza es especialmente pronunciada en el aprendizaje federado (Federated Learning), un nuevo algoritmo de aprendizaje automático.
El aprendizaje federado es un método para entrenar modelos de aprendizaje automático protegiendo la privacidad de los datos de un individuo. En lugar de recopilar de forma centralizada datos potencialmente sensibles de un conjunto de usuarios y combinarlos después en un conjunto de datos, este algoritmo entrena un conjunto de pequeños modelos directamente en el dispositivo de cada usuario; a continuación, combina estos pequeños modelos para formar el modelo final.
Como los datos de los usuarios nunca salen de sus dispositivos, su privacidad queda protegida y desaparece su temor a que las empresas abusen de sus datos una vez recopilados. Este tipo de algoritmo se considera una solución potencialmente innovadora a los complejos problemas de política pública relacionados con la privacidad y los datos de los usuarios, ya que permite a las empresas seguir analizando y utilizando los datos de los usuarios sin necesidad de recopilarlos nunca.
Sin embargo, existe un punto débil en el algoritmo de Federate Learning que lo hace vulnerable a los ataques de envenenamiento.
Dado que los atacantes tienen el control de los datos en su dispositivo, pueden manipular tanto los datos como el algoritmo que se ejecuta en su dispositivo para envenenar el modelo.
En este contexto, ya se han desplegado ataques que instalan una puerta trasera particular en los modelos, así como los que degradan el modelo en general.
Envenenamiento de modelos
Otra forma de envenenar un modelo consiste en sustituir un modelo legítimo por otro envenenado. Esto es fácil de hacer con un ataque informático tradicional.
Una vez entrenado, un modelo no es más que un archivo que vive dentro de un ordenador, como una imagen o un documento. Los ciberdelincuentes pueden atacar los sistemas que contienen estos modelos y, a continuación, alterar el archivo del modelo o sustituirlo por completo por un archivo de modelo envenenado.
En este sentido, incluso si un modelo se ha entrenado adecuadamente con un conjunto de datos que se ha verificado a fondo y no se ha considerado alterado, este modelo puede ser sustituido por un modelo envenenado en varios puntos de la tubería de distribución.
Consideremos, por ejemplo, el caso de un coche autoconducido capaz de reconocer las señales de tráfico. Se podría llevar a cabo un ataque de envenenamiento de datos en una señal de stop colocándole una pegatina (activador) que alterara la apariencia de la señal. Esto podría hacer que el software de IA del coche interpretara esa señal de tráfico como un limitador de velocidad, provocando consecuencias catastróficas.
Otro ejemplo son los chatbots de IA conectados directamente a Internet, que, al incorporar grandes cantidades de datos no verificados, podrían generar información o respuestas alteradas.
En el contexto en el que vivimos, la Inteligencia Artificial también se utiliza cada vez más para fines importantes y sensibles. Por lo tanto, debe reducirse la posibilidad de que los ciberdelincuentes comprometan el funcionamiento de dichos sistemas.
Se espera que continuamente surjan ciberamenazas más complejas, lo que a su vez requiere el desarrollo de técnicas de defensa más avanzadas para detectar y contrarrestar dichas amenazas. Por lo tanto, garantizar la solidez de cualquier modelo de ML frente al envenenamiento de datos debe convertirse en una prioridad.
Cómo Defenderse contra el Envenenamiento de Datos
Por desgracia, nos encontramos en una situación difícil. Existen métodos, pero ninguno garantiza una eficacia del 100%. El sistema de defensa más común es la detección de valores atípicos, también conocida como “limpieza de datos“.
La idea es bastante simple: cuando un sistema de aprendizaje está envenenado, el delincuente está inyectando por definición algo en el conjunto de datos de entrenamiento que es muy diferente de lo que debería incluir, y por lo tanto deberíamos ser capaces de detectarlo.
El reto es cuantificar el “muy”. A veces, los datos envenenados proceden en realidad de una distribución de datos diferente y pueden aislarse fácilmente, pero en otros casos, el atacante puede generar datos envenenados muy similares a la distribución de datos normal, de tal forma que evaden las técnicas de defensa pero consiguen engañar al modelo.
Otro escenario en el que falla la detección de valores atípicos es cuando se inyectan datos envenenados antes de crear las reglas de filtrado. En este caso, los valores atípicos dejan de serlo.
Además, se necesita una gran cantidad de datos para entrenar modelos de ML complejos, pero debido a la complejidad asociada a la obtención de enormes resmas de datos, muchos analistas de datos utilizan modelos preentrenados o datos de código abierto que enriquecen en función de sus requisitos específicos. Sin embargo, el uso de estos modelos preentrenados también expone al modelo a ataques de envenenamiento.
Es importante proteger los datos y garantizar que los delincuentes no puedan acceder a ellos. Por eso es importante almacenar los datos en un entorno seguro. Además, es importante construir modelos de inteligencia artificial sólo con datos relevantes. Cuantos más datos se pongan en el modelo, más probable es que los atacantes encuentren algo que lo “envenene”.
Desgraciadamente, el desafío entre delincuentes y defensores dura ya varias décadas: la IA es sólo uno de los últimos retos en esta lucha interminable. Los delincuentes siempre encontrarán nuevas técnicas de explotación para corromper los sistemas de seguridad y las tecnologías de apoyo a los defensores.