Skip to main content

Die zehn beliebtesten Docker-Images enthalten über 8.000 Pfade zu Schwachstellen

Artikel von
Headshot of Hayley Denbraver

Hayley Denbraver

Security in The Container Registry small

7. März 2019

0 Min. Lesezeit

Einführung

In diesem Beitrag werfen wir einen genaueren Blick auf Docker-Images und Container-Ökosysteme, die in unserem Bericht State of Open Source Security behandelt wurden. Dazu gehört auch unsere Erkenntnis, dass die zehn beliebtesten Docker-Images über 8.000 Pfade zu Schwachstellen enthalten.

Wir freuen uns, unserer Community dabei zu helfen, Docker-Sicherheit besser zu verstehen. Seit der Veröffentlichung des vorherigen Berichts State of Open Source Security hat Snyk Tools veröffentlicht, mit denen Entwickler Schwachstellen in Containern besser verstehen und beheben können. Wir teilen nicht nur gerne unsere Erkenntnisse zum Stand der Open-Source-Sicherheit, sondern stellen auch Tools bereit, mit denen Sie Schwachstellen in Ihren Container-Images finden und beheben können.

Bei unseren Recherchen für den Bericht State of Open Source Security haben wir die folgenden Statistiken dazu ermittelt, wer für die Containersicherheit verantwortlich ist und wer sie tatsächlich umsetzt.

  • 68 % der Nutzer sind der Meinung, dass Entwickler für die Sicherheit ihrer Docker-Container-Images verantwortlich sein sollten.

  • 54 % der Entwickler testen die Sicherheit ihrer Docker-Images überhaupt nicht.

  • Nur 15,5 % der Nutzer geben an, ihre Docker-Images während der Entwicklung auf Schwachstellen zu testen.

Diese Zahlen deuten auf eine Diskrepanz zwischen der Verantwortung für Sicherheit und ihrer Umsetzung hin. Da Entwickler für die Sicherheit von Container-Images verantwortlich sind, könnten sie erheblich davon profitieren, Sicherheit früher in ihren Workflow einzubinden – und zwar während der Entwicklung. Doch nur 15,5 % tun das! Die Zahlen legen außerdem nahe, dass manche Entwickler zwar für Sicherheit verantwortlich sind, sie aber nicht aktiv umsetzen. Dadurch könnten selbst leicht zu behebende Schwachstellen übersehen werden – etwa solche, die sich durch Aktualisieren des Basis-Tags oder Neuerstellen des Docker-Images beheben lassen.

Aus diesen Gründen hielten wir es für sinnvoll, die gefundenen Schwachstellen genauer zu untersuchen, damit Entwickler die für ihre Docker-Container relevanten Sicherheitsprobleme besser verstehen.

Ein genauer Blick auf die Docker-Sicherheit

Wir untersuchen Schwachstellenpfade, den Zusammenhang zwischen Abhängigkeiten und Schwachstellen sowie den Schweregrad der Schwachstellen genauer.

Ein kurzer Hinweis: Diese Zahlen entsprechen dem Stand zum Zeitpunkt der Erstellung dieses Beitrags und weichen daher geringfügig von den Zahlen im Bericht State of Open Source Security ab.

Pfade zu Schwachstellen

Manchmal wird eine bestimmte Schwachstelle über mehrere Abhängigkeiten eingeführt. Snyk wollte diese Schwachstellen nicht mehrfach zählen, denn das hätte den Eindruck erweckt, das Image sei deutlich unsicherer, als es tatsächlich ist. Dennoch ist es wichtig zu wissen, dass eine Schwachstelle mehrfach eingeführt werden kann: Je mehr Abhängigkeiten mit ihr verknüpft sind, desto schwieriger kann es sein, sie zu beheben. Um Ihnen einen Eindruck davon zu vermitteln, wie häufig das vorkommt, verwendet Snyk das Konzept der „Pfade“. Sie beschreiben, auf wie vielen Wegen Schwachstellen in ein Image gelangen. Deshalb hielt ich es für sinnvoll, das Verhältnis von Pfaden zu Schwachstellen zu betrachten, um einzuschätzen, wie schwierig es sein könnte, Schwachstellen aus einem bestimmten Docker-Image zu entfernen.

Tabelle zum Vergleich von Schwachstellen, Pfaden und Pfaden pro Schwachstelle in Docker-Images mit insgesamt 1.075 Schwachstellen und 8.204 Pfaden.

