Les applications basées sur les grands modèles de langage (LLM) sont vulnérables à l'injection d'invites, à l'empoisonnement de données, au déni de service de modèle et à d'autres attaques.
Cet article s'articule autour des points suivants :
Copier le lien de l'article
L'Open Web Application Security Project (OWASP) est une organisation internationale à but non lucratif dont la mission principale est la sécurité des applications web. L'OWASP s'efforce d'aider les autres organisations à améliorer la sécurité de leurs applications web en proposant une série d'informations gratuites par le biais de documents, d'outils, de vidéos, de conférences et de forums.
Le rapport OWASP Top 10 met en évidence les 10 risques les plus critiques pour la sécurité des applications, selon les experts en sécurité. L'OWASP recommande à toutes les entreprises d'intégrer les informations issues de ce rapport à leur stratégie de sécurité des applications web.
En 2023, un groupe de travail de l'OWASP a lancé un nouveau projet dont l'objectif était de produire un rapport similaire consacré aux menaces pesant sur les applications des grands modèles de langage (LLM). Le classement Top 10 de l'OWASP en matière d'applications de grands modèles de langage identifie les menaces, fournit des exemples de vulnérabilités et de scénarios d'attaques réels, et propose des stratégies d'atténuation. L'OWASP espère sensibiliser les développeurs, les concepteurs, les architectes et les responsables tout en les aidant à se défendre contre les menaces.
Vous trouverez ci-dessous les vulnérabilités mises en évidence dans le rapport d'octobre 2023 du Top 10 de l'OWASP pour les applications LLM :
L'injection d'invites est une tactique consistant pour les attaquants à manipuler les invites utilisées pour un LLM. L'intention des acteurs malveillants peut être de voler des informations sensibles, d'influencer les processus de prise de décision guidés par le LLM, ou d'utiliser le LLM dans un schéma d'ingénierie sociale.
Les acteurs malveillants peuvent manipuler les invites de deux manières :
Il existe plusieurs façons de prévenir les dommages causés par les attaques par injection d'invites. Par exemple, les entreprises peuvent mettre en place de solides politiques de contrôle des accès pour les systèmes back-end, intégrer les humains aux processus dirigés par les LLM et garantir que les humains ont le dernier mot concernant les décisions prises par les LLM.
Si les entreprises n'examinent en détail pas les résultats des LLM, tout résultat généré par des utilisateurs malveillants peut induire des problèmes au niveau pour les systèmes en aval. L'exploitation d'un traitement non sécurisé des résultats peut donner lieu à des attaques de type cross-site scripting (XSS), falsification de requêtes intersites (CSRF), falsification de requêtes côté serveur (SSRF), exécution de code à distance (RCE), ainsi que d'autres types d'attaques. Par exemple, un acteur malveillant fait en sorte qu'un LLM produise un script malveillant destiné à être interprété par un navigateur, provoquant ainsi une attaque XSS.
Les entreprises peuvent empêcher le traitement non sécurisé des résultats en appliquant un modèle de sécurité Zero Trust et en agissant avec le LLM comme avec n'importe quel utilisateur ou appareil. Il s'agirait de valider tous les résultats du LLM avant de les autoriser à exécuter d'autres fonctions.
Les acteurs malveillants peuvent tenter de manipuler (ou « empoisonner » ) les données utilisées pour entraîner un modèle LLM. L'empoisonnement des données peut amoindrir la capacité du modèle à fournir des résultats précis ou à contribuer à la prise de décisions fondées sur l'IA. Ce type d'attaque peut être lancé par des concurrents malveillants cherchant à porter préjudice à la réputation de l'entreprise utilisant le modèle.
Pour se protéger contre un éventuel empoisonnement des données, les entreprises doivent sécuriser la chaîne d'approvisionnement des données. Pour ce faire, elles doivent vérifier la légitimité des sources de données, notamment les composants de big data utilisés pour la modélisation. Elles doivent également empêcher le modèle d'extraire des données de sources non fiables et assainir les données.
Comme ils le font lors des attaques par déni de service distribué (DDoS), les acteurs malveillants peuvent exécuter des opérations gourmandes en ressources à l'aide d'un LLM dans le but de dégrader la qualité de service, d'augmenter les coûts ou de perturber les opérations. Ce type d'attaque peut passer inaperçu, car les LLM consomment souvent de grandes quantités de ressources, et la demande de ressources peut varier en fonction des entrées de l'utilisateur.
Pour éviter ce type d'attaque par déni de service, les entreprises peuvent appliquer des limitations de débit d'API pour des utilisateurs individuels ou des adresses IP. Elles peuvent également valider et assainir les entrées. Elles doivent également surveiller en permanence l'utilisation des ressources, afin d'identifier tous les pics suspects.
Les vulnérabilités affectant la chaîne d'approvisionnement des applications LLM peuvent laisser les modèles exposés à des risques de sécurité ou donner des résultats inexacts. Plusieurs composants utilisés pour les applications LLM (notamment les modèles préalablement entraînés, les données utilisées pour l'entraînement des modèles, les ensembles de données tiers et les plug-ins) peuvent préparer le terrain pour une attaque ou provoquer d'autres problèmes concernant le fonctionnement de l'application LLM.
Pour remédier aux vulnérabilités de la chaîne d'approvisionnement, il convient d'abord de contrôler minutieusement les fournisseurs et de vérifier que les mesures de sécurité adéquates sont en place. Les entreprises doivent également tenir un inventaire des composants à jour et examiner en détail les données et les modèles fournis.
Les applications LLM peuvent, par inadvertance, révéler des données confidentielles dans les réponses, qu'il s'agisse d'informations sensibles concernant les clients ou de données relevant de la propriété intellectuelle. Ces types de divulgations peuvent constituer des infractions en matière de conformité ou engendrer des failles de sécurité.
Les efforts d'atténuation doivent se concentrer sur le fait d'empêcher que des informations confidentielles et des entrées malveillantes ne pénètrent dans les modèles d'apprentissage. À cet égard, l'assainissement et le nettoyage des données sont essentiels.
Les LLM pouvant par nature impliquer des transferts de données transfrontaliers, les entreprises doivent également mettre en œuvre des contrôles automatisés de la régionalisation des données, afin de conserver certaines données sensibles dans des régions spécifiques. Elles peuvent autoriser l'incorporation d'autres données dans les LLM.
Les plug-ins LLM peuvent améliorer les fonctionnalités du modèle et faciliter l'intégration avec des services tiers. Toutefois, certains plug-ins ne disposent pas de mesures suffisantes pour le contrôle des accès, ce qui donne aux acteurs malveillants la possibilité d'injecter des invites malveillantes. Ces entrées peuvent permettre des attaques RCE ou d'un autre type.
Pour prévenir l'exploitation des plug-ins il est nécessaire que la conception des plug-ins soit plus sûre. Les plug-ins doivent contrôler les entrées et effectuer des vérifications, en vérifiant qu'aucun code malveillant ne puisse passer. De plus, les plug-ins doivent mettre en place des contrôles d'authentification basés sur le principe du moindre privilège.
Les développeurs donnent souvent aux applications LLM un certain degré d'autonomie, c'est-à-dire la capacité d'entreprendre des actions automatiquement en réponse à une invite. Toutefois, il peut être dangereux de donner trop d'autonomie aux applications. Si un LLM produit des résultats inattendus (en raison d'une attaque, d'une hallucination d'IA ou d'une autre erreur), l'application peut alors prendre des mesures potentiellement préjudiciables, comme la divulgation d'informations sensibles ou la suppression de fichiers.
Le meilleur moyen d'éviter un excès d'autonomie consiste, pour les développeurs, à limiter les fonctionnalités, les autorisations et le pouvoir d'action des plug-ins et des autres outils au strict minimal nécessaire. Les organisations qui exécutent des applications LLM avec des plug-ins peuvent également exiger des humains qu'ils autorisent certaines actions avant qu'elles ne soient effectuées.
Les LLM ne sont pas parfaits. Ils peuvent parfois produire des résultats réellement incorrects, des hallucinations de l'IA ou des résultats biaisés, même s'ils fournissent ces résultats de manière péremptoire. Lorsque des organisations ou des personnes font excessivement confiance aux LLM, elles peuvent diffuser des informations incorrectes qui conduisent à des infractions aux règlementations, à des risques juridiques et à des atteintes à la réputation.
Pour éviter les problèmes de dépendance excessive, les entreprises doivent mettre en œuvre des stratégies de surveillance concernant les LLM. Elles doivent également examiner régulièrement les résultats et en confirmant l'exactitude en les comparant aux informations provenant d'autres sources externes fiables.
Les acteurs malveillants peuvent tenter d'accéder à, de copier ou de voler des modèles LLM propriétaires. Ces attaques peuvent engendrer un effritement de l'avantage concurrentiel d'une entreprise ou la perte d'informations sensibles au sein du modèle.
La mise en place de contrôles stricts des accès, notamment des fonctionnalités de contrôle des accès en fonction du rôle (RBAC) peut empêcher les accès non autorisés aux modèles LLM. Les entreprises doivent également surveiller régulièrement les journaux d'accès et réagir à tout comportement non autorisé. Les fonctionnalités de prévention des pertes de données (DLP) peuvent vous aider à repérer les tentatives d'exfiltration d'informations depuis l'application.
Comme le suggère le document de l'OWASP, les entreprises doivent établir une stratégie à plusieurs facettes pour protéger les applications LLM contre les menaces. Par exemple, elles doivent :
Pour aider les entreprises à faire face aux risques qui pèsent sur les applications LLM, Cloudflare développe Firewall for AI, un pare-feu WAF sophistiqué spécialement conçu pour les applications LLM. Les entreprises pourront déployer Firewall for AI en amont des LLM, afin de détecter les vulnérabilités et d'identifier les abus avant qu'elles n'atteignent les modèles. Profitant du vaste réseau mondial de Cloudflare, il s'exécutera à proximité des utilisateurs afin de repérer rapidement les attaques et de protéger à la fois les utilisateurs et les modèles.
Cloudflare AI Gateway fournit également une plateforme d'optimisation des opérations IA pour la gestion et la mise à l'échelle des charges de travail d'IA générative depuis une interface unifiée. Il agit comme un proxy entre le service d'une entreprise et son fournisseur d'interface, en aidant l'organisation à observer et à contrôler les applications d'IA.
Pour un examen plus approfondi du Top 10 de l'OWASP en matière de LLM, consultez le rapport officiel.