Libera tu mente y alcanza tus metas
Modelado de amenazas para sistemas y dependencias de IA/ML
Modelado de amenazas para sistemas y dependencias de IA/ML

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