تعديلات على حِزم الخدمات

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

يتوفّر نوعان من حِزم APEX لتحديث حِزم الخدمات:

  • حزمة APEX المثبَّتة مسبقًا: يتوفّر إصدار سابق من حزمة APEX على أحد الأقسام للقراءة فقط (/system و/system_ext و/product و/vendor و/odm).

  • حزمة APEX جديدة: لا توجد حزمة APEX بالاسم نفسه (كما هو موضّح في apex_manifest.json) في أي من الأقسام للقراءة فقط.

تطبيق APEX المثبّت مسبقًا

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

  • أن يكون اسم الحزمة في apex_manifest.json هو نفسه اسم حزمة APEX المثبَّتة مسبقًا

  • عليك تحديد رمز إصدار أعلى في apex_manifest.json من حزمة APEX المثبَّتة مسبقًا.

  • وقِّع حزمة APEX باستخدام زوج المفاتيح نفسه الذي تم استخدامه لتوقيع حزمة APEX المثبَّتة مسبقًا.

APEX الجديد

على الرغم من أنّ استخدام حِزم APEX المثبَّتة مسبقًا هو أفضل ممارسة للأمان، إلا أنّه يمكن استخدام حِزم APEX جديدة، ولكن في هذه الحالة، يكون الشركاء مسؤولين عن الحفاظ على بروتوكولات أمان شاملة، وتشمل هذه المسؤوليات ما يلي:

  • إدارة مفاتيح التوقيع المستخدَمة في حِزم APEX هذه بشكل آمن

  • وضع عملية قوية لتحديد الحِزم الضارة وحظرها

  • تحويل حِزم APEX الجديدة إلى حِزم APEX مثبَّتة مسبقًا في تحديثات النظام اللاحقة كلما أمكن ذلك

لتثبيت حزمة APEX جديدة أو تعديلها، يجب توفُّر الإعدادات التالية.

تثبيت المفاتيح العامة الموثوق بها مسبقًا

لتثبيت حزمة APEX جديدة، يجب أن يكون مفتاح التوقيع العام الخاص بها مثبَّتًا مسبقًا على القسم المستهدف. ضَع المفتاح العام في /partition/etc/brand_new_apex/، حيث يمثّل /partition/ القسم الذي يرتبط به APEX بموجب قواعد Treble. على سبيل المثال، إذا تم التحقّق من توقيع حزمة APEX مقابل مفتاح عام في /vendor/etc/brand_new_apex/، سيتم التعامل معها على أنّها حزمة APEX خاصة بالبائع. سيرفض النظام أي حزمة APEX جديدة لم يتم توقيعها بمفتاح يتوافق مع مفتاح عام مثبَّت مسبقًا.

حظر حزمة APEX جديدة ضارّة

إذا تم تحديد حزمة APEX جديدة على أنّها برامج ضارة بعد تثبيتها، يجب حظرها باستخدام تحديث نظام. ولإجراء ذلك، أضِف اسم حزمة APEX إلى ملف قائمة الحظر في /partition/etc/brand_new_apex/blocklist.json. يجب وضع قائمة الحظر هذه في القسم المستهدف لحزمة APEX (القسم نفسه الذي تم تثبيت المفتاح العام فيه مسبقًا). يحتوي كل قسم على ملف قائمة حظر مخصّص.