Direkt zum Inhalt
IT-Sicherheit 29. November 2022

Auch Linux macht mal Fehler

Testangriffe auf Linux zeigen, dass auch grundsätzlich gut gehärtete Betriebssysteme nicht immer den notwendigen Schutz bieten. Was kann dagegen getan werden?

Testangriffe von Syss auf Linux-Betriebssysteme haben gezeigt, dass auch grundsätzlich gut geschützte Systeme verwundbar sind.
Testangriffe von Syss auf Linux-Betriebssysteme haben gezeigt, dass auch grundsätzlich gut geschützte Systeme verwundbar sind.

Normalerweise sollte ein Notebook mit Linux-Betriebssystem deutlich besser gehärtet sein als die meisten Windowssysteme." Diese Annahme stand am Anfang eines IT-Sicherheitstests eines Linux-Notebooks. Dieses Notebook besaß eine Standardinstallation der aktuellen Ubuntu Linux-Variante 22.04 LTS, also einer der beliebtesten und am weitesten verbreiteten Linux-Distributionen. Die wenigen am Testgegenstand vorgenommenen Änderungen, wie beispielsweise die Software- und Konfigurationsverwaltung über Puppet, waren sinnvoll.

Zudem war es unwahrscheinlich, dass diese Abweichungen von einem frisch installierten Ubuntu gravierende Sicherheitslücken aufgerissen hätten. Überhaupt ist Linux im Vergleich zu Windows weniger anfällig für Sicherheitslücken, da Fehler aus der Vergangenheit – wie zum Beispiel die Speicherung von Benutzerpasswörtern mit schlechten Hashverfahren – unter Linux in den meisten Fällen schnell durch passende Lösungen nach dem aktuellen Stand der Technik ersetzt werden.

Das Testszenario: physischer Zugriff auf das Notebook; Tatort Hotel, Angriffsdauer: circa 15 Minuten

Im Test sollte das folgende Szenario analysiert werden: Was kann passieren, wenn das Notebook beispielsweise auf einer Dienstreise für einige Zeit unbeobachtet in einem Hotelzimmer liegt und ein Angreifer, der sich einen Zimmerschlüssel verschafft hat, eine Viertel- bis halbe Stunde damit alleine ist? (In den meisten deutschen Hotels erhält man schließlich eine neue Zimmerkarte, wenn man mit der eigenen Raumnummer und dem Vor- und Nachnamen freundlich beim Hotelpersonal danach fragt.)

Festplattenverschlüsselung und Ladevorgang

Anzeige

Analysiert man die Festplatte einer gängigen Linux-Distribution, fällt recht schnell auf, dass es bei physischem Zugriff einige potenzielle Angriffspunkte im Hinblick auf die Festplattenverschlüsselung gibt. Erstens sind die Dateien des Bootloaders und der Betriebssystem-Kernel auf einem unverschlüsselten Bereich der Festplatte abgelegt. Das stellt nicht per se ein Sicherheitsrisiko dar, da moderne Notebooks mittels aktivierten Secure Boots und einem – hoffentlich – starken UEFI-Passwort dafür sorgen, dass nur signierte Bootloader und Kernel gestartet werden können. Manipuliert ein Angreifer also diese Dateien direkt, so verweigert das Notebook den Start des Betriebssystems und der Angriff schlägt fehl. Ebenfalls signiert sind zweitens die diversen Kernel-Module, die den Windows-Treibern entsprechen und für zusätzliche Funktionen wie beispielsweise das Verwalten von speziellerer Hardware verwendet werden. Da sich diese Dateien zusätzlich noch auf dem großen verschlüsselten Bereich der Festplatte befinden, bieten sie einem Angreifer, der den kleinen unverschlüsselten Bereich manipulieren kann, keine Angriffsfläche.

Der dritte potenzielle Angriffspunkt ist eine weitere Datei, die sich bei Ubuntu Linux und auch anderen gängigen Linux-Distributionen im unverschlüsselten Festplattenbereich befindet: das Initial Ram Filesystem (Initramfs). Hierbei handelt es sich um eine Binärdatei, die nach dem initialen Laden des Betriebssystemkernels aufgerufen wird, um den Rest des Betriebssystems zu laden. Dieses Programm übernimmt einige wichtige Aufgaben, die notwendig sind, um das Betriebssystem erfolgreich zu starten, etwa das Entschlüsseln der Festplatten. Die Initramfs-Binärdatei ist im Gegensatz zum Kernel und den Bootloader-Dateien nicht immer dieselbe und daher auch nicht (vom Hersteller des Notebooks) signierbar. Der Grund dafür ist, dass die Aufgaben, welche zwischen dem Laden des Betriebssystemkernels und dem Starten des eigentlichen Betriebssystems stattfinden, vielfältig sind und sogar der Benutzer der Linux-Distribution diesen Startprozess anpassen können soll. ist In einer perfekten Welt würde man also erwarten, dass bei der Installation des Linux-Betriebssystems ein Signaturschlüssel erzeugt, im UEFI des Notebooks hinterlegt und mit seiner Hilfe das Initramfs initial und nach jeder Änderung signiert wird. Der Linux-Kernel sollte dann das Laden eines Initramfs ablehnen, wenn dieses nicht korrekt signiert wurde. Dies ist nicht der Fall.

