2 puntos por GN⁺ 2024-07-18 | 1 comentarios | Compartir por WhatsApp

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

 
GN⁺ 2024-07-18
Opiniones de Hacker News
  • El producto de Rabbit envía al servidor la ubicación GPS del usuario, el nombre de la red WiFi, los ID de las torres celulares cercanas, la dirección IP de internet, los tokens del usuario, el contenido de las conversaciones y más
  • Un usuario dejó la empresa después de revisar la base de código de Rabbit
  • Rabbit Inc. no respondió sobre el contenido del artículo y está considerando acciones legales
  • Rabbit Inc. violó la licencia GPL2 y no publicó el código fuente
    • En particular, el detector de la rueda de desplazamiento con sensor Hall y el controlador del motor paso a paso para la rotación de la cámara son de código cerrado
    • Estas violaciones causan un gran daño al ecosistema del software libre
  • También hubo un caso en el que Truth Social usó código AGPL sin publicar la fuente y luego la terminó publicando
  • El software es de baja calidad y la empresa tampoco tiene buena reputación
    • Sin embargo, si es fácil ejecutar apps personalizadas, podría haber casos de uso interesantes
    • Si se implementa como PWA, se puede desarrollar mucho más rápido que con ESP32 + batería + pantalla
    • Sería bueno que hubiera una forma de mejorar la seguridad con algo como GrapheneOS sin usar los servicios de Google
    • Me pregunto si hay personas que usan este dispositivo para apps personalizadas de enfoque único
  • Hay una opinión de que el nombre "Carroot" es gracioso
  • Hay curiosidad por saber si la recolección de datos está limitada solo a ese dispositivo o si es una función de Android
  • Se cuestiona cuál es el valor real de analizar el comportamiento de las personas que compraron productos de Rabbit
    • Podría usarse para identificar a los próximos compradores de Juicero, multivitamínicos o marketing multinivel