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

Publié les résultats des tests des outils de détection des vulnérabilités non corrigées et des problèmes de sécurité dans les images de conteneurs Docker isolés. Le contrôle a révélé que dans 4 des 6 scanners d'images Docker connus, des vulnérabilités critiques permettaient d'attaquer directement le scanner lui-même et d'exécuter son propre code dans le système, dans certains cas (comme avec Snyk) avec des privilèges root.

Pour l'attaque, un attaquant n'a besoin que d'initier la vérification de son Dockerfile ou manifest.json, incluant des métadonnées spécialement conçues, ou de placer des fichiers Podfile et gradlew à l'intérieur de l'image. Des prototypes d'exploits ont été préparés pour les systèmes
WhiteSource, Snyk,
Fossa et
Anchore. Le meilleur niveau de sécurité a été observé avec le paquet Clair, initialement écrit avec une attention particulière à la sécurité. Aucun problème n'a également été identifié dans le paquet Trivy. En conclusion, il a été établi que les scanners de conteneurs Docker doivent être exécutés dans des environnements isolés ou utilisés uniquement pour vérifier ses propres images, et il faut également faire preuve de prudence lors de la connexion de tels outils aux systèmes d'intégration continue automatisés.

Dans FOSSA, Snyk et WhiteSource, la vulnérabilité était liée à l'appel d'un gestionnaire de paquets externe pour déterminer les dépendances, et permettait d'exécuter son propre code en indiquant les commandes touch et system dans les fichiers gradlew et Podfile.

Dans Snyk et WhiteSource, de plus ont été trouvés une vulnérabilité, liés à l'organisation de l'exécution des commandes système lors de l'analyse du Dockerfile (par exemple, dans Snyk, il était possible de remplacer l'outil /bin/ls appelé par le scanner, tandis que dans WhiteSource, il était possible d'injecter du code via des arguments sous forme 'echo ';touch /tmp/hacked_whitesource_pip;=1.0').

Dans Anchore, la vulnérabilité était causée par l'utilisation de l'outil skopeo pour travailler avec des images docker. L'exploitation consistait à ajouter dans le fichier manifest.json des paramètres du type ‘"os": "$(touch hacked_anchore)"‘, qui sont insérés lors de l'appel de skopeo sans un échappement approprié (seuls les caractères «;&» étaient supprimés, mais la construction «$()» était autorisée).

Le même auteur a mené une étude sur l'efficacité de la détection des vulnérabilités non corrigées par les scanners de sécurité des conteneurs docker et le niveau de faux positifs (partie 1, partie 2, partie 3). Les résultats des tests de 73 images, contenant des vulnérabilités connues, sont présentés ci-dessous, ainsi qu'une évaluation de l'efficacité de la détection des applications standards dans les images (nginx, tomcat, haproxy, gunicorn, redis, ruby, node).

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

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

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster