Linux: Vom einfachen Speicherfehler zur Systemübernahme

Ein häufig vorkommender Fehler in C-Code hat einen Google-Entwickler motiviert, über Gegenmaßnahmen nachzudenken.

Artikel veröffentlicht am ,
Typische C-Fehler im Linux-Kernel führen oft zu gravierenden Sicherheitslücken.
Typische C-Fehler im Linux-Kernel führen oft zu gravierenden Sicherheitslücken. (Bild: Pixabay)

Der Google-Entwickler Jann Horn beschreibt in einem langem Blogpost für Googles Project Zero detailliert die Ausnutzung einer Lücke im Linux-Kernel. Bei dem eigentlichen Fehler handelt es sich um eine sogenannte Use-After-Free-Lücke, die "relativ normal" sei und zum Beispiel bei C-Code zu den typischen Fehlern gehört.

Stellenmarkt
  1. Informatiker / Anwendungsentwickler (m/w/d) - Schwerpunkt datenbankgestützte Web-Anwendungen
    DG Nexolution eG, Wiesbaden
  2. Wissenschaftlicher Mitarbeiter / Wissenschaftliche Mitarbeiterin (w/m/d) an der Fakultät für ... (m/w/d)
    Universität Passau, Passau
Detailsuche

Horn gelang es, auf Grundlage des Fehlers vollen Systemzugriff zu erlangen. Er schreibt dazu: "Ich hoffe, dass das Durchlaufen eines solchen Exploits und die Weitergabe dieses gesammelten Wissens an die breitere Sicherheitsgemeinschaft dazu beitragen kann, den relativen Nutzen verschiedener Gegenmaßnahmen zu erörtern."

Zu der sehr ausführlichen und mit expliziten Code-Beispielen versehenen Beschreibung zum Ausnutzen der Lücke schreibt Horn darüber hinaus: "Es handelte sich im Wesentlichen um einen langweiligen Locking-Fehler in einem zufälligen Kernel-Subsystem, der, wenn es sich nicht um einen Speicherfehler handeln würde, eigentlich keine große Bedeutung für die Systemsicherheit haben sollte. Ich habe einen ziemlich einfachen, unaufregenden (und zugegebenermaßen unzuverlässigen) Exploit für diesen Fehler geschrieben; und die wahrscheinlich größte Herausforderung, auf die ich bei dem Versuch, ihn unter Debian auszunutzen, gestoßen bin, war, richtig zu verstehen, wie der SLUB-Allokator funktioniert."

Compiler-Werkzeuge nicht ausreichend

Der Sicherheitsforscher beschreibt damit ein inzwischen typisches Bild für die Einordnung von C-Code und damit verbundenen Speicherfehlern, die von vielen in der IT-Industrie vermehrt als sehr großes Sicherheitsproblem gesehen werden. Doch Horn führt aus, dass etwa die inzwischen für Compiler wie Clang umgesetzten Werkzeuge mit rein praktischen Schwierigkeiten konfrontiert seien.

Golem Karrierewelt
  1. Adobe Photoshop Aufbaukurs: virtueller Zwei-Tage-Workshop
    15./16.12.2022, Virtuell
  2. Elastic Stack Fundamentals – Elasticsearch, Logstash, Kibana, Beats: virtueller Drei-Tage-Workshop
    14.-16.02.2023, Virtuell
Weitere IT-Trainings

Für die Thread-Analyse brauche es etwa Annotationen, die von der Community betreut werden müssten. Eine globale statische Analyse finde außerdem nur einen Teilmenge bestimmter Fehler und sei möglicherweise nicht geeignet, die Korrektheit von sicheren Speicherzugriffen zu beweisen. Auch Techniken wie Control-Flow Integrity hätten auf den von Horn entwickelten Exploit keinerlei Auswirkung, da dieser komplett auf einer Datenmanipulation basiert, nicht auf der Manipulation von Zeigern oder Ähnlichem.

Horn schreibt außerdem, dass die aktuelle Situation der Software-Sicherheit "dramatisch verbessert" werden könne. Kurzfristig seien hier jedoch nur einige Notlösungen denkbar. "Langfristig denke ich, muss sich an der Programmiersprache etwas ändern - schlichtes C ist einfach zu fehleranfällig." Ob das inzwischen oft als C-Ersatz gepriesene Rust die richtige Antwort ist, kann Horn aber auch nicht sagen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Superlokkus 27. Okt 2021

Kann ich nicht zustimmen: Array zugriffe eben wie gesagt per at nicht per [], in den...

spiegelneuron 23. Okt 2021

Inwiefern sich das thread caching der glibc von mimalloc unterscheidet, davon weißt Du...

spiegelneuron 22. Okt 2021

Woher hast Du die 70% ?

COMWrapper 22. Okt 2021

Es gibt keine bahnbrechenden neuen Erkenntnisse. Die großen Firmen wissen seit Jahren...



Aktuell auf der Startseite von Golem.de
El-Ali-Meteorit
Forscher entdecken zwei neue Minerale in einem Meteoriten

In einer Probe aus einem in Somalia niedergegangenen Meteoriten wurden zwei Mineralien entdeckt, die auf der Erde so bisher nicht gefunden wurden.

El-Ali-Meteorit: Forscher entdecken zwei neue Minerale in einem Meteoriten
Artikel
  1. Kraftfahrt-Bundesamt: Elektrischer Corsa sollte zur Abgasuntersuchung
    Kraftfahrt-Bundesamt
    Elektrischer Corsa sollte zur Abgasuntersuchung

    Das Kraftfahrt-Bundesamt ruft den Opel Corsa samt der Elektro-Variante zurück, weil ein Softwarefehler im Auto eine Messung verhindert.

  2. Recruiting: Personalauswahl mit KI kann Unternehmen schaden
    Recruiting
    Personalauswahl mit KI kann Unternehmen schaden

    Software ist objektiv und kennt keine Vorurteile, das macht Künstliche Intelligenz interessant für die Personalauswahl. Ist KI also besser als Personaler? Die Bewerber sind skeptisch und die Wissenschaft liefert keinen Beweis dafür.
    Ein Bericht von Peter Ilg

  3. Gerichtsurteil: MDR darf Facebook-Kommentare ohne Sendungsbezug löschen
    Gerichtsurteil
    MDR darf Facebook-Kommentare ohne Sendungsbezug löschen

    Öffentlich-rechtliche Sender begehen keine Zensur, wenn sie nicht strafbare Kommentare auf Facebook löschen. Manchmal sind sie eher dazu verpflichtet.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5 bestellbar • Tiefstpreise: Crucial SSD 4TB 319€, Palit RTX 4080 1.499€, HTC Vive Pro 2 659€ • Alternate: Team Group SSD 512GB 29,99€, AOC Curved 27" 240 Hz 199,90€ • Samsung Cyber Week • Top-TVs (2022) LG & Samsung über 40% günstiger • AOC Curved 34" WQHD 389€ [Werbung]
    •  /