2P by neo 2달전 | favorite | 댓글 1개

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에서 제공하는 부트롬(brom)에서 시작됨.
  • Preloader가 DRAM을 초기화하고, tee, gz, lk 이미지를 로드함.
  • LK는 Android Verified Boot를 구현하며, dm-verity를 통해 블록 장치의 무결성을 확인함.

신뢰 체인 깨기

  • "kamakiri" 부트롬 익스플로잇을 통해 첫 번째 단계에서 모든 후속 단계를 서브버트 가능.
  • USB 부트로더 모드를 사용해 서명되지 않은 DA 이미지를 로드하고 실행 가능.

탈옥 방법

  • 커스텀 Android 부트 이미지를 USB를 통해 DRAM에 로드.
  • Preloader의 마지막 부분에 훅을 설치하고, LK로 점프하기 전에 커스텀 훅을 설치.
  • 커스텀 커널/초기 램디스크가 부팅되며, 모든 무결성 검사를 통과함.

연구 과정

  • 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 등이 있음.
Hacker News 의견
  • Rabbit 제품이 사용자의 GPS 위치, WiFi 네트워크 이름, 주변 셀 타워 ID, 인터넷 IP 주소, 사용자 토큰, 대화 내용 등을 서버에 전송함
  • 한 사용자가 Rabbit의 코드베이스를 검토한 후 회사를 떠났음
  • Rabbit Inc.가 기사 내용에 대해 답변하지 않았으며, 법적 대응을 고려 중임
  • Rabbit Inc.가 GPL2 라이선스를 위반하고 소스 코드를 공개하지 않았음
    • 특히, hall-effect 스크롤 휠 감지 및 카메라 회전 스테퍼 모터 제어 드라이버가 폐쇄 소스임
    • 이러한 위반은 자유 소프트웨어 생태계에 큰 피해를 줌
  • Truth Social도 AGPL 코드를 사용하면서 소스를 공개하지 않다가 나중에 공개한 사례가 있음
  • 소프트웨어는 품질이 낮고 회사도 좋은 평가를 받지 못함
    • 그러나 커스텀 앱을 실행하기 쉽다면 흥미로운 사용 사례가 있을 수 있음
    • PWA로 구현하면 ESP32 + 배터리 + 화면보다 훨씬 빠르게 개발 가능함
    • Google 서비스를 사용하지 않고 GrapheneOS 같은 보안성을 높일 수 있는 방법이 있으면 좋겠음
    • 커스텀 단일 포커스 앱을 위해 이 장치를 사용하는 사람들이 있는지 궁금함
  • "Carroot"라는 이름이 재미있다는 의견이 있음
  • 데이터 수집이 특정 장치에만 제한되는지 아니면 Android 기능인지 궁금함
  • Rabbit 제품을 구매한 사람들의 행동을 분석하는 실제 가치가 무엇인지 의문임
    • 다음 Juicero, 멀티비타민, 다단계 마케팅 구매자를 식별하는 데 사용될 수 있음