Jailbreak de RabbitOS: descubren registros secretos y una violación de la GPL
Resumen de Rabbit R1
- Rabbit R1 ha recibido muchas críticas, y los usuarios están intentando revender este producto.
- Rabbit Inc. acepta devoluciones, pero en el mercado de segunda mano el R1 se vende muy por debajo de su precio original.
Motivación
- RabbitOS es una app que corre sobre Android 13 AOSP.
- Es posible reemplazar su API mediante ingeniería inversa con scripts en Python.
- Cuando Rabbit Inc. empezó a ofuscar el código, se compró un R1 para analizarlo.
Hardware del R1
- Usa un SoC MediaTek MT6765, 4 GB de DRAM y 128 GB de almacenamiento eMMC.
- El bootloader viene bloqueado por defecto, pero puede desbloquearse y flashearse con una ROM personalizada usando
mtkclient.
Cadena de arranque
- El proceso de arranque comienza en la boot ROM (
brom) provista por MediaTek.
- El preloader inicializa la DRAM y carga las imágenes
tee, gz y lk.
- LK implementa Android Verified Boot y verifica la integridad del dispositivo de bloques mediante
dm-verity.
Rompiendo la cadena de confianza
- Con el exploit de boot ROM "kamakiri", es posible subvertir todas las etapas posteriores desde la primera fase.
- Se pueden cargar y ejecutar imágenes DA no firmadas usando el modo bootloader por USB.
Método de jailbreak
- Se carga una imagen de arranque personalizada de Android en la DRAM por USB.
- Se instala un hook al final del preloader y luego otro hook personalizado antes de saltar a LK.
- El kernel/initramfs personalizado arranca y pasa todas las verificaciones de integridad.
Proceso de investigación
- Se recopiló información de depuración a través de los test pads UART.
- Se obtuvieron logs UART parchando flags de línea de comandos del preloader y del kernel de Linux.
Hallazgos
- RabbitOS guarda todos los logs como archivos de texto en el almacenamiento interno.
- Los logs incluyen ubicación GPS, nombres de redes WiFi, identificadores de torres celulares, direcciones IP, tokens de usuario y datos de voz.
- La actualización más reciente de RabbitOS (
v0.8.112) corrige el problema de los logs y añade una opción de restablecimiento de fábrica.
"Personalización" de AOSP
- RabbitOS es un modo de app única que corre sobre Android 13 y desactiva la mayoría de las funciones de Android.
- Afirma haber mejorado la seguridad eliminando la app de configuración del sistema.
Consejo para usuarios comunes
- Si sospechas que el dispositivo fue intervenido, apágalo y vuelve a encenderlo para verificarlo.
- Se recomienda hacer un restablecimiento de fábrica antes de vender o donar el dispositivo.
Conclusión
- Rabbit R1 no tiene hardware especial, y la mayoría de las personalizaciones están orientadas a reforzar el modo de app única.
- La seguridad de la cadena de arranque es ineficaz y además se está violando la licencia GPL.
- Se publicaron herramientas de jailbreak para que los investigadores puedan analizar el R1.
Resumen de GN⁺
- La seguridad de la cadena de arranque de Rabbit R1 es débil y los datos de los usuarios se almacenan en exceso en logs.
- RabbitOS es un modo de app única sobre Android 13 que desactiva la mayoría de las funciones de Android.
- Las herramientas de jailbreak permiten que investigadores analicen el R1.
- Rabbit Inc. está violando la licencia GPL y corrigió el problema de los logs de datos de usuario.
- Entre los productos con funciones similares están Google Nest Hub y Amazon Echo Show.
1 comentarios
Opiniones de Hacker News