Aujourd’hui, Docker Hub héberge près de 3,5 millions d’images de conteneurs.

Les conteneurs sont depuis quelques années un modèle très populaire de virtualisation de l’informatique.

Au lieu de placer plusieurs machines virtuelles au-dessus d’un hyperviseur sur un serveur physique, chacune intégrant l’entièreté du système d’exploitation, on utilise des conteneurs, qui intègrent juste une application et toutes ses dépendances, hébergées par un hôte.

Il s’agit donc d’une virtualisation plus légère et plus rapide, qui serait idéale pour l’intégration et la livraison continue (CI/CD), l’organisation des microservices, et qui simplifierait le cycle de vie des développements de systèmes.

Avec Docker, la popularité des conteneurs a crû exponentiellement.

L’analyse de la sécurité d’un système de conteneurs est composée de deux parties : celle de l’hôte et celle des images.

Katrine Wist, Malene Helsem et Danilo Gligoroski du département de la sécurité informatique et de la technologie de la communication de l’Université de Science et de Technologie de Norvège (NTNU), ont mené une recherche sur la deuxième partie : la sécurité des images, et publié leur recherche : Vulnerability Analysis of 2 500 Docker Hub Images.

Ils ont analysé un échantillon de 2 500 images de conteneurs hébergés sur Docker Hub.

Ils ont trouvé que seulement 17,8 % des images ne contenaient aucune vulnérabilité de sécurité connue…

Pire encore, ils ont découvert que les images certifiées étaient moins sûres en considérant la médiane, que les images de la communauté (toute personne avec un DockerID, un identifiant gratuit).

Les images certifiées ciblent les entreprises et sont censées être sûres. Elles sont supposées suivre les meilleures pratiques, avoir passé avec succès une suite de tests fonctionnels ainsi qu’une évaluation des risques de vulnérabilité.

Pourtant, jusqu’à 82 % des images certifiées de l’échantillon analysé contenait au moins une vulnérabilité d’importance haute, voire critique.

Sans surprise, les images officielles, c’est-à-dire celles pour lesquelles Docker se tient garant, sont celles qui contiennent le moins de vulnérabilité.

Toutefois, 45 % d’entre elles étaient affectées par des vulnérabilités de sécurité haute ou critique, ce qui semble inacceptable.

Un pourcentage qui s’élève à 68 % pour les images de la communauté, et à 57 % pour les images vérifiées, la dernière catégorie : des images d’éditeurs de logiciels, approuvées par Docker.

Les chercheurs montrent aussi que les cinq vulnérabilités les plus critiques proviennent de deux des langages de script les plus populaires: JavaScript et Python.

Ces résultats semblent confirmer l’intuition : quand la philosophie de développement est de publier aussi souvent que possible des mises à jour d’applications, il semble bien difficile de s’assurer de la cybersécurité. De même, la popularité des langages de script est due à la rapidité du développement et à l’absence de contraintes de programmation telle que la vérification des types.