Datenschutz & Sicherheit
Docker Image Security – Teil 3: Minimale, sichere Container-Images selbst bauen
Minimale Container-Images verzichten auf Komponenten wie Shells oder Paketmanager, die zur Laufzeit normalerweise nicht gebraucht werden. Sie sind auch als „distroless“ oder „chiseled“ Images bekannt. Weil weniger Komponenten weniger Schwachstellen bedeuten, reduzieren diese Images die Angriffsfläche und erhöhen dadurch die Sicherheit.
Weiterlesen nach der Anzeige

Dr. Marius Shekow war über 10 Jahre als Forscher und Softwareentwickler bei Fraunhofer tätig. Seit 2022 ist er Lead DevOps- & Cloud-Engineer bei SprintEins in Bonn. Dort baut er für Konzerne und KMUs individuelle Cloud-Umgebungen, inkl. CI/CD-Automatisierung, Observability und Security-Absicherung.
Schlüsselfertige Images für ein Basis-Linux sowie die Sprachen PHP, Python, Java, C# und Node.js hat Teil 2 der Artikelserie vorgestellt. Diese vorkonfektionierten Images passen jedoch nicht immer zu den eigenen Anforderungen und es kann notwendig sein, eigene zu erstellen. Dieser Artikel zeigt, wie Softwareentwicklerinnen und -entwickler eigene minimale Images basierend auf den Angeboten Ubuntu Chiseled, Chainguard/WolfiOS und Azure Linux bauen (siehe die folgende Tabelle).
| Drei Anbieter minimaler Images im Vergleich | |||
| Bewertungskriterium | Ubuntu Chiseled | WolfiOS / Chainguard | Azure Linux |
| Verfügbare Pakete | ~500 | ~3000 | ~3000 |
| Qualität der Dokumentation / Schwierigkeit der Nutzung | ➕➕ | ➕➕➕ | ➕ |
| Integrationsgeschwindigkeit von Paket-Versionsupdates (Upstream) | Langsam | Schnell | Mittel |
| Reproduzierbare Image-Builds / Pinnen der zu installierenden Paket-Versionen | ❌ | ✅ | ❌ |
| Kommerzieller Support | ✅ | ✅ | ❌ |
Bauen von Ubuntu Chiseled Images
Canonical verwendet die Bezeichnung „Chiseled“ für minimale, Ubuntu-basierte Images. Ein Blogbeitrag stellt das Chisel-CLI von Ubuntu vor. Chisel ist ein Build-Tool, das Entwickler mit der gewünschten Ubuntu-Version (beispielsweise „24.04“) und einer Liste von „Slices“ aufrufen, die Chisel zu einem neuen Root-Filesystem zusammenbaut. Dieses Filesystem kopiert man anschließend in ein leeres scratch-Image, wie der Ablaufplan in Abbildung 1 verdeutlicht:

