نظرة عامة على Android Virtualization Framework (AVF)

يوفر Android Virtualization Framework (AVF) بيئات تنفيذ آمنة وخاصة لتنفيذ التعليمات البرمجية. يعد AVF مثاليًا لحالات الاستخدام ذات التوجه الأمني ​​التي تتطلب ضمانات عزل أقوى ، وحتى تم التحقق منها رسميًا ، مقارنة بتلك التي يوفرها وضع الحماية لتطبيق Android. يوفر Android تطبيقًا مرجعيًا لجميع المكونات اللازمة لتنفيذ AVF. حاليًا ، AVF مدعوم فقط على أجهزة ARM64. يوضح الشكل 1 بنية AVF:

هندسة AVF

الشكل 1. هندسة AVF

فيما يلي تعريفات أهم المصطلحات الواردة في الشكل 1:

apexd و zipfuse
يُثبت بشكل آمن APEXes و APKs المستوردة من المضيف.
المؤلفين
نظام ملفات مصهر للأمان لمشاركة ملفات متعددة بين Android و pVM (المضيف والضيف).
الموثق
الوسائل الأساسية للاتصال بين الأجهزة الافتراضية.
كروسفم
شاشة آلة افتراضية مكتوبة بالصدأ. يقوم crosvm بتخصيص ذاكرة الجهاز الظاهري ، وإنشاء مؤشرات ترابط وحدة المعالجة المركزية الافتراضية ، وتنفيذ النهايات الخلفية للجهاز الظاهري.
صورة نواة عامة (GKI)
صورة تمهيد معتمدة من Google تحتوي على نواة GKI مبنية من شجرة مصدر Android Common Kernel (ACK) وهي مناسبة ليتم وميضها إلى قسم التمهيد بجهاز Android. لمزيد من المعلومات ، راجع نظرة عامة على Kernel .
برنامج Hypervisor
تقنية المحاكاة الافتراضية التي تستخدمها AVF ، والمعروفة أيضًا باسم pKVM . يحافظ برنامج Hypervisor على سلامة الكود المنفذ وسرية أصول pVM ، حتى إذا تم اختراق Android أو أي من أجهزة pVM الأخرى.
جافا API
واجهات برمجة تطبيقات Java الافتراضية لخدمة VirtualizationService ، والتي تتوفر فقط على الأجهزة التي تدعم AVF. تعد واجهات برمجة التطبيقات هذه اختيارية وليست جزءًا من thebootclasspath .
ميكرودرويد
نظام تشغيل mini-Android توفره Google ويعمل في pVM.
مدير Microdroid
يدير دورة حياة pVM ، داخل pVM ، وقرص المثيل.
واجهة برمجة التطبيقات الأصلية
مجموعة فرعية من Android Native Developers Kit (NDK).
جهاز ظاهري محمي قائم على النواة (pKVM)
انظر Hypervisor .
البرامج الثابتة pVM ( pvmfw )
الكود الأول الذي يتم تشغيله على جهاز pVM ، يتحقق pvmfw من الحمولة ويستمد السر لكل جهاز افتراضي.
آلة افتراضية محمية (pVM)

بيئات تنفيذ معزولة لا يثق بها الطرفان ("الضيوف") تعمل جنبًا إلى جنب مع نظام تشغيل Android الرئيسي ("المضيف"). تدار pVMs بواسطة pKVM.

مقارنة ببيئات التنفيذ الموثوقة الحالية (TEEs) ، توفر pVM بيئة أكثر ثراءً ، بما في ذلك توزيع Android المصغر يسمى Microdroid . يمكن استخدام pVMs ديناميكيًا وتوفير مجموعة قياسية من واجهات برمجة التطبيقات المتاحة عبر جميع الأجهزة التي تدعمها.

خدمة الفيروتالية

خدمة Android التي تدير دورة حياة pVMs.

ماذا بعد؟

  • إذا كنت تريد أن تفهم بشكل أفضل الحاجة إلى AVF ، فراجع لماذا AVF؟ .
  • للقراءة حول كيفية استخدام AVF للتجميع المعزول ، راجع حالات الاستخدام .
  • إذا كنت تريد شرحًا أكثر تعمقًا لبنية تطبيق مرجع AVF ، فارجع إلى هندسة AVF .
  • إذا كنت تريد التعرف على Microdroid ، فارجع إلى Microdroid .
  • إذا كنت مهتمًا بكيفية تعامل AVF مع الأمان ، فراجع الأمان .
  • لفهم دور خدمة المحاكاة الافتراضية ، ارجع إلى VirtualizationService .