2 Punkte von GN⁺ 2024-07-18 | 1 Kommentare | Auf WhatsApp teilen

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

 
GN⁺ 2024-07-18
Hacker-News-Kommentare
  • Rabbit-Produkte senden den GPS-Standort des Nutzers, Namen von WiFi-Netzwerken, IDs umliegender Mobilfunkmasten, die öffentliche IP-Adresse, Nutzer-Token, Gesprächsinhalte usw. an den Server
  • Ein Nutzer hat die Codebasis von Rabbit geprüft und danach das Unternehmen verlassen
  • Rabbit Inc. hat auf den Inhalt des Artikels nicht geantwortet und zieht rechtliche Schritte in Betracht
  • Rabbit Inc. hat gegen die GPL2-Lizenz verstoßen und den Quellcode nicht veröffentlicht
    • Insbesondere sind die Treiber zur Erkennung des Hall-Effekt-Scrollrads und zur Steuerung des Schrittmotors für die Kameradrehung Closed Source
    • Solche Verstöße richten großen Schaden im Free-Software-Ökosystem an
  • Es gibt auch den Fall, dass Truth Social AGPL-Code verwendet und den Quellcode zunächst nicht veröffentlicht, später aber offengelegt hat
  • Die Software ist von geringer Qualität, und auch das Unternehmen hat keinen guten Ruf
    • Wenn sich jedoch leicht benutzerdefinierte Apps ausführen lassen, könnte es interessante Anwendungsfälle geben
    • Als PWA umgesetzt wäre die Entwicklung viel schneller möglich als mit ESP32 + Batterie + Bildschirm
    • Es wäre gut, wenn es eine Möglichkeit gäbe, die Sicherheit etwa wie bei GrapheneOS zu erhöhen, ohne Google-Dienste zu nutzen
    • Ich frage mich, ob es Leute gibt, die dieses Gerät für benutzerdefinierte Single-Purpose-Apps verwenden
  • Es gibt die Meinung, dass der Name „Carroot“ lustig ist
  • Man fragt sich, ob die Datensammlung auf dieses bestimmte Gerät beschränkt ist oder eine Android-Funktion darstellt
  • Der tatsächliche Wert einer Analyse des Verhaltens von Menschen, die Rabbit-Produkte gekauft haben, ist fraglich
    • Sie könnte dazu verwendet werden, die nächsten Juicero-, Multivitamin- oder MLM-Käufer zu identifizieren