Aus dieser Tabelle geht hervor, dass sich Schwachstellen wahrscheinlich am schwierigsten aus dem Node-Docker-Image entfernen lassen. Außerdem sehen wir, dass jede Schwachstelle in allen zehn untersuchten Images wahrscheinlich mit mehr als einem Pfad verknüpft ist. Zum Glück müssen Sie diese Knoten nicht selbst entwirren: Die Docker-Tools von Snyk helfen Ihnen dabei, herauszufinden, wie Sie die Schwachstellen entfernen können, oder schlagen alternative Docker-Images vor.

Abhängigkeiten

Sehen wir uns nun die Abhängigkeiten der einzelnen Docker-Images genauer an. Die folgende Tabelle zeigt, wie die Anzahl der Abhängigkeiten mit der Anzahl der Schwachstellen zusammenhing.

Tabelle mit einem Vergleich von Schwachstellen, Abhängigkeiten und dem Verhältnis von Schwachstellen zu Abhängigkeiten in Docker-Images sowie den jeweiligen Gesamtzahlen.

Betrachten wir die zehn untersuchten Docker-Images insgesamt, haben wir festgestellt, dass bei je zehn zusätzlichen Abhängigkeiten wahrscheinlich sieben Schwachstellen hinzukommen. Node ist hier ein Ausreißer: Im Durchschnitt kommen mit je zehn zusätzlichen Abhängigkeiten 14 Schwachstellen hinzu – doppelt so viele wie im Durchschnitt!

Schweregrad

Snyk stuft den Schweregrad von Schwachstellen als hoch, mittel oder niedrig ein. Diese Kategorien helfen Nutzern dabei, Schwachstellen zu bewerten und zu priorisieren, welche zuerst behoben werden sollten. Wenn wir den Schweregrad der in den Docker-Images gefundenen Schwachstellen kennen, können wir das Ausmaß des Sicherheitsproblems besser einschätzen.

Beim Schweregrad der Schwachstellen gibt es gute Nachrichten! Der mit Abstand größte Teil der in unserer Studie beobachteten Schwachstellen wurde als niedrig eingestuft und machte 74,9 % aus. 16,9 % entfielen auf Schwachstellen mit mittlerem und 8,2 % auf solche mit hohem Schweregrad. Das ist eine gute Nachricht, denn Nutzer können die wenigen Schwachstellen mit hohem Schweregrad priorisieren und so die Sicherheit ihrer Container deutlich verbessern.

Die Verteilung des Schweregrads der Schwachstellen nach Docker-Image sieht wie folgt aus:

Tabelle mit einem Vergleich der prozentualen Anteile niedriger, mittlerer und hoher Schweregrade bei Docker-Images wie node, postgres, nginx und weiteren.

Wir sehen, dass der Schweregrad zwar je nach Docker-Image variiert, die meisten Schwachstellen aber generell einen niedrigen Schweregrad aufweisen. Das sind gute Nachrichten!

Fazit

Unsere Erkenntnis, dass die zehn beliebtesten Docker-Images über 8.000 Pfade zu Schwachstellen enthalten, und die Beobachtung, dass fast jede in diesen Images vorhandene Abhängigkeit eine Schwachstelle mit sich bringt, sprechen klar für die Verwendung minimaler Basis-Images. Diese Empfehlung war auch unsere wichtigste Sicherheitsmaßnahme in unserem kürzlich veröffentlichten Spickzettel zur Docker-Sicherheit.

Wenn Sie minimale Images bevorzugen, die nur die für Ihr Projekt benötigten Systemtools und Bibliotheken enthalten, verringern Sie zugleich die Angriffsfläche und stellen sicher, dass Sie ein sicheres Betriebssystem ausliefern. Das bedeutet potenziell weniger Schwachstellen, weniger Pfade zu diesen Schwachstellen und insgesamt weniger Abhängigkeiten – und damit einen sichereren Container.

Docker-Sicherheit kann kompliziert sein. Die Tools von Snyk erleichtern es jedoch, Schwachstellen zu beheben und ein sicheres Basis-Image zu finden.

Container-Sicherheit mit Fokus auf Entwickler

Snyk findet und behebt automatisch Schwachstellen in Container-Images und Kubernetes-Workloads.