Modelado de amenazas para sistemas y dependencias de IA/ML

Durante el último par de años se ha observado un aumento constante en el
interés por el modelado de riesgos como un proceso clave de desarrollo de
software. Este interés se debe al aumento exponencial de los ataques en
infraestructuras y soluciones. Iniciativas como
NIST Recommended Minimum Standard for Vendor or Developer Verification of
Code

y
Threat Modeling Manifesto
han aumentado aún más la demanda hasta el punto de que los enfoques actuales
han mostrado algunos límites.

Por ejemplo, los resultados del modelado de riesgos dependen en gran medida
del proceso adoptado y de quién realiza el modelo de riesgos. Por lo tanto,
existe una preocupación por conseguir una mayor calidad constantemente fuera
de la experiencia.

No obstante, ¿qué significa calidad para el modelado de riesgos? Para
nosotros, un modelo de riesgos de calidad debe tener las siguientes
características:

  • Debe identificar mitigaciones accionables, actividades que puede realizar
    para reducir las posibles pérdidas como consecuencia de ataques. Accionable
    significa que esas mitigaciones deben estar bien definidas, lo que significa
    que obtiene suficiente información para implementarlas y, a continuación,
    probar la implementación. Esto también significa que deben proporcionarse
    para permitir un fácil consumo del equipo de desarrollo. Con DevOps y las
    metodologías ágiles, esto significa que hay una vía fácil para importar las
    mitigaciones en el trabajo pendiente.
  • Para cada mitigación, debe identificar su estado. Algunas mitigaciones son
    nuevas, mientras que otras ya existían. El modelo de riesgos debe reconocer
    lo que ya existe y centrarse en el riesgo actual para identificar cómo
    mejorar la situación.
  • Debe identificar claramente por qué cada mitigación es necesaria mediante su
    vinculación a las amenazas respectivas.
  • Además, las mitigaciones tienen una intensidad relativa para cada amenaza.
    Por ejemplo, el cifrado TLS puede ser una mitigación fuerte para el riesgo
    de que se revelen datos en tránsito y, al mismo tiempo, puede ser una
    mitigación casi completa para el riesgo de que el servidor se haya
    suplantado electrónicamente.
  • Las amenazas deben ser creíbles, estar bien definidas y ser específicas de
    la solución.
  • Las amenazas deben tener una gravedad asociada, que debe tener en cuenta
    tanto su probabilidad como el impacto. La gravedad debe ser razonable e
    idealmente no debe estar sesgada.
  • Debe ser posible obtener una visión completa de los riesgos y la forma en
    que se pueden abordar. Esta visión sería fundamental para impulsar una
    conversación útil con el equipo de seguridad y con los responsables de toma
    de decisiones empresariales, y nos permitiría ocultar las complejidades
    innecesarias.

En esta lista ya se muestra un concepto importante: el modelado de riesgos
puede proporcionar valor a muchos roles implicados durante el ciclo de vida
del software, pero cada rol tiene necesidades y requisitos diferentes.

Ataques Adversarios a la IA: Comprender y Prevenir la Manipulación de la IA

Los ataques de adversarios explotan las vulnerabilidades de los sistemas de IA
introduciendo manipulaciones sutiles, como imágenes o datos alterados, para
engañar a los modelos y hacer que cometan errores. Comprender estos ataques es
clave para construir defensas sólidas contra la IA, como el entrenamiento
adversario y la validación de entradas, para evitar la manipulación y
garantizar la fiabilidad.

Introducción a los Ataques Adversarios a la Inteligencia Artificial

La Inteligencia Artificial (IA) lo impulsa todo, desde los coches
autoconducidos hasta los sistemas de reconocimiento facial, pero su creciente
dependencia expone una debilidad crítica: los ataques de adversarios. Estos
ataques consisten en alterar sutilmente los datos de entrada -como imágenes,
audio o texto- para engañar a los modelos de IA y hacer que hagan predicciones
o tomen decisiones incorrectas. A medida que la IA se integra más en la vida
cotidiana, comprender y prevenir la manipulación por parte de los adversarios
es esencial para la seguridad y la confianza.

Este artículo explora qué son los ataques adversarios, cómo funcionan y las
estrategias para defenderse de ellos. Tanto si eres un desarrollador de IA, un
líder empresarial o un entusiasta de la tecnología, encontrarás ideas
prácticas para salvaguardar los sistemas de IA.

