شرح SafetyNet لماذا لا تعمل Android Pay والتطبيقات الأخرى على الأجهزة المتجذرة
يتيح لك تأصيل جهاز Android الوصول إلى مجموعة متنوعة من التطبيقات والوصول إلى نظام Android بشكل أعمق. ولكن بعض Android-Pay-android الذي يعمل على التطبيقات ، لن يعمل على الإطلاق على جهاز متجذر.
تستخدم Google شيئًا يسمى SafetyNet لاكتشاف ما إذا كان جهازك متجذرًا أم لا ، ويمنع الوصول إلى هذه الميزات. إن Google ليست الوحيدة ، فإما أن الكثير من تطبيقات الجهات الخارجية لن تعمل أيضًا على أجهزة Android الجذر ، على الرغم من أنها قد تتحقق من وجود الجذر بطرق أخرى.
SafetyNet: كيف يعرف جوجل كنت قد جذرت هاتف Android الخاص بك
تقدم أجهزة Android "واجهة برمجة تطبيقات SafetyNet" ، والتي تعد جزءًا من طبقة خدمات Google Play المثبتة على أجهزة Android المعتمدة من Google. توفر واجهة برمجة التطبيقات هذه "إمكانية الوصول إلى خدمات Google التي تساعدك في تقييم صحة وسلامة جهاز Android" ، وفقًا لـ Google. إذا كنت من مطوري برامج Android ، يمكنك الاتصال بـ API هذا في تطبيقك للتحقق مما إذا كان قد تم العبث بالجهاز الذي تعمل عليه.
تم تصميم واجهة برمجة تطبيقات SafetyNet هذه للتحقق من ما إذا كان قد تم العبث بجهاز ما - سواء كان مستخدمًا جذرًا أم مستخدمًا أم لا - أو إذا كان قد تم تشغيله على جهاز كمبيوتر محمول مدمج ، على سبيل المثال.
يجب أن تمر الأجهزة التي يتم شحنها مع متجر Google Play وتطبيقات أخرى مثبتة على نظام Android "مجموعة اختبار التوافق" من Android. يؤدي تأصيل جهاز أو تثبيت ذاكرة وصول مخصصة إلى منع الجهاز من "CTS Compatible". هذه هي الطريقة التي تستطيع بها واجهة برمجة تطبيقات SafetyNet معرفة ما إذا كنت متجذّراً ، بل تقوم فقط بالتحقق من توافق CTS. وبالمثل ، إذا حصلت على جهاز Android لا يأتي أبدًا مع تطبيقات Google مثل أحد الأجهزة اللوحية التي يبلغ سعرها 20 دولارًا والتي يتم شحنها مباشرةً من أحد المصانع في الصين ، فلن يتم اعتباره "متوافقًا مع CTS" على الإطلاق ، حتى إذا لم يتم تجذيره.
للحصول على هذه المعلومات ، تقوم خدمات Google Play بتنزيل برنامج باسم "snet" وتشغيله في الخلفية على جهازك. يجمع البرنامج البيانات من جهازك ويرسلها إلى Google بانتظام. تستخدم Google هذه المعلومات لمجموعة متنوعة من الأغراض ، بدءًا من الحصول على صورة لنظام Android الأوسع نطاقًا لتحديد ما إذا كان قد تم التلاعب في برنامج جهازك أم لا. لا تشرح Google بالضبط ما تبحث عنه snet ، ولكن من المحتمل أن تحقق snet إذا كان قد تم تعديل قسم النظام لديك من حالة المصنع.
يمكنك التحقق من حالة SafetyNet لجهازك عن طريق تنزيل تطبيق مثل SafeNet Helper Sample أو SafetyNet Playground. سيطلب التطبيق من خدمة SafetyNet من Google حول حالة جهازك وإخبارك بالرد الذي يحصل عليه من خادم Google.
للحصول على مزيد من التفاصيل الفنية ، اقرأ هذه التدوينة التي كتبها جون كوزيركيس ، وهو محلل فني في Cigital ، وهي شركة أمن برمجيات. حَفر في SafetyNet ويشرح المزيد حول كيفية عمله.
انها تصل إلى التطبيق
إن SafetyNet اختياري لمطوري التطبيقات ، ويمكن لمطوري التطبيقات اختيار استخدامه أم لا. يمنع تطبيق SafetyNet التطبيق فقط من العمل إذا كان مطور التطبيق لا يريد أن يعمل على أجهزة متجذرة.
لن تحقق معظم التطبيقات من واجهة برمجة تطبيقات SafetyNet على الإطلاق. حتى التطبيق الذي يتحقق من واجهة برمجة تطبيقات SafetyNet - مثل تطبيقات الاختبار أعلاه - لن يتوقف عن العمل إذا تلقى ردًا سيئًا. يجب على مطور التطبيق التحقق من واجهة برمجة تطبيقات SafetyNet وجعل التطبيق يرفض العمل إذا تم تعديل برنامج جهازك تم تعديله. يعد تطبيق Android Pay الخاص بشركة Google مثالًا جيدًا على هذا الإجراء.
لن يعمل Android Pay على الأجهزة الجذر
لا يعمل حل الدفع عبر الجوّال في Android Pay من Google مطلقًا على أجهزة Android ذات الجذور. حاول تشغيله ، وستظهر لك رسالة تفيد بأنه "لا يمكن استخدام Android Pay. يتعذر على Google التحقق من أن جهازك أو البرنامج الذي يعمل عليه متوافق مع Android. "
الأمر لا يتعلق فقط بالتجذير ، بالطبع ، فإن تشغيل ذاكرة القراءة فقط المخصصة سيضعك أيضًا في مواجهة هذا المطلب. ستدعي واجهة برمجة تطبيقات SafetyNet أنها ليست "متوافقة مع نظام التشغيل Android" إذا كنت تستخدم ذاكرة مخصصة لم يأت الجهاز بها.
تذكر ، هذا لا يكشف فقط عن التجذير. إذا كان جهازك مصابًا ببعض البرامج الضارة على مستوى النظام مع القدرة على التجسس على Android Pay والتطبيقات الأخرى ، فستمنع واجهة برمجة تطبيقات SafetyNet أيضًا Android Pay من العمل ، وهو أمر جيد.
يؤدي تأصيل جهازك إلى كسر نموذج الأمان العادي في Android. يحمي Android Pay عادة بيانات الدفع باستخدام ميزات وضع الحماية في Android ، ولكن يمكن للتطبيقات الخروج من وضع الحماية على جهاز متجذر. ليس لدى Google أي وسيلة لمعرفة مدى أمان Android Pay على جهاز معين إذا كان متجذرًا أو يشغل ROM مخصص غير معروف ، لذا يتم حظره. شرح أحد مهندسي Android Pay المشكلة في منتدى مطوري XDA إذا كنت مهتمًا بقراءة المزيد.
طرق أخرى تطبيقات يمكن الكشف عن الجذر
إن SafetyNet هي إحدى الطرق التي يمكن للتطبيق التحقق منها إذا كان يعمل على جهاز ذي جذر. على سبيل المثال ، تتضمن أجهزة Samsung نظام أمان باسم KNOX. إذا قمت بتجذر جهازك ، فسيتعرض لأمان KNOX. سيرفض Samsung Pay ، وهو تطبيق الدفع عبر الجوال من سامسونج ، العمل على أجهزة متجذرة. تستخدم سامسونغ KNOX لهذا الغرض ، ولكن يمكنها أيضًا استخدام SafetyNet.
وبالمثل ، فإن الكثير من تطبيقات الجهات الخارجية ستمنعك من استخدامها ، وليس كلهم يستخدمون SafetyNet. قد يبحثون فقط عن وجود تطبيقات وعمليات الجذر المعروفة على الجهاز.
من الصعب العثور على قائمة محدّثة بالتطبيقات التي لا تعمل عندما يكون الجهاز متجذرًا. ومع ذلك ، يوفر RootCloak العديد من القوائم. قد تكون هذه القوائم قديمة ، لكنها أفضل ما يمكننا العثور عليه. العديد منها عبارة عن تطبيقات مصرفية وغيرها من تطبيقات المحمول ، والتي تمنع الوصول إلى الهواتف ذات الجذور في محاولة لحماية معلوماتك المصرفية من أن يتم التقاطها من قبل التطبيقات الأخرى. قد ترفض تطبيقات خدمات بث الفيديو أيضًا العمل على جهاز متجذر كنوع من قياس DRM ، في محاولة لمنعك من تسجيل بث فيديو محمي.
يمكن خداع بعض التطبيقات
تلعب غوغل لعبة القط والفار مع SafetyNet ، وتحديثها باستمرار في محاولة لمواكبة الناس من حولها. على سبيل المثال ، ابتكر مطور Android Chainfire طريقة جديدة لجذب أجهزة Android دون تعديل قسم النظام ، والمعروف باسم "جذر النظام". لم تكشف SafetyNet في البداية عن مثل هذه الأجهزة بأنها تم التلاعب بها ، وكان Android Pay يعمل ولكن تم تحديث SafetyNet في نهاية المطاف للكشف عن طريقة التجذير الجديدة هذه. وهذا يعني أن Android Pay لم يعد يعمل مع الجذر بدون نظام.
استنادًا إلى كيفية فحص التطبيق للوصول إلى الجذر ، قد تتمكن من خداعه. على سبيل المثال ، هناك طرق تُذكر لجذب بعض أجهزة Samsung دون تعثر أمان KNOX ، مما يسمح لك بالاستمرار في استخدام Samsung Pay.
في حالة التطبيقات التي تحقق فقط من تطبيقات الجذر على نظامك ، هناك وحدة Xposed Framework المسماة RootCloak التي تسمح لك بخداعهم للعمل على أي حال. يعمل ذلك مع تطبيقات مثل DirecTV GenieGo و Best Buy CinemaNow و Movies by Flixster ، والتي لا تعمل عادةً على الأجهزة الجذر. ومع ذلك ، إذا تم تحديث هذه التطبيقات لاستخدام Google SafetyNet ، فلن يكون من السهل خداعها بهذه الطريقة.
ستستمر معظم التطبيقات في العمل بشكل طبيعي بعد تجذر جهازك. تطبيقات الدفع بواسطة الهاتف النقال هي الاستثناء الكبير ، وكذلك بعض التطبيقات المصرفية والمالية الأخرى. أحيانًا ما تحاول خدمات بث الفيديو المدفوعة منعك من مشاهدة مقاطع الفيديو التابعة لها أيضًا.
إذا كان التطبيق الذي تحتاجه لا يعمل على جهازك الجذر ، فيمكنك دائمًا إزالة جهازك عن استخدامه. يجب أن يعمل التطبيق بعد أن تعيد جهازك إلى حالته المصنّعة.
Image Credit: داني تشو على Flickr