IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

L'exploitation de Microsoft Copilot Studio permet d'accéder à des données sensibles du cloud
Un bug SSRF dans l'outil de création de Copilot personnalisée a potentiellement exposé des informations critiques

Le , par Jade Emy

37PARTAGES

6  0 
Tenable Research a découvert une vulnérabilité critique de divulgation d'informations dans Copilot Studio de Microsoft via une falsification de requête côté serveur (SSRF). Combinée à un contournement utile de la protection SSRF, les chercheurs ont pu accéder à l'infrastructure interne de Microsoft pour Copilot Studio, y compris l'Instance Metadata Service (IMDS) et les instances internes de Cosmos DB. Cette faille peut exposer des informations potentiellement sensibles concernant les internes du service avec un impact potentiel entre les locataires.

Annoncé en 2023, Copilot Studio offre aux utilisateurs un moyen de personnaliser les assistants d'IA générative. Les utilisateurs peuvent adapter les outils "Copilot" et créer leurs propres outils d'IA générative. Il inclut l'accès à des capacités et solutions conversationnelles, des GPT personnalisés aux plugins d'IA générative et au-delà. Ainsi Copilot Studio permet de créer, tester et personnaliser rapidement des copilotes et des assistants d'IA, tout en disposant d'un contrôle total sur ses copilotes autonomes.

Basé sur le principe du "glisser-déposer", Microsoft Copilot Studio est techniquement un outil facile à utiliser. Les Copilot personnalisés permettent d'effectuer une variété de tâches de grand modèle de langage (LLM) et d'IA générative en exploitant les données ingérées à partir de l'environnement Microsoft 365, ou toute autre donnée que la Power Platform sur laquelle l'outil est construit.

Mais des chercheurs en sécurité ont critiqué l'outil, le qualifiant de "bien trop autorisé". Ils ont découvert 15 problèmes de sécurité avec l'outil qui permettraient la création de chatbots défectueux. Récemment, des chercheurs ont exploité une vulnérabilité dans l'outil Copilot Studio de Microsoft leur permettant d'effectuer des requêtes HTTP externes. Ils ont pu accéder ensuite à des informations sensibles concernant des services internes au sein d'un environnement cloud, avec un impact potentiel sur plusieurs locataires.

Les chercheurs de Tenable ont découvert la faille SSRF (server-side request forgery) dans l'outil de création de chatbot. Ils ont exploité pour accéder à l'infrastructure interne de Microsoft, y compris l'Instance Metadata Service (IMDS) et les instances internes de Cosmos DB. Repérée par Microsoft sous le nom de CVE-2024-38206, la faille permet à un attaquant authentifié de contourner la protection SSRF dans Microsoft Copilot Studio pour récupérer des informations sensibles basées sur le cloud via un réseau.


Fonctionnement de la vulnérabilité CVE-2024-38206

La faille existe lors de la combinaison d'une requête HTTP qui peut être créée à l'aide de l'outil avec un contournement de la protection SSRF, selon Tenable. "Une vulnérabilité SSRF se produit lorsqu'un attaquant est en mesure d'influencer l'application pour qu'elle effectue des requêtes HTTP côté serveur vers des cibles inattendues ou d'une manière inattendue", a expliqué Evan Grant, chercheur en sécurité chez Tenable.

Les chercheurs ont testé leur exploit pour créer des requêtes HTTP afin d'accéder aux données et services cloud de plusieurs locataires. Ils ont découvert que "bien qu'aucune information inter-locataires ne semble immédiatement accessible, l'infrastructure utilisée pour ce service Copilot Studio était partagée entre les locataires".

Tout impact sur cette infrastructure pourrait donc affecter plusieurs clients, ajoute Evan Grant : "Bien que nous ne connaissions pas l'ampleur de l'impact que pourrait avoir un accès en lecture/écriture à cette infrastructure, il est clair que le risque est amplifié du fait qu'elle est partagée entre les locataires. Les chercheurs ont également constaté qu'ils pouvaient utiliser leur exploit pour accéder à d'autres hôtes internes sans restriction sur le sous-réseau local auquel appartenait leur instance.

Les chercheurs de Tenable ont découvert la faille SSRF de l'outil lorsqu'ils ont examiné les vulnérabilités SSRF dans les API pour Azure AI Studio et Azure ML Studio de Microsoft, que l'entreprise elle-même a signalées et corrigées avant que les chercheurs ne puissent les signaler. Les chercheurs ont ensuite porté leur attention sur Copilot Studio pour voir s'il pouvait également être exploité de la même manière.

