# RabbitOS 탈옥: 비밀 로그와 GPL 위반 발견

> Clean Markdown view of GeekNews topic #15889. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=15889](https://news.hada.io/topic?id=15889)
- GeekNews Markdown: [https://news.hada.io/topic/15889.md](https://news.hada.io/topic/15889.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-07-18T09:45:44+09:00
- Updated: 2024-07-18T09:45:44+09:00
- Original source: [da.vidbuchanan.co.uk](https://www.da.vidbuchanan.co.uk/blog/r1-jailbreak.html)
- Points: 2
- Comments: 1

## Topic Body

#### 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 등이 있음.

## Comments



### Comment 27341

- Author: neo
- Created: 2024-07-18T09:45:44+09:00
- Points: 1

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