Images de base vulnérables

Images de base vulnérables

Vos dépendances sont examinées. Le système d'exploitation en dessous ne le fait pas.

Qu'est-ce que Images de base vulnérables?

Les dépendances des applications sont examinées à chaque modification. Ce n’est souvent pas le cas de la couche du système d’exploitation située en dessous. Une balise flottante comme node:18 signifie que la couche sous votre code change chaque fois que le registre sert quelque chose de nouveau et que des failles sont découvertes au fil du temps, donc une image propre au moment de l'expédition peut maintenant être critique. Vous analyserez une image de service obsolète, rechercherez CVE-2023-4863 dans libwebp et la transformerez en exécution de code à distance. Ensuite, vous épinglerez la base sur un résumé exact, la reconstruction et la nouvelle analyse. L’épinglage a un coût : il nécessite une cadence de reconstruction délibérée.

Ce que vous apprendrez dans Images de base vulnérables

Images de base vulnérables — Étapes de la formation

  1. L'image du planificateur dans le registre

    Bob dispose d'un accès en lecture au registre de conteneurs de Bremhollow grâce à un jeton robot divulgué. Il ne regarde pas le code — il regarde à quel point les images sont récentes, car un service qui n'a pas été reconstruit depuis un moment est un service dont l'image de base a discrètement vieilli. Le planificateur traite les images téléversées, ce qui rend ce sur quoi il est construit très intéressant à ses yeux. Ouvrez sa page et voyez ce que dit le registre.

  2. Une image qui a cessé d'évoluer

    Le registre n'a pas besoin d'être erroné pour aider Bob. Une seule ligne lui apprend que l'image déployée est ancienne et construite sur une base flottante.

  3. Scanner la base à la recherche d'une entrée

    Bob récupère l'image et exécute dessus un scanner de vulnérabilités, le même outil qu'utiliserait un défenseur. Il ne s'intéresse pas au code applicatif. Il veut une vulnérabilité connue et publiée dans les paquets du système d'exploitation que l'image de base a entraînés avec elle, car celles-ci s'accompagnent d'exploits fonctionnels.

  4. Transformer la CVE en shell

    Un constat de scanner n'est pas un exploit tant que personne ne l'exécute. CVE-2023-4863 dispose d'une preuve de concept publique : un WebP conçu sur mesure qui fait déborder libwebp au moment où il est décodé. Le planificateur décode chaque image téléversée, donc Bob monte le fichier PoC dans une exécution jetable de l'image vulnérable et le décode — prouvant que le constat est une voie d'exécution de code à distance fonctionnelle avant même de toucher à la production.

  5. Où se trouve la vulnérabilité

    Un temps d'arrêt sur le mécanisme avant que la réponse ne commence.

  6. Le scanner signale la flotte

    Bremhollow a ajouté le scan d'images à son pipeline, et le premier balayage complet de ce qui tourne déjà en production a révélé quelque chose qui ne peut pas attendre.

  7. Constatez-le par vous-même

    Avant de modifier quoi que ce soit, Alice exécute le même scan sur l'image déployée. Elle veut voir le constat, où il se situe, et quelle est réellement la base.

  8. Ouvrir le Dockerfile

    L'image de base est choisie dans une seule ligne du Dockerfile. Tout ce que le scanner a trouvé est arrivé par cette ligne.

  9. Trouver la base flottante

    Rien n'est mal orthographié ou malformé ici. Le problème est une seule ligne qui en dit moins qu'elle ne le devrait.

  10. Épingler la base par digest

    Un tag est une étiquette que l'on peut déplacer ; un digest est l'empreinte du contenu de l'image et ne peut jamais pointer vers autre chose. Alice épingle la base à un node:18 slim exact et à jour, par son digest, de sorte que chaque build à partir de maintenant récupère les mêmes octets audités, et déplacer cette épingle devient un changement délibéré et vérifiable.

Couverture des référentiels de sécurité

CWE

  • CWE-1104 Use of Unmaintained Third Party Components
  • CWE-1395 Dependency on Vulnerable Third-Party Component

MITRE ATT&CK

  • T1190 Exploit Public-Facing Application

CIS Controls

  • CIS 7 Continuous Vulnerability Management
  • CIS 2 Inventory and Control of Software Assets

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • ID.RA Risk Assessment
  • ID.AM Asset Management