Die 5 größten Docker-Sicherheitslücken
31. Oktober 2022
0 Min. LesezeitWas ist eine Docker-Sicherheitslücke?
Eine Docker-Sicherheitslücke ist jede Schwachstelle in einem Image, Container oder Host, die potenziell ausgenutzt werden kann. Wenn solche Sicherheitslücken entdeckt und öffentlich bekannt gemacht werden, werden sie in die Liste der Common Vulnerabilities and Exposures (CVE) aufgenommen. Außerdem veröffentlicht das Common Vulnerability Scoring System (CVSS) Informationen zum Schweregrad jeder Sicherheitslücke in der CVE-Liste.
Die 5 wichtigsten Docker-Schwachstellen, die Sie kennen sollten
Hier sind die fünf wichtigsten Docker-Schwachstellen oder CVEs, die Entwicklungsteams im Blick behalten sollten.
1. CVE-2019-5736: RUNC-CONTAINER-AUSBRUCH-SCHWACHSTELLE
Eine Docker-Schwachstelle ermöglicht es, die Host-`runc`-Binärdatei zu überschreiben und Root-Zugriff auf dem Host zu erlangen. Mit Root-Zugriff können Angreifer ihre Berechtigungen erweitern und verheerende Angriffe vorbereiten. Um CVE-2019-5736 zu beheben, muss `container-common` für Docker-Instanzen unter Oracle Linux 8 aktualisiert werden.
2. CVE-2022-0847: DIRTY PIPE
Eine weitere Schwachstelle aufgrund einer fehlerhaften Initialisierung ist CVE-2022-0847. Die Sicherheits-Community bezeichnet diesen Fehler in der Kernel-Pipeline-Implementierung als „Dirty Pipe“. Er ermöglicht Angreifern, den Inhalt von Dateien zu ändern, für die sie keine Berechtigung haben, und anschließend ihre Berechtigungen zu erweitern. Um dieses Problem zu beheben, müssen alle Linux-Hosts auf gepatchte Versionen aktualisiert werden.
3. CVE-2021-21285: UNKONTROLLIERTER RESSOURCENVERBRAUCH
In älteren Docker-Versionen führt das Herunterladen eines fehlerhaften Docker-Image-Manifests dazu, dass der Docker-Daemon auf dem Hostsystem abstürzt. Um CVE-2021-21285 zu beheben, muss Docker auf eine gepatchte Version aktualisiert werden. So wird verhindert, dass der Daemon aufgrund unkontrollierten Ressourcenverbrauchs abstürzt.
4. CVE-2014-9356: DIRECTORY TRAVERSAL
CVE-2015-9356 ist eine Directory-Traversal-Schwachstelle, die Docker-Version 1.3.3 betrifft. Bei einem Directory-Traversal-Angriff (auch Path-Traversal-Angriff genannt) werden Dateien aufgerufen, die für Dritte nicht zugänglich sein sollten – etwa Dateien mit Anwendungscode oder vertraulichen Informationen. Durch ein Upgrade auf eine gepatchte Docker-Version können Sie verhindern, dass Remote-Angreifer die Path-Traversal-Schwachstelle ausnutzen, um einen Container-Schutzmechanismus zu umgehen.
5. CVE-2019-14271: FEHLERHAFTE INITIALISIERUNG
In bestimmten Docker-Versionen besteht eine potenzielle Code-Injection-Schwachstelle: `nsswitch` (Name Service Switch) lädt dynamisch eine Bibliothek innerhalb einer `chroot`-Operation (Change Root), die den Inhalt des Containers enthält. Bei einem Code-Injection-Angriff führt eine Anwendung nicht autorisierten Code eines Angreifers aus. Um CVE-2019-14271 zu beheben, muss die Docker CLI für Docker-Instanzen unter Oracle Linux 7 aktualisiert werden.
Weitere Informationen zu anderen Docker-Schwachstellen finden Sie in der Docker-Top-10 der Open Web Application Security Project (OWASP), einer Liste mit Schwachstellen.
Best Practices zur Verringerung von Docker-Schwachstellen
Auch wenn Container-Sicherheit ein umfassendes Thema ist, gibt es einige Best Practices, mit denen sich Docker-Schwachstellen deutlich reduzieren lassen. So erhöhen automatisierte Tools, die das Container-Image, alle darin enthaltenen Komponenten und die Laufzeitumgebung absichern, die Container-Sicherheit wirksam. Erfahren Sie hier mehr über Docker-Sicherheit.
Container-Scanning ist ein automatisiertes Verfahren, um Schwachstellen in verschiedenen Komponenten containerisierter Anwendungen oder Workloads aufzuspüren. Dazu zählen die Software im Container, die Interaktion des Containers mit dem Hostsystem und anderen Containern, Netzwerk- und Speicherkonfigurationen und vieles mehr.
Die meisten Container-Scanning-Tools nutzen eine Schwachstellendatenbank als verlässliche Informationsquelle für öffentlich bekannte Sicherheitslücken. So ergänzt die Snyk-Schwachstellendatenbank die CVE-Liste und andere öffentliche Quellen zu Schwachstellen um praxisrelevante Einblicke. Dank zusätzlicher Informationen zu jeder Docker-CVE können Entwickler mit Snyks VulnDB Docker-Sicherheitsprobleme leichter beheben.
Neben dem Container-Scanning ist Container-Monitoring eine Methode, um Kennzahlen zum Zustand containerisierter Anwendungen und Workloads zu verfolgen und mögliche Risiken durch neu entdeckte Schwachstellen in laufenden Workloads zu erkennen. So lässt sich sicherstellen, dass alles ordnungsgemäß funktioniert. Außerdem können potenzielle Schwachstellen wie ein unkontrollierter Ressourcenverbrauch aufgedeckt werden. Container-Scanning und Container-Monitoring ergänzen sich und schützen während der Build-Phase und darüber hinaus.
In unserem Spickzettel finden Sie eine ausführliche Liste der Best Practices für Docker-Sicherheit.
Docker-Sicherheitsscans mit Snyk
Snyk bietet umfassende Schwachstellenscans für alle Komponenten moderner Anwendungen – vom Quellcode und den Open-Source-Abhängigkeiten bis hin zu Containern und Infrastructure-as-Code-Konfigurationen. So kann Snyk Docker-Container-Images, den darin enthaltenen Code und die Abhängigkeiten sowie die für die Bereitstellung verwendeten Konfigurationen absichern.
Mit der zunehmenden Verbreitung von Docker wächst auch die Partnerschaft zwischen Snyk und Docker – das zeigt sich ebenso in den Funktionen von Snyk zum Scannen auf Docker-Schwachstellen. Der Befehl `docker scan` in der Docker-Desktop-CLI wird beispielsweise von der Snyk-Plattform unterstützt. Gemeinsam ermöglichen Snyk und Docker Entwicklungsteams, Container schnell und sicher zu erstellen und bereitzustellen.
Erfahren Sie mit unserem gemeinsam mit Docker erstellten Leitfaden In 3 Schritten zu sicheren Container-Images mehr über Container-Sicherheit und Docker.
Häufig gestellte Fragen zu Docker-Schwachstellen
Ist Docker eine sichere Plattform?
Die Docker-Plattform selbst ist nicht grundsätzlich sicher oder unsicher. Container können zwar von anderen Prozessen auf einem Host isoliert sein, doch zusätzliche Sicherheitsmaßnahmen sind weiterhin entscheidend, um Container-Ausbrüche und andere Arten von Sicherheitslücken zu verhindern. Eine wirksame Containersicherheitsstrategie für die Entwicklung und Bereitstellung von Containern ist der beste Weg, das Risiko einer Sicherheitslücke und damit auch eines Angriffs zu verringern. Wie bei jeder anderen Technologieplattform ist die Einhaltung bewährter Sicherheitspraktiken der Schlüssel, um potenzielle Bedrohungen zu minimieren.
Sind Docker-Images verschlüsselt?
Docker-Images sind standardmäßig nicht verschlüsselt. Mit digitalen Signaturen lässt sich jedoch die Integrität eines Images sicherstellen. Publisher können ihre Images beim Push in eine Registry mit dem Docker-Notary-Tool signieren. Wenn Entwickler die Signatur mithilfe von Docker Content Trust überprüfen, können sie darauf vertrauen, dass die Images, die sie aus einer Image-Registry abrufen oder bereitstellen, original und nicht von einem Angreifer manipuliert worden sind.
Was ist ein „Container-Ausbruch“?
Bei einem Container-Ausbruch gelingt es einem Angreifer, die Isolation eines Containers zu überwinden und auf Ressourcen des Hosts zuzugreifen. Sobald sich ein Angreifer Root-Zugriff auf dem Host verschafft hat, kann er seine Berechtigungen ausweiten und weitere Angriffe vorbereiten. Ein Docker-Sicherheitsscanner kann Schwachstellen ermöglichen, die einen Container-Ausbruch begünstigen (und auch andere Arten von Schwachstellen) erkennen, damit Entwickler sie beheben können, bevor sie ausgenutzt werden.


