
Pour la petite histoire, le protocole de contexte de modèle (MCP) est une norme universelle créée par la firme d'IA Anthropic. Il est conçu pour connecter les modèles d'IA, en particulier les grands modèles de langage (LLM), avec des sources de données et des outils externes de manière transparente, sécurisée et efficace. Il résout un gros problème auquel les modèles d'IA sont souvent confrontés, à savoir qu'ils disposent des connaissances limitées confinées à leurs données d'entraînement et qu'ils ne peuvent pas accéder par eux-mêmes à des informations en temps réel ou personnalisées.
Les assistants IA sont les clients MCP et les différentes sources de données sont les serveurs MCP. Ces serveurs peuvent être différents types de données, notamment des courriels, des calendriers, un stockage cloud, des référentiels de code ou des bases de données. Le MCP normalise la façon dont le client et le serveur communiquent, ce qui permet aux modèles d'IA d'obtenir des informations en temps réel de manière standard.
Microsoft a déclaré que le MCP ouvre de nombreuses possibilités, mais qu'il existe des problèmes de sécurité potentiels, de sorte qu'il a élaboré l'architecture de sécurité du MCP dans les protocoles de Windows 11 pour garantir la sécurité.
Tout d'abord, Microsoft veillera à ce que tous les développeurs de serveurs MCP respectent un ensemble d'exigences de sécurité de base afin de garantir la sécurité des utilisateurs. Ensuite, Microsoft veillera à ce que les utilisateurs aient le contrôle total de toutes les opérations sensibles en matière de sécurité effectuées en leur nom. Enfin, Microsoft appliquera le principe du moindre privilège pour limiter l'impact des attaques potentielles sur les serveurs MCP.
Qu'est-ce que MCP ?
Le MCP est un protocole léger et ouvert - essentiellement JSON-RPC sur HTTP - qui permet aux agents et aux applications de découvrir et d'invoquer des outils de manière standardisée. Il permet une orchestration transparente entre les services locaux et distants, ce qui permet aux développeurs de ne construire qu'une seule fois et d'intégrer partout.
Le MCP définit trois rôles :
- Hôtes MCP : Des applications comme VS Code, ou d'autres outils d'IA qui veulent accéder à des capacités via MCP.
- Clients MCP : Les clients qui initient des requêtes vers les serveurs MCP.
- Serveurs MCP : Services légers qui exposent des capacités spécifiques (par exemple, l'accès au système de fichiers, la recherche sémantique, les actions de l'app) via l'interface MCP.
Selon Microsoft, Windows 11 offrira un support aux développeurs qui souhaitent utiliser les capacités du MCP et de l'IA générative pour construire des applications centrées sur l'IA générative et l'intelligence qui peuvent exploiter le MCP le cas échéant pour prendre des mesures au nom de l'utilisateur. « Nous fournirons un premier aperçu des capacités de la plateforme MCP aux développeurs dans les mois à venir à des fins de retour d'expérience », précise l'entreprise.
Pourquoi la sécurité est importante
Microsoft indique que le MCP ouvre de nouvelles possibilités puissantes, mais qu'il introduit également de nouveaux risques. En l'absence de contrôles solides, un serveur MCP, par exemple, pourrait exposer des fonctionnalités sensibles, être mal configuré pour permettre un accès à distance ou être exploité par de nombreux moyens d'attaques, y compris de nouvelles formes telles que l'injection d'invite ou l'empoisonnement d'outils.
Selon la société, du point de vue de la sécurité, les données d'entrée et de formation d'un LLM sont considérées comme non fiables. En outre, l'injection d'invites croisées peut permettre aux attaquants d'inclure des données d'invite non fiables et de mener à bien une attaque d'adjoint confus.
« Dans le cas d'une simple application de chat, les implications d'une injection d'invite pourraient être un jailbreak ou une fuite de données de mémoire, avec le MCP les implications pourraient être une exécution complète de code à distance - l'attaque de la plus haute sévérité », précise l'entreprise.
Microsoft déclare avoir utilisé des recherches internes et externes en matière de sécurité pour identifier plusieurs vecteurs de menace émergents qui doivent être pris en compte dans une architecture agentique sécurisée. Ces menaces comprennent :
- Injection d'invites croisée (XPIA) : Un contenu malveillant intégré dans des éléments ou des documents de l'interface utilisateur peut remplacer les instructions de l'agent, ce qui entraîne des actions involontaires telles que l'exfiltration de données ou l'installation de logiciels malveillants.
- Lacunes en matière d'authentification : Les normes actuelles du MCP en matière d'authentification sont nouvelles et adoptées de manière incohérente. OAuth est facultatif et des approches ad hoc émergent.
- Fuite d'informations d'identification : Les agents fonctionnant avec tous les privilèges de l'utilisateur risquent d'exposer des jetons ou des informations d'identification sensibles.
- Empoisonnement des outils : Les serveurs MCP non vérifiés ou de faible qualité peuvent exposer des fonctionnalités dangereuses ou être utilisés pour escalader les privilèges.
- Absence de confinement : Sans isolation, un agent compromis peut affecter l'ensemble de la session de l'utilisateur ou du système.
- Examen limité de la sécurité : De nombreux serveurs sont développés rapidement avec un examen minimal de la sécurité, ce qui augmente le risque de vulnérabilités.
- Risques liés au registre et à la chaîne d'approvisionnement des MCP : Sans contrôle, un registre public de serveurs MCP pourrait devenir un vecteur de logiciels malveillants ou d'abus.
- Injection de commande : Des entrées mal validées dans le serveur MCP peuvent conduire à l'exécution de commandes arbitraires.
Selon l'entreprise, la norme MCP et la sécurité liée à l'IA constituent un domaine de recherche en constante évolution. « L'objectif de Windows 11 en tant que système d'exploitation agentique est de fournir les capacités de sécurité fondamentales les plus solides tout en évoluant et en s'adaptant aux menaces émergentes. »
Architecture de sécurité du MCP dans Windows 11
Conformément à l'engagement pris par Microsoft dans le cadre de l'initiative Secure Future, la sécurité est sa priorité absolue dans le cadre de l'extension des capacités MCP. Selon la société, l'architecture de sécurité MCP dans Windows 11 fournit des capacités de sécurité fondamentales basées sur les principes suivants :
- Fournir un ensemble de base d'exigences de sécurité que tous les développeurs de serveurs MCP doivent respecter pour aider à assurer la sécurité des utilisateurs. Selon Microsoft, Windows 11 vise à fournir un écosystème ouvert et diversifié de serveurs tout en gardant la sécurité des utilisateurs comme priorité absolue. Cela signifie qu'il faut s'assurer que chaque serveur répond aux exigences de sécurité, qu'il possède une identité unique et que le code est signé pour permettre la validation de la provenance et la révocation en cas de besoin.
- Fournir à l'utilisateur le contrôle de toutes les opérations sensibles en matière de sécurité effectuées en son nom. Selon Microsoft, lorsque des agents travaillent pour le compte de l'utilisateur, leur champ d'action et leurs opérations doivent être transparents pour l'utilisateur, et les opérations sensibles telles que les modifications de l'état du système d'exploitation, l'accès aux données et aux informations d'identification doivent être mises en évidence. Toutes les actions sensibles effectuées pour le compte de l'utilisateur doivent donc être vérifiables et transparentes.
- Appliquer le principe du moindre privilège pour limiter l'impact de toute attaque éventuelle sur un serveur MCP. Windows 11 impose des capacités déclaratives et l'isolation (le cas échéant) pour les serveurs afin de limiter le rayon d'action et l'impact des attaques sur le MCP.
Contrôles de sécurité du MCP
Pour tenir ces promesses, Microsoft indique que Windows 11 fournira les contrôles de sécurité suivants :
- Communication par proxy : Toutes les interactions client-serveur du MCP sont acheminées via un proxy Windows de confiance, ce qui permet une application centralisée des politiques et des consentements. Cela inclut la possibilité d'appliquer l'authentification et l'autorisation de manière centralisée et cohérente, ce qui répond à l'un des principaux défis posés par le protocole MCP. Cela permet également un audit transparent de toutes les opérations en cours et fournit un point central où les solutions de sécurité peuvent observer et répondre aux attaques potentielles.
- Autorisation au niveau de l'outil : Les utilisateurs doivent approuver explicitement chaque paire client-outil, la prise en charge de la granularité par ressource aidant à respecter le principe du maintien du contrôle par l'utilisateur.
- Registre central des serveurs : Seuls les serveurs MCP répondant à des critères de sécurité de base seront disponibles dans le registre Windows, ce qui permet de les découvrir sans compromettre la confiance.
- Isolation de l'exécution : Les exigences des serveurs MCP mettront en œuvre le principe du moindre privilège appliqué par des mécanismes tels que l'isolement et les autorisations granulaires. Cela permettra à l'utilisateur de contrôler les privilèges accordés à un serveur MCP au moyen d'un modèle déclaratif et de limiter le « rayon d'action » de toute attaque potentielle contre un serveur MCP spécifique.
Exigences de sécurité pour les serveurs MCP
Selon Microsoft, les serveurs MCP devront répondre à une série d'exigences de sécurité de base afin d'apparaître dans le registre des serveurs MCP de Windows 11 :
- La signature obligatoire du code pour établir la provenance et permettre la révocation.
- La définition des outils des serveurs ne peut pas être modifiée au moment de l'exécution.
- Test de sécurité des interfaces exposées
- Identité obligatoire des paquets
- Les serveurs doivent déclarer les privilèges dont ils ont besoin
« Ces exigences permettront d'éviter des...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.