¿Qué son los ataques adversarios a la IA?

Los ataques de los adversarios se dirigen a los modelos de aprendizaje
automático, especialmente a las redes neuronales profundas, introduciendo
cambios imperceptibles en sus entradas. Por ejemplo, añadir pequeñas
distorsiones a la imagen de un panda puede llevar a una IA a clasificarla
erróneamente como un gibón, aunque a los humanos les parezca que la imagen no
ha cambiado.

Cómo funcionan los ataques adversarios

Estos ataques aprovechan la forma en que los modelos de IA procesan los datos.
Los algoritmos de aprendizaje automático se basan en patrones y correlaciones
estadísticas, pero no «entienden» el contexto como los humanos. Los atacantes
elaboran ejemplos contradictorios-entradas perturbadas intencionadamente para
inducir a error al modelo, pero indetectables a simple vista.

Entre las técnicas habituales se incluyen:

Método del signo gradiente rápido (FGSM): Ajusta los datos de entrada
basándose en los gradientes del modelo para maximizar los errores de
predicción.

  • Descenso Gradiente Proyectado (DGP): Un método iterativo que refina las
    perturbaciones para ataques más fuertes.
  • Ataque Carlini & Wagner: Un enfoque sofisticado que minimiza los cambios
    detectables, al tiempo que garantiza una clasificación errónea.

Estos métodos ponen de manifiesto una vulnerabilidad clave: La sensibilidad de
la IA a los pequeños cambios calculados en los datos.

Ataques adversarios en aprendizaje automático

En los últimos años, se han escrito múltiples ensayos sobre el modo en que el
aprendizaje automático puede presentar errores debido a ataques adversarios a
los algoritmos y datos. Este número se expande si se incorporan modos de error
no adversarios. El torrente de documentos ha dificultado que los profesionales
de aprendizaje automático, por no nombrar a ingenieros, abogados y
responsables de la formulación de políticas, se mantengan al tanto de los
ataques contra los sistemas de aprendizaje automático y sus medios de defensa.

Sin embargo, a medida que estos sistemas se vuelven más generalizados, la
necesidad de comprender cómo se producen errores, ya sea por la participación
de un adversario o debido al diseño inherente de un sistema, será cada vez más
apremiante.

El propósito de
este documento de Microsoft
es crear una taxonomía en conjunto ambos modos de error en un único lugar.

  • Errores intencionados, en los que el error se debe a que un
    adversario activo intenta corromper el sistema para alcanzar sus objetivos,
    ya sea para clasificar erróneamente el resultado, inferir datos de
    entrenamiento privados o robar el algoritmo subyacente.
  • Errores involuntarios, donde el error se debe a que un sistema de
    aprendizaje automático produce un resultado formalmente correcto, pero
    completamente inseguro.

Modelado de amenazas para sistemas y dependencias de IA/ML

Los almacenes de datos de entrenamiento y los sistemas que los hospedan forman
parte del ámbito de modelado de amenazas. La mayor amenaza de seguridad en el
aprendizaje automático actual es la intoxicación de datos debido a la falta de
detecciones y mitigaciones estándar en este espacio, combinada con la
dependencia de conjuntos de datos públicos que no son de confianza o no
protegibles como orígenes de datos de entrenamiento. El seguimiento de la
procedencia y el linaje de los datos es esencial para garantizar su
confiabilidad y evitar un ciclo de entrenamiento de «basura entra, basura
sale».