Microsoft a réagi rapidement à la notification de la faille par Tenable, et celle-ci a depuis été entièrement atténuée, sans qu'aucune action ne soit requise de la part des utilisateurs de Copilot Studio, a indiqué l'entreprise dans son avis de sécurité.


Voici le rapport de Tenable concernant cette découverte :

Exploiter une vulnérabilité de type SSRF avec l'aide de Copilot Studio

Contexte

Une vulnérabilité SSRF se produit lorsqu'un attaquant est en mesure d'influencer l'application pour qu'elle effectue des requêtes HTTP côté serveur vers des cibles inattendues ou d'une manière inattendue.

Par exemple, une caractéristique commune à de nombreuses applications modernes qui traitent de l'analyse des données ou de l'apprentissage automatique consiste à intégrer des données provenant de services externes. Pour ce faire, l'application doit effectuer des requêtes HTTP pour se connecter aux API de ces services externes. Si un attaquant est en mesure de contrôler la cible de ces requêtes, il pourrait diriger la requête vers une ressource interne sensible à laquelle l'application côté serveur a accès, même si l'attaquant n'y a pas accès, révélant ainsi des informations potentiellement sensibles.

Dans le contexte des applications cloud, une cible courante est l'IMDS, qui peut fournir des informations utiles et potentiellement sensibles pour un attaquant (Azure, AWS et Google ont tous leur propre version), le localhost ou une autre infrastructure interne. Pour cette raison, de nombreuses fonctionnalités qui pourraient potentiellement conduire à des vulnérabilités SSRF bloqueront la fonctionnalité de cibler l'IMDS et les IP non routables, mais là où il y a des restrictions, il y a des contournements.

Copilot Studio HttpRequestActions

Copilot Studio de Microsoft est construit au-dessus de sa plate-forme Power Platform et, par conséquent, est un produit qui vous permet de construire des Copilots personnalisés - des applications conversationnelles qui vous permettent d'effectuer une grande variété de modèles de grand langage (LLM) et de tâches d'IA générative en tirant parti des données ingérées à partir de votre environnement Microsoft 365 ou de toute autre donnée à laquelle votre environnement Power Platform a accès.

Lors de la création d'un nouveau Copilot, vous pouvez définir des Sujets, qui vous permettent de spécifier des phrases clés qu'un utilisateur pourrait dire à votre Copilot et qui pourraient amener l'IA à répondre de manière spécifique ou à entreprendre certaines actions. Les chercheurs de Tenable ont remarqué que l'une des actions pouvant être exécutées, lorsqu'elle est déclenchée par une phrase clé, est une requête HTTP.


Cette HttpRequestAction permet de contrôler les en-têtes de requête HTTP, ce qui sera utile pour tester l'IMDS, puisqu'il nécessite des en-têtes de requête spéciaux. Pour un premier test, et pour avoir une idée de l'aspect de la requête faite par le Copilot, ils ont ajouté un en-tête à l'HttpRequestAction et fait une requête à l'instance de Burp Collaborator.

Burp Collaborator montre rapidement une requête faite à partir d'une adresse IP Azure qui inclut l'en-tête de test, et quelques en-têtes non ajoutés et qui sont associés aux services Azure.


Tester l'IMDS

Avec la possibilité de faire des requêtes, ils ont de demander quelques ressources cloud, comme l'IMDS. En pointant la requête vers l'url http://169.254.169.254/metadata/instance?api-version=2021-02-01 et en envoyant la requête, ils n'ont obtenu qu'une réponse d'erreur système.

Il en a été de même lorsque lorsqu'ils ont utilisé une valeur décimale pour l'adresse IP (169.254.169.254 == 2852039166), ou lorsqu'ils ont demandé un domaine qui se résout en 169.254.169.254 au lieu de demander l'adresse IP directement.

Mais en pointant l'HttpRequestAction vers un serveur dont ils avaient le contrôle, et configurant une réponse de redirection 301 qui pointe vers les hôtes restreints, les chercheurs ont obtenu une erreur 400 au lieu d'une réponse System Error.

Pour progrés dans ces tests, ils ont effectué les actions suivantes avec l'aide des outils de Copilot Studio :

  • Définir l'en-tête de métadonnées à "true"
  • Eliminer l'en-tête X-Forwarded-For en créant quelques nouvelles lignes supplémentaires à la fin de la valeur "true"
  • Combiner cela avec la redirection 301 vers 169.254.169.254



L'en-tête de métadonnées étant ignorée par l'IMDS, les chercheurs ont pu récupérer les métadonnées de l'instance dans un message de chat de Copilot;

