- Spoiler-Warnung: „Ja.“
- Thema: Wenn es keine Bugs gibt, braucht man kreative Methoden, und Hardware-Fehlerinjektion kann die Lösung sein. Dazu gehören die Beschädigung von softwaregesteuerten Daten, Power Glitching, Clock Glitching, elektromagnetische Pulse, Laser usw.
- Hardware-Fehlerinjektion: Normalerweise ist dafür teure Ausrüstung nötig, aber als günstige Methode kann man einen piezoelektrischen BBQ-Zünder mit einer Induktionsspule kombinieren und als Werkzeug für elektromagnetische Fehlerinjektion (EMFI) verwenden.
Testziel
- Gerät: Samsung-S3520-Laptop, Intel i3-2310M-CPU, 1 GB DDR3-RAM.
- Ziel: Entwicklung eines lokalen Privilege-Escalation-Exploits auf Basis von Hardwarefehlern.
- Methode: Durch Fehlerinjektion an einem der DQ-Pins des DDR-Busses werden Speicherfehler ausgelöst.
Bit-Flip-Exploit in CPython
- Ziel: Entwicklung eines „Sandbox-Escape“-Exploits in CPython.
- Strategie: In einem
bytes-Objekt wird eine gefälschte bytearray-Struktur erzeugt, und CPython wird dazu gebracht, eine Referenz auf dieses Fake-Objekt bereitzustellen.
Bit-Flip-Exploit unter Linux
- Ziel: Erlangung von Root-Rechten ausgehend von einem nicht privilegierten Linux-Benutzer.
- Schlüsselkonzepte: Memory Caching, virtueller Speicher und Seitentabellen, Translation Lookaside Buffer (TLB).
- Strategie: Die Seitentabellen werden in für Benutzer zugänglichen Speicher gemappt, sodass Zugriff auf beliebigen physischen Speicher möglich wird.
Praktische Nutzung
- Anwendung: Eine Windows-LPE mit EMFI kann Gamern helfen, die Kontrolle über ihren PC zurückzugewinnen.
- Zukünftige Möglichkeiten: Denkbar wäre die Umsetzung eines automatisierten Exploits, indem man „Gaming-RAM“ mit einem RP2040 ausstattet.
GN⁺-Zusammenfassung
- Dieser Artikel erklärt, wie sich Software- und Hardware-Sicherheitslücken mit günstiger Hardware-Fehlerinjektion untersuchen lassen.
- Hardware-Fehlerinjektion ist auch ohne teure Ausrüstung möglich und zeigt, dass sich damit verschiedene Sicherheitsgrenzen überwinden lassen können.
- Der Artikel hilft dabei, die Wechselwirkung zwischen Hardware und Software zu verstehen, und kann für Sicherheitsforscher oder Hacker nützlich sein.
- Ein Projekt mit ähnlicher Funktionsweise sind Speicher-Fehlerinjektionstechniken wie Rowhammer.
2 Kommentare
Das erinnert mich daran, wie man bei Feuerzeugen den Zünder herausgenommen hat, um in der Spielhalle die Münzen hochzuschieben.
Hacker-News-Kommentar
Sich auf der Switch 2 Root-Rechte zu verschaffen, war die Inspiration, und der Proof of Concept bestand darin, unter Linux Root-Rechte zu erlangen. Das Ziel war, die Kontrolle über die Hardware zurückzugewinnen, ohne das TPM oder Anti-Cheat im Ring 0 von Spielen zu brechen
Wenn physischer Zugriff möglich ist, kann man das BIOS neu flashen oder eine Treiber-Backdoor installieren. Wenn die Festplatte jedoch verschlüsselt ist, sind solche Hacks nicht möglich
Ich dachte erst, es sei ein Beitrag darüber, dass jemand Root-Zugriff auf einen Zigarettenanzünder bekommen hat. Da der Ofen meiner Eltern regelmäßig Software-Updates erhält, hätte es mich nicht gewundert, wenn auch ein Zigarettenanzünder smart wäre
Bei "0x100_0000" bewirkt das "_" nichts. Es verändert den Zahlenwert nicht
Das erinnert mich an Exploits für Arcade-Automaten im Sydney der 80er und 90er Jahre. Mit piezoelektrischen Zündern konnte man dem Spiel Credits hinzufügen
Das ist genau die Art von Inhalt, die ich auf HN erwarte. Das Talent mancher Leute ist erstaunlich. Ich frage mich, wie lange es dauert, sich solche Fähigkeiten anzueignen
Das ist nicht nur ein unterhaltsamer Exploit, sondern auch eine schöne Mini-Einführung in die Funktionsweise des CPU-Cachings. Ich frage mich, ob sich noch jemand an die Website erinnert, die damit begann, Logikgatter zu erklären und dann beschrieb, wie Computer funktionieren
"Man braucht nur einen 15-Ohm-Widerstand und ein an DQ26 gelötetes Kabel. Das Kabel fungiert als Antenne und kippt nahegelegene EM-Störungen direkt auf den Datenbus"
Ich folge ihm auf Mastodon, und der Beitrag ist ebenfalls großartig. Auf Mastodon gibt es ein Video, das den Root-Zugriff zeigt