Dans un article précédent de notre série de blogs DevSecOps, nous avons parlé du potentiel des logiciels malveillants présents dans le code source et les artefacts de construction, et de la façon dont les équipes peuvent sécuriser leur pipeline de construction de logiciels à l'aide de MetaDefender pour Jenkins. Poursuivant le thème de la sécurité DevOps dans ce blog, je vais montrer comment utiliser MetaDefender pour Jenkins afin de détecter les logiciels malveillants et les vulnérabilités dans les images Docker.
Infrastructures de Container : Extension de la surface d'attaque de Supply Chain
Les microservices et les conteneurs ont connu une croissance considérable. Grâce à sa légèreté et à sa rapidité de déploiement, la technologie des conteneurs continuera à se développer à l'avenir. Cependant, les conteneurs abritent aussi le plus souvent des logiciels obsolètes et vulnérables. Des acteurs malveillants ont tiré parti de cette plateforme de construction automatique pour créer des campagnes d'attaque de la chaîne d'approvisionnement, mettant en danger les organisations cibles et les parties qui leur sont associées.
Une analyse de 4 millions d'images publiques sur Docker Hub a révélé les risques cachés des conteneurs. La moitié de ces images (51 %) contenaient au moins une vulnérabilité critique et 13 % présentaient des vulnérabilités de haute sévérité. Plus de 6 400 images ont été considérées comme malveillantes car elles contiennent des mineurs de crypto-monnaie, des paquets Node Package Manager (NPM) malveillants, des outils de piratage et des logiciels malveillants.
Dans un autre cas, les attaquants ont utilisé des images Docker pour le cryptomining. Cinq images malveillantes ont été tirées plus de 120 000 fois en 2021. La campagne faisait appel au typosquattage, une technique d'obscurcissement qui utilise des titres mal orthographiés ou trompeurs tels que "openjdk" et "golang" à la place des images officielles "OpenJDK" et "Golang" dans Docker Hub. L'objectif était d'inciter la victime à déclencher le binaire xmrig - un cryptomineur Monero qui peut être utilisé pour détourner les ressources des organisations.
Docker est l'une des plateformes de conteneurisation les plus populaires, adoptée par 7 millions d'utilisateurs, avec 7 millions de dépôts et 242 milliards de pulls créés en 2020. Il est grand temps que les organisations considèrent sérieusement la protection des infrastructures de conteneurs comme l'une de leurs meilleures pratiques en matière de cybersécurité.
Surmonter les risques dans les images Docker
La meilleure approche pour éviter les téléchargements accidentels d'images illégitimes est d'adopter le modèle de sécurité "zéro confiance". Tous les fichiers doivent être considérés comme des risques potentiels et faire l'objet d'une analyse approfondie afin de détecter les menaces dès le départ.
Une façon de le faire est d'utiliser un outil d'analyse des vulnérabilités tel que le Docker Scan natif ou une alternative similaire. Mais si vous ne disposez pas de telles solutions, vous pouvez enregistrer votre image Docker en tant que fichier d'archive, puis l'envoyer à un service d'analyse.
Une autre méthode simple consiste à analyser vos images Docker avec le plugin MetaDefender for Jenkins.

Détecter les logiciels malveillants et les vulnérabilités avec MetaDefender pour Jenkins
Dans un premier temps, j'ai créé une configuration de build scan avec une étape de build en ligne de commande comme ci-dessous. L'étape de compilation vérifie une image Docker et l'enregistre sous la forme d'un fichier TAR. À des fins de démonstration, j'ai utilisé une image Docker contenant un fichier EICAR.

Ensuite, j'ai ajouté une étape de construction pour scanner l'image enregistrée avec MetaDefender Core , puis j'ai lancé la construction.

Dès que la construction a été terminée, MetaDefender a détecté un logiciel malveillant dans l'image Docker.

J'ai cliqué sur l'URL pour voir les résultats détaillés sur MetaDefender Core .

Voir cette vidéo pour une démonstration complète :
À propos de OPSWAT MetaDefender pour Jenkins
OPSWAT MetaDefender for Jenkins aide les organisations à sécuriser leur cycle de vie de développement Software (SDLC). Le plugin vérifie la présence de malwares et de secrets dans vos builds avant de diffuser l'application au public, afin de prévenir les attaques sur les chaînes d'approvisionnement en logiciels. MetaDefender for Jenkins s'appuie sur toutes les capacités de la plateforme MetaDefender , y compris Metascan, Deep CDR, Proactive DLPet l'évaluation des vulnérabilités - pour analyser l'ensemble du code source, des artefacts et des dépendances à la recherche de menaces et de vulnérabilités. En savoir plus sur MetaDefender for Jenkins et les autres outils gratuits d'OPSWAT .
Pour plus d'informations, veuillez contacter nos experts en cybersécurité.