Bau eines Chiseled-Image via Multi-Stage Dockerfile (Abb.1)
Das Ubuntu-Team hat einige (jedoch nicht alle) der offiziellen Ubuntu-Pakete in mehrere Slices aufgeteilt und diese auf GitHub veröffentlicht. Falls Slices für ein gewünschtes Paket fehlen, sollte man auf andere im Artikel erwähnte Ansätze wechseln. Denn bestehende GitHub Issues zeigen, dass reine Feature-Requests lange oder gänzlich ignoriert werden, und der Zeitinvest für die Einarbeitung für eigene Pull Requests (PRs) hoch ist.
Weiterlesen nach der Anzeige
Aufbauend auf Chisel stellt Canonical zudem das Rockcraft-Tool zur Verfügung, das auf einer höheren Abstraktionsebene arbeitet.
Verwenden des Chisel CLI
Bevor Entwickler tiefer in den Build-Prozess von Ubuntu Chiseled-Images einsteigen, sollten sie sich der folgenden zwei Einschränkungen bewusst sein:
- Es lassen sich nur Pakete installieren, für die das Ubuntu-Team bereits Slice-Definitionen erstellt hat. Die Slices unterscheiden sich je nach Ubuntu-Version (beispielsweise hat 22.04 andere Slices als 24.04). Das ist insbesondere beim Erstellen eines Image für einen Interpreter einer Programmiersprache wie Java, Node.js oder Python relevant. Dabei stehen lediglich die in der jeweiligen Distro-Version mitgelieferten Interpreter-Versionen zur Verfügung. So gibt es bei Python im neuesten Ubuntu-LTS-Release (24.04) nur Python 3.12.3. Neuere 3.12-Versionen (oder 3.13) fehlen. Für Python 3.12.3 hat Ubuntu jedoch zumindest die seit dieser Version 3.12.3 bekannt gewordenen Schwachstellen behoben (sogenannte „Backports“).
- Es ist nicht möglich, die Versionen der Pakete oder Slices zu pinnen! Das Chisel CLI installiert immer die aktuelle Version des Pakets, die zum Zeitpunkt der Chisel-Ausführung im offiziellen Ubuntu-Repo verfügbar ist.
Der einfachste Weg, ein Chiseled-Image zu erstellen, ist ein Docker Multi-Stage Build. Wie man für ein Python-Image (mit Python 3.12.3) auf Basis von Ubuntu 24.04 vorgeht, erklärt das offizielle Chisel-Tutorial.
Da Schwachstellenscanner wie Trivy oder Grype die Pakete im frisch gebauten Image leider nicht korrekt identifizieren können, sind weitere Anpassungen am Dockerfile nötig. Der Grund dafür, warum die Scanner relevante Schwachstellen übersehen, geht aus einem GitHub Issue hervor: Ubuntu hat entschieden, für Chisel-Images ein eigenes proprietäres Paket-Manifest-Format zu erfinden, das Scanner wie Trivy bisher nicht verstehen.
Ubuntu versucht daher mit Scanner-Anbietern zusammenzuarbeiten, wie beispielsweise eine GitHub-Diskussion zu Trivy zeigt. Bis es so weit ist, können Entwickler einen Workaround nutzen: Das chisel-wrapper-Skript generiert Metadaten im Standard-Debian-Paket-Format, das Scanner wie Trivy verstehen. Dazu sind im Dockerfile des Multi-Stage-Builds (vom offiziellen Tutorial) folgende Änderungen vorzunehmen:
# Einfügen der folgenden 3 RUN-Zeilen, irgendwo vor dem "chisel cut" Befehl des Tutorials:
# "file" wird vom chisel-wrapper script benötigt
RUN apt-get update && apt-get install -y git file
RUN git clone --depth 1 -b main /rocks-toolbox && mv /rocks-toolbox/chisel-wrapper /usr/local/bin/ && rm -rf /rocks-toolbox
RUN mkdir -p /staging-rootfs/var/lib/dpkg
# Ersetzen der RUN-Zeile, die den "chisel cut" Befehl ausführt, mit folgender Zeile:
RUN chisel-wrapper --generate-dpkg-status /staging-rootfs/var/lib/dpkg/status -- --release "ubuntu-$UBUNTU_RELEASE" --root /staging-rootfs
Ein vollständiges Beispiel für Python 3 liegt im GitHub-Repository des Autors öffentlich parat. Es veranschaulicht den Build einer Flask-basierten Demo-Anwendung. Zudem demonstriert es, wie man ein Problem löst, das dadurch entsteht, dass der Python-Interpreter im Chiseled Basis-Image an einem anderen Pfad liegt als beim python-Image, das in der Build-Stage verwendet wird. Ein weiteres GitHub-Gist des Autors zeigt, wie man ein Chiseled Java JRE-Image erstellt und darin die Springboot-Petclinic-Anwendung ausführt.
Verwendung des Rockcraft CLIs
Ein weiterer Ansatz, Ubuntu Chiseled Images zu erstellen, ist das Rockcraft-CLI, das auf einer höheren Abstraktionsebene als Chisel arbeitet.
Rockcraft greift intern auf Chisel zurück, um das Root-Filesystem zu erstellen. Über eine von Rockcraft eingelesene YAML-Datei legt man deklarativ die folgenden Aspekte fest:
- Die Ubuntu-Version, deren Slices verwendet werden sollen
- Die Liste der zu installierenden Slices
- Die CPU-Architekturen, für die Rockcraft das Image erstellen soll (für Multiplattform-Builds)
- Welcher Nicht-Root-Linux-User erstellt und automatisch beim Image-Start verwendet werden soll
- Welche Linux-Services zum Image-Start mit dem Pebble Service-Manager gestartet werden sollen (Pebble ist eine Alternative zu systemd)
Mit Rockcraft erstellte, vorgefertigte Images lassen sich mit dem Suchbegriff „chisel“ in der Canonical GitHub-Organisation finden, beispielsweise:
Die größten Nachteile von Rockcraft sind:
- Rockcraft macht den Build-Prozess durch zusätzliches Tooling komplexer (verglichen mit einem direkten Chisel-CLI-Aufruf).
- Es erzwingt die Nutzung des Pebble Service Managers, der als
ENTRYPOINTfür das Image gesetzt wird. Dies ist unnötig, denn im Gegensatz zur Vorgehensweise bei virtuellen Maschinen (VMs) sind Service-Manager bei Containern nicht üblich. In diesen Umgebungen ist es gewollt, dass der gesamte Container beendet wird, wenn das imENTRYPOINTfestgelegte Programm abstürzt. Denn Container Runtimes wie Docker Compose oder Kubernetes überwachen den Container-Status und starten ihn dann neu. Zudem finden Schwachstellenscanner wie Trivy im Pebble-Binary häufig CVEs. Diese stellen zwar meistens keine Bedrohung dar, verursachen allerdings unnötigen Diagnose-Aufwand. - Die von Rockcraft generierten Images verwenden den chisel-wrapper-Trick für Schwachstellenscanner nicht. Folglich können diese die im Image installierten Komponenten nicht korrekt identifizieren und keine Schwachstellen melden.
Um sichere, minimale Images zu erstellen, ist es daher empfehlenswert, direkt das Chisel-CLI statt Rockcraft zu verwenden. Dennoch lohnt sich ein Blick in die stage-packages-Einträge der rockcraft.yaml-Dateien in den oben gelisteten Repositorys (beispielsweise für Python), um eine Idee dafür zu bekommen, welche Slices im eigenen Image sinnvoll sind.
Datenschutz & Sicherheit
Tastatur-Verzögerung entlarvt nordkoreanischen IT-Maulwurf bei Amazon.com
IT-Fachkräfte aus Nordkorea schleichen sich unter falschen Identitäten bei westlichen Unternehmen ein. Durch Heimarbeit verschaffen sie der nordkoreanischen Regierung Einnahmen, bei Gelegenheit sammeln sie auch regimedienliche Daten. Amazon.com hat einen solchen Maulwurf ausgehoben. Verraten hat ihn die um einen Sekundenbruchteil langsameren Tastaturbedienung.
Weiterlesen nach der Anzeige
Der Datenkonzern hatte den Administrator-Job an einen Personaldienstleister ausgelagert. Dieser meinte, jemanden in Arizona eingestellt zu haben, und Amazon schickte ihre einen Laptop. Darauf installierte Sicherheitssoftware schlug Alarm: Die Laufzeit der zu Amazons Servern übertragenen Tastaturanschläge lag nicht im Bereich einiger Dutzend Millisekunden, sondern bei 110 Millisekunden.

