ภาพรวมของเฟรมเวิร์กการจำลองการทำงานแบบเสมือนของ Android (AVF)

เฟรมเวิร์กการจำลองการทำงานแบบเสมือนของ Android (AVF) มีสภาพแวดล้อมการดำเนินการที่ปลอดภัยและเป็นส่วนตัว สำหรับการเรียกใช้โค้ด AVF เหมาะอย่างยิ่งสำหรับกรณีการใช้งานที่เน้นความปลอดภัย ซึ่งต้องมีการรับประกันการแยกที่เข้มงวดกว่าหรือแม้แต่ได้รับการยืนยันอย่างเป็นทางการ มากกว่าที่แซนด์บ็อกซ์ของแอป Android มีให้ Android มีการใช้งานอ้างอิง ของคอมโพเนนต์ทั้งหมดที่จำเป็นต่อการใช้งาน AVF AVF รองรับเฉพาะ ในอุปกรณ์ ARM64 รูปที่ 1 แสดงสถาปัตยกรรมของ AVF

สถาปัตยกรรม AVF

รูปที่ 1 สถาปัตยกรรม AVF

คำจำกัดความของคำศัพท์ที่สำคัญที่สุดจากรูปที่ 1 มีดังนี้

apexd และ zipfuse
ติดตั้ง APEX และ APK ที่นำเข้าจากโฮสต์อย่างปลอดภัย
authfs
ระบบไฟล์ FUSE สำหรับแชร์ไฟล์หลายไฟล์ระหว่าง Android กับ pVM (โฮสต์และแขกรับเชิญ) อย่างปลอดภัย
binder
วิธีการหลักในการสื่อสารระหว่าง VM
crosvm
โปรแกรมตรวจสอบเครื่องเสมือนที่เขียนด้วย Rust โดย crosvm จะจัดสรรหน่วยความจำ VM สร้างเธรด CPU เสมือน และใช้แบ็กเอนด์ของอุปกรณ์เสมือน
Generic Kernel Image (GKI)
อิมเมจบูทที่ได้รับการรับรองจาก Google ซึ่งมีเคอร์เนล GKI ที่สร้างจาก โครงสร้างแหล่งที่มาของ Android Common Kernel (ACK) และเหมาะที่จะแฟลชไปยัง พาร์ติชันบูทของอุปกรณ์ Android ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของเคอร์เนล
ไฮเปอร์ไวเซอร์
เทคโนโลยีการจำลองเสมือนที่ AVF ใช้ หรือที่เรียกว่า pKVM ไฮเปอร์ไวเซอร์จะรักษาความสมบูรณ์ของโค้ดที่ดำเนินการและความลับของ ชิ้นงานของ pVM แม้ว่า Android ของโฮสต์หรือ pVM อื่นๆ จะถูกบุกรุกก็ตาม
Java API
Java API ของ VirtualizationService ซึ่งมีอยู่ในอุปกรณ์ที่รองรับ AVF เท่านั้น API เหล่านี้เป็นตัวเลือกและไม่ได้เป็นส่วนหนึ่งของ thebootclasspath
Microdroid
ระบบปฏิบัติการ Android ขนาดเล็กที่ Google จัดหาให้ซึ่งทำงานใน pVM
Microdroid Manager
จัดการวงจรของ pVM ภายใน pVM และดิสก์อินสแตนซ์
API ดั้งเดิม
ชุดย่อยของ Android Native Developers Kit (NDK)
เครื่องเสมือนที่ใช้เคอร์เนลที่ได้รับการปกป้อง (pKVM)
ดู Hypervisor
เฟิร์มแวร์ pVM (pvmfw)
โค้ดแรกที่ทำงานใน pVM pvmfw จะยืนยันเพย์โหลดและสร้าง ข้อมูลลับต่อ VM
เครื่องเสมือนที่ได้รับการปกป้อง (pVM)
VM ที่จัดการโดยไฮเปอร์ไวเซอร์ ซึ่งทำงานในโลกที่ไม่ปลอดภัยหรือใน Realm และแยกออกจากระบบปฏิบัติการโฮสต์ Android เพื่อป้องกันการเข้าถึงแม้ในกรณีที่โฮสต์ Android ถูกบุกรุก

pVM รองรับสภาพแวดล้อมที่หลากหลาย ซึ่งรวมถึงการกระจายข้อมูลที่ใช้ Linux แนวคิด pVM ไม่ใช่แนวคิดเฉพาะของ Google นอกจากนี้ VM ที่พาร์ทเนอร์กำหนด (SoC/OEM) ซึ่งมีข้อจำกัดด้านการแยก / การเข้าถึงหน่วยความจำก็เป็น pVM ด้วย

VirtualizationService
บริการ Android ที่จัดการวงจรของ pVM

สิ่งต่อไปที่ควรทำ

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