لماذا نستخدم AVF؟

تتعامل أجهزة الحوسبة الجوّالة مع كميات أكبر من البيانات الشخصية الحسّاسة. وقد أدّى توفّر هذه البيانات الحسّاسة، بمساعدة الاتصال المستمر بالعالم الخارجي، إلى زيادة استثمارات الجهات الضارة المهتمة باستغلال الثغرات الأمنية لتحقيق أهدافها.

توفّر أنظمة التشغيل، بمساعدة وحدات إدارة الذاكرة (MMU) في الأجهزة، عمليات تجريد تعزل العمليات غير ذات الصلة عن بعضها البعض. لا يُسمح إلا للمكوّنات التي تشكّل جزءًا من قاعدة الحوسبة الموثوق بها (TCB) ببرمجة وحدات إدارة الذاكرة هذه مباشرةً.

لقد كان هذا النموذج أساسًا لكيفية تطبيق الخصوصية والأمان منذ طرح أنظمة التشغيل الشبيهة بنظام Unix. ومع ذلك، أصبح هذا الشرط يطرح مشكلة لأنّ قاعدة الحوسبة الموثوق بها (TCB) كبيرة جدًا اليوم، فهي تشمل معظم برامج تشغيل الأجهزة والحافلات، والمجدولين المعقّدين، وأنظمة الملفات، ومجموعة بروتوكولات الشبكة، وذاكرات التخزين المؤقت، ومحلّلات ومحمّلات الملفات التنفيذية، والمآخذ. وأصبح من الصعب جدًا ضمان أمان كل جزء من هذا النظام المعقّد.

يحتوي Linux kernel على أكثر من 20 مليون سطر من التعليمات البرمجية، ومعدّل التغييرات وعمليات إعادة الكتابة مذهل. ويساعد هذا النمو بشكل كبير Android والنظام المتكامل الذي نوفّره. ومع ذلك، فإنّ قاعدة الحوسبة الموثوق بها (TCB) الكبيرة تجعل من الصعب ضمان عدم وجود ثغرات أمنية قابلة للاستغلال.

طوّر مورّدو الأجهزة حلولاً، مثل TrustZone من Arm، تسمح للمعالِجات بالعمل في الوضع الآمن ووضع علامة على معاملات الذاكرة على أنّها "آمنة" أو "غير آمنة". في هذه الأنظمة، يتم تخزين البيانات الحسّاسة في العالم الآمن ولا تكون متاحة إلا له مباشرةً، وهو يقدّم الخدمات للعالم غير الآمن عند الطلب.

القيود الرئيسية لهذه الأنواع من الحلول هي أنّ النطاقات دقيقة جدًا، فهي إما آمنة أو غير آمنة فقط. مع طرح المزيد من حالات الاستخدام التي تتطلّب العزل عن نظام التشغيل، تزداد مساحة الهجوم ومن المرجّح أن تؤدي الثغرات الأمنية إلى تعريض الجهاز بأكمله للخطر.

هناك قيد آخر للحلول الحالية وهو أنّها مصمّمة لعالم ثابت نسبيًا يتم فيه احتساب جميع موارد حالات الاستخدام وتخصيصها مسبقًا. هذه الحلول ليست جيدة بما يكفي لحالات الاستخدام الديناميكية التي يتم فيها تخصيص الموارد عند الطلب.

بالإضافة إلى ذلك، فإنّ واجهات برمجة التطبيقات المستخدَمة خارج نظام التشغيل Android مجزّأة وتقيّد قدرتنا على نشر حالات الاستخدام على نطاق Android، بما في ذلك الأساسيات مثل Keymint وGatekeeper.

لمعالجة هذه القيود والسماح لنظام Android بتوفير أساس قوي لحالات الاستخدام من الجيل التالي، يقدّم Android 13 المحاكاة الافتراضية الآمنة باسم Android Virtualization Framework (AVF).

الهدف الرئيسي من AVF هو توفير بيئة تنفيذ آمنة وخاصة لحالات الاستخدام من الجيل التالي.