Teil einer nordkoreanischen Laptopfarm in Arizona
(Bild: gemeinfrei)
Das hat Amazons Chief Security Officer Stephen Schmidt dem Nachrichtendienst Bloomberg erzählt. Die längere Verzögerung deutet darauf hin, dass der Benutzer nicht, wie behauptet, in Arizona sitzt, sondern weit weg. Amazon beobachtete die Arbeit des Verdächtigen für einige Tage, ließ sich dessen Stellenbewerbung kommen und ihn schließlich hinausschmeißen.
Denn die Adresse in Arizona entpuppte sich als Haushalt einer Frau, die den Laptop aufgestellt und mit dem Server des nordkoreanischen Maulwurfs verbunden hatte. Außerdem nahm sie die Gehaltszahlungen entgegen und leitete sie weiter. Das war kein Einzelfall: In einem US-Strafverfahren ist sie wegen Einschleusens nordkoreanischer IT-Fachkräften in mehr als 300 US-Unternehmen im Juli zu achteinhalb Jahren Haft verurteilt worden (USA v Christina Chapman, Az. 1:24-cr-00220) US-Bundesbezirksgericht für den District of Coumbia,
Immer mehr nordkoreanische Bewerbungen
„Wenn wir nicht nach nordkoreanischen Arbeitern gesucht hätten, hätten wir ihn nicht gefunden”, sagt Schmidt. Zugriff auf relevante Daten habe der Täter nicht gehabt. Seine Bewerbung habe Muster wiederholt, die schon bei anderen nordkoreanischen IT-Maulwürfen beobachtet wurden. Demnach haben sie Schwierigkeiten mit bestimmten Idiomen und Artikeln der englischen Sprache. Zudem gäben sie oft die gleichen ausländischen Bildungseinrichtungen und früheren Arbeitgeber an, die zu verifizieren für US-Unternehmen nicht simpel ist.
Amazon gibt an, schon eine vierstellige Zahl an Bewerbungen erhalten zu haben, die es als nordkoreanischen Betrugsversuch einstufen konnte. Dieses Jahr sei die Zahl sprunghaft gestiegen. In der direkt beschäftigten Belegschaft will Amazon noch keine heimlichen Nordkoreaner aufgedeckt haben. Im November haben sich in den USA fünf weitere Unterstützer Nordkoreas schuldig bekannt.
Weiterlesen nach der Anzeige
(ds)
Datenschutz & Sicherheit
SPD-Politiker fordert Inhaltskontrolle auf allen Endgeräten
Der SPD-Politiker Sebastian Fiedler hat in einer Bundestagsdebatte zur Chatkontrolle am vergangenen Mittwoch gefordert: „Es darf kein Endgerät mehr auf dem europäischen Markt geben, das überhaupt in der Lage ist, kinderpornografisches Material anzuzeigen und zu verarbeiten.“ (Video)
Der Vorschlag würde eine extreme Form von Zensur und Inhaltskontrolle erfordern. Die Technologie und das Vorhaben wären noch weit eingriffsintensiver als die verpflichtende Chatkontrolle, die in Europa vier Jahre lang diskutiert wurde und nun vorerst vom Tisch ist. Zensurtechnologien auf Endgeräten, wie die von Fiedler vorgeschlagene Version, sind eher aus Ländern wie Nordkorea bekannt.
Der Innenpolitiker und Polizist Fiedler, der früher Vorsitzender des Bundes Deutscher Kriminalbeamter war, fordert diese Form der Überwachung und Informationskontrolle nicht zum ersten Mal. Schon im Jahr 2024 hatte er seinen Vorschlag im Rahmen der Chatkontrolle-Debatte ins Spiel gebracht. Damals behauptete er im Interview mit WDR5, dass eine technische Umsetzung des Vorschlags möglich sei.
Wir hatten schon damals nachgefragt, wie dies funktionieren soll – und bedauerlicherweise keine Antwort von Herrn Fiedler erhalten.
Neue Fragen bleiben ebenfalls unbeantwortet
Weil er nun erneut diesen Vorschlag ins Rennen schickt, haben wir wieder nachgefragt. Wir wollten wir unter anderem wissen, wie die Technologie funktionieren soll, ohne dass es zu einer anlasslosen Komplettüberwachung aller digitalen Inhalte auf sämtlichen Endgeräten kommt.
Außerdem wollten wir von Herrn Fiedler wissen, ob ihm eine Technologie bekannt ist, die das leistet.
Und wir wollten wissen, wie Herr Fiedler ausschließen möchte, dass die Technologie in autoritären Ländern oder in Deutschland unter einer AfD-Regierung dazu genutzt wird, um unliebsame politische Inhalte zu sperren.
Auch dieses Mal hat Herr Fiedler auf die Presseanfrage von netzpolitik.org nicht reagiert.
Datenschutz & Sicherheit
SSH-Server Dropbear erlaubt Rechteausweitung | heise online
Eine Sicherheitslücke im schlanken SSH-Server Dropbear ermöglicht Angreifern, ihre Rechte im System auszuweiten. Aktualisierte Softwarepakete schließen die Sicherheitslücke.
Weiterlesen nach der Anzeige
Dropbear kommt aufgrund seiner geringen Größe oftmals auf Single-Board-Computersystemen und Routern zum Einsatz, etwa in OpenWRT. Jetzt haben die Entwickler die Dropbear-Version 2025.89 veröffentlicht und schreiben in der Ankündigung, dass bei älteren Fassungen bis einschließlich Dropbear 2024.84 Angreifer beliebige Programme im System als „root“ starten können, sofern sie eine Sicherheitslücke in Dropbear ausnutzen.
Temporäre Gegenmaßnahme
Ursache des Sicherheitslecks ist die Weiterleitung von Unix-Sockets. Andere Programme auf dem System können Unix-Sockets mittels SO_PEERCRED authentifizieren, was bei von Dropbear weitergeleiteten Verbindungen der User „root“ ist, was die Ausweitung der eigenen Rechte ermöglicht, führen die Dropbear-Programmierer aus (CVE-2025-14282, CVSS 9.8, Risiko „kritisch“).
Wer noch nicht aktualisieren kann, kann sich damit behelfen, den Zugriff auf Unix-Socket-Forwarding zu unterbinden. Das erledigt der Aufruf mit Kommandozeilenparameter dropbear -j – das deaktiviert jedoch zugleich auch TCP-Forwarding. Wer Dropbear aus den Quellen selbst baut, kann auch in den Header-Dateien „localoptions.h“ sowie „distrooptions.h“ einen Define passend setzen: „#define DROPBEAR_SVR_LOCALSTREAMFWD 0“ sorgt dafür, dass die anfällige Funktion nicht ausgeführt wird. Die vollständige Korrektur benötigt jedoch weiterreichende Änderungen.
„Die Weiterleitung von Unix-Sockets ist jetzt deaktiviert, wenn erzwungene Befehlsoptionen verwendet werden, da sie Befehlsbeschränkungen umgehen könnten“, erklären die Dropbear-Entwickler. Das stehe nicht direkt mit der Rechteausweitung in Verbindung, aber könnte die Ausführung beliebiger Befehle als korrekter User erlauben.
Die Risikoeinstufung als „kritisch“ der Schwachstelle stammt vom CERT-Bund. Wer Dropbear als SSH-Server einsetzt, sollte nach aktualisierten Paketen Ausschau halten und diese zeitnah installieren. Sofern das noch nicht möglich ist, hilft der vorgeschlagene Workaround, die eigene Installation abzusichern.
Weiterlesen nach der Anzeige
(dmk)
-
UX/UI & Webdesignvor 2 MonatenIllustrierte Reise nach New York City › PAGE online
-
Künstliche Intelligenzvor 2 MonatenAus Softwarefehlern lernen – Teil 3: Eine Marssonde gerät außer Kontrolle
-
Künstliche Intelligenzvor 2 Monaten
Top 10: Die beste kabellose Überwachungskamera im Test
-
UX/UI & Webdesignvor 2 MonatenSK Rapid Wien erneuert visuelle Identität
-
Entwicklung & Codevor 1 MonatKommandozeile adé: Praktische, grafische Git-Verwaltung für den Mac
-
Künstliche Intelligenzvor 2 MonatenNeue PC-Spiele im November 2025: „Anno 117: Pax Romana“
-
Künstliche Intelligenzvor 2 MonatenDonnerstag: Deutsches Flugtaxi-Start-up am Ende, KI-Rechenzentren mit ARM-Chips
-
UX/UI & Webdesignvor 2 MonatenArndt Benedikt rebranded GreatVita › PAGE online
