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

Open Compute Project : les datacenters partagent des bonnes pratiques pour l’environnement

OVHCloud partage ses efforts environnementaux au sommet de l’Open Compute Project qui se tient à…

7 heures ago

Phi-3-mini : Microsoft lance son premier SLM

Avec Phi-3-mini, Microsoft lance un SLM conçu pour attirer une clientèle disposant de ressources financières…

8 heures ago

Apple : l’UE serait prête à approuver son plan pour ouvrir l’accès NFC

La Commission européenne serait sur le point d'approuver la proposition d'Apple visant à fournir à…

10 heures ago

IA et services publics : le gouvernement mise sur Albert et Aristote

Le Premier ministre a précisé les usages de l'IA dans les services de l'administration et…

10 heures ago

Meta Horizon OS sera-t-il le Windows ou l’Android de la VR ?

Sous la marque Horizon OS, Meta va ouvrir le système d'exploitation des casques Quest à…

1 jour ago

Treize ans après, fin de parcours pour Women Who Code

Après avoir essaimé dans 145 pays, la communauté de femmes de la tech Women Who…

1 jour ago