2 คะแนน โดย GN⁺ 2024-07-18 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

เจลเบรก RabbitOS: พบล็อกลับและการละเมิด GPL

ภาพรวมของ Rabbit R1

  • Rabbit R1 ถูกวิจารณ์อย่างหนัก และผู้ใช้จำนวนมากกำลังพยายามขายต่อผลิตภัณฑ์นี้
  • Rabbit Inc. รับคืนสินค้า แต่ในตลาดมือสอง R1 ขายในราคาที่ต่ำกว่าราคาป้ายมาก

แรงจูงใจ

  • RabbitOS เป็นแอปที่ทำงานอยู่บน Android 13 AOSP
  • สามารถทำ reverse engineer API และแทนที่ด้วยสคริปต์ Python ได้
  • เมื่อ Rabbit Inc. เริ่มทำ code obfuscation จึงซื้อ R1 มาเพื่อวิเคราะห์สิ่งนี้

ฮาร์ดแวร์ของ R1

  • ใช้ MediaTek MT6765 SoC, DRAM 4GB และ eMMC storage 128GB
  • bootloader ถูกล็อกไว้เป็นค่าเริ่มต้น แต่สามารถปลดล็อกและแฟลช custom ROM ได้ด้วย mtkclient

บูตเชน

  • กระบวนการบูตเริ่มจาก boot ROM (brom) ที่ MediaTek จัดเตรียมไว้
  • Preloader จะเริ่มต้น DRAM และโหลดอิมเมจ tee, gz, lk
  • LK ใช้งาน Android Verified Boot และตรวจสอบความสมบูรณ์ของ block device ผ่าน dm-verity

การทำลาย chain of trust

  • ใช้บูต ROM exploit ชื่อ "kamakiri" เพื่อทำให้ทุกขั้นตอนถัดไปถูก subvert ได้ตั้งแต่ขั้นแรก
  • สามารถโหลดและรันอิมเมจ DA ที่ไม่ได้ลงลายเซ็นได้ผ่านโหมด USB bootloader

วิธีเจลเบรก

  • โหลด Android boot image แบบกำหนดเองเข้า DRAM ผ่าน USB
  • ติดตั้ง hook ไว้ในช่วงท้ายของ Preloader และติดตั้ง custom hook ก่อนกระโดดไปยัง LK
  • custom kernel/initramfs จะบูตขึ้นมาและผ่านการตรวจสอบความสมบูรณ์ทั้งหมด

กระบวนการวิจัย

  • เก็บข้อมูลดีบักผ่านแผ่นทดสอบ UART
  • เก็บล็อก UART โดยแพตช์ command line flags ของ Preloader และ Linux kernel

สิ่งที่ค้นพบ

  • RabbitOS เก็บล็อกทั้งหมดเป็นไฟล์ข้อความไว้ใน internal storage
  • ล็อกมีข้อมูลอย่างตำแหน่ง GPS, ชื่อเครือข่าย WiFi, ID เสาสัญญาณมือถือ, ที่อยู่ IP, โทเค็นผู้ใช้, ข้อมูลเสียง เป็นต้น
  • RabbitOS อัปเดตล่าสุด (v0.8.112) ได้แก้ปัญหาเรื่องล็อกและเพิ่มตัวเลือก factory reset

"การปรับแต่ง" AOSP

  • RabbitOS เป็นโหมดแอปเดี่ยวที่ทำงานบน Android 13 และปิดการใช้งานฟังก์ชันส่วนใหญ่ของ Android
  • อ้างว่าการลบแอประบบ Settings ออกช่วยเพิ่มความปลอดภัย

คำแนะนำสำหรับผู้ใช้ทั่วไป

  • หากสงสัยว่าอุปกรณ์อาจถูกเจลเบรก ให้ลองปิดแล้วเปิดเครื่องใหม่เพื่อตรวจสอบ
  • แนะนำให้ทำ factory reset ก่อนขายต่อหรือบริจาคอุปกรณ์

บทสรุป

  • 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 และไม่ได้เปิดเผยซอร์สโค้ด
    • โดยเฉพาะไดรเวอร์ตรวจจับล้อเลื่อนแบบ hall-effect และไดรเวอร์ควบคุมสเต็ปเปอร์มอเตอร์สำหรับการหมุนกล้องเป็นซอร์สปิด
    • การละเมิดลักษณะนี้สร้างความเสียหายอย่างมากต่อระบบนิเวศซอฟต์แวร์เสรี
  • มีกรณีของ Truth Social ที่ใช้โค้ด AGPL โดยไม่เปิดเผยซอร์สเช่นกัน ก่อนจะมาเปิดเผยภายหลัง
  • ซอฟต์แวร์มีคุณภาพต่ำ และบริษัทก็ไม่ได้รับการประเมินในทางที่ดี
    • แต่ถ้ารันแอปแบบคัสตอมได้ง่าย ก็อาจมีกรณีใช้งานที่น่าสนใจอยู่บ้าง
    • ถ้าทำเป็น PWA ก็สามารถพัฒนาได้เร็วกว่า ESP32 + แบตเตอรี่ + หน้าจอมาก
    • คงจะดีถ้ามีวิธีเพิ่มความปลอดภัยแบบ GrapheneOS โดยไม่ใช้บริการของ Google
    • สงสัยว่ามีคนใช้เครื่องนี้สำหรับแอปคัสตอมแบบโฟกัสงานเดียวหรือไม่
  • มีความเห็นว่าชื่อ "Carroot" ฟังดูขำดี
  • สงสัยว่าการเก็บข้อมูลถูกจำกัดอยู่แค่อุปกรณ์นี้ หรือเป็นฟังก์ชันของ Android
  • ตั้งคำถามว่ามูลค่าที่แท้จริงของการวิเคราะห์พฤติกรรมคนที่ซื้ออุปกรณ์ Rabbit คืออะไร
    • อาจใช้เพื่อระบุคนที่จะซื้อ Juicero ตัวถัดไป, วิตามินรวม, หรือสินค้าการตลาดหลายชั้นก็ได้