Vulnérabilités dans les scanners de sécurité pour les images de conteneurs Docker

Publié résultats des outils de test pour identifier les vulnérabilités non corrigées et identifier les problèmes de sécurité dans les images de conteneurs Docker isolées. L'audit a montré que 4 des 6 scanners d'images Docker connus contenaient des vulnérabilités critiques qui permettaient d'attaquer directement le scanner lui-même et d'exécuter son code sur le système, dans certains cas (par exemple, lors de l'utilisation de Snyk) avec les droits root.

Pour attaquer, un attaquant doit simplement lancer une vérification de son Dockerfile ou manifest.json, qui inclut des métadonnées spécialement conçues, ou placer les fichiers Podfile et gradlew à l'intérieur de l'image. Exploiter des prototypes réussi à préparer pour systèmes
Source blanche, Snyk,
Fosse и
Ancre. Le colis présentait la meilleure sécurité Clair, initialement écrit dans un souci de sécurité. Aucun problème n'a été identifié dans le colis non plus. Anecdote. En conséquence, il a été conclu que les scanners de conteneurs Docker devaient être exécutés dans des environnements isolés ou utilisés uniquement pour vérifier leurs propres images, et qu'il fallait faire preuve de prudence lors de la connexion de ces outils à des systèmes d'intégration continue automatisés.

Dans FOSSA, Snyk et WhiteSource, la vulnérabilité était associée à l'appel d'un gestionnaire de packages externe pour déterminer les dépendances et permettait d'organiser l'exécution de votre code en spécifiant les commandes tactiles et système dans des fichiers Gradlew и Fichier de pod.

Snyk et WhiteSource avaient également a trouvé vulnérabilités, liée avec l'organisation du lancement de commandes système lors de l'analyse d'un Dockerfile (par exemple, dans Snyk, via Dockefile, il était possible de remplacer l'utilitaire /bin/ls appelé par le scanner, et dans WhiteSurce, il était possible de remplacer le code via des arguments dans la forme « echo ';touch /tmp/hacked_whitesource_pip;=1.0 ′").

Vulnérabilité d'ancrage a été appelé en utilisant l'utilitaire Skopeo pour travailler avec des images Docker. L'opération se résumait à ajouter des paramètres comme '"os": "$(touch hacked_anchore)"' au fichier manifest.json, qui sont remplacés lors de l'appel de skopeo sans échappement approprié (seuls les caractères ";&<>" ont été coupés, mais la construction "$( )").

Le même auteur a mené une étude sur l'efficacité de l'identification des vulnérabilités non corrigées à l'aide des scanners de sécurité des conteneurs Docker et sur le niveau de faux positifs (Partie 1, Partie 2, Partie 3). Vous trouverez ci-dessous les résultats du test de 73 images contenant des vulnérabilités connues et évaluons également l'efficacité de la détermination de la présence d'applications typiques dans les images (nginx, tomcat, haproxy, gunicorn, redis, ruby, node).

Vulnérabilités dans les scanners de sécurité pour les images de conteneurs Docker

Vulnérabilités dans les scanners de sécurité pour les images de conteneurs Docker

Source: opennet.ru

Ajouter un commentaire