1 points par GN⁺ 2024-08-21 | 1 commentaires | Partager sur WhatsApp

Exfiltration de données via une injection de prompt indirecte dans Slack AI

  • Cette vulnérabilité permet à un attaquant de voler toutes les données qu’un utilisateur a placées dans des canaux Slack privés
  • Un attaquant peut exfiltrer des données depuis des canaux privés via Slack AI
  • Slack AI est une fonctionnalité qui permet d’interroger les messages Slack en langage naturel
  • Depuis le 14 août, Slack a commencé à indexer les documents téléversés, les fichiers Google Drive, etc., ce qui augmente la surface de risque
1. La vulnérabilité
  • Injection de prompt : le LLM ne parvient pas à distinguer le « prompt système » créé par les développeurs du reste du contexte ajouté à la requête
  • Injection de prompt indirecte : via un message contenant des instructions malveillantes, Slack AI peut être amené à suivre ces instructions plutôt que la requête de l’utilisateur
  • Les menaces internes dans Slack étaient déjà un problème, et désormais des attaquants peuvent exfiltrer des données sans accéder aux canaux privés ni aux données elles-mêmes
2. Chaîne d’attaque d’exfiltration de données : injection dans un canal public
  • Dans Slack, la requête d’un utilisateur recherche des données dans les canaux publics et privés
  • Un attaquant peut exfiltrer une clé API présente dans un canal privé
  • Chaîne d’attaque :
    • A) L’utilisateur place une clé API dans son canal privé
    • B) L’attaquant place une instruction malveillante dans un canal public
    • C) Lorsque l’utilisateur interroge Slack AI au sujet de la clé API, le message de l’attaquant est inclus dans la même « fenêtre de contexte »
    • D) Slack AI suit les instructions de l’attaquant et incite l’utilisateur à cliquer sur un lien
    • E) Lorsque l’utilisateur clique sur le lien, la clé API est exfiltrée
3. Chaîne d’attaque de phishing : injection dans un canal public
  • Au lieu d’exfiltrer des données, le système affiche un lien de phishing
  • Chaîne d’attaque :
    • A) L’attaquant place un message malveillant dans un canal public
    • B) L’utilisateur demande un résumé des messages d’un utilisateur spécifique
    • C) Le lien de phishing est rendu en Markdown
4. Portée du changement de Slack AI du 14 août : injection via des fichiers
  • Slack AI a été modifié pour inclure les fichiers dans les canaux et les DM
  • La surface d’attaque s’est considérablement élargie
  • Si un PDF contenant des instructions malveillantes est téléchargé puis téléversé dans Slack, la même chaîne d’attaque peut se produire
  • Les administrateurs doivent restreindre la fonctionnalité d’indexation des documents de Slack AI
5. Mise en contexte
  • Ces attaques sont également possibles dans plusieurs applications comme Microsoft Copilot, Google Bard, etc.
  • Calendrier de divulgation responsable :
    • 14 août : divulgation initiale
    • 15 août : demande d’informations complémentaires
    • 15 août : fourniture de vidéos et captures d’écran supplémentaires
    • 16 août : questions complémentaires
    • 16 août : réponse claire fournie
    • 19 août : Slack a jugé les preuves insuffisantes

Le récapitulatif de GN⁺

  • La vulnérabilité d’injection de prompt indirecte dans Slack AI est un problème grave pouvant entraîner l’exfiltration de données de canaux privés
  • Des attaquants peuvent exfiltrer des données sans accéder aux canaux privés
  • Les changements de fonctionnalité de Slack AI ont fortement accru la surface d’attaque
  • Les utilisateurs doivent restreindre la fonctionnalité d’indexation des documents de Slack AI pour réduire le risque
  • Parmi les applications dotées de fonctionnalités similaires figurent Microsoft Copilot, Google Bard, etc.

1 commentaires

 
GN⁺ 2024-08-21
Avis Hacker News
  • Il semblerait préférable d’intégrer la clé API « confetti » dans une partie du nom de domaine

    • Ainsi, la clé pourrait fuiter même sans clic, à cause du DNS prefetching du navigateur
  • Le cœur de cette attaque consiste à comprendre le vecteur d’exfiltration de données

    • Slack peut afficher des liens Markdown où l’URL est cachée derrière le texte du lien
    • L’attaquant trompe Slack AI pour amener l’utilisateur à cliquer sur un lien du type « cliquez ici pour vous réauthentifier »
    • Ce lien pointe vers le serveur de l’attaquant et inclut, dans la chaîne de requête, des informations privées auxquelles Slack AI peut accéder
    • Quand l’utilisateur clique sur le lien, les données fuient dans les logs du serveur de l’attaquant
  • La discussion sur les permissions de canal complique inutilement les choses

    • L’utilisateur A effectue une recherche avec Slack AI
    • L’utilisateur B a auparavant injecté un message demandant à l’IA de renvoyer un lien malveillant
    • L’IA renvoie le lien malveillant à l’utilisateur A, qui clique dessus
    • On pourrait obtenir le même résultat avec d’autres vecteurs de social engineering, mais les LLMs maximisent cette expérience
  • C’est de la folie de voir des entreprises appliquer aveuglément les LLMs à tout

    • Près de deux ans se sont écoulés depuis GPT-3, et elles ne savent toujours pas distinguer les entrées de confiance des entrées non fiables
  • La victime n’a pas besoin d’être dans un canal public pour que l’attaque fonctionne

    • La citation ne fait pas référence au canal de l’attaquant, seulement au canal privé où l’utilisateur a mis la clé API
    • Cela enfreint le bon comportement de citation, qui devrait citer tous les messages contributifs
    • Je ne comprends pas pourquoi on s’attendrait à ce que les citations d’un LLM soient exactes
    • Les citations ressemblent à un piratage de l’humain, destiné à faire croire au lecteur que la sortie est plus précise qu’elle ne l’est réellement
    • Si on ajoute le développement de lien dans la réponse de l’IA, l’exfiltration peut même se produire automatiquement sans clic
  • Des configurations similaires ont été explorées dans des défis CTF

    • Toute application LLM qui publie dans un flux de discussion avec liens actifs est vulnérable
    • Si l’on tient compte des aperçus de liens, aucune interaction humaine n’est nécessaire
  • L’article n’est pas à la hauteur de son titre

    • L’idée que « si l’on manipule l’IA par social engineering, on peut piéger les utilisateurs par phishing » est intéressante
  • L’intelligence artificielle évolue, mais la stupidité humaine ne change pas

  • Il faut cesser de fournir une authentification dédiée aux agents IA

    • Il faut utiliser, pour toutes les actions, l’authentification de l’utilisateur appelant et usurper effectivement son identité
    • Le problème n’est pas le contexte divulgué, mais l’extension aux privilèges excessifs
  • C’est un vecteur d’attaque très élégant

    • Il existe de nombreuses façons d’exfiltrer des données via le contexte d’un LLM