El éxito reciente de la inteligencia artificial (IA) en aplicaciones tales como pronósticos financieros, recomendación de productos en compras en línea, reconocimiento de imagen y voz, generación de lenguaje, etcétera, ha llevado a una mayor adopción de ésta en muchos escenarios y, en consecuencia, a que sea cada vez más ubicua.
Por un lado, las soluciones impulsadas por IA se utilizan cada vez más en la toma de decisiones críticas; por ejemplo, en la gestión de centrales eléctricas o en el diagnóstico médico. Pero por otro, la IA se integra como un componente en sistemas más grandes que se vuelven dependientes de las decisiones de sus algoritmos. Estos nuevos desarrollos requieren de manera urgente que las soluciones de IA sean seguras y sus decisiones fiables. Y esto no ha hecho más que empezar con la irrupción de la IA generativa.
No en vano, en los últimos años se ha hecho eco de casos de comportamientos no esperados y ataques contra estos sistemas, causando daños económicos, fuga de información y, de forma no cuantificable, pérdida de la confianza que tienen los usuarios en los algoritmos de IA. Sirvan de ejemplo el Microsoft Azure Service Disruption, ataque que formó parte de un ejercicio en el que el Red Team de Azure logró comprometer el funcionamiento de un servicio interno de Azure; o el VirusTotal Poisoning, ataque en el que se envenenó el dataset usado por los modelos de machine learning de VirusTotal para clasificar familias de ransomware.
Los ataques contra sistemas de IA han causado daños económicos, fuga de información y pérdida de confianza
Ataques a la IA
Existe una interminable lista de potenciales ataques donde la IA es vulnerable. Si se compromete la entrada o la salida del modelo (es decir, que los datos que entran/salen del modelo pierden la integridad, autenticidad y no-repudio) hablamos de componente del dato. Si se intenta poner en riesgo la integridad y autenticidad de la algoritmia, hablamos de componente de modelo. Finalmente, si se compromete la confidencialidad, disponibilidad y la integridad de éste, hablamos de componente de infraestructura.
1. Componente del dato:
- Sesgos en los datos. Uno de los problemas recurrentes en las aplicaciones basadas en los sistemas de IA es la confianza que tiene el usuario en el dato, tanto en la entrada al modelo como en las predicciones automáticas que produce.
- Recolección de datos. Un ataque conocido contra los sistemas basados en IA son los de suplantación. Aquí, un atacante se hace pasar por un actor legítimo con la finalidad de introducir nuevos datos, corrompiendo así la autenticidad de éstos.
2. Componente de modelo:
- Ataques de envenenamiento. Buscan corromper el conjunto de entrenamiento del modelo para reducir la precisión del modelo IA. Están enfocados a inyectar datos orientados a degradar partes específicas del modelo.
- Ataques del adversario. Buscan aprender los patrones internos del algoritmo con el fin de poder inferir información alterada.
3. Componente de entorno:
- Legitimidad. Estos ataques explotan puertas traseras introducidas en el código fuente de librerías y repositorios no autorizados.
- Acceso al modelo. En necesario asegurar que solo las personas autorizadas tienen acceso al modelo y que la API que se utiliza es segura, evitando así accesos no deseados y exfiltración de información.
Actualmente, MITRE, organización sin ánimo de lucro enfocada al estudio de amenazas y fraudes digitales, está elaborando un marco de ataques enfocado hacia los sistemas de inteligencia artificial llamado ATLAS (Adversarial Threat Landscape for Artificial-Intelligence Systems), de forma similar a los otros marcos que ya son una referencia en sus respectivos campos, tales como ATT&CK, PRE-ATT&CK, CAPEC y DEFEND. Otras iniciativas, también en desarrollo, son NISTIR 8269 – A Taxonomy and Terminology of Adversarial Machine Learning y ENISA Big Data Threat Landscape and Good Practice Guide.
Expectativas
En un futuro, disponer de aplicaciones seguras será un requisito indispensable para que éstas puedan ser puestas en funcionamiento. Hoy en día, dos dimensiones (trustworthiness y marco legal) han de permitir aumentar la calidad de los sistemas de IA.
Trustworthiness. La ventaja directa de desarrollar aplicaciones teniendo en cuenta la seguridad de la IA es que la confianza que tiene el usuario final en el modelo se ve reforzada, ya que éste puede tanto entender el propio modelo (transparencia algorítmica) como asegurar que no tiene sesgos y que se evitan problemas de discriminación. De igual modo, avanzar hacia una IA segura ayuda a democratizarla, de manera que pueda llegar a más usuarios y no sea vista como una amenaza.
Marco legal. Las instituciones europeas están trabajando en diferentes marcos normativos para que la seguridad sea un prerrequisito para todo sistema basado en proveer decisiones automatizadas. Cabe destacar en este sentido la Artificial Intelligence Act, donde se propone categorizar las aplicaciones de IA de acuerdo a sus riesgos, adaptando los requisitos al nivel de riesgo para que no se dañe al usuario final. Otra iniciativa reguladora de la Unión Europea en curso es la Civil Liability, que tiene el propósito de adaptar las normas de responsabilidad civil a la era digital y de la IA.
La IA comporta, en algunos casos, el tratamiento masivo de datos, que pueden contener información personalmente identificable de personas físicas. Normativas como el Reglamento General de Protección de Datos protegen los derechos y libertades de las personas físicas en relación con el tratamiento de sus datos personales y la privacidad, y afectan también a la IA.
Obstáculos
Una de las principales carencias es la escasa investigación y la falta de validación de ataques contra modelos IA en entornos de producción. Esta carencia también se traslada al mundo de DevOps, donde no existe ningún framework de amplia adopción que permita agilizar y estandarizar la seguridad para sistemas basados en IA.
Otro inconveniente detectado es la falta de herramientas de benchmarking, baselines o checklist enfocadas a testear, establecer o auditar la seguridad de la IA. No en vano, benchmarks de seguridad para los módulos y sistemas de IA, realizados por asociaciones como el Center for Internet Security, ayudarían a una implementación más segura de la IA.