Vulnerabilities, Secrets and Misconfiguration in the Highest-Exposure Docker Hub Images
Dieses Paper stellt ChimangoScan vor, eine groß angelegte Pipeline, die die am stärksten exponierten Docker-Hub-Images mithilfe von sechs unabhängigen Scannern analysiert und aufzeigt, dass Schwachstellen und Fehlkonfigurationen nahezu universell sind, Scanner-Ergebnisse stark werkzeugabhängig mit geringer Übereinstimmung sind und die Mehrheit der erkannten Secrets falsch-positive Ergebnisse darstellt.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich das Internet als eine riesige, geschäftige Stadt vor, in der Software das Lebenselixier ist. In dieser Stadt werden die meisten Anwendungen nicht mehr von Grund auf neu gebaut; sie werden wie LEGO-Sets aus vorgefertigten Blöcken namens „Containern“ zusammengesetzt. Diese Container sind wie standardisierte Versandkisten, die alles enthalten, was eine Anwendung zum Ausführen benötigt, von Code bis hin zu Werkzeugen. Das zentrale Lagerhaus, in dem jeder seine Kisten lagert und entnimmt, wird Docker Hub genannt. Es ist das Herzstück der Software-Lieferkette und verarbeitet jeden Monat Milliarden von Downloads.
Doch genau wie in einem echten Lagerhaus gilt: Wenn eine Kiste mit einem rissigen Ziegelstein (einer Schwachstelle) gebaut wurde oder einen lockeren Verschluss (eine Fehlkonfiguration) hat, erbt jedes einzelne Gebäude, das mit dieser Kiste errichtet wird, diesen Fehler. Noch schlimmer ist, dass einige Kisten versteckte Fallen wie offene Tresore (Secrets oder Passwörter) enthalten, die im Inneren vergessen wurden. Jahrelang haben Sicherheitsexperten versucht zu zählen, wie viele dieser gefährlichen Kisten existieren, aber sie haben sich meist auf nur einen einzigen „Sicherheitswächter“ (einen Scanner) verlassen, um die Inspektion durchzuführen. Das ist so, als würde man versuchen, alle Schlaglöcher in einer Stadt mit nur einem Paar Augen zu finden; man übersieht vielleicht viel oder sieht Dinge, die gar nicht da sind. Die große Frage ist: Wie gefährlich ist dieses Lagerhaus wirklich, und gibt uns die Verwendung nur eines Scanners ein wahres Bild?
Die große Detektivjagd auf Docker
Ein Team von Forschern aus Brasilien, das sich selbst ChimangoScan nennt, beschloss, dieses Rätsel mit einer massiven, mehrschichtigen Untersuchung anzugehen. Anstatt nur einen Sicherheitswächter einzustellen, bauten sie eine Super-Pipeline, die sechs verschiedene Scanner einsetzte, um die populärsten Kisten im Docker-Hub-Lagerhaus zu inspizieren. Ihr Ziel war es nicht nur, die schlechten Kisten zu zählen, sondern herauszufinden, welche am wichtigsten sind.
Der „Exposure Score“: Warum manche Kisten mehr zählen
Stellen Sie sich einen einzelnen rissigen Ziegelstein im Fundament eines Wolkenkratzers im Vergleich zu einem rissigen Ziegelstein in einem winzigen Gartenschuppen vor. Der Fehler im Wolkenkratzer ist eine Katastrophe; der im Schuppen ist eine geringfügige Unannehmlichkeit. Den Forschern wurde klar, dass es nicht ausreichte, einfach nur zu zählen, wie oft eine Kiste heruntergeladen wurde. Sie mussten wissen, wie viele andere Kisten auf ihr aufgebaut wurden.
Sie entwickelten eine neue Metrik namens Exposure Score. Denken Sie an ihn als einen „Gefahrenradius“. Wenn ein Basis-Image (wie eine populäre Linux-Version) 100 Mal heruntergeladen wird, aber auch das Fundament für 1.000 andere Images ist, die jeweils 100 Mal heruntergeladen werden, ist sein Exposure Score gewaltig. Das Team ordnete die Top 52.895 Images nach diesem Score. Dies waren nicht einfach die meistgeladenen; es waren diejenigen, deren Fehler sich auf die meisten Menschen auswirken würden. Insgesamt machten diese Top-Images 84,7 % aller in der Geschichte aufgezeichneten Pulls von insgesamt 663,8 Milliarden aus.
Die Ergebnisse: Eine Stadt voller Risse
Als ChimangoScan seine sechs Scanner auf diese hoch-exponierten Images anwendete, waren die Ergebnisse erschreckend eindeutig: Fast alles war kaputt.
- Schwachstellen sind überall: 96,3 % der Images trugen mindestens eine bekannte Software-Schwachstelle in sich. Noch beängstigender: 93,4 % von ihnen hatten eine „kritische“ Schwachstelle – die Art, die einen Hacker dazu bringen könnte, die Kontrolle über das System zu übernehmen.
- Fehlkonfigurationen sind die Norm: 98,0 % der Images wiesen Fehlkonfigurationen auf, wie etwa das Ausführen als „Root“-Nutzer (das digitale Äquivalent dazu, einem Fremden den Generalschlüssel zum Gebäude zu geben) oder fehlende Sicherheitsprüfungen.
- Secrets sind knifflig: Die Scanner fanden „Secrets“ (wie Passwörter oder API-Keys) in 76,9 % der Images. Als die Forscher diese Treffer jedoch manuell überprüften, entdeckten sie einen massiven Haken: 99,7 % davon waren Fehlalarme. Es handelte sich lediglich um Beispiel-Keys, Testdaten oder öffentliche Informationen, nicht um tatsächlich gestohlene Zugangsdaten. Die Scanner schrien „Feuer!“, weil sie hauptsächlich den Geruch von verbranntem Toast wahrnahmen, nicht aber ein tatsächliches Inferno.
Das Scanner-Problem: Ein Werkzeug reicht nicht aus
Die vielleicht wichtigste Entdeckung betraf die Werkzeuge selbst. Die Forscher fanden heraus, dass die sechs Scanner sich nicht einig waren darüber, was sie sahen.
Wenn man nur einen Scanner verwendete, erhielt man ein ganz anderes Bild des Gefahrenlevels als bei der Verwendung eines anderen.
- Bei der Betrachtung unterschiedlicher Schwachstellen wurden nur 2,7 % von allen drei Schwachstellen-Scannern gefunden.
- Erstaunliche 66,8 % der Schwachstellen wurden von nur einem der Scanner entdeckt.
Das bedeutet: Wenn ein Unternehmen sich auf ein einziges Sicherheitstool verlässt, übersieht es wahrscheinlich zwei von drei potenziellen Problemen. Der „Sicherheitsscore“ eines Images ist keine absolute Tatsache; er ist weitgehend ein Artefakt dessen, welches Werkzeug man zur Messung verwendet hat.
Der „Vererbungseffekt“
Die Studie zeigte auch, wie gefährlich ein einzelner Fehler sein kann, wenn er in einem populären Basis-Image sitzt. Sie fanden heraus, dass ein einzlicher kritischer Fehler in einer Bibliothek wie zlib oder glibc (die in fast jedem Basis-Image verwendet werden) theoretisch 47,3 % der gesamten Exposure des Ökosystems betreffen könnte. Ein schlechter Ziegelstein im Fundament eines populären Basis-Images schadet nicht nur diesem einen Image; er gefährdet den gesamten Stammbaum der darauf aufgebauten Anwendungen.
Was das für Sie bedeutet
Die Forscher kamen zu dem Schluss, dass wir nicht einer einzigen Zahl von einem einzelnen Scanner vertrauen können. Um die Software-Lieferkette sicher zu halten, müssen wir:
- Mehrere Scanner verwenden: Da kein einzelnes Tool alles erfasst, ist der Einsatz einer Batterie verschiedener Scanner notwendig, um ein echeres Bild zu erhalten.
- Nach Exposure priorisieren: Das Beheben der Fehler in den am stärksten „exponierten“ Basis-Images (denen, auf denen alle aufbauen) wird mehr Menschen helfen als das Beheben von Fehlern in obskuren, selten genutzten Images.
- Nicht bei jedem „Secret“-Alarm in Panik geraten: Da die meisten erkannten Secrets Fehlalarme sind, benötigen wir bessere Wege, um sie zu verifizieren, bevor wir sie als Notfälle behandelt.
Kurz gesagt: Das Docker-Hub-Lagerhaus ist voller Risse, und die Risse im Fundament sind die gefährlichsten. Aber die Art und Weise, wie wir diese Risse messen, ist fast genauso wichtig wie die Risse selbst. Wir brauchen mehr Augen am Werk, um das ganze Bild zu sehen.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.