لماذا AVF؟

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

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

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

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

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

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

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

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

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

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