Ein Angreifer mit physischem Zugriff kann demnach das Notebook von einem USB-Stick starten oder, falls dies nicht möglich sein sollte, das Notebook aufschrauben, die Festplatte an ein externes-Lesegerät anschließen und so auf den unverschlüsselten Bereich der Festplatte zugreifen. Dann kann eine vom Angreifer manipulierte Initramfs-Datei hinterlegt werden. Ein simpler Angriff, den die so manipulierte Initramfs-Datei durchführen kann, bestünde darin, das Passwort zum Entsperren des Notebooks nach der Eingabe in eine Datei auf dem unverschlüsselten Bereich der Festplatte zu schreiben. Dieses Passwort kann dann am nächsten Tag von dem Angreifer abgeholt oder gleich zum Lesen von verschlüsselten Daten genutzt werden.

Weiteres Testszenario: physischer Zugriff auf das Notebook Tatort Flughafen, Angriffsdauer: weniger als fünf Minuten

Für den Fall, dass Angreifern nur ein einzelner kurzer Zugriff wie bei einer Gepäckkontrolle bei Flügen möglich ist, kann das Initramfs auch so manipuliert werden, dass zusätzlich zum Betriebssystem auch eine Backdoor gestartet wird, die dann die Kontrolle über das Notebook an einen Command-and-Control-Server im Internet übergibt.

Lösungsansätze und Härtungsmaßnahmen für Linux-Systeme

Dieses Problem ist der Linux Community im Grundsatz bekannt, es ist in seiner Komplexität aber nicht einfach zu lösen. Manche Linux-Distributionen wie beispielsweise Gentoo Linux verzichten standardmäßig auf eine ausgelagerte Initramfs-Datei. Bei anderen Distributionen wie Ubuntu kann grundsätzlich auch das Initramfs in den Kernel integriert und dieser mit einem vorher im UEFI hinterlegten Key signiert werden. Allerdings sollte ohnehin verhindert werden, dass auf die Dateien im nicht verschlüsselten Bereich zugegriffen werden kann. Hierfür können die folgenden Härtungsmaßnahmen umgesetzt werden.

  • Um zu verhindern, dass ein nicht auf dem Gerät installiertes Betriebssystem von einem Fremdmedium (Stick, Netzwerk et cetera) gestartet wird, sollte in der Bootreihenfolge die Startfestplatte als erstes Bootmedium festgelegt sein.
  • Außerdem sollte ein starkes UEFI-Passwort gesetzt sein, damit die Bootreihenfolge nicht geändert werden kann. Ein UEFI-Passwort verhindert zudem, dass Schlüsselmaterial ausgetauscht oder wichtige Sicherheitseinstellungen deaktiviert werden können.
  • Zu beachten ist überdies, dass viele Hersteller einen Backup-Schlüssel des UEFI für Supportfälle besitzen. Dieser sollte deaktiviert werden, da er in der Regel errechnet oder erfragt werden kann.
  • Schließlich sind einige Notebooks in der Lage, Warnungen anzuzeigen, wenn Hardware manipuliert worden ist. Dies erschwert nicht nur den Zugriff auf die Festplatte durch Ausbau, sondern verhindert auch den Einbau vieler Hardware-Keylogger.
Vor allem für kleine- und mittelständische Unternehmen (KM) ist es oft sinnvoller, einen auf IT-Security spezialisierten Dienstleister zu beauftragen, der sich im Tagesgeschäft auf die Abwehr von Cyberangriffen konzentriert.
Cyberangriff: So kann sich jedes Unternehmen schützen
Cyberangriffe nehmen weltweit stark zu. Für Unternehmen stellt sich immer drängender die Frage, wie sie sich schützen können. Der IT-Sicherheitsspezialist Scaltel hat Tipps.

Testergebnis: Gängige Annahmen hinterfragen, Systeme genau prüfen

Das getestete Linux-Notebook ist ein gutes Beispiel dafür, dass Standardeinstellungen auch von bekannten und grundsätzlich gut gehärteten Betriebssystemen und Softwareprodukten nicht immer den gewünschten Schutz bieten. Es lohnt sich in der Regel, einen Blick auf die kleinen technischen Details zu werfen, von denen die IT-Sicherheit maßgeblich abhängt, beispielsweise im Rahmen eines Penetrationstests.

Sebastian Auwärter,  IT-Sicherheitsexperte mit besonderem Interesse unter anderem an der Administration von Linux-Servern (SLES, Ubuntu, Debian). Seit 2016 führt er für die Syss GmbH Penetrationstests durch und berät bei der Implementierung von Cloud-Infrastrukturen.

Passend zu diesem Artikel