SLUBStick bedroht Linux

Neue Kernel-Exploit-Technik entdeckt

08.08.2024 von Tristan  Fincken
Cybersecurity-Forscher haben eine neuartige Exploit-Technik namens SLUBStick entdeckt, die den Linux-Kernel angreift.
Microsoft ist nicht allein. Auch der Linux-Kernel kann zum Ziel von Kriminellen werden.
Foto: Alberto Garcia Guillen - shutterstock.com

Nicht nur Microsoft sorgt durch die CrowdStrike-Updatepanne für Schlagzeilen an seinem Kernel. So haben Forscher der Technischen Universität Graz jetzt eine Schwachstelle im Linux-Kernel entdeckt. Diese kann durch ein neues Verfahren namens SLUBStick ausgenutzt werden. Hierfür wird eine begrenzte Heap-Schwachstelle zu einem beliebigen Speicherlese- und -schreib-Primitiv ausgenutzt. Diese Schwäche gehört zu einer Vielzahl von Sicherheitslücken im Linux-Kernel, deren Zahl in den letzten Jahren erheblich zugenommen hat.

Glücklicherweise können die meisten dieser Schwächen nur begrenzt Schaden anrichten. Hierzu gehört z. B. die Beschädigung einiger Bytes in begrenzten Allokations-Caches Caches. Dies liegt daran, dass Sicherheitsfunktionen wie Supervisor Mode Access Prevention (SMAP), Kernel Address Space Layout Randomization (KASLR) und Kernel Control Flow Integrity (kCFI) wesentlich schwieriger kompromittiert werden können.

Was SLUBStick auszeichnet

Doch was macht SLUBStick so besonders? Es handelt sich um eine neuartige Kernel-Exploitation-Technik, die eine begrenzte Heap-Schwachstelle zu einem beliebigen Speicherlese- und -schreibprimitiv macht. SLUBStick arbeitet dabei in mehreren Stufen:

Zunächst wird ein Timing-Seitenkanal des Allokators ausgenutzt, um einen Cross-Cache-Angriff zuverlässig durchzuführen. SLUBStick nutzt dann im Linux-Kernel verbreitete Codemuster aus, um eine begrenzte Heap-Schwachstelle in eine Seitentabellenmanipulation umzuwandeln. Hiermit ist es Angreifern dann möglich, Speicher beliebig zu lesen und zu schreiben.

Welche Schwachstellen zum Einsatz kommen

Die Forscher der Universität Graz demonstrierten die Anwendbarkeit von SLUBStick durch die systematische Analyse von zwei Linux-Kernel-Versionen, v5.19 und v6.2. Anschließend evaluierten sie die Technik mit einer synthetischen Schwachstelle und 9 realen Common Vulnerabilities and Exposures (CVE). Hierzu zählen u.a. double free, use-after-free und out-of-bounds write. Diese CVEs wurden zwischen 2021 und 2023 entdeckt.

Mit ihrer Hilfe lassen sich sowohl Privilegienausweitung als auch Container-Escape im Linux-Kernel bei aktivierten modernen Kernel-Verteidigungsmaßnahmen bewerkstelligen.

Kernel beeinflussen, Daten abgreifen

Technisch gesehen ist der Kerngedanke hinter dem Ansatz, die CVEs zu nutzen, dass sie es möglich machen, Kernel-Daten zu verändern und ein beliebiges Speicher-Lese- und Schreib-Primitiv (arbitrary memory read-and-write primitive) zu erhalten. Besonders wichtig ist hierbei, dass bestehende Verteidigungsmaßnahmen wie KASLR sich so zuverlässig überwinden lassen, wie die Forscher aus Graz feststellen.

Damit dies funktioniert, setzt das Bedrohungsmodell jedoch das Vorhandensein einer Heap-Schwachstelle im Linux-Kernel voraus und dass ein unprivilegierter Benutzer über Code-Ausführungsfähigkeiten verfügt.

Dennoch geht von SLUBStick eine signifikante Gefahr für Linux-Nutzer aus. Denn mithilfe eines Cross-Cache-Angriffs lässt sich die Erfolgschance häufig verwendete generische Caches zu knacken auf über 99 Prozent steigern. Besonders gefährdet sind neuere Systeme wie v5.10 und v6.2, da sie eine Vielzahl von Heap-Schwachstellen aufweisen, so die Grazer Forscher.