2 ポイント 投稿者 GN⁺ 2024-07-18 | 1件のコメント | WhatsAppで共有

RabbitOSの脱獄:秘密ログとGPL違反を発見

Rabbit R1の概要

  • Rabbit R1は多くの批判を受けており、ユーザーはこの製品を転売しようとしている。
  • Rabbit Inc.は返品を受け付けているが、中古市場ではR1は定価よりはるかに安く販売されている。

動機

  • RabbitOSはAndroid 13 AOSP上で動作するアプリである。
  • APIをリバースエンジニアリングして、Pythonスクリプトで置き換えることができる。
  • Rabbit Inc.がコードの難読化を始めたため、それを分析するためにR1を購入した。

R1のハードウェア

  • MediaTek MT6765 SoC、4GB DRAM、128GB eMMCストレージを搭載。
  • ブートローダーはデフォルトでロックされているが、mtkclientを使ってロック解除とカスタムROMの書き込みが可能。

ブートチェーン

  • ブートプロセスはMediaTekが提供するブートROM(brom)から始まる。
  • PreloaderがDRAMを初期化し、tee、gz、lkイメージを読み込む。
  • LKはAndroid Verified Bootを実装し、dm-verityを通じてブロックデバイスの完全性を確認する。

信頼のチェーンを破る

  • "kamakiri"ブートROMエクスプロイトにより、最初の段階で以降のすべての段階をサブバートできる。
  • USBブートローダーモードを使って、署名されていないDAイメージを読み込んで実行できる。

脱獄方法

  • カスタムAndroidブートイメージをUSB経由でDRAMに読み込む。
  • Preloaderの最後の部分にフックを設置し、LKへジャンプする前にカスタムフックを導入する。
  • カスタムカーネル/初期ramdiskが起動し、すべての完全性チェックを通過する。

研究プロセス

  • UARTテストパッドを通じてデバッグ情報を収集。
  • PreloaderとLinuxカーネルのコマンドラインフラグをパッチしてUARTログを収集。

発見事項

  • RabbitOSは内部ストレージにすべてのログをテキストファイルとして保存する。
  • ログにはGPS位置、WiFiネットワーク名、セルタワーID、IPアドレス、ユーザートークン、音声データなどが含まれる。
  • 最新のRabbitOSアップデート(v0.8.112)でログの問題を修正し、工場出荷時リセットのオプションを追加した。

AOSPの「カスタマイズ」

  • RabbitOSはAndroid 13上で動作するシングルアプリモードで、Androidの機能の大半を無効化している。
  • システム設定アプリを削除してセキュリティを高めたと主張している。

一般ユーザーへの助言

  • 脱獄されている疑いがある場合は、デバイスの電源を入れ直して確認すること。
  • デバイスを売却または譲渡する前に、工場出荷時リセットを推奨。

結論

  • Rabbit R1には特別なハードウェアはなく、カスタマイズの大半はシングルアプリモードを強化するためのものにすぎない。
  • ブートチェーンのセキュリティは効果的ではなく、GPLライセンスにも違反している。
  • 脱獄ツールを公開し、研究者がR1を分析できるよう支援している。

GN⁺のまとめ

  • Rabbit R1のブートチェーンのセキュリティは脆弱で、ユーザーデータが過剰にログとして保存されていた。
  • RabbitOSはAndroid 13上で動作するシングルアプリモードで、Androidの機能の大半を無効化している。
  • 脱獄ツールにより、研究者がR1を分析できるよう支援している。
  • Rabbit Inc.はGPLライセンスに違反しており、ユーザーデータのログ問題は修正された。
  • 類似機能を持つ製品としては、Google Nest Hub、Amazon Echo Showなどがある。

1件のコメント

 
GN⁺ 2024-07-18
Hacker Newsの意見
  • Rabbit製品がユーザーのGPS位置、WiFiネットワーク名、周辺のセルタワーID、インターネットIPアドレス、ユーザートークン、会話内容などをサーバーに送信している
  • あるユーザーがRabbitのコードベースを調査した後、その会社を去った
  • Rabbit Inc.は記事の内容について回答しておらず、法的対応を検討している
  • Rabbit Inc.がGPL2ライセンスに違反し、ソースコードを公開していなかった
    • 特に、ホール効果スクロールホイール検出とカメラ回転ステッピングモーター制御ドライバーがクローズドソースである
    • こうした違反は自由ソフトウェアのエコシステムに大きな害を与える
  • Truth Socialにも、AGPLコードを使いながらソースを公開せず、後になって公開した事例がある
  • ソフトウェアの品質は低く、会社の評判も良くない
    • しかし、カスタムアプリを実行しやすいなら興味深いユースケースがあるかもしれない
    • PWAで実装すれば、ESP32 + バッテリー + 画面よりはるかに速く開発できる
    • Googleサービスを使わず、GrapheneOSのようにセキュリティを高められる方法があればよい
    • カスタムの単機能フォーカスアプリのためにこのデバイスを使っている人がいるのか気になる
  • 「Carroot」という名前が面白いという意見がある
  • データ収集が特定のデバイスにだけ制限されるのか、それともAndroidの機能なのか気になる
  • Rabbit製品を購入した人々の行動を分析する実際の価値が何なのか疑問である
    • 次のJuicero、マルチビタミン、マルチ商法の購入者を特定するのに使えるかもしれない