Use Case

เอกสารนี้มีกรณีการใช้งานทั่วไปสำหรับ AVF

วิดีโอรวมแบบแยกต่างหาก

ในฐานะเครือข่ายที่ปลอดภัยด้วยซอฟต์แวร์ VM ที่มีการป้องกันมอบสภาพแวดล้อมที่ปลอดภัยให้แก่ คอมไพล์โค้ดที่มีความละเอียดอ่อนต่อความปลอดภัย สภาพแวดล้อมนี้ช่วยให้ย้ายการคอมไพล์ได้ ของ bootclasspath และ JAR ของเซิร์ฟเวอร์ระบบ (ทริกเกอร์โดยการอัปเดต APEX) จาก เปิดเครื่องตั้งแต่เนิ่นๆ ก่อนรีบูต และช่วยลด APEX ได้อย่างมาก อัปเดตเวลาเปิดเครื่อง

การติดตั้งใช้งานจะอยู่ใน com.android.compos APEX คอมโพเนนต์นี้เป็นแบบไม่บังคับและใส่ได้ โดยใช้น้ำเสียงที่ดู makefile

วิดีโอรวมแบบแยกต่างหาก

รูปที่ 1 การรวบรวม JAR เกี่ยวกับการอัปเดตเมนไลน์

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

บริการคอมไพล์ใน VM จะสร้างลายเซ็นเฉพาะเมื่อไม่มี ในระหว่างการคอมไพล์ทั้งหมด Android สามารถเรียกดูคีย์สาธารณะจาก VM สำหรับการยืนยันลายเซ็น

คีย์ของ VM สร้างขึ้นจากโปรไฟล์ DICE ของ VM ที่กำหนดโดย APEXes และ APK ที่ต่อเชื่อมกับ VM นอกเหนือจากพารามิเตอร์ VM อื่นๆ เช่น และแก้ไขข้อบกพร่องได้

Android จะเปิดเครื่องเพื่อพิจารณาว่าคีย์สาธารณะไม่ได้มาจาก VM ที่ไม่คาดคิดหรือไม่ VM เพื่อระบุว่าคีย์ถูกต้องหรือไม่ VM มีการเปิดเครื่องเมื่อเปิดเครื่องก่อนเวลา หลังจากการอัปเดต APEX แต่ละครั้ง

ด้วยการเปิดเครื่องที่ได้รับการยืนยันของ Protected VM บริการคอมไพล์จะทำงานก็ต่อเมื่อมีการยืนยันแล้ว โค้ด ดังนั้น โค้ดจึงสามารถระบุให้ยอมรับเฉพาะอินพุตที่ตรงตามเกณฑ์ เงื่อนไขบางอย่าง เช่น ยอมรับไฟล์อินพุตเฉพาะที่ชื่อและ กำหนดไดเจสต์ fs-verity ไว้ในรายการที่อนุญาตแล้ว

API ที่เปิดเผยจาก VM คือแพลตฟอร์มการโจมตี ไฟล์อินพุตทั้งหมดและ พารามิเตอร์จะถือว่ามาจากไคลเอ็นต์ที่ไม่น่าเชื่อถือ และต้องได้รับการยืนยันและ ได้รับการตรวจสอบก่อนประมวลผล

ความสมบูรณ์ของไฟล์อินพุต/เอาต์พุตได้รับการยืนยันโดย VM โดยเก็บไฟล์ไว้ใน Android เป็นเซิร์ฟเวอร์ไฟล์ที่ไม่น่าเชื่อถือ ดังนี้

  • เนื้อหาของไฟล์อินพุตต้องได้รับการยืนยันก่อนใช้งาน fs-verity หากต้องการให้ไฟล์อินพุตพร้อมใช้งานใน VM ของ ต้องระบุแฮชรูทในคอนเทนเนอร์ (APK) ที่ทำให้เกิดค่า โปรไฟล์ DICE ของ VM ผู้โจมตีจะงัดแงะได้ด้วยแฮชรูทที่เชื่อถือได้ อินพุตได้โดยที่ตรวจไม่พบ
  • ต้องรักษาความสมบูรณ์ของไฟล์เอาต์พุตใน VM แม้ว่า ไฟล์เอาต์พุตจะจัดเก็บไว้ใน Android ในระหว่างการสร้าง ความสมบูรณ์ ได้รับการดูแลด้วยรูปแบบโครงสร้างต้นไม้ fs-verity เดียวกัน แต่เปลี่ยนเป็นแบบไดนามิกได้ อัปเดตแล้ว ไฟล์เอาต์พุตสุดท้ายจะระบุได้ด้วยแฮชรูท ซึ่งแยกต่างหากใน VM บริการใน VM ปกป้องเอาต์พุต ไฟล์ด้วยลายเซ็น