تمكين SafetyNet على التطبيقات في الأندرويد 10 ، ما الجديد؟

أصبح مطور برنامج "Magisk" المعروف باسم topjohnwu مرادفًا لـ "root" في مجتمع الأندرويد. أحد الأسباب الرئيسية لشعبيته هو أنه يمكنه إخفاء حقيقة أن المستخدم قام بتعديل جهازه ومع ذلك ، قد تلاحق Google قدرة Magisk على إخفاء حالة إلغاء تأمين أداة تحميل التشغيل من التطبيقات.

من أجل عمل روت لهاتفك ، تحتاج عادةً إلى إلغاء قفل أداة تحميل التشغيل ، والتي تتيح لك تحديث صور التمهيد المعدلة. هذا مطلوب لأن Magisk يعدل صورة التمهيد لتزييف حالة أداة تحميل التمهيد أو عمليات التحقق من حالة التمهيد الذي تم التحقق منه. تُستخدم واجهة برمجة تطبيقات SafetyNet Attestation API من Google ، والتي تعد جزءًا من خدمات Google Play ، لإخبار التطبيق إذا كان يعمل على جهاز تم العبث به ؛ إذا اكتشفت SafetyNet API أن أداة تحميل التشغيل قد تم إلغاء قفلها ، فسوف تُرجع حالة فشل للتحقق من "السلامة الأساسية". يمكن بعد ذلك قفل الأجهزة التي تفشل في هذا الفحص من التطبيقات التي تستخدم SafetyNet API لتحديد سلامة الجهاز ؛ تتضمن هذه التطبيقات عادةً التطبيقات المصرفية وتطبيقات الدفع (مثل Google Pay) والعديد من الألعاب عبر الإنترنت (مثل Pokémon Go). ومع ذلك ، نظرًا لأن SafetyNet API لم تستخدم حتى الآن سوى فحوصات البرامج لتحديد ما إذا كان الجهاز قد تم العبث به ، يمكن لـ Magisk ببساطة محاكاة أداة تحميل التشغيل. كما يوضح topjohnwu ، فإن MagiskHide "[يخلق]" بيئة آمنة "معزولة لعملية الكشف ، ويمر عبر واجهة برمجة تطبيقات Google لإنشاء نتيجة SafetyNet شرعية لا تعكس الحالة الحقيقية للجهاز."

على الرغم من ذلك ، لاحظ المستخدمون مؤخرًا أن أجهزتهم غير المؤمّنة في أداة تحميل التشغيل تفشل في التحقق من السلامة الأساسية لـ SafetyNet على الرغم من استخدامهم Magisk لتصحيح صورة التمهيد. ووفقًا لـ topjohnwu ، يرجع ذلك إلى أن Google ربما نفذت تصديقًا رئيسيًا على مستوى الأجهزة للتحقق من أن صورة التمهيد لم يتم العبث بها ، هذا يعني أن خدمات Google Play "[يرسل] شهادة مخزن مفاتيح غير معدلة إلى خوادم SafetyNet ، والتحقق من شرعيتها ، والتحقق من بيانات ملحق الشهادة لمعرفة ما إذا كان جهازك قد تم تمكين التمهيد (حالة أداة تحميل التشغيل)". هذا يعني أنه قد لا يكون من الممكن إخفاء حقيقة أن أداة تحميل التشغيل تم إلغاء قفلها ، مما سيؤدي إلى فشل تطبيقات مثل Google Pay و Pokémon Go في العمل بشكل طبيعي.

بعد سنوات من العبث باستخدام Magisk ، يبدو أن Google أخيرا قرر "إصلاح" SafetyNet إلى شيء مفيد ، وهو استخدام المصادقة الرئيسية للتحقق من حالة الجهاز (بعد 3 سنوات منذ تقديمه إلى نظام Android الأساسي! ) كما لاحظ topjohnwu ، فإن هذا التغيير في الطريقة التي تتحقق بها SafetyNet من حالة إلغاء تأمين برنامج bootloader يأتي من خلال تحديث من جانب الخادم إلى SafetyNet API المتضمن في خدمات Google Play. ومع ذلك ، لا يفشل كل مستخدم في عمليات التحقق المحدّثة من SafetyNet ، لذلك قد لا يتم تطبيق المصادقة الرئيسية الجديدة على مستوى الأجهزة على نطاق واسع حتى الآن.

يجلب كل إصدار جديد من Android تغييرات في بنية القسم أو صورة التمهيد ، مما يتطلب من topjohnwu دراسة التغييرات ثم تنفيذ طريقة جديدة للتصحيح. ومع ذلك ، حتى topjohnwu قد يصارع لإيجاد تجاوز هذه المرة. وذلك لأن الحل البديل هذه المرة قد ينطوي على اختراق البرامج الثابتة الخاصة ببيئة التنفيذ الموثوق بها (TEE) للأجهزة من أجل استرداد المفتاح الخاص ، هذا أمر صعب للغاية لأنه يتطلب إيجاد ثغرة في البرامج الثابتة المصممة لتكون آمنة ، تقدم العديد من الشركات مدفوعات بمئات الآلاف من الدولارات إذا تم العثور على مثل هذا الضعف. على سبيل المثال ، تدفع Google حوالي 250.000 دولار أمريكي مقابل ثغرات تنفيذ التعليمات البرمجية عن بُعد في بيئة التنفيذ الموثوق به لـ Pixel ، وما يصل الى 1.000.000 دولار أمريكي للثغرات الأمنية في شريحة أمان Titan M. حتى إذا تم تسريب مفتاح خاص بطريقة أو بأخرى ، حيث يمكن لـ Google إبطال المفتاح عن بعد حتى لا يمكن استخدامه للتحقق من سلامة الأجهزة.