ทำไมต้อง AVF?

อุปกรณ์คอมพิวเตอร์เคลื่อนที่กำลังจัดการข้อมูลที่ละเอียดอ่อนส่วนบุคคลในปริมาณที่เพิ่มมากขึ้น การมีอยู่ของข้อมูลที่ละเอียดอ่อนดังกล่าว ซึ่งได้รับความช่วยเหลือจากการเชื่อมต่ออย่างต่อเนื่องกับโลกภายนอก ส่งผลให้มีการลงทุนเพิ่มขึ้นจากผู้ไม่ประสงค์ดีที่สนใจใช้ประโยชน์จากช่องโหว่เพื่อบรรลุเป้าหมายของตน

ระบบปฏิบัติการ ด้วยความช่วยเหลือของหน่วยการจัดการหน่วยความจำฮาร์ดแวร์ (MMU) จัดเตรียมนามธรรมที่ทำให้กระบวนการที่ไม่เกี่ยวข้องถูกแยกออกจากกัน เฉพาะส่วนประกอบที่เป็นส่วนหนึ่งของ TCB เท่านั้นที่ได้รับอนุญาตให้ตั้งโปรแกรม MMU เหล่านี้โดยตรง

โมเดลนี้เป็นรากฐานของวิธีการนำความเป็นส่วนตัวและความปลอดภัยมาใช้นับตั้งแต่มีการเปิดตัวระบบปฏิบัติการที่คล้ายกับ Unix อย่างไรก็ตาม ข้อกำหนดนี้กลายเป็นปัญหาเนื่องจาก TCB ในปัจจุบันมีขนาดใหญ่เกินไป โดยรวมถึงอุปกรณ์และไดรเวอร์บัสส่วนใหญ่ ตัวกำหนดเวลาที่ซับซ้อน ระบบไฟล์ สแต็กเครือข่ายและโปรโตคอล แคช ตัวแยกวิเคราะห์และตัวโหลดปฏิบัติการ และซ็อกเก็ต เป็นเรื่องยากมากที่จะให้แน่ใจว่าทุกมุมของระบบที่ซับซ้อนนี้ปลอดภัย

เคอร์เนล Linux มีโค้ดมากกว่า 20 ล้านบรรทัด และอัตราการเปลี่ยนแปลงและการเขียนใหม่นั้นน่าทึ่งมาก การเติบโตนี้เป็นความช่วยเหลืออันยิ่งใหญ่สำหรับ Android และระบบนิเวศของเรา อย่างไรก็ตาม TCB ที่มีขนาดใหญ่ทำให้ยากต่อการตรวจสอบให้แน่ใจว่าไม่มีช่องโหว่ที่สามารถใช้ประโยชน์ได้

ผู้จำหน่ายฮาร์ดแวร์ได้พัฒนาโซลูชั่น เช่น Arm's TrustZone ซึ่งช่วยให้โปรเซสเซอร์ทำงานในโหมดปลอดภัยและแท็กธุรกรรมหน่วยความจำว่า "ปลอดภัย" หรือ "ไม่ปลอดภัย" ในระบบดังกล่าว ข้อมูลที่ละเอียดอ่อนจะถูกจัดเก็บและเข้าถึงได้โดยตรงในโลกที่ปลอดภัยเท่านั้น ซึ่งให้บริการแก่โลกที่ไม่ปลอดภัยตามความต้องการ

ข้อจำกัดหลักของโซลูชันประเภทนี้คือโดเมนมีเนื้อหาหยาบเกินไป: มีเฉพาะความปลอดภัยและไม่ปลอดภัยเท่านั้น เมื่อมีการแนะนำกรณีการใช้งานที่ต้องแยกออกจากระบบปฏิบัติการมากขึ้น พื้นผิวการโจมตีจะเพิ่มขึ้นและช่องโหว่มีแนวโน้มที่จะนำไปสู่การประนีประนอมกับอุปกรณ์ทั้งหมด

ข้อจำกัดอีกประการหนึ่งของโซลูชันในปัจจุบันก็คือ ได้รับการออกแบบมาเพื่อโลกที่ค่อนข้างคงที่ ซึ่งทรัพยากรกรณีการใช้งานทั้งหมดได้รับการพิจารณาและจัดสรรไว้ล่วงหน้า โซลูชันเหล่านี้ไม่ดีพอสำหรับกรณีการใช้งานแบบไดนามิกที่มีการจัดสรรทรัพยากรตามความต้องการ

นอกจากนี้ API ที่ใช้นอกระบบปฏิบัติการ Android ยังกระจัดกระจายและจำกัดความสามารถของเราในการปรับใช้กรณีการใช้งานในระดับ Android รวมถึงปัจจัยพื้นฐานเช่น Keymint และ Gatekeeper

เพื่อแก้ไขข้อจำกัดเหล่านี้และทำให้ Android สามารถมอบรากฐานที่แข็งแกร่งสำหรับกรณีการใช้งานรุ่นต่อไป Android 13 จึงแนะนำการจำลองเสมือนที่ปลอดภัยเป็น Android Virtualization Framework (AVF)

เป้าหมายหลักของ AVF คือการจัดหาสภาพแวดล้อมการดำเนินการที่ปลอดภัยและเป็นส่วนตัวสำหรับกรณีการใช้งานรุ่นต่อไป