Une faille de sécurité exploité dans une infrastructure docker.
Cette semaine, une équipe de recherche en cyber sécurité a découvert un nouveau type d’attaque contre une infrastructure de conteneurs. Le cybercriminel exploite un port utilisé par les API de Docker pour construire et exécuter une image illicite directement dans l’hôte.
[bctt tweet=”Docker : Un cybercriminel exécute une image illicite directement dans l’hôte” username=”tedidevblog”]
D’abord c’est quoi Docker ?
Docker est une plateforme logiciel qui permet de facilement gérer des conteneurs dans un système. Un conteneur est un environnement isolé du système d’exploitation ( linux, windows , macOs) qui permet d’émuler les bibliothèques, les systèmes de fichiers et surtout les processus d’un système d’exploitation. En informatique on s’en sert beaucoup pour créer des infrastructures logiciel sans influencer l’environnement de développement principale.
En gros, si virtualbox et vmware sont des logiciels permettant virtualiser les systèmes d’exploitation sur une même machine , Docker , pour être le moins rigoureux possible, est un logiciel permettant de virtualiser les logiciels.
C’est quoi l’intérêt de virtualiser un logiciel ?
Chez les développeurs , on peut créer une infrastructure de test automatique et de déploiement de codes dans une seule machine. En temps normal on aurait besoins d’acheter des serveurs, des équipements puis de passer la journée à le configurer. Grâce à docker , on peut créer plusieurs conteneurs dont chacun se comporte comme un équipement avec un rôle précis. Puis virtuellement il communique et travaille de concert.
Parfois dans le travail de développement il faut installer des outils de base de données pour mieux tester le programme. Ces outils peuvent être complexe assez complexe à installer pour qu’on le désinstalle quand on a fini puis on répète le processus d’installation quand le besoins revient. Avec docker, il suffit de rechercher l’image de l’outil en question et créer un container à partir de cette dernière. Une image de container est comme la sauvegarde de l’environnement fonctionnelle. Créer un container à partir de son image revient à restaurer simplement l’image.
On parlera de long en large de Docker dans les prochains articles. Maintenant qu’on comprend un peu, voyons comment la faille de ce système a pu être exploité.
Description de la cyberattaque en exploitant l’API de Docker
L’équipe de recherche en cybersécurité d’Aqua a découvert un nouveau type d’attaque contre l’infrastructure de conteneurs. L’attaquant exploite un port API Docker mal configuré afin de créer et d’exécuter une image de conteneur illicite sur l’hôte. C’est la première fois selon l’équipe qu’une attaque dans laquelle l’attaquant crée une image plutôt que de la retirer d’un registre public est observée dans la nature.
D’habitude les attaques de pirates précédemment observés ont pour principe général de détourner des ressources de l’hôte. Cela se faisait en exécutant un mineur de crypto-monnaie, en lançant une attaque par déni de service réseau contre d’autres hôtes, ou pire, en s’échappant du conteneur et en s’étendant sur le réseau de l’hôte.
Pour prévenir et combattre ce type d’attaque, le système de défense, en revanche, peut numériser les images et réagir en fonction des résultats, ou restreindre la communication avec une source ou un registre suspect.
Dans le cas actuellement découvert, l’attaquant n’a pas extrait une image d’une source distante mais l’a construite directement sur l’hôte ciblé afin de contourner ses mécanismes de défense. De plus, l’attaquant peut ainsi augmenter la persistance de son infrastructure en la construisant directement sur l’hôte. Puisque l’image n’est stockée nulle part, personne ne sera capable de le supprimer et encore moins le voir. De plus, le nom de l’image et éventuellement son ID sont générés aléatoirement et est probablement uniques à chaque hôte. Cela complique la tâche pour les défenseurs d’ajouter l’image à une liste restreinte afin de la retenir. Par conséquent, disposer d’informations préliminaires de cette image ou son identifiant serait inefficace.
Cependant, l’utilisation d’un analyseur DTA (Dynamic Threat Analysis) qui recherche des modèles de comportement peut aider les défenseurs à détecter ce type d’attaques. De plus, cette technique souligne l’importance d’une cadence de balayage dynamique continue dans les environnements natifs du cloud.
Dans le schema ci dessous, voici comment l’attaquant procède:
Si vous avez aimé ce post , n’hésitez pas à vous abonner à notre Newsletter pour avoir plus de contenus exclusifs et surtout profiter des bons plans.
Restons en contact !