ชุมชนการจำลองระบบได้บรรลุความสำเร็จที่น่าทึ่งด้วย QEMU ที่สามารถบูต iPhone 11 ไปจนถึง Springboard ซึ่งเป็นหน้าจอหลักของ iOS ความก้าวหน้านี้เป็นผลจากการพัฒนาหลายปีโดยทีม ChefKissInc และถือเป็นหนึ่งในความก้าวหน้าที่สำคัญที่สุดในการจำลองอุปกรณ์มือถือ
คุณสมบัติการจำลอง iPhone 11 ของ QEMU:
- อุปกรณ์เป้าหมาย: iPhone 11 ที่ใช้ระบบปฏิบัติการ iOS 14
- ส่วนประกอบที่จำลอง: เคอร์เนล iOS, sepOS (เฟิร์มแวร์ Security Enclave)
- คุณสมบัติที่รองรับ: การกู้คืน/บูต, การเรนเดอร์ซอฟต์แวร์, การดีบัก, การจับคู่อุปกรณ์, การเข้าถึง SSH, มัลติทัช, เครือข่าย, การติดตั้ง IPA
- ข้อกำหนดการแพตช์: น้อยกว่า 10 แพตช์คำสั่ง (หลักๆ สำหรับการสำรองการเรนเดอร์ซอฟต์แวร์)
- ทีมพัฒนา: ChefKissInc และผู้มีส่วนร่วมจากชุมชน
ความสำเร็จทางเทคนิคที่เหนือกว่าความพยายามในอดีต
แตกต่างจากความพยายามในการจำลองระบบก่อนหน้านี้ที่ต้องการการปรับแต่ง iOS อย่างกว้างขวาง การใช้งานล่าสุดนี้ใช้วิธีการที่สง่างามกว่า ความพยายามก่อนหน้านี้ เช่น ของนักวิจัย eShard เกี่ยวข้องกับการแก้ไขส่วนต่างๆ ของเคอร์เนล iOS, แคชไลบรารี และระบบ userland จำนวนมากเพื่อให้เข้ากันได้กับความสามารถในการจำลองที่จำกัด การใช้งาน QEMU ปัจจุบันต้องการการแก้ไขคำสั่งน้อยกว่า 10 คำสั่ง โดยเน้นไปที่การเปิดใช้งานการเรนเดอร์ซอฟต์แวร์และการสำรอง framebuffer แทนการพึ่งพาไดรเวอร์หน้าจอ
ตัวจำลองสามารถรัน iOS 14 และ sepOS (เฟิร์มแวร์ Security Enclave ของ Apple) บนฮาร์ดแวร์ iPhone 11 ที่จำลองขึ้น ซึ่งรวมถึงการสนับสนุนกระบวนการกู้คืนและบูต, การเรนเดอร์ซอฟต์แวร์, การดีบักเคอร์เนลและ userspace, การจับคู่อุปกรณ์กับระบบโฮสต์, การเข้าถึงผ่าน serial และ SSH, ฟังก์ชัน multitouch, เครือข่าย และความสามารถในการติดตั้งและรันไฟล์ IPA ใดๆ
ไฟล์ IPA คือแพ็กเกจแอปพลิเคชัน iOS ซึ่งคล้ายกับไฟล์ APK บน Android Springboard คือหน้าจอหลักและส่วนติดต่อสำหรับเปิดแอปพลิเคชันของ iOS
การเปรียบเทียบกับความพยายามในการจำลองครั้งก่อน:
- วิธีการ eShard: ต้องการการแก้ไขอย่างกว้างขวางของ kernel iOS, library cache และส่วนประกอบ userland
- วิธีการ QEMU ปัจจุบัน: การแก้ไขเพียงเล็กน้อยที่เน้นไปที่ display driver fallbacks
- ความยั่งยืน: แนวทางปัจจุบันถือว่าสามารถปรับใช้กับ iOS เวอร์ชันอนาคตได้ดีกว่า
- ประสิทธิภาพ: สามารถ boot ไปยัง Springboard interface แบบเต็มรูปแบบ เทียบกับฟังก์ชันการทำงานที่จำกัดในความพยายามครั้งก่อน
ความสนใจของชุมชนในการประยุกต์ใช้เพื่อการวิจัยด้านความปลอดภัย
ความก้าวหน้าในการจำลองระบบนี้ได้จุดประกายความสนใจอย่างมากในหมู่นักวิจัยด้านความปลอดภัยและนักพัฒนา สมาชิกชุมชนจำนวนมากสนใจเป็นพิเศษเกี่ยวกับความเข้ากันได้ของระบบกับเครื่องมืออย่าง TrollStore ซึ่งเป็นแอปสโตร์ iOS ที่ไม่เป็นทางการและไม่ต้องการการ jailbreak และความสามารถในการถอดรหัสไฟล์ IPA ที่เข้ารหัสเพื่อการวิเคราะห์
การประยุกต์ใช้ที่เป็นไปได้นั้นขยายไปเกินกว่าการทดสอบแอปอย่างง่าย แอปพลิเคชันธนาคารและรัฐบาลที่โดยปกติต้องการฮาร์ดแวร์ iOS แท้อาจสามารถวิเคราะห์ในสภาพแวดล้อมที่จำลองนี้ได้ ซึ่งเปิดโอกาสใหม่สำหรับการวิจัยด้านความปลอดภัยและการประเมินช่องโหว่
ความยั่งยืนและการพัฒนาในอนาคต
ข้อได้เปรียบหลักของวิธีการนี้เมื่อเทียบกับความพยายามในการจำลองระบบก่อนหน้านี้คือความยั่งยืน วิธีการก่อนหน้านี้ที่ต้องการการแก้ไขส่วนประกอบ iOS อย่างกว้างขวางถือว่าเปราะบางและยากต่อการปรับใช้กับซอฟต์แวร์หรือฮาร์ดแวร์เวอร์ชันใหม่ ความต้องการการแก้ไขที่น้อยที่สุดของการใช้งานปัจจุบันบ่งชี้ว่าอาจปรับตัวได้ดีกว่ากับ iOS รุ่นใหม่ๆ
อย่างไรก็ตาม ยังคงมีความกังวลเกี่ยวกับความยั่งยืนระยะยาว สมาชิกชุมชนบางคนเน้นย้ำถึงความสำคัญของการผลักดันการเปลี่ยนแปลงไปยังโปรเจ็กต์ QEMU หลักเพื่อป้องกันไม่ให้ความพยายามนี้กลายเป็นอีกหนึ่งความพยายามในการจำลองระบบที่ถูกทิ้งร้าง ความสำเร็จของโปรเจ็กต์นี้น่าจะขึ้นอยู่กับการสนับสนุนจากชุมชนอย่างต่อเนื่องและการบูรณาการกับความพยายามในการพัฒนาหลัก
ความสำเร็จนี้ยังเปิดโอกาสที่น่าสนใจสำหรับภูมิทัศน์การจำลองระบบในวงกว้าง ซึ่งอาจเป็นประโยชน์ต่อโปรเจ็กต์อย่าง Hackintosh เมื่อ PC ที่ใช้ ARM กลายเป็นที่แพร่หลายมากขึ้น ซึ่งในที่สุดอาจนำไปสู่โซลูชันการจำลองระบบที่มีประสิทธิภาพมากขึ้นในแพลตฟอร์ม Apple ที่แตกต่างกัน
อ้างอิง: QEMU README