خلال مؤتمر مطوري Google I/O 2019، أعلنت Google عن Project Mainline - وهو جهد لتسريع التحديثات الأمنية عبر الوحدات النمطية في Android Q.
تعد تجزئة إصدار Android أحد أكبر التحديات التي يتعين على Google حلها. في حين أن هواتف Google Pixel الذكية تعد من بين الهواتف الذكية الأكثر أمانًا في السوق بفضل الجهود المذهلة التي تبذلها Pixel و مهندسو AOSP، والعديد من الهواتف الذكية الأخرى معرضة للاستغلال بسبب تشغيل إصدارات نظام التشغيل القديمة أو التصحيح الأمني القديم المستويات. يوضح أحدث تقرير من Gartner أن Android 9 Pie هو نظام تشغيل آمن بشكل لا يصدق، حتى الآن فقط حوالي 10% من جميع الهواتف الذكية قيد الإصدار.
تعالج Google تجزئة الإصدار بمبادرات مثل مشروع التريبل، إعادة تصميم رئيسية لنظام Android مما أدى إلى الفصل بين مكونات إطار عمل نظام التشغيل Android ومكونات HAL الخاصة بالمورد، تمديد نواة لينكس LTS, تحديثات التصحيح الأمني الإلزامية لمدة سنتين، و يوصى باستخدام Android Enterprise
. في Google I/O 2019، أعلنت الشركة عن أحدث مبادراتها لتسريع التحديثات الأمنية: Project Mainline لنظام Android Q.Project Mainline: تحديث وحدات نظام Android Q من خلال Google Play
خلال الأشهر القليلة الماضية، قمنا بتتبع شيء يسمى "ذروة"في AOSP. أبيكس، أو أندرويد بوني إكسبريس، هو نوع حزمة جديد يشبه APK. بدلاً من احتواء تطبيق Android، تعد APEX موطنًا لمكتبة أصلية أو مكتبة فئة، التعليمات البرمجية المترجمة مسبقًا والتي يمكن استدعاؤها بواسطة تطبيقات Android وطبقات تجريد الأجهزة (HAL) وAndroid وقت التشغيل (ART). مثل APK، يمكن تقديم حزم APEX للمستخدمين عبر طرق تثبيت الحزم التقليدية في Android: متجر Google Play/مدير الحزم أو ADB.
يمكن استخدام وحدات APEX في وقت مبكر جدًا في عملية التمهيد مقارنة بالوحدات المستندة إلى APK، كما أنها مدعومة أيضًا بـ dm-verity وAndroid Verified Boot لزيادة الأمان. يتطلب تثبيت صور الحمولة في حزمة APEX برنامج تشغيل حلقة Linux kernel، لذا تحتاج الأجهزة إلى إصدار Linux kernel 4.9+. تتطلب إدارة حزم APEX برنامج APEX الخفي الجديد، الذي تم تقديمه مع Android Q. في حين أنه من الممكن للأجهزة التي تقوم بالترقية إلى Android Q مع Linux kernel 4.4 أن تدعم APEX (مثل Google Pixel 3)، إلا أن مصنعي المعدات الأصلية يحتاجون إلى دمج تصحيحات إضافية حتى يعمل. بالنسبة للجزء الأكبر، فإن الأجهزة التي تعمل بنظام Android Q فقط هي التي ستدعم Project Mainline.
لقد تمكنت توزيعات GNU/Linux منذ فترة طويلة من تحديث مكونات النظام بشكل مستقل عن تحديثات النظام الكاملة، لكن Android يتطلب دائمًا تحديث النظام لتحديثها. اختارت Google عدم توزيع هذه الحزم باستخدام أنظمة إدارة حزم Linux التقليدية مثل dpkg وrpm لأنها لا تحمي الحزم بعد التثبيت باستخدام dm-verity.
نظرًا لأن صانعي الأجهزة يستغرقون وقتًا طويلاً لطرح التحديثات، فقد تحتوي العديد من الأجهزة على مكونات نظام قديمة لعدة أيام أو أسابيع أو حتى أشهر. ومن خلال توزيع هذه المكونات كحزم APEX، يمكن لشركة Google تجاوز فترة الانتظار الطويلة لمصنعي المعدات الأصلية لطرح تحديث النظام.
ومع ذلك، لا تمارس Google سيطرة كاملة على جميع مكونات النظام. عملت الشركة مع شركائها من مصنعي المعدات الأصلية (OEM) لاختيار مجموعة من تطبيقات النظام (مثل ملفات APK) ومكونات النظام (مثل APEX الحزم) لوحدات نمطية حتى يتمكنوا من تحسين الأمان والخصوصية والاتساق لجميع المستخدمين الذين لديهم أجهزة يتم تشغيلها بها أندرويد س. على الرغم من أن جوجل لم تكشف بالضبط عن كيفية توصلها إلى المجموعة الأولية من مكونات النظام، إلا أنها فعلت ذلك زودتنا بقائمة مكونات النظام على الأجهزة التي تعمل بنظام Android Q والتي ستكون قابلة للتحديث بواسطة جوجل:
- حماية: برامج ترميز الوسائط، مكونات إطار عمل الوسائط، محلل DNS، Conscrypt
- خصوصية: واجهة المستخدم للمستندات، وحدة تحكم الإذن، ExtServices
- تناسق: بيانات المنطقة الزمنية، ANGLE (اشتراك المطورين)، البيانات التعريفية للوحدة، مكونات الشبكة، تسجيل الدخول إلى البوابة المقيدة، تكوين إذن الشبكة
التحديثات الفورية لـ Conscrypt ومكتبة أمان Java ومكونات الوسائط، والتي "تمثل ما يقرب من 40% من الثغرات الأمنية التي تم تصحيحها مؤخرًا"، ستجعل أجهزة Android أكثر أمانًا. ستعمل التحديثات التي يتم إجراؤها على وحدة التحكم في الأذونات على تحسين الخصوصية. سيكون توحيد بيانات المنطقة الزمنية مفيدًا في إبقاء أجهزة Android حول العالم على نفس الصفحة عندما تقرر دولة ما تغيير منطقتها الزمنية. علاوة على ذلك، سيستفيد مطورو الألعاب من توحيد زاوية.
بدأت Google بمكونات النظام هذه ولكن يمكنها إضافة المزيد في إصدارات Android المستقبلية. من بين هذه المكونات الثلاثة عشر، سيتم تسليم Conscrypt وبيانات المنطقة الزمنية وبرامج ترميز الوسائط ومكونات Media Framework كحزم APEX. المكونات التسعة الأخرى هي ملفات APK للنظام. بينما يمكن تسليم كل من APEX وAPK عبر Google Play، مما يؤدي إلى تحديث حزمة APEX سوف يتطلب إعادة التشغيل. لم تشارك جوجل تدفق واجهة المستخدم لكيفية حدوث ذلك حتى الآن، ولكن بمجرد بدء تشغيل الأجهزة باستخدام Android Q، فمن المحتمل أن نتعلم المزيد من المعلومات حول حزم Project Mainline وAPEX.