Protéger les LLM contre les injections de prompts : étude des menaces et des solutions

janvier 16, 2024

Dans la continuité de notre étude de la sécurité au sein des applications LLM (Large Language Model), cet article fait suite à la première discussion dans « Building Robust Defenses: OWASP’s Influence on LLM Applications » (Construire des défenses fiables : influence de l’OWASP sur les applications LLM), où nous avons présenté les vulnérabilités majeures de l’OWASP pour ce type de systèmes. Ici, nous nous penchons sur la question pertinente de l’injection de prompts

Présentation de l’injection de prompts : analyse des menaces directes et indirectes pesant sur les LLM

L’injection de prompts implique la manipulation des LLM par la modification des prompts, qui sont primordiales pour l’orientation des réponses ou des actions. Deux méthodes principales, l’injection directe de prompts et l’injection indirecte de prompts, posent des problèmes de sécurité conséquents. L’injection directe est une insertion pure et simple de contenu nuisible dans les prompts, qui exploite l’interface directe d’un LLM pour détourner ses fonctions. L’injection indirecte opère de manière dissimulée, en influençant les LLM par l’intégration de prompts dans des sources de données externes que le modèle traite par la suite, introduisant ainsi des commandes de contrôle sans accès direct au système.

De telles injections peuvent altérer les fonctionnalités des LLM, ce qui peut entraîner des actions non autorisées, l’exposition de données ou des interruptions de service et, dans certains cas, en les manipulant pour mettre en œuvre des stratégies malveillantes, telles que la diffusion d’informations erronées. Compte tenu de leur impact considérable, des menaces telles que le Prompt Leaking et le jailbreak ont fait leur apparition. La première extrait des informations sensibles, la seconde contourne les dispositifs de sécurité des LLM.

Études de cas : exemples réels d’exploitation par injection de prompts

Nous allons étudier des cas réels illustrant la manière dont les injections de prompts compromettent les fonctionnalités du LLM.

  • L’entreprise Remoteli.io a intégré un LLM pour interagir avec des tweets concernant le travail à distance. Cependant, les utilisateurs de X n’ont pas tardé à découvrir qu’ils pouvaient manipuler le système automatisé, en l’incitant à faire écho à leurs propres messages.
Prompt Injection
Reference: @plutoniumgrist
  • L’exemple ci-dessous montre comment «Sydney», le nom de code d’une version antérieure de Bing Search, a été exposé à un problème connu sous le nom de Prompt Leaking. En ne divulguant qu’un segment de son prompt d’activation, il a permis par inadvertance aux utilisateurs d’extraire le prompt entier sans l’authentification appropriée généralement requise pour la voir.
Prompt Leaking
Reference – @kliu128
  • Le jailbreak consiste à contourner les restrictions intégrées d’un système pour déclencher des réponses qui sont normalement bloquées pour des raisons de sécurité ou d’éthique. Les exploiteurs utilisent souvent des méthodes de codage telles que Base 64, HTML, Unicode, UTF-7, UTF-8, Octal ou Hex pour contourner la sécurité en modifiant la représentation des caractères. L’exemple ci-dessous illustre le jailbreak.
Jailbreaking
Reference: @jaydeepsheth
  • Une autre méthode courante de jailbreak consiste à utiliser le prompt DAN (Do Anything Now). DAN se compose de prompts qui semblent contraindre le modèle à un état compromis ou sans restriction.

Consultez ce fil pour un exemple d’une telle attaque – https://chat.openai.com/share/1bee521e-8011-4b70-b5bc-4f480f01c77e

  • Les techniques de prompt hacking ont évolué au-delà des simples attaques textuelles et englobent désormais des attaques multimodales, comme le montre l’image ci-après.
Visual Prompt Injection Attacks
Reference: @ItakGol

Pour ceux qui ont des  intérêts académiques, vous pouvez découvrir les diverses attaques par injection de prompts sur le site suggéré : jailbreakchat.com

Heureusement, les développeurs de LLM restent parfaitement conscients des menaces potentielles et intègrent rapidement des améliorations de sécurité pour éviter de telles attaques en se tenant au fait des techniques d’attaque nouvellement identifiées dans ce domaine en pleine évolution. Par conséquent, si vous essayiez de simuler les exemples mentionnés précédemment, le LLM bloquerait probablement vos efforts.

Renforcer la résilience : tactiques de défense globales