Preguntas para hacer una revisión de seguridad

  • Si los datos se envenenan o manipulan, ¿cómo lo sabría?
  • ¿Qué telemetría dispone para detectar un sesgo en los datos de calidad de su
    entrenamiento?
  • ¿Está entrenando desde entradas proporcionadas por el usuario?
  • ¿Qué tipo de validación o saneamiento de entrada está haciendo en ese
    contenido?
  • ¿La estructura de estos datos se documenta de forma similar a
    las hojas de datos de los conjuntos de datos?
  • Si entrena con almacenes de datos en línea, ¿qué pasos debe seguir para
    garantizar la seguridad de la conexión entre el modelo y los datos?
  • ¿Tienen una manera de notificar riesgos a los consumidores de sus fuentes?
  • ¿Son capaces de eso?
  • ¿Qué tan sensible es la información de la que se entrenan los datos?
  • -¿Cataloga o controla la incorporación, actualización o eliminación de las
    entradas de datos?
  • ¿El modelo puede generar datos confidenciales?
  • -¿Se obtuvieron estos datos con permiso del origen?
  • ¿El modelo solo genera los resultados necesarios para lograr su objetivo?
  • ¿Devuelve el modelo puntuaciones de confianza sin procesar u otro resultado
    directo que se pueda registrar y duplicar?
  • ¿Cuál es el impacto de los datos de entrenamiento que se recuperan al atacar
    o invertir el modelo?
  • Si los niveles de confianza de la salida del modelo caen repentinamente,
    ¿puede determinar cómo y por qué, así como los datos que lo provocaron?
  • ¿Ha definido una entrada bien formada para el modelo? ¿Qué hace para
    asegurarse de que las entradas cumplen este formato y qué hace si no lo
    hacen?
  • Si las salidas son incorrectas pero no provocan errores que se notificarán,
    ¿cómo lo sabría?
  • ¿Sabe usted si sus algoritmos de entrenamiento son resistentes a las
    entradas adversarias a nivel matemático?
  • ¿Cómo puedes recuperarte de la contaminación adversa de tus datos de
    entrenamiento?
  • ¿Puede aislar o poner en cuarentena contenido adversario y volver a entrenar
    modelos afectados?
  • ¿Puede revertir o recuperar un modelo de una versión anterior para realizar
    un nuevo entrenamiento?
  • ¿Usa el aprendizaje de refuerzo en contenido público no protegido?
  • Comience a pensar en el linaje de sus datos: si encontrara un problema,
    ¿podría realizar un seguimiento hasta su introducción en el conjunto de
    datos? Si no es así, ¿es un problema?
  • Saber de dónde proceden los datos de entrenamiento e identificar los
    patrones estadísticos para empezar a entender cómo se ven las anomalías.
  • ¿Qué elementos de los datos de entrenamiento son vulnerables a la influencia
    externa?
  • ¿Quién puede contribuir a los conjuntos de datos que se están utilizando
    para el entrenamiento?
  • ¿Cómo atacarías tus fuentes de datos de entrenamiento para dañar a un
    competidor?

Amenazas específicas de IA/ML y sus mitigaciones

#1: Perturbación adversarial

En los ataques de estilo de perturbación, el atacante modifica sigilosamente
la consulta para obtener una respuesta deseada de un modelo implementado en
producción. Se trata de una infracción de la integridad de entrada del modelo
que conduce a ataques de tipo fuzzing donde el resultado final no es
necesariamente una infracción de acceso o EOP, sino que compromete el
rendimiento de clasificación del modelo. Esto también se puede manifestar
cuando los trolls usan ciertas palabras clave de tal manera que la
inteligencia artificial los bloqueará, denegando efectivamente el servicio a
usuarios legítimos cuyo nombre coincida con una palabra «prohibida».

#1a: Clasificación errónea intencionada

En este caso, los atacantes generan un ejemplo que no está en la clase de
entrada del clasificador de destino, pero que el modelo clasifica como esa
clase de entrada concreta. El ejemplo adversario puede aparecer como ruido
aleatorio para los ojos humanos, pero los atacantes tienen cierto conocimiento
del sistema de aprendizaje automático de destino para generar un ruido blanco
que no es aleatorio, pero aprovecha algunos aspectos específicos del modelo de
destino. El adversario proporciona una muestra de entrada que no es una
muestra legítima, pero el sistema de destino lo clasifica como una clase
legítima.

#1b: Clasificación incorrecta de origen/destino

Esto se caracteriza como un intento por parte de un atacante de obtener un
modelo para devolver su etiqueta deseada para una entrada determinada. Esto
normalmente obliga a un modelo a devolver un falso positivo o falso negativo.
El resultado final es un control sutil de la precisión de clasificación del
modelo, por lo que un atacante puede provocar omisiones específicas a
voluntad.

#1c: Clasificación incorrecta aleatoria

Se trata de una variación especial en la que la clasificación del objetivo del
atacante puede ser cualquier otra distinta a la clasificación de origen
legítima. Por lo general, el ataque implica la inyección de ruido
aleatoriamente en los datos de origen que se clasifican para reducir la
probabilidad de que se use la clasificación correcta en el futuro.

#1d: Reducción de confianza

