2021 / Github / Sicherheitslücke

Linux Sicherheitslücken – Wie Kleinkinder Linux hackten!

Manchmal ist es sprichwörtlich kinderleicht Linux Sicherheitslücken zu finden. So fanden die spielenden Kinder des Github-Benutzers robo2bobo einen Weg, Linux-Screensaver und Passwortschutz zu umgehen. Solche Zufallsfunde passieren immer mal wieder, aber diese lassen sich automatisiert testen. Wir zeigen Ihnen, was genau passiert ist und was das ganze dem Begriff Fuzzing zu tun hat.

Kinderleichte Linux Sicherheitslücken

Die Entdeckung dieser Linux Sicherheitslücke beginnt mit den spielenden Kindern des Github-Benutzers robo2bobo. Als seine Kinder mit seinem gesperrten Linux-Laptop spielten, tippten diese Wild auf der Tastatur und der virtuellen Bildschirmtastatur herum und auf einmal stürzte der Bildschirmschoner des Laptops ab und ohne die Eingabe seines Passworts war dieser entsperrt.

Das erregte doch die Aufmerksamkeit des Github-Benutzers robo2bobo und dieser meldete das soeben passierte an die Entwickler des Cinamon-Screensaver. Auf den ersten Blick wurde noch nicht ganz klar, was genau passiert war, aber nach einigen Nachforschungen der Entwickler wurde klar, dass der Bildschirmschoner bei der Eingabe des Buchstaben „ē“ über die virtuelle Tastatur abstürzt und der Benutzer damit direkt angemeldet am System ist.

In einer Linux Umgebung dient der Bildschirmschoner gleichzeitig zum Schutz vor unberechtigten Zugriff auf einen Rechner. Das bedeutet der Bildschirmschoner übernimmt ebenfalls die Aufgabe des Anmeldebildschirms. Wenn nun eine Möglichkeit gefunden wird diesen Bildschirmschoner zum Absturz zu bringen, wird ebenfalls die Zugangskontrolle umgangen. Daher sind solche Schwachstellen immer sehr kritisch für eine solche Software.

Gezielt Sicherheitslücken identifizieren mittels Fuzzing

Normalerweise finden solche Linux Schwachstellen selten Kinder beim einfachen „herum tippen“ auf der Tastatur. Aber wie in unserem Beispiel passiert dies manchmal. Das liegt daran, dass dieses einfache und zufällige Tippen einer wichtigen im Technik zum Auffinden von Sicherheitslücken sehr ähnelt – Dem Fuzzing. Unter Fuzzing versteht man eine Technik, bei der einer Anwendung automatisiert zufällige große Datenmengen zur Verarbeitung gegeben werden. Das Fuzzing Programm überwacht dabei die Ausführung des zu testenden Programms und versucht durch immer neue zufällige Eingaben das Programm zum Absturz zu bringen.

Fuzzing ist einer der wichtigsten Techniken beim Entdecken von Sicherheitslücken in Software,  ein prominentes Beispiel welches durch Fuzzing entdeckt wurde war beispielsweise eine Sicherheitslücke in Raptor über die wir bereits berichteten. Durch Fuzzing werden größtenteils Linux Sicherheitslücken entdeckt welche auf Fehlerhaften Speicherzugriffen basieren wie Buffer-Overflows.

Fuzzing von Webseiten

Neben Linux Sicherheitslücken können mit Hilfe von Fuzzing aber auch Webanwendungen auf Schwachstellen hin untersucht werden. Viele der Tools, welche wir bereits vorgestellt haben nutzen Techniken des Fuzzings um Schwachstellen wie SQL-Injections oder Cross-Site-Scripting zu identifizieren. Während der von unseren Pentester:innen durchgeführten Untersuchungen und Penetrationstests werden daher standardmäßig solche Techniken verwendet. Dadurch ermöglicht es Ihnen alle kritischen Komponenten vollumfänglich auf Schwachstellen hinzu untersuchen.

Foto des Autors

Chris Wojzechowski

Mein Name ist Chris Wojzechowski und ich habe vor wenigen Jahren meinen Master in Internet-Sicherheit in Gelsenkirchen studiert. Ich bin geschäftsführender Gesellschafter der AWARE7 GmbH und ausgebildeter IT-Risk Manager, IT-Grundschutz Praktiker (TÜV) und besitze die Prüfverfahrenskompetenz für § 8a BSIG. Unser Brot und Buttergeschäft ist die Durchführung von Penetrationstests. Wir setzen uns darüber hinaus für ein breites Verständnis für IT-Sicherheit in Europa ein und bieten aus diesem Grund den Großteil unserer Produkte kostenfrei an.