Skip to main content

Analyser les images de conteneur ARM avec Snyk

Écrit par
container scans

1 octobre 2020

0 minutes de lecture

Les systèmes basés sur ARM gagnent en popularité auprès des développeurs, pour les usages liés à l’edge et à l’IoT, mais aussi pour certains usages serveur, comme les instances AWS Graviton Amazon EC2. Docker propose un ensemble d’outils toujours plus flexible pour créer des images de conteneur destinées à plusieurs architectures. Mais comment savoir si ces images sont sécurisées ?

Aider les développeurs ARM à sécuriser leurs conteneurs

Snyk prend désormais en charge l’analyse des images Docker conçues pour ARM (ou, en fait, pour toute autre plateforme). Si le tag concerné est uniquement conçu pour ARM, il suffit de pointer le Snyk CLI vers l’image comme d’habitude :

snyk container test arm64v8/debian

Certaines images Docker prennent toutefois en charge plusieurs plateformes à l’aide de listes de manifestes. Découvrez comment elles sont créées et publiées depuis Docker.

Page Docker Hub de la dernière balise de l’image Debian, répertoriant les systèmes d’exploitation Linux et les architectures avec leurs tailles compressées.
Docker Hub affichant le système d’exploitation et l’architecture associés à un tag

Avec une image comme celle ci-dessus, vous pouvez préciser la plateforme à tester à l’aide de l’option --platform. Voici un exemple de test de l’image debian depuis Docker Hub :

$ snyk container test --platform=linux/arm64 debian
…
✗ Medium severity vulnerability found in gcc-8/libstdc++6
  Description: Information Exposure
  Info: https://snyk.io/vuln/SNYK-DEBIAN10-GCC8-347558
  Introduced through: gcc-8/libstdc++6@8.3.0-6, apt@1.8.2.1, meta-common-packages@meta
  From: gcc-8/libstdc++6@8.3.0-6
  From: apt@1.8.2.1 > gcc-8/libstdc++6@8.3.0-6
  From: apt@1.8.2.1 > apt/libapt-pkg5.0@1.8.2.1 > gcc-8/libstdc++6@8.3.0-6
  and 2 more...

✗ High severity vulnerability found in gnutls28/libgnutls30
  Description: Out-of-bounds Write
  Info: https://snyk.io/vuln/SNYK-DEBIAN10-GNUTLS28-609778
  Introduced through: gnutls28/libgnutls30@3.6.7-4+deb10u5, apt@1.8.2.1
  From: gnutls28/libgnutls30@3.6.7-4+deb10u5
  From: apt@1.8.2.1 > gnutls28/libgnutls30@3.6.7-4+deb10u5
Organization:      garethr
Package manager:   deb
Project name:      docker-image|debian
Docker image:      debian
Licenses:          enabled

Tested 92 dependencies for known issues, found 54 issues.

Utiliser les informations de plateforme dans Snyk

Les informations sur la plateforme sont également disponibles dans la page de projet Snyk si vous importez des images ARM depuis un registre de conteneurs comme ACR, Docker Hub, ECR ou GCR, ou si vous ajoutez une image à suivre par Snyk à l’aide de snyk container monitor. Vous pouvez consulter la plateforme dans les métadonnées du projet.

Capture d’écran d’une page de détails de projet logiciel indiquant Docker Hub comme source, Debian 10 comme système d’exploitation cible et Linux/ARM64 comme plateforme

Les informations sur la plateforme sont également disponibles pour les clients dans l’API Snyk. Lorsque vous récupérez un projet d’image de conteneur, l’attribut imagePlatform contenant la plateforme doit apparaître.

Capture d’écran montrant un champ de plateforme d’image pour des projets Docker, avec la valeur « linux/arm64 ».

Étapes suivantes

Chez Snyk, nous sommes très intéressés de voir comment les développeurs adopteront la plateforme ARM dans les prochaines années. Nous chercherons d’autres moyens de les aider à créer des images Docker sécurisées, quelle que soit la plateforme choisie.

Essayez les nouvelles fonctionnalités ARM présentées ci-dessus en téléchargeant la dernière version du Snyk CLI.

Lancez-vous dans les compétitions Capture The Flag

Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.