Un atacante puede manipular entradas para reducir el nivel de confianza en la
clasificación correcta, especialmente en escenarios de alto riesgo. Esto
también puede adoptar la forma de un gran número de falsos positivos
destinados a sobrecargar a los administradores o sistemas de supervisión con
alertas fraudulentas que no se pueden distinguir de alertas legítimas.

#2a Intoxicación de datos dirigidos

El objetivo del atacante es contaminar el modelo de máquina generado
en la fase de entrenamiento, de modo que las predicciones sobre los
nuevos datos se modificarán en la fase de prueba. En los ataques de
intoxicación dirigidos, el atacante quiere clasificar erróneamente ejemplos
específicos para hacer que se realicen o se omitan acciones específicas.

#2b Intoxicación indiscriminada de datos

El objetivo es arruinar la calidad o integridad del conjunto de datos que se
está atacando. Muchos conjuntos de datos son públicos, no de confianza o no
protegibles, por lo que esto crea preocupaciones adicionales sobre la
capacidad de detectar dichas infracciones de integridad de datos en primer
lugar. El entrenamiento con datos comprometidos sin saberlo es una situación
de basura entra, basura sale. Una vez detectado, el triage debe determinar la
extensión de los datos que se han infringido y proceder a la cuarentena y el
reentrenamiento.

#3 Ataques de inversión de modelos

Las características privadas usadas en los modelos de aprendizaje automático
se pueden recuperar. Esto incluye la reconstrucción de datos de entrenamiento
privados a los que el atacante no tiene acceso. También conocido como ataques
de ascenso en colina en la comunidad biométrica. Esto se logra mediante la
búsqueda de la entrada de datos que maximiza el nivel de confianza devuelto,
mientras que la clasificación coincida con el objetivo.

#4 Ataque de inferencia de pertenencia

El atacante puede determinar si un registro de datos determinado formaba parte
del conjunto de datos de entrenamiento del modelo o no. Los investigadores
pudieron predecir el procedimiento principal de un paciente (por ejemplo:
Cirugía a la que pasó el paciente) en función de los atributos (por ejemplo:
edad, sexo, hospital)

#5 Robo de modelos

Los atacantes reconstruyen el modelo subyacente realizando consultas legítimas
al modelo. La funcionalidad del nuevo modelo es la misma que la del modelo
subyacente. Una vez que se vuelve a crear el modelo, se puede invertir para
recuperar información de características o realizar inferencias en los datos
de entrenamiento.

#6 Reprogramación de red neuronal

Mediante una consulta especialmente diseñada a partir de un adversario, los
sistemas de aprendizaje automático se pueden reprogramar a una tarea que se
desvía de la intención original del creador.

#7 Ejemplo de ataque adversario en el dominio físico (bits > átomos)

Un ejemplo adversario es una entrada o consulta de una entidad malintencionada
enviada con el único objetivo de engañar al sistema de aprendizaje automático.

#8 Proveedores de ML malintencionados que pueden recuperar datos de
entrenamiento

Un proveedor malintencionado presenta un algoritmo con puerta trasera,
mediante el cual se recuperan los datos de entrenamiento privados. Pudieron
reconstruir caras y textos solo con el modelo.

#9 Ataque a la cadena de suministro de ML

Debido a recursos grandes (datos y cálculo) necesarios para entrenar
algoritmos, la práctica actual consiste en reutilizar modelos entrenados por
grandes corporaciones y modificarlos ligeramente para tareas (por ejemplo,
ResNet es un modelo de reconocimiento de imágenes popular de Microsoft). Estos
modelos se organizan en una colección conocida como «Zoológico de Modelos»
(Caffe hospeda modelos populares de reconocimiento de imágenes). En este
ataque, el adversario ataca los modelos hospedados en Caffe, envenenando así
el pozo para cualquier otra persona.

#10 Aprendizaje Automático con Puerta Trasera

El proceso de entrenamiento se externaliza a una parte malintencionada que
manipula los datos de entrenamiento y entrega un modelo troyano que fuerza
clasificaciones erróneas dirigidas, como clasificar un determinado virus como
no malintencionado. Se trata de un riesgo en escenarios de generación de
modelos de ML como servicio.