Les vulnérabilités liées à l’injection de prompts découlent du fait que les LLM traitent toutes les entrées en langage naturel de la même manière, sans faire la différence entre les instructions de l’utilisateur et les données externes.. Une prévention infaillible n’est pas réalisable dans le cadre des LLM, mais des mesures pratiques et des solutions de bon sens peuvent réduire l’exposition à de telles attaques. Malgré les défis, nous aborderons ici plusieurs défenses efficaces  :

  • Gestion des privilèges :
    • Implémentez l’accès au moindre privilège pour le LLM, en utilisant des jetons API uniques avec des autorisations restreintes.
    • Exiger l’approbation humaine pour les opérations sensibles afin de garantir que les actions sont intentionnelles et autorisées.
  • Défenses structurelles :
  • Mesures pédagogiques :
    • Dirigez le LLM avec des instructions claires qui anticipent et contrecarrent les tentatives potentielles de manipulation.
    • Structurez les prompts avec une saisie utilisateur précédant les instructions système (« post-prompting ») pour diminuer l’efficacité des commandes injectées.
  • Validation des entrées :
    • Utilisez des techniques de filtrage avec des listes de blocage et des listes autorisées pour contrôler les mots et expressions acceptables.
    • Neutralisez les entrées fournies par l’utilisateur qui ressemblent à des commandes système pour neutraliser les tentatives d’injection.
  • Surveillance et visualisation :
    • Surveillez régulièrement les interactions LLM et mettez visuellement en évidence les réponses qui peuvent provenir de sources non fiables ou sembler suspectes.
  • Techniques avancées de LLM :
    • Déployez des LLM modernes et plus résistants aux injections comme GPT-4 pour une sécurité améliorée.
    • Pensez à optimiser le modèle avec des données spécifiques à une tâche afin de réduire le recours aux prompts et au soft prompting , ce qui constitue une alternative éventuellement plus rentable.
  • Contrôles opérationnels :
    • Utilisez un LLM secondaire axé sur la sécurité pour évaluer les instructions potentiellement malveillantes avant le traitement.
    • Définissez des restrictions sur la longueur des entrées et des dialogues pour éviter les tactiques d’injection complexes.

La mise en œuvre de ces stratégies établit une défense à multiples facettes contre les injections de prompts, renforçant le cadre de sécurité et dissuadant les attaquants. À mesure que les menaces évoluent, ces défenses doivent être modulables et évolutives, garantissant ainsi une protection fiable aux systèmes utilisant des LLM.

Innovations en matière de sécurité des prompts : outils et solutions pour améliorer les défenses des LLM

L’engagement de la communauté de développement à concevoir une gamme de solutions et d’outils pour contrer les attaques par injection de prompts et améliorer la qualité des prompts pour des performances de LLM optimales est prometteur. Nous présenterons une sélection de ces exemples innovants, certains actuellement au stade de prototype ou expérimental.

  • Rebuff sécurise les applications d’IA contre l’injection de prompts grâce à une approche en couches combinant des filtres heuristiques, une détection LLM dédiée, une base de données de modèles d’attaque et des canary tokens pour les alertes et la prévention des fuites.
  • Deberta-v3-base-injection –Ce modèle identifie et étiquette les tentatives d’injection de prompts comme « INJECTION » tout en catégorisant les demandes authentiques comme étant « LEGIT » , en supposant que les demandes valides comprennent diverses questions ou recherches par mots clés.
  • Better Prompt est un framework de tests pour les prompts LLM qui évalue les performances en mesurant la perplexité des prompts, en partant du principe selon lequel les prompts avec une perplexité plus faible (proche de zéro) ont tendance à produire des performances de tâche plus élevées.
  • Garak est un outil conçu pour tester la résilience d’un LLM, en vérifiant les échecs indésirables tels que les hallucinations, les fuites de données, l’injection de prompts, la propagation de fausses informations, la génération de toxicité, le déverrouillage et d’autres vulnérabilités potentielles.
  • HouYi est une plate-forme conçue pour les exercices de red teaming qui permet aux utilisateurs d’insérer par programme des prompts dans les applications intégrées LLM pour les tests d’intrusion en créant des frameworks de test personnalisés et en définissant les objectifs d’attaque.
  • Promptmap est un outil conçu pour évaluer la sensibilité de ChatGPT aux injections de prompts en comprenant les règles et le contexte de l’instance pour créer et envoyer des prompts d’attaque ciblées, puis évaluer le succès de chaque attaque en fonction des réponses reçues.

Conclusion

Le domaine de la sécurité LLM est un terrain de bataille en évolution où la dynamique de l’injection de prompts constitue un danger réel et présent. Pourtant, les efforts en cours pour renforcer les LLM contre de telles menaces sont urgents et innovants. Avec l’avènement d’outils de détection spécialisés et l’intégration de techniques de défense robustes, une nouvelle norme est en train d’être établie pour anticiper et contrecarrer les manipulations potentielles. L’industrie ne se repose certainement pas sur ses lauriers, comme en témoigne la recherche et le développement continus de solutions pour devancer les contrevenants. Nous sommes à l’aube d’un changement important : de postures de sécurité réactives à des stratégies proactives basées sur la résilience qui promettent de garantir la sécurité et la fiabilité des applications LLM dans un paysage technologique en constante évolution. À l’avenir, l’adoption et l’affinement de ces approches seront essentielles pour permettre aux LLM de réaliser leur potentiel sans compromettre les principes de sécurité et de confiance des utilisateurs.

Abonnez-vous à notre newsletter

Recevez les dernières nouvelles, les articles sélectionnés et les derniers faits saillants de notre part. Nous ne vous spammerons jamais, promis.

En savoir plus sur ,

Le Cybersecurity Studio se concentre sur la réduction des risques de cybersécurité pour nos clients. Pour aider les entreprises à s'adapter, nous avons établi un cadre de cybersécurité numérique fondé sur nos pratiques clés. Notre proposition de valeur inclut une participation active dans le processus de développement logiciel et une vision proactive des solutions de cybersécurité, qui incluent des tests de vulnérabilité réguliers et des renseignements sur les menaces.