يقدّم إطار عمل Android Virtualization (AVF) بيئة تنفيذ آمنة وخاصة لتنفيذ الرموز البرمجية. إنّ ميزة "وضع التطبيقات في حاويات افتراضية" مثالية لحالات الاستخدام المرتكزة على الأمان التي تتطلّب ضمانات عزل أقوى، حتى لو تم التحقّق منها رسميًا، مقارنةً بتلك التي يوفّرها وضع التطبيقات في مساحة محاكاة Android. يوفّر Android نموذج تنفيذ مرجعيًا لجميع المكوّنات اللازمة لتنفيذ AVF. لا تتوفّر حاليًا ميزة AVF إلا على أجهزة ARM64. يوضّح الشكل 1 بنية AVF:
في ما يلي تعريفات لأهم المصطلحات الواردة في الشكل 1:
- apexd وzipfuse
- تثبيت حِزم APEX وحِزم APK التي تم استيرادها من المضيف بأمان
- authfs
- نظام ملفات Fuse لمشاركة ملفات متعددة بأمان بين Android وpVM (المضيف والضيف).
- مُلصق
- الوسيلة الأساسية للتواصل بين الأجهزة الافتراضية:
- crosvm
- مُراقب جهاز افتراضي مكتوب بلغة Rust: يخصّص crosvm ذاكرة الجهاز الافتراضي ويُنشئ مؤشرات عمليات وحدة المعالجة المركزية الافتراضية وينفّذ الخلفيات للجهاز الافتراضي.
- Generic Kernel Image (GKI)
- صورة تمهيد معتمَدة من Google تحتوي على نواة GKI تم إنشاؤها من شجرة رمز مصدر Android Common Kernel (ACK) وهي مناسبة لفلاشها على قسم التمهيد في جهاز Android لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على ملف kernel.
- برنامج إدارة الأجهزة الافتراضية
- تقنية المحاكاة الافتراضية التي يستخدمها AVF، والمعروفة أيضًا باسم pKVM. يحافظ الهايبر visor على سلامة الرمز البرمجي الذي يتم تنفيذه والسرية لمواد عرض جهاز افتراضي للأجهزة الجوّالة، حتى إذا تم اختراق نظام Android المضيف أو أي من أجهزة افتراضية للأجهزة الجوّالة الأخرى.
- Java API
- واجهات برمجة تطبيقات Java لـ VirtualizationService، والتي لا تتوفّر إلا على الأجهزة التي تتوافق مع
AVF واجهات برمجة التطبيقات هذه اختيارية وليست جزءًا من
thebootclasspath
. - Microdroid
- نظام تشغيل Android مصغر تقدّمه Google ويتم تشغيله في جهاز افتراضي شخصي (pVM).
- مدير Microdroid
- تدير دورة حياة جهاز pVM داخل جهاز pVM وقرص المثيل.
- واجهة برمجة التطبيقات الأصلية
- مجموعة فرعية من مجموعة تطوير البرامج الأصلية لنظام التشغيل Android (NDK)
- الجهاز الافتراضي المحمي المستند إلى النواة (pKVM)
- راجِع Hypervisor.
- البرامج الثابتة لنظام التشغيل pVM (
pvmfw
) - الرمز البرمجي الأول الذي يتم تشغيله على جهاز افتراضي مخصّص للتطبيقات،
pvmfw
يُثبت صحة الحمولة ويُنشئ السرية لكل جهاز افتراضي. - آلة افتراضية محمية (pVM)
يشير ذلك المصطلح إلى بيئة تنفيذ معزولة وغير موثوق بها بشكل متبادل ("ضيف") تعمل إلى جانب نظام التشغيل Android الرئيسي ("المضيف")، وذلك من خلال إدارة أجهزة pKVM.
مقارنةً ببيئات التنفيذ الموثوق بها الحالية (TEEs)، توفر الأجهزة الافتراضية بيئة أكثر ثراءً، بما في ذلك توزيع مصغر من Android يسمى Microdroid. يمكن استخدام الأجهزة الافتراضية بشكل ديناميكي وتوفير مجموعة قياسية من واجهات برمجة التطبيقات المتاحة على جميع الأجهزة المتوافقة.
- VirtualizationService
خدمة Android التي تدير دورة حياة الأجهزة الافتراضية.
ما هي الخطوات التالية؟
- لفهم الحاجة إلى AVF بشكل أفضل، يُرجى الاطّلاع على لماذا AVF؟.
- للاطّلاع على كيفية استخدام AVF في عملية الترجمة المجتزأة، يُرجى الرجوع إلى حالات الاستخدام.
- للحصول على شرح أكثر تفصيلاً لبنية التنفيذ المرجعي لإطار عمل AVF، يُرجى الرجوع إلى بنية AVF.
- لمزيد من المعلومات عن Microdroid، راجع Microdroid.
- إذا كنت مهتمًا بمعرفة كيفية تعامل AVF مع الأمان، يُرجى الرجوع إلى الأمان.
- لفهم دور خدمة المحاكاة الافتراضية، يُرجى الرجوع إلى VirtualizationService.
- للحصول على رمز المصدر لإطار عمل AVF أو شرح مفصّل عن المكوّنات الفردية، يُرجى الرجوع إلى مستودع AOSP.