Pour gérer vos consentements :
Categories: Microservices

Azure Functions : sans serveur, mais pas sans faille ?

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.

Azure Functions : des conteneurs à haut privilège

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

Recent Posts

Pour son premier LLM codeur ouvert, Mistral AI choisit une architecture alternative

Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…

5 heures ago

Microsoft x Inflection AI : l’autorité de la concurrence britannique lance son enquête

L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…

7 heures ago

Thomas Gourand, nouveau Directeur Général de Snowflake en France

Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…

9 heures ago

Accord Microsoft-CISPE : comment Google a tenté la dissuasion

Pour dissuader le CISPE d'un accord avec Microsoft, Google aurait mis près de 500 M€…

9 heures ago

Vers des mises à jour cumulatives intermédiaires pour Windows

Pour réduire la taille des mises à jour de Windows, Microsoft va mettre en place…

10 heures ago

RH, finances, stratégie… Les complexités de la Dinum

De l'organisation administrative à la construction budgétaire, la Cour des comptes pointe le fonctionnement complexe…

1 jour ago