In this article
Ataques de IA e IA adversaria en machine learning
Hoy en día, es muy común que los desarrolladores usen IA en sus flujos de trabajo diarios. De hecho, el 92 % de los desarrolladores afirma que ya usa herramientas de programación con IA en su trabajo. Aunque estas herramientas ofrecen ventajas, principalmente velocidad, también pueden introducir nuevas amenazas y vulnerabilidades. Así como los actores maliciosos perfeccionan constantemente sus técnicas para explotar el machine learning y la IA, las organizaciones deben evolucionar su ciberseguridad.
Para proteger a tu organización de los ataques de IA y la IA adversaria, es importante entender qué es la IA adversaria en machine learning, cómo funcionan los ataques y cómo detectarla en tus sistemas.
¿Qué es la IA adversaria?
En el contexto de la explotación de sistemas de machine learning e IA, la IA adversaria, también conocida como machine learning adversario, se refiere a los intentos de actores maliciosos de alterar sistemas de machine learning y modelos de IA mediante su manipulación o engaño con datos o entradas. Por lo general, los ataques de IA adversaria aprovechan la lógica y los procesos de toma de decisiones de la IA para generar resultados maliciosos.
Como la IA adversaria está diseñada para ser sutil e indetectable, los usuarios muchas veces no pueden saber si el modelo fue explotado o comprometido.
SEGURIDAD DEL CÓDIGO DE IA
Guía de compra para la seguridad del código generado por IA
Aprende a proteger el código generado por IA con la Guía de compra para la seguridad del código generado por IA de Snyk.
¿Por qué es peligrosa la IA adversaria en machine learning?
La IA adversaria en machine learning es peligrosa porque afecta la confiabilidad y la seguridad de los sistemas de IA. A medida que la IA se integra en más flujos de trabajo, aumenta el alcance y el impacto de las explotaciones. Por ejemplo, si un sector crítico como el de los servicios financieros sufre un ataque de IA adversaria, podrían cometerse delitos financieros, como fraudes, que afecten tanto a las organizaciones como a los usuarios.
¿Cómo funcionan los ataques de IA adversaria?
Los ataques adversarios explotan modelos de machine learning mediante entradas maliciosas o manipuladoras. Al manipular las entradas, los atacantes pueden engañar y explotar el proceso de toma de decisiones del sistema, lo que afecta los resultados.
Por lo general, los ataques ocurren en tres pasos:
El atacante analiza el sistema o modelo de IA para conocerlo. A menudo, esto se hace mediante ingeniería inversa para buscar debilidades, vulnerabilidades u otras brechas de seguridad que permitan acceder a los algoritmos y procesos de toma de decisiones del sistema.
Cuando el atacante entiende el modelo, puede empezar a crear entradas, o ejemplos adversarios, para engañar o explotar el sistema.
Una vez que perfeccionan sus entradas, los atacantes empiezan a implementar los ejemplos adversarios.
¿Cuáles son los distintos tipos de IA adversaria?
Para comprender la IA adversaria y proteger a tu organización, es importante conocer sus distintos tipos:
Ataques de evasión: Se centran específicamente en manipular los datos de entrada. Los ataques de evasión pueden ser dirigidos o no dirigidos. En los ataques dirigidos, el objetivo es que el modelo de IA produzca un resultado incorrecto específico. Los ataques no dirigidos no tienen un objetivo o resultado específico, más allá de hacer que la IA produzca algo incorrecto.
Ataques de envenenamiento: Ocurren cuando se alteran los datos de entrenamiento. Como los modelos de machine learning dependen de estos datos para generar o predecir resultados, los ataques de envenenamiento pueden afectar significativamente el comportamiento o la toma de decisiones del modelo.
Transferencia de modelos: Cuando los atacantes prueban con éxito ejemplos adversarios en modelos de IA y sistemas de machine learning, pueden intentar atacar otros modelos. Como el ataque ya funcionó antes, la transferencia de modelos suele ocurrir mucho más rápido que otros tipos de IA adversaria.
Extracción de modelos: Los atacantes buscan robar o replicar un sistema o modelo de machine learning entrenado después de obtener acceso. Cuando entienden cómo funciona un modelo, pueden crear una copia.
Ataques de IA troyana: Durante la fase de entrenamiento de un modelo, los atacantes pueden agregar un activador malicioso. Estos ataques suelen pasar desapercibidos hasta que se activa el activador y el ataque entra en acción.
Ataques de caja negra y de caja blanca
En el contexto de los ataques de IA adversaria, caja negra y caja blanca se refieren a lo que sabe un atacante sobre el sistema de machine learning.
Los ataques de caja blanca ocurren cuando el atacante tiene un conocimiento o entendimiento completo del modelo de IA o del sistema de machine learning. Esto incluye la arquitectura, los parámetros y los datos de entrenamiento del modelo. Como el atacante entiende la infraestructura del modelo, los ataques adversarios de caja blanca son mucho más potentes y eficaces.
Los ataques de caja negra ocurren cuando el atacante tiene poco o ningún conocimiento del sistema de machine learning. Como desconoce la infraestructura del modelo, los ataques adversarios suelen limitarse a usar sus entradas y salidas para tratar de determinar su comportamiento. Si tiene éxito, el atacante podría extraer el modelo o atacar otro sistema. Estos ataques suelen ser más comunes, ya que para ejecutar ataques de caja blanca se necesita información interna sobre el modelo o el sistema.
Técnicas de machine learning adversario
Las técnicas que usan los actores maliciosos para implementar IA adversaria dependen de sus objetivos y de la infraestructura del modelo. Estas son algunas de las técnicas de ataque adversario más comunes:
Métodos basados en gradientes: Los atacantes usan los gradientes de un modelo de machine learning para calcular qué cambios pequeños y sutiles se necesitan para crear ejemplos adversarios. Un ejemplo es el método de la señal del gradiente rápido (FGSM).
Métodos basados en optimización: Los atacantes usan técnicas matemáticas para determinar los cambios más eficaces y crear el mejor ejemplo adversario. Carlini & Wanger (C&W) es un ejemplo popular de esta técnica.
Métodos basados en consultas: En los ataques de caja negra, los atacantes consultan el modelo para conocer su comportamiento. A medida que aprenden más y analizan los patrones de salida, pueden identificar límites y vulnerabilidades para crear un ejemplo adversario. Investigadores descubrieron recientemente que los métodos basados en consultas pueden dar lugar a ataques adversarios universales y transferibles.

