RabbitOS-Jailbreak: Geheime Logs und GPL-Verstöße entdeckt
Überblick über Rabbit R1
- Das Rabbit R1 steht stark in der Kritik, und Nutzer versuchen, das Produkt weiterzuverkaufen.
- Rabbit Inc. akzeptiert Rücksendungen, aber auf dem Gebrauchtmarkt wird das R1 deutlich unter dem Listenpreis verkauft.
Motivation
- RabbitOS ist eine App, die auf Android 13 AOSP läuft.
- Die API kann per Reverse Engineering analysiert und durch ein Python-Skript ersetzt werden.
- Als Rabbit Inc. begann, den Code zu verschleiern, wurde ein R1 gekauft, um dies zu untersuchen.
R1-Hardware
- Verwendet werden ein MediaTek MT6765 SoC, 4 GB DRAM und 128 GB eMMC-Speicher.
- Der Bootloader ist standardmäßig gesperrt, kann aber mit
mtkclient entsperrt werden, einschließlich Flashen eines Custom-ROMs.
Boot-Kette
- Der Bootvorgang beginnt im von MediaTek bereitgestellten Boot-ROM (
brom).
- Der Preloader initialisiert DRAM und lädt die Images
tee, gz und lk.
- LK implementiert Android Verified Boot und prüft über
dm-verity die Integrität der Blockgeräte.
Die Vertrauenskette brechen
- Mit dem Boot-ROM-Exploit "kamakiri" lassen sich bereits in der ersten Stufe alle nachfolgenden Stufen unterlaufen.
- Über den USB-Bootloader-Modus können unsignierte DA-Images geladen und ausgeführt werden.
Jailbreak-Methode
- Ein Custom-Android-Boot-Image wird über USB in den DRAM geladen.
- Im letzten Teil des Preloaders wird ein Hook installiert und vor dem Sprung zu LK ein Custom-Hook gesetzt.
- Ein Custom-Kernel bzw. eine initiale Ramdisk bootet und besteht dabei alle Integritätsprüfungen.
Forschungsprozess
- Debug-Informationen wurden über UART-Testpads gesammelt.
- Durch Patchen von Kommandozeilen-Flags im Preloader und im Linux-Kernel wurden UART-Logs erfasst.
Erkenntnisse
- RabbitOS speichert sämtliche Logs als Textdateien im internen Speicher.
- Die Logs enthalten GPS-Standorte, Wi-Fi-Netzwerknamen, Mobilfunkzellen-IDs, IP-Adressen, Nutzer-Token, Sprachdaten und mehr.
- Im neuesten RabbitOS-Update (v0.8.112) wurde das Log-Problem behoben und eine Option zum Zurücksetzen auf Werkseinstellungen hinzugefügt.
AOSP-"Anpassungen"
- RabbitOS ist ein Single-App-Modus auf Android 13, der die meisten Android-Funktionen deaktiviert.
- Es wird behauptet, dass das Entfernen der System-Einstellungs-App die Sicherheit erhöht.
Hinweise für normale Nutzer
- Wenn ein Jailbreak vermutet wird, sollte das Gerät aus- und wieder eingeschaltet werden, um dies zu prüfen.
- Vor dem Verkauf oder Verschenken des Geräts wird ein Zurücksetzen auf Werkseinstellungen empfohlen.
Fazit
- Das Rabbit R1 besitzt keine besondere Hardware; die meisten Anpassungen dienen lediglich dazu, den Single-App-Modus zu verstärken.
- Die Sicherheit der Boot-Kette ist wirkungslos, zudem liegt ein Verstoß gegen die GPL-Lizenz vor.
- Das Jailbreak-Tool wird veröffentlicht, damit Forschende das R1 analysieren können.
Zusammenfassung von GN⁺
- Die Sicherheit der Boot-Kette des Rabbit R1 ist schwach, und Nutzerdaten werden übermäßig umfangreich in Logs gespeichert.
- RabbitOS ist ein Single-App-Modus auf Android 13, der die meisten Android-Funktionen deaktiviert.
- Das Jailbreak-Tool unterstützt Forschende bei der Analyse des R1.
- Rabbit Inc. verstößt gegen die GPL-Lizenz und hat das Problem mit den Nutzerdaten-Logs behoben.
- Produkte mit ähnlichen Funktionen sind unter anderem Google Nest Hub und Amazon Echo Show.
1 Kommentare
Hacker-News-Kommentare