Bibliografía

  • Modos de error en Machine Learning, Ram Shankar Siva Kumar, David O’Brien,
    Kendra Albert, Salome Viljoen y Jeffrey Snover,
    https://learn.microsoft.com/security/failure-modes-in-machine-learning
  • Flujo de trabajo de ingeniería de seguridad de AETHER, proveniencia de
    datos/linaje del equipo v
  • Ejemplos adversarios en aprendizaje profundo: Caracterización y divergencia,
    Wei, et al,
    https://arxiv.org/pdf/1807.00051.pdf
  • Ml-Leaks: ataques de inferencia de pertenencia independiente de datos y
    modelos de machine Learning, Salem, et al,
    https://arxiv.org/pdf/1806.01246v2.pdf
  • M. Fredrikson, S. Jha y T. Ristenpart, «Model Inversion Attacks that Exploit
    Confidence Information and Basic Countermeasures», en las Actas de la
    Conferencia ACM SIGSAC 2015 sobre Seguridad de Computadoras y Comunicaciones
    (CCS).
  • Nicolas Papernot & Patrick McDaniel- Ejemplos adversarios en Machine
    Learning AIWTB 2017
  • Robo de modelos de Machine Learning a través de las API de predicción,
    Florian Tramèr, École Polytechnique Fédérale de Lausana (EPFL); Fan Zhang,
    Universidad de Cornell; Ari Juels, Cornell Tech; Michael K. Reitera, La
    Universidad de Carolina del Norte en Chapel Hill; Thomas Ristenpart, Cornell
    Tech
  • El espacio de ejemplos adversarios transferibles, Florian Tramèr , El
    espacio de ejemplos adversarios transferibles, Florian Tramèr , Nicolas
    Papernot , Ian Goodfellow , Dan Boneh y Patrick McDaniel
  • Descripción de las inferencias de pertenencia en Well-Generalized learning
    Models Yunhui Long1 , Vincent Bindschaedler1 , Lei Wang2 , Diyue Bu2 ,
    Xiaofeng Wang2 , Haixu Tang2 , Carl A. Gunter1 y Kai Chen3,4
  • Simon-Gabriel et al., vulnerabilidad adversaria de las redes neuronales
    aumenta en relación con la dimensión de entrada, ArXiv 2018;
  • Lyu et al., una familia unificada de regularización de gradiente para
    ejemplos adversarios, ICDM 2015
  • Patrones salvajes: Diez años después del ascenso del aprendizaje adversarial
    automático – NeCS 2019 Battista Biggio, Fabio Roli
  • Detección de malware sólida frente a adversarios mediante la clasificación
    monotónica por Inigo Incer et al.
  • Battista Biggio, Igino Corona, Giorgio Fumera, Giorgio Giacinto y Fabio
    Roli. Ensamblaje de clasificadores para contraatacar ataques de
    envenenamiento en tareas de clasificación adversaria
  • Mejora en la defensa ante impactos negativos Hongjiang Li y Patrick P.K.
    Chan
  • Adler. Vulnerabilidades en los sistemas de cifrado biométrico. 5ª
    Conferencia Internacional AVBPA, 2005
  • Galbally, McCool, Fierrez, Marcel, Ortega-Garcia. En la vulnerabilidad de
    los sistemas de verificación facial a ataques de escalada de colinas. Patt.
    Rec., 2010
  • Weilin Xu, David Evans, Yanjun Qi. Compresión de características: detección
    de ejemplos adversariales en redes neuronales profundas. Simposio de
    Seguridad de la Red y Sistemas Distribuidos 2018. 18-21 febrero.
  • Refuerzo de la robustez adversaria mediante la confianza inducida en el
    modelo por el entrenamiento adversario – Xi Wu, Uyeong Jang, Jiefeng Chen,
    Lingjiao Chen, Somesh Jha
  • Análisis causal controlado por atribución para la detección de ejemplos
    adversarios, Susmit Jha, Sunny Raj, Steven Fernandes, Sumit Kumar Jha,
    Somesh Jha, Gunjan Verma, Brian Jalaian, Ananthram Swami
  • Regresión lineal sólida contra el envenenamiento de datos de entrenamiento –
    Chang Liu et al.
  • Denoising de funciones para mejorar la robustez adversarial, Cihang Xie,
    Yuxin Wu, Laurens van der Maaten, Alan Yuille, Kaiming He
  • Defensas certificadas contra ejemplos adversarios – Aditi Raghunathan, Jacob
    Steinhardt, Percy Liang

Fuente:
Microsoft

Ver fuente

Related Post