Jailbreak de RabbitOS : découverte de journaux secrets et d’une violation de la GPL
Aperçu du Rabbit R1
- Le Rabbit R1 fait l’objet de nombreuses critiques, et les utilisateurs essaient de revendre le produit.
- Rabbit Inc. accepte les retours, mais sur le marché de l’occasion, le R1 se vend bien en dessous de son prix public.
Motivation
- RabbitOS est une application qui fonctionne sur Android 13 AOSP.
- Il est possible de faire de la rétro-ingénierie de l’API et de la remplacer par un script Python.
- Rabbit Inc. ayant commencé à obfusquer le code, l’auteur a acheté un R1 pour l’analyser.
Matériel du R1
- Utilise un SoC MediaTek MT6765, 4 Go de DRAM et 128 Go de stockage eMMC.
- Le bootloader est verrouillé par défaut, mais il est possible de le déverrouiller et de flasher une ROM personnalisée avec
mtkclient.
Chaîne de démarrage
- Le processus de démarrage commence dans la boot ROM (
brom) fournie par MediaTek.
- Le preloader initialise la DRAM, puis charge les images
tee, gz et lk.
- LK implémente Android Verified Boot et vérifie l’intégrité du périphérique de blocs via
dm-verity.
Briser la chaîne de confiance
- L’exploit de boot ROM "kamakiri" permet, dès la première étape, de compromettre toutes les étapes suivantes.
- Il est possible de charger et d’exécuter des images DA non signées via le mode bootloader USB.
Méthode de jailbreak
- Chargement d’une image de boot Android personnalisée en DRAM via USB.
- Installation d’un hook à la fin du preloader, puis d’un hook personnalisé avant le saut vers LK.
- Un noyau / initramfs personnalisés démarrent tout en passant toutes les vérifications d’intégrité.
Processus de recherche
- Collecte d’informations de débogage via les pastilles de test UART.
- Collecte des journaux UART en patchant les indicateurs de ligne de commande du preloader et du noyau Linux.
Découvertes
- RabbitOS enregistre tous les journaux sous forme de fichiers texte dans le stockage interne.
- Ces journaux incluent la position GPS, les noms des réseaux Wi‑Fi, les identifiants des antennes cellulaires, les adresses IP, les jetons utilisateur, les données vocales, etc.
- La dernière mise à jour de RabbitOS (
v0.8.112) corrige le problème des journaux et ajoute une option de réinitialisation d’usine.
"Personnalisation" d’AOSP
- RabbitOS fonctionne comme un mode application unique sur Android 13 et désactive la plupart des fonctions d’Android.
- L’entreprise affirme avoir renforcé la sécurité en supprimant l’application des paramètres système.
Conseils pour les utilisateurs ordinaires
- En cas de doute sur un éventuel jailbreak, redémarrer l’appareil pour vérifier.
- Une réinitialisation d’usine est recommandée avant de vendre ou de donner l’appareil.
Conclusion
- Le Rabbit R1 ne dispose d’aucun matériel vraiment particulier, et la plupart des personnalisations visent surtout à renforcer le mode application unique.
- La sécurité de la chaîne de démarrage est inefficace et enfreint la licence GPL.
- Les outils de jailbreak sont publiés afin d’aider les chercheurs à analyser le R1.
Résumé de GN⁺
- La sécurité de la chaîne de démarrage du Rabbit R1 est faible, et les données utilisateur sont excessivement enregistrées dans les journaux.
- RabbitOS fonctionne comme un mode application unique sur Android 13 et désactive la plupart des fonctions d’Android.
- Les outils de jailbreak permettent aux chercheurs d’analyser le R1.
- Rabbit Inc. enfreint la licence GPL et a corrigé le problème des journaux de données utilisateur.
- Parmi les produits aux fonctions similaires figurent le Google Nest Hub et l’Amazon Echo Show.
1 commentaires
Avis sur Hacker News