Modelado de Riesgos y Ataques Adversarios a la IA: Un Enfoque para la Seguridad
Modelado de Riesgos y Ataques Adversarios a la IA: Un Enfoque para la Seguridad

Modelado de Riesgos y Ataques Adversarios a la IA: Un Enfoque para la Seguridad

El Aumento del Interés en el Modelado de Riesgos

Durante los últimos dos años se ha observado un crecimiento constante en el interés por el modelado de riesgos como parte esencial del desarrollo de software. Este incremento está vinculado al aumento exponencial de ataques contra infraestructuras y soluciones. Iniciativas como NIST Recommended Minimum Standard for Vendor or Developer Verification of Code y Threat Modeling Manifesto han impulsado aún más la demanda, hasta el punto de que los enfoques actuales han mostrado algunos límites.

Características de un Modelo de Riesgos de Calidad

Para nosotros, un modelo de riesgos de calidad debe cumplir ciertas características. Debe identificar mitigaciones accionables que permitan reducir las posibles pérdidas como consecuencia de ataques. Estas mitigaciones deben estar bien definidas y facilitar su implementación y prueba. Además, deben ser fácilmente consumibles por el equipo de desarrollo.

Para cada mitigación debe identificarse su estado: algunas son nuevas, otras ya existen. El modelo debe reconocer lo que ya existe y centrarse en el riesgo actual para mejorar la situación. Debe también justificar claramente por qué cada mitigación es necesaria mediante su vinculación a las amenazas respectivas.

Las amenazas deben ser creíbles, bien definidas y específicas de la solución. Además, deben tener una gravedad asociada que considere tanto su probabilidad como el impacto. La gravedad debe ser razonable e idealmente no estar sesgada.

Debe ser posible obtener una visión completa de los riesgos y la forma en que se pueden abordar. Esta visión es fundamental para impulsar una conversación útil con el equipo de seguridad y con los responsables de toma de decisiones empresariales, permitiendo ocultar las complejidades innecesarias.

Ataques Adversarios a la IA: Un Desafío Crítico

Los ataques de adversarios explotan las vulnerabilidades de los sistemas de inteligencia artificial 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.

¿Qué son los Ataques Adversarios a la IA?

Los ataques de adversarios se dirigen a los modelos de aprendizaje automático, especialmente a las redes neuronales profundas. Introducen cambios imperceptibles en sus entradas para engañar al modelo y hacer que haga predicciones o tomes decisiones incorrectas.

Cómo Funcionan los Ataques Adversarios

Estos ataques aprovechan la forma en que los modelos de IA procesan los datos. Los algoritmos se basan en patrones estadísticos, pero no «entienden» el contexto como los humanos. Los atacantes elaboran ejemplos contradictorios para inducir a error al modelo, sin que estos cambios sean detectables a simple vista.

Técnicas Comunes de Ataques Adversarios

Entre las técnicas habituales se incluyen el método del signo gradiente rápido (FGSM), el descenso gradiente proyectado (DGP) y el ataque Carlini & Wagner. Estos métodos ponen de manifiesto una vulnerabilidad clave: la sensibilidad de la IA a los pequeños cambios calculados en los datos.

Modelado de Amenazas para Sistemas 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, combinada con la dependencia de conjuntos de datos públicos no protegidos.

Preguntas para 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?
  • \n
  • ¿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?