Danger pour la sécurité d’Azure Functions ? Microsoft a estimé que non, malgré la démonstration que lui ont faite des chercheurs.
Ces derniers sont parvenus à « s’échapper » du conteneur hébergeant une fonction… et à remonter vers l’hôte Docker. La vidéo ci-dessous illustre la phase terminale de la démarche : le listage des processus en cours sur ledit hôte.
Les chercheurs ont exploité une fonction sur laquelle ils avaient la main. Ils y ont d’abord injecté un shell inversé pour permettre la connexion à un serveur sous leur contrôle. Deuxième étape : l’ajout d’outils parmi lesquels nmap. Celui-ci a permis de détecter plusieurs ports ouverts. Et trois processus associés : NGINX, MSI et Mesh.
Le premier de ces composants, open source et largement documenté, ne présentait pas de failles connues. Les deux autres, propriétaires, avaient plus de chances d’être vulnérables. Mais ils se trouvaient dans des dossiers nécessitant un accès root.
MSI (Managed Service Identity) assure une gestion automatisée des identités. Il s’est avéré plus difficile de déterminer à quoi servait Mesh. Les chercheurs ont pu trouver des informations dans les journaux de build d’une image Docker stockée dans un registre appartenant à un employé de Microsoft.
Les chercheurs ont téléchargé cette image et en ont fait un conteneur dont ils ont extrait Mesh. En explorant le binaire, ils ont repéré des capacités nécessitant des privilèges. Entre autres, une destinée à monter un système de fichiers. Ils ont réussi à l’invoquer par le biais d’un serveur HTTP local. Et ainsi à monter un système de fichiers de leur cru. Sa cible : le répertoire /etc/sudoers.d. Son contenu : de quoi obtenir les privilèges de niveau root.
Cela fait, les chercheurs ont analysé les capacités des différents processus exécutés dans le conteneur. Ils en ont conclu que celui-ci disposait du drapeau –privileged. En y associant leurs droits root et une technique d’« échappatoire » connue de longue date, ils ont pu exécuter la commande ps (listage des processus) sur l’hôte Docker.
Microsoft considère que cette démonstration ne met pas Azure Functions en danger. La raison : elle n’atteint pas le « bout de la chaîne ». L’hôte Docker est, en l’occurrence, lui-même un invité, exécuté dans un environnement Hyper-V.
Illustration principale © GKSD – Fotolia
Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…
L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…
Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…
Pour dissuader le CISPE d'un accord avec Microsoft, Google aurait mis près de 500 M€…
Pour réduire la taille des mises à jour de Windows, Microsoft va mettre en place…
De l'organisation administrative à la construction budgétaire, la Cour des comptes pointe le fonctionnement complexe…