Sicherheitsanfälligkeiten in Sicherheits-Scannern von Docker-Containern

Veröffentlicht Die Testergebnisse von Tools zur Erkennung nicht gepatchter Sicherheitsanfälligkeiten und zur Identifizierung von Sicherheitsproblemen in isolierten Docker-Container-Abbildern. Die Überprüfung ergab, dass in 4 von 6 bekannten Docker-Image-Scannern kritische Sicherheitsanfälligkeiten vorhanden waren, die einen direkten Angriff auf den Scanner selbst ermöglichten und die Ausführung eigenen Codes im System ermöglichten, in einigen Fällen (z.B. bei der Nutzung von Snyk) mit Root-Rechten.

Für den Angriff reicht es aus, die Überprüfung des eigenen Dockerfile oder manifest.json zu initiieren, das speziell formatierte Metadaten enthält, oder Dateien wie Podfile und gradlew innerhalb des Abbilds abzulegen. Exploit-Prototypen konnten vorbereitet werden für die Systeme
WhiteSource, Snyk,
Fossa und
Anchore. Das Paket Clair, das ursprünglich mit dem Fokus auf Sicherheitsvorkehrungen entwickelt wurde, zeigte die beste Sicherheit. Auch im Paket Trivywurden keine Probleme festgestellt. Insgesamt wurde die Schlussfolgerung gezogen, dass Docker-Container-Scanner in isolierten Umgebungen ausgeführt oder nur zur Überprüfung eigener Abbilder verwendet werden sollten, und dass Vorsicht geboten ist, wenn solche Tools in automatisierte Systeme der kontinuierlichen Integration integriert werden.

Bei FOSSA, Snyk und WhiteSource war die Sicherheitsanfälligkeit mit dem Aufruf eines externen Paketmanagers zur Bestimmung von Abhängigkeiten verbunden, und es war möglich, die Ausführung eigenen Codes über die Angabe der Befehle touch und system in den Dateien gradlew und Podfile.

Zusätzlich wurden bei Snyk und WhiteSource Entdeckungen gemacht von Schwachstellen, im Zusammenhang mit der Ausführung von Systembefehlen beim Parsen von Dockerfile (z.B. konnte in Snyk die Utility \/bin\/ls, die vom Scanner aufgerufen wird, durch einen eigenen Code ersetzt werden, während in WhiteSource Code über Argumente in der Form 'echo ‘;touch \/tmp\/hacked_whitesource_pip;=1.0’‘ eingesetzt werden konnte). Bei Anchore war die Sicherheitsanfälligkeit

verursacht durch die Verwendung des Tools skopeo zum Arbeiten mit Docker-Images. Die Ausbeutung beruhte darauf, dass in die Datei manifest.json Parameter der Art '"os": "$(touch hacked_anchore)"' eingefügt wurden, die bei der Verwendung von skopeo ohne angemessene Escapierung behandelt wurden (es wurden nur die Zeichen ';&', jedoch nicht '$(...)' entfernt). Der gleiche Autor führte eine Studie zur Effektivität der Entdeckung nicht gepatchter Sicherheitsanfälligkeiten durch Sicherheits-Scanner von Docker-Containern durch und zum Niveau der Fehlalarme (

Teil 3Teil 1, Teil 2, Teil 3). Nachfolgend sind die Testergebnisse von 73 Images aufgeführt, die bekannte Schwachstellen enthalten, sowie eine Bewertung der Effektivität der Erkennung gängiger Anwendungen in den Images (nginx, tomcat, haproxy, gunicorn, redis, ruby, node).

Sicherheitsanfälligkeiten in Sicherheits-Scannern von Docker-Containern

Sicherheitsanfälligkeiten in Sicherheits-Scannern von Docker-Containern

Quelle: opennet.ru

60GB SSD 8Gb DDR4