ทำไมต้อง AVF?

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

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

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

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

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

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

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

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

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

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