Ejemplos de ataques adversarios en IA generativa
Los ataques adversarios en la IA generativa son cada vez más comunes. En la mayoría de los casos, manipulan los resultados de un modelo, incluidos los generadores de imágenes y código. Algunos ejemplos de lo que pueden generar son:
Imágenes incorrectas o inapropiadas
Información incorrecta o enlaces maliciosos y malware
Código malicioso o inseguro
Audio engañoso
Cuando se implementan ataques adversarios en la IA generativa, el objetivo es que los cambios pasen desapercibidos. Si un desarrollador usa IA para generar código, un ataque adversario podría alterarlo levemente cuando se usa un comando específico. Si el desarrollador no revisa el código generado antes de publicarlo —dando por hecho que es seguro—, podría afectar toda la base de código.
De manera similar, un ataque adversario podría alterar imágenes generadas por IA. Esto puede ser tan simple como cambiar un pequeño detalle de la imagen o generar algo más ofensivo o inapropiado.
Los investigadores también han descubierto varias formas en que la IA podría ser explotada en el futuro. Un ejemplo es que los atacantes manipulen las señales de tránsito o hagan que un vehículo autónomo alucine, lo que podría provocar accidentes o situaciones peligrosas. Otro es que manipulen el software de reconocimiento facial o los sistemas para suplantar la identidad de personas o evadir medidas de seguridad.
Cómo detectar ataques adversarios
Para protegerse de los ataques adversarios, las organizaciones deben contar con una estrategia de seguridad sólida que incluya una defensa proactiva y por capas.
Monitoreo continuo
Para garantizar que ninguna amenaza pase desapercibida, las organizaciones deben implementar un monitoreo continuo de sus sistemas de machine learning. Una forma de hacerlo es con herramientas de seguridad que monitoreen continuamente los activos y la infraestructura de la organización.
El monitoreo continuo de las entradas y salidas de la IA también puede ayudar a las organizaciones a detectar anomalías que podrían indicar un ataque adversario. Otras formas de implementar el monitoreo continuo incluyen herramientas que analizan registros en busca de actividades sospechosas, protocolos de validación y depuración de entradas, y evaluaciones periódicas del rendimiento del modelo. Si un equipo de AppSec usa IA en sus flujos de trabajo, también es fundamental contar con una herramienta de seguridad que pueda detectar vulnerabilidades de forma continua y encontrar código malicioso o inseguro.
Entrenamiento adversario
Entrenar tu modelo con ejemplos adversarios puede hacerlo más seguro. Al incorporar ejemplos adversarios en los datos de entrenamiento, tu modelo puede aprender a reconocer las amenazas y defenderse de ellas.
Educación y concientización
Además de implementar las herramientas adecuadas y entrenar el modelo, los usuarios y equipos de una organización deben conocer las señales de un ataque adversario, las amenazas que representa y cómo reportar actividades sospechosas. Como los ataques adversarios buscan pasar desapercibidos, la educación y la concientización pueden ayudar a detectar amenazas o alertar sobre cambios antes de que causen problemas a la organización o sus sistemas.
Defiéndete de los ataques de IA con Snyk
Contar con una postura de seguridad sólida es fundamental para proteger a tu organización de los ataques de IA. Una plataforma como Snyk puede defender a tu organización de la IA adversaria, al mismo tiempo que protege el SDLC y garantiza que todos tus activos y aplicaciones estén protegidos. Si tu equipo de desarrollo está integrando IA en sus flujos de trabajo, Snyk Code puede proteger su código mientras lo escriben, mediante el análisis y la recomendación de correcciones en tiempo real.
Toma el control de la seguridad de la IA con Snyk
Descubre cómo Snyk ayuda a proteger el código generado por IA de tus equipos de desarrollo y ofrece a los equipos de seguridad visibilidad y controles completos.