Bien que ces informations ne soient pas trop sensibles en elles-mêmes, ils ont également pu récupérer les jetons d'accès à l'identité gérée à partir de l'IMDS. Ce jeton d'authentification peut être exploité pour accéder à d'autres ressources internes.


Découverte d'une instance Cosmos DB

Avec un jeton d'accès pour https://management.azure.com/, les chercheurs ont pu vérifier quels accès à d'autres ressources Azure ils ont obtenu. Une première vérification a révélé que l'identité était associée à deux abonnements. Ensuite, ils ont vérifié les ressources Azure accessibles.

Pour l'un des deux abonnements, ils ont obtenu une réponse semblable à la suivante :


Cela indique qu'une ressource Cosmos DB est disponible et les chercheurs ont pu obtenir les URL des points de terminaison de Cosmos DB. Ils ont eu accès aux clés maîtresses de Cosmos DB, pour obtenir des autorisations de lecture/écriture. Fait intéressant, cette instance de Cosmos DB n'est accessible qu'aux adresses IP appartenant à l'infrastructure Microsoft, mais le Copilot personnalisé fait partie de ces adresses.

Utilisation de Copilot pour accéder à la Cosmos DB interne

Pour resumer, avec l'aide de Copilot Studio, les chercheurs de Tenable ont obtenu :

  • Une URL pour une instance interne de Cosmos DB, accessible uniquement à l'infrastructure Azure interne.
  • Les clés maîtresses de cette instance de Cosmos DB
  • La possibilité de faire des requêtes HTTP à partir de Copilot, avec un contrôle sur les en-têtes des requêtes.


Pour accéder à Cosmos DB, ils ont fourni à Copilot l'URL du point de terminaison du document, ainsi que les en-têtes d'autorisation et x-ms-data appropriés. En utilisant du code node.js et les clés de la base de données Cosmos, il a été possible de générer un jeton d'autorisation valide, ainsi que l'en-tête x-ms-date associée.

Après avoir fourni tous les éléments à Copilot et envoyé la requête, les chercheurs ont obtenu une réponse valide pour pouvoir exploiter la vulnérabilité SSRF de Copilot et obtenir un accès en lecture/écriture à cette instance interne de la base de données Cosmos.


Les chercheurs de Tenable commentent cette découverte en déclarant :

Nous avons testé ce service à partir de plusieurs locataires et confirmé que, bien qu'aucune information inter-locataires ne semble immédiatement accessible, l'infrastructure utilisée pour ce service Copilot Studio était partagée entre les locataires. Tout impact sur cette infrastructure pourrait affecter plusieurs clients. Bien que nous ne connaissions pas l'ampleur de l'impact que pourrait avoir un accès en lecture/écriture à cette infrastructure, il est clair que le risque est amplifié du fait qu'elle est partagée entre plusieurs locataires. Nous avons également déterminé que nous pouvions accéder à d'autres hôtes internes, sans restriction, sur le sous-réseau local auquel appartenait notre instance (10.0.x.0/24).

Une fois le problème signalé, Microsoft a réagi rapidement et a commencé à le résoudre. Microsoft a attribué à ce problème le numéro CVE-2024-38206 et a communiqué son évaluation à Tenable en tant que problème critique de divulgation d'informations.
À propos de Tenable

Tenable est la société de gestion de l'exposition, exposant et comblant les lacunes en matière de cybersécurité qui érodent la valeur, la réputation et la confiance des entreprises. La plateforme de gestion de l'exposition alimentée par l'IA de la société unifie radicalement la visibilité, la perspicacité et l'action en matière de sécurité à travers la surface d'attaque, équipant les organisations modernes pour se protéger contre les attaques de l'infrastructure informatique aux environnements cloud en passant par l'infrastructure critique et partout entre les deux.

Source : Tenable

Et vous ?

Pensez-vous que cette découverte est crédible ou pertinente ?
Quel est votre avis sur le sujet ?

Voir aussi :

« Si vous confiez les rênes à Copilot, ne vous étonnez pas qu'il dévoile vos secrets », d'après une récente étude, selon laquelle cette IA peut être transformée en outil d'exfiltration de données

SAP AI Core : les vulnérabilités de l'IA, surnommées « SAPwned », exposent les environnements cloud et les données privées des clients, selon Wiz Research

Pourquoi les entreprises quittent-elles le cloud ? Une étude révèle qu'elles optent désormais pour une approche de cloud hybride en raison de la flexibilité, de la rentabilité et de la sécurité

Une erreur dans cette actualité ? Signalez-nous-la !