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

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

بنية AVF

الشكل 1: بنية AVF

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

apexd وzipfuse
تثبِّت حِزم APEX وملفات APK التي تم استيرادها من الجهاز المضيف بشكل آمن.
authfs
نظام ملفات fuse لمشاركة ملفات متعددة بأمان بين Android وpVM (المضيف والضيف).
binder
الوسيلة الأساسية للتواصل بين الأجهزة الافتراضية
crosvm
برنامج مراقبة جهاز افتراضي مكتوب بلغة Rust. يخصّص crosvm ذاكرة الجهاز الافتراضي، وينشئ سلاسل وحدات المعالجة المركزية الافتراضية، وينفّذ الخلفيات الخاصة بالجهاز الافتراضي.
صورة النواة العامة (GKI)
صورة تشغيل معتمَدة من Google تحتوي على نواة GKI تم إنشاؤها من شجرة مصدر لنواة Android الشائعة (ACK) ومناسبة لتثبيتها في قسم التشغيل على جهاز Android. لمزيد من المعلومات، راجِع نظرة عامة حول النواة.
hypervisor
تكنولوجيا المحاكاة الافتراضية التي تستخدمها AVF، والمعروفة أيضًا باسم pKVM يحافظ برنامج Hypervisor على سلامة الرمز التنفيذي وسرية مواد عرض الجهاز الظاهري المحمي، حتى إذا تم اختراق نظام التشغيل Android المضيف أو أي من الأجهزة الظاهرية المحمية الأخرى.
Java API
واجهات برمجة تطبيقات Java الخاصة بخدمة VirtualizationService، والتي تتوفّر فقط على الأجهزة المتوافقة مع AVF تكون واجهات برمجة التطبيقات هذه اختيارية وليست جزءًا من thebootclasspath.
Microdroid
نظام تشغيل Android مصغّر توفّره Google ويعمل في جهاز افتراضي محمي.
Microdroid Manager
تدير دورة حياة الجهاز الافتراضي المحمي (pVM) داخل الجهاز الافتراضي المحمي وقرص الجهاز الافتراضي.
Native API
مجموعة فرعية من حزمة تطوير البرامج الأصلية (NDK) لنظام التشغيل Android
الجهاز الافتراضي المحمي المستند إلى النواة (pKVM)
اطّلِع على Hypervisor.
برنامج ثابت لآلة افتراضية محمية (pvmfw)
يتحقّق الرمز الأول الذي يتم تنفيذه على جهاز pVM من الحمولة ويستمد السر الخاص بكل جهاز pVM.
pvmfw
الآلة الافتراضية المحمية (pVM)
جهاز افتراضي يديره برنامج مراقبة الأجهزة الافتراضية، ويتم تشغيله في بيئة غير آمنة أو في عالم النطاق، وهو معزول عن نظام التشغيل Android المضيف، ما يمنع الوصول إليه حتى في حال تعرّض نظام التشغيل Android المضيف للاختراق.

تتيح الآلات الافتراضية المحمية بيئات غنية، بما في ذلك التوزيعات المستندة إلى Linux. إنّ مفهوم pVM ليس حصريًا لشركة Google. تُعدّ الآلات الافتراضية التي يحدّدها الشريك (SoC/OEM) والتي تستوفي متطلبات العزل أو قيود الوصول إلى الذاكرة أيضًا آلات افتراضية محمية.

VirtualizationService
خدمة Android التي تدير دورة حياة الأجهزة الافتراضية المحمية (pVM).

ما هي الخطوات التالية؟

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