Jailbreak do RabbitOS: descoberta de logs secretos e violação da GPL
Visão geral do Rabbit R1
- O Rabbit R1 vem recebendo muitas críticas, e os usuários estão tentando revender o produto.
- A Rabbit Inc. aceita devoluções, mas no mercado de usados o R1 é vendido por um valor bem abaixo do preço original.
Motivação
- O RabbitOS é um app executado sobre o Android 13 AOSP.
- É possível fazer engenharia reversa da API e substituí-la por um script em Python.
- Como a Rabbit Inc. começou a ofuscar o código, foi comprado um R1 para analisá-lo.
Hardware do R1
- Usa SoC MediaTek MT6765, 4GB de DRAM e 128GB de armazenamento eMMC.
- O bootloader vem bloqueado por padrão, mas é possível desbloqueá-lo e gravar uma ROM customizada usando
mtkclient.
Cadeia de boot
- O processo de boot começa no bootrom (
brom) fornecido pela MediaTek.
- O preloader inicializa a DRAM e carrega as imagens tee, gz e lk.
- O LK implementa o Android Verified Boot e verifica a integridade do dispositivo de blocos via dm-verity.
Quebrando a cadeia de confiança
- Com o exploit de bootrom "kamakiri", é possível subverter todas as etapas seguintes já na primeira fase.
- Também é possível carregar e executar uma imagem DA não assinada usando o modo USB bootloader.
Método de jailbreak
- Uma imagem de boot Android customizada é carregada na DRAM via USB.
- Um hook é instalado na parte final do preloader, com um hook customizado antes do salto para o LK.
- O kernel/initramfs customizado inicializa e passa por todas as verificações de integridade.
Processo de pesquisa
- Informações de depuração foram coletadas por meio dos test pads UART.
- Flags da linha de comando do preloader e do kernel Linux foram alteradas para coletar logs UART.
Descobertas
- O RabbitOS salva todos os logs como arquivos de texto no armazenamento interno.
- Os logs incluem localização GPS, nomes de redes Wi-Fi, IDs de torres celulares, endereços IP, tokens de usuário, dados de voz e mais.
- A atualização mais recente do RabbitOS (v0.8.112) corrigiu o problema dos logs e adicionou uma opção de restauração de fábrica.
"Customização" do AOSP
- O RabbitOS roda em modo de app único sobre o Android 13 e desativa a maior parte das funções do Android.
- Alega aumentar a segurança removendo o app de configurações do sistema.
Conselho para usuários em geral
- Se houver suspeita de jailbreak, reinicie o aparelho para verificar.
- Recomenda-se fazer restauração de fábrica antes de vender ou doar o aparelho.
Conclusão
- O Rabbit R1 não tem nenhum hardware especial, e a maior parte das customizações serve para reforçar o modo de app único.
- A segurança da cadeia de boot é ineficaz e há violação da licença GPL.
- A ferramenta de jailbreak foi publicada para ajudar pesquisadores a analisar o R1.
Resumo do GN⁺
- A segurança da cadeia de boot do Rabbit R1 é fraca, e dados de usuários são armazenados em excesso nos logs.
- O RabbitOS roda em modo de app único sobre o Android 13 e desativa a maior parte das funções do Android.
- A ferramenta de jailbreak ajuda pesquisadores a analisar o R1.
- A Rabbit Inc. está violando a licença GPL e corrigiu o problema dos logs de dados de usuários.
- Produtos com funções parecidas incluem Google Nest Hub e Amazon Echo Show.
1 comentários
Comentários do Hacker News