تقدّم Google مجموعة من واجهات برمجة التطبيقات والخدمات لمساعدتك في رصد ما إذا كان تطبيقك يعمل في بيئة آمنة وموثوقة. واجهة برمجة التطبيقات Play Integrity API هي العنصر الرئيسي في هذه المبادرة، إذ تساعد في التحقّق من أنّ التفاعلات حقيقية من خلال رصد التفاعلات التي يُحتمل أن تكون خطيرة أو احتيالية. بالإضافة إلى سلامة التطبيقات والأجهزة، تقدّم واجهة برمجة التطبيقات Play Integrity API الآن معلومات عن مخاطر الوصول إلى الجهاز والوصول إليه، Google Play Protect، والنشاط الأخير على الجهاز. لتعزيز فعالية استراتيجية مكافحة الاحتيال، توفّر منصة Android واجهات برمجة تطبيقات لسيناريوهات محدّدة قد تكون ذات صلة بتطبيقك.
Play Integrity API
تتيح لك واجهة برمجة التطبيقات Play Integrity API الاطّلاع على حالة أمان الجهاز الذي يعمل عليه التطبيق. يساعدك ذلك في التأكّد من أنّ المستخدم المناسب هو الذي يحصل على المعلومات الحسّاسة.
تساعدك هذه الواجهة في التحقّق من أنّ مصدر التفاعلات وطلبات الخادم هو البرنامج الثنائي الحقيقي لتطبيقك في بيئة موثوق بها:
- برنامج الثنائي الحقيقي للتطبيق: يمكنك تحديد ما إذا كنت تتفاعل مع برنامجك الثنائي غير المعدّل الذي يتعرّف عليه Google Play.
- التثبيت الحقيقي من Play: يمكنك تحديد ما إذا كان حساب المستخدم الحالي مرخَّصًا، وهذا يعني أنّ المستخدِم ثبَّت تطبيقك أو لعبتك أو دفع الرسوم المستحقّة لهما على Google Play.
- جهاز Android حقيقي: يمكنك تحديد ما إذا كان تطبيقك يعمل على جهاز Android حقيقي تدعمه "خدمات Google Play".
- إزالة أي برامج ضارة معروفة: يمكنك تحديد ما إذا كانت خدمة "Google Play للحماية" مفعَّلة وما إذا كانت قد اكتشفت تطبيقات خطيرة أو ضارة تم تثبيتها على الجهاز.
- احتمالية منخفضة للوصول من خلال تطبيقات أخرى: يمكنك تحديد ما إذا كانت هناك تطبيقات أخرى قيد التشغيل يمكنها أخذ لقطات للشاشة أو التحكّم في الجهاز والمدخلات في تطبيقك.
كيفية المساعدة في الحدّ من الاحتيال
عندما ينفِّذ أحد المستخدمين إجراءً مهمًا في تطبيقك، يمكنك طلب بيانات من واجهة برمجة التطبيقات Play Integrity API. وإذا لم يتم ذلك، يمكن لخادم الخلفية في تطبيقك أن يقرّر الإجراء الذي يجب اتّخاذه للحماية من الهجمات والاحتيال. على سبيل المثال، يمكنك طلب إثبات هوية المستخدم بشكل إضافي أو رفض الوصول إلى الوظائف الحسّاسة.
خطر الوصول إلى التطبيق
تم طرح إشارة احتمالية الوصول إلى التطبيق لمساعدتك في تقييم ما إذا كان بإمكان التطبيقات الأخرى على الجهاز عرض الشاشة وتسجيلها عندما يكون تطبيقك قيد التشغيل أو الوصول إلى تطبيقك باستخدام أذونات تسهيل الاستخدام. ويتم استبعاد تطبيقات تسهيل الاستخدام التي تم التحقّق منها تلقائيًا من هذه الأحكام. يساعد تقييم مخاطر الوصول إلى التطبيقات المطوّرين في حماية تطبيقاتهم مع الحفاظ على خصوصية المستخدمين، لأنّ التطبيق الذي يطلب الوصول لا يحصل على هوية التطبيقات المثبَّتة ولا يرتبط التقييم بمعرّفات المستخدمين أو الأجهزة.
بفضل هذا الجهد التعاوني، يمكننا الحصول على الإشارات اللازمة ل تزويدنا بإحصاءات أكثر تفصيلاً لحماية عملائنا بفعالية أكبر.
—Nubank، شريك الاستخدام التجريبي
تتضمّن ميزة "الوصول إلى التطبيق" مستويات مخاطر مختلفة:
- يعني الردّ "يتم تسجيل لقطات" أنّ هناك تطبيقات أخرى قيد التشغيل يمكنها تسجيل لقطات للشاشة.
- يعني الردّ الذي يشير إلى التحكّم أنّ هناك تطبيقات أخرى قيد التشغيل يمكنها التحكّم في الجهاز، وبالتالي يمكنها أخذ لقطات للشاشة والتحكّم في المدخلات التي يتم إدخالها في تطبيقك.
تنفيذ ميزة "احتمالية اختراق التطبيق"
يمكنك تحديد الإجراءات الحساسة أو ذات القيمة العالية في تطبيقك أو لعبتك لحمايتها باستخدام واجهة برمجة التطبيقات Play Integrity API بدلاً من رفض الوصول إليها مباشرةً. حاول، متى أمكن، فحص الزيارات الخطيرة قبل السماح بتنفيذ الإجراءات العالية القيمة. على سبيل المثال، عندما تشير احتمالية اختراق التطبيق إلى أنّ هناك تطبيقًا قيد التشغيل يمكنه التقاط الشاشة، اطلب من المستخدم إيقاف التطبيقات التي يمكنها التقاط الشاشة أو إلغاء تثبيتها قبل السماح له بمواصلة استخدام الوظائف التي تريد حمايتها.
يحتوي هذا الجدول على بعض الأمثلة على الأحكام:
مثال على ردّ بشأن بيان خطورة الوصول إلى التطبيق | التفسير |
---|---|
appsDetected: ["KNOWN_INSTALLED"]
|
لا تتوفّر سوى التطبيقات المثبّتة التي يتعرّف عليها Google Play أو التي تحمّلها الشركة المصنّعة للجهاز مسبقًا على قسم النظام. لا تتوفّر تطبيقات قيد التشغيل يمكنها أن تؤدي إلى إصدار أحكام بشأن التقاط الشاشة أو التحكّم فيها أو عرض المحتوى على سطحها. |
appsDetected: ["KNOWN_INSTALLED", "UNKNOWN_INSTALLED", "UNKNOWN_CAPTURING"]
|
هناك تطبيقات ثبَّتها Google Play أو حمَّلتها الشركة المصنّعة للجهاز مسبقًا على ملف تعريف النظام. هناك تطبيقات أخرى قيد التشغيل تم تفعيل أذونات لها يمكن استخدامها لعرض الشاشة أو تسجيل مدخلات ومخرجات أخرى. |
appsDetected: ["KNOWN_INSTALLED", "KNOWN_CAPTURING", "UNKNOWN_INSTALLED", "UNKNOWN_CONTROLLING"]
|
هناك تطبيقات Play أو تطبيقات نظام قيد التشغيل تم تفعيل أذونات فيها يمكن استخدامها لعرض الشاشة أو تسجيل مدخلات ومخرجات أخرى. هناك أيضًا تطبيقات أخرى قيد التشغيل تم تفعيل أذونات فيها يمكن استخدامها للتحكّم في الجهاز والتحكّم مباشرةً في الإدخالات في تطبيقك. |
appAccessRiskVerdict: {}
|
لم يتم تقييم مخاطر الوصول إلى التطبيق بسبب عدم استيفاء أحد المتطلّبات الضرورية. على سبيل المثال، كان الجهاز غير موثوق به بالقدر الكافي. |
إشارة "Play للحماية"
تُعلم إشارة "Google Play للحماية" تطبيقك بما إذا كانت خدمة "Google Play للحماية" مفعَّلة وما إذا كانت قد عثرت على تطبيقات ضارة معروفة مثبّتة على الجهاز.
environmentDetails:{
playProtectVerdict: "NO_ISSUES"
}
إذا كانت البرامج الضارة تشكل مصدر قلق خاصًا لتطبيقك أو بيانات المستخدمين، يمكنك الاطّلاع على هذا الحكم وطلب تفعيل ميزة "Google Play للحماية" من المستخدمين أو إزالة التطبيقات الضارة قبل المتابعة.
يمكن أن يكون playProtectVerdict
إحدى القيم التالية:
البيان | الشرح | الإجراء المقترَح |
---|---|---|
|
خدمة "Play للحماية" مفعّلة ولم تعثر على أي مشاكل في التطبيقات على جهازك. |
خدمة "Play للحماية" مفعَّلة ولم تعثر على أي مشاكل، لذا ليس مطلوبًا من المستخدم اتخاذ أي إجراء. |
|
تم تفعيل خدمة "Play للحماية" ولكن لم يتم إجراء أي عملية فحص حتى الآن. قد تكون تمت إعادة ضبط الجهاز أو تطبيق "متجر Play" مؤخرًا. |
خدمة "Play للحماية" مفعَّلة ولم تعثر على أي مشاكل، لذا ليس مطلوبًا من المستخدم اتخاذ أي إجراء. |
|
تم إيقاف خدمة "Play للحماية". |
خدمة "Play للحماية" مفعَّلة ولم تعثر على أي مشاكل، لذا ليس مطلوبًا من المستخدم اتخاذ أي إجراء. |
|
خدمة "Play للحماية" مفعّلة وعثرت على تطبيقات قد تتسبّب بضرر على الجهاز. |
استنادًا إلى مستوى المخاطر المقبولة لديك، يمكنك أن تطلب من المستخدم تشغيل "Google Play للحماية" واتّخاذ إجراء بشأن تحذيرات "Google Play للحماية". إذا لم يستوفِ المستخدم هذه المتطلبات، يمكنك حظره من إجراء الخادم. |
|
خدمة "Play للحماية" مفعّلة وعثرت على تطبيقات خطيرة مثبّتة على الجهاز. |
استنادًا إلى مستوى المخاطر المقبولة لديك، يمكنك أن تطلب من المستخدم تشغيل "Google Play للحماية" واتّخاذ إجراء بشأن تحذيرات "Google Play للحماية". إذا لم يستوفِ المستخدم هذه المتطلبات، يمكنك حظره من تنفيذ إجراء الخادم. |
|
لم يتم تقييم قرار "Google Play للحماية". وقد يحدث ذلك لعدة أسباب، بما في ذلك:
|
أحدث نشاط للجهاز
يمكنك أيضًا تفعيل ميزة "أحدث نشاط للجهاز" التي توضّح لك عدد المرات التي طلب فيها تطبيقك رمزًا مميّزًا للسلامة على جهاز معيّن خلال آخر ساعة. يمكنك استخدام ميزة "أحدث نشاط للجهاز" لحماية تطبيقك من الأجهزة التي تُظهر نشاطًا مفرطًا وغير متوقَّع، ما قد يشير إلى تعرُّض تطبيقك لهجوم نشط. يمكنك تحديد مستوى الثقة في كل مستوى من مستويات "أحدث نشاط للجهاز" استنادًا إلى عدد المرات التي تتوقّع فيها أن يطلب تطبيقك المثبَّت على جهاز عادي رمزًا مميّزًا للسلامة كل ساعة.
في حال الموافقة على تلقّي recentDeviceActivity
، سيتضمّن الحقل deviceIntegrity
قيمتَين:
deviceIntegrity: {
deviceRecognitionVerdict: ["MEETS_DEVICE_INTEGRITY"]
recentDeviceActivity: {
// "LEVEL_2" is one of several possible values.
deviceActivityLevel: "LEVEL_2"
}
}
أولاً، عليك التحقّق من البيانات لمعرفة مستويات نشاط الجهاز المعتادة لتطبيقك على جميع أجهزتك. بعد ذلك، يمكنك تحديد كيفية تفاعل تطبيقك مع الجهاز الذي يُرسل عددًا كبيرًا جدًا من الطلبات. إذا كان النشاط مرتفعًا قليلاً، ننصحك بطلب إعادة المحاولة من المستخدم لاحقًا. إذا كان النشاط مرتفعًا جدًا، ننصحك باتخاذ إجراءات تنفيذية أكثر صرامة.
الطلبات العادية مقابل الطلبات الكلاسيكية
كجزء من عملية تنفيذ Play Integrity، من المهم مراعاة نوعَي الطلبات. يجب استخدام الطلبات العادية في معظم الحالات، لتوفير أسرع ردّ، ويجب استخدام الطلبات الكلاسيكية في الحالات التي تتطلّب إنشاء طلب جديد مقابل سجلّ شهادة اعتماد الجهاز.
طلب كلاسيكي |
طلب عادي |
---|---|
تستغرق الطلبات وقتًا أطول ويجب إجراؤها بوتيرة أقل. على سبيل المثال، كإجراء لمرة واحدة من حين لآخر للتحقّق مما إذا كان إجراء حسّاس للغاية أو ذو قيمة عالية هو إجراء حقيقي. استخدمها بشكل غير متكرّر. |
تتميّز الطلبات بسرعة الاستجابة ويمكن استخدامها عند الطلب. يتألّف الطلب العادي من جزأين:
الاستخدام عند الطلب: |
يمكنك الاطّلاع على مستندات Play Integrity للحصول على مزيد من المعلومات حول الطلبات العادية و الكلاسيكية.
التنفيذ
لبدء استخدام واجهة برمجة التطبيقات Play Integrity API، اتّبِع الخطوات التالية:
- فعِّل ميزة إرسال الردود من واجهة برمجة التطبيقات Play Integrity API في Google Play Console واربط بمشروع على Google Cloud.
- دمج واجهة برمجة التطبيقات Play Integrity API في تطبيقك
- حدِّد كيفية معالجة الأحكام.
تسمح واجهة برمجة التطبيقات Play Integrity API تلقائيًا بحد أقصى 10, 000 طلب لكل تطبيق في اليوم. للتعبير عن اهتمامك بزيادة الحد الأقصى للطلبات اليومية، يُرجى اتّباع هذه التعليمات. لكي يكون تطبيقك مؤهلاً لزيادة الحد الأقصى اليومي للطلبات، يجب أن يستخدم واجهة برمجة التطبيقات Play Integrity API بشكل صحيح وأن يكون متاحًا على Google Play بالإضافة إلى أي قنوات توزيع أخرى.
ملاحظات يجب أخذها في الاعتبار بشأن واجهة برمجة التطبيقات Play Integrity API
- من الضروري معالجة الأخطاء في ردود واجهات برمجة التطبيقات Play Integrity API بشكلٍ مناسب. اتّبِع الدليل هنا حول استراتيجيات إعادة المحاولة والتنفيذ استنادًا إلى رموز الخطأ.
- توفّر واجهة برمجة التطبيقات Play Integrity API أدوات اختبار الردود.
- للاطّلاع على نتيجة السلامة من جهازك، اتّبِع الخطوات التالية.
- اطّلِع على الاعتبارات الأمنية هذه للاطّلاع على الممارسات المقترَحة لاستخدام واجهة برمجة التطبيقات Play Integrity API.
توفير السلامة تلقائيًا (المستوى 23 من واجهة برمجة التطبيقات أو الإصدارات الأحدث)
"توفير السلامة تلقائيًا" هي خدمة حماية من التلاعب بالرمز البرمجي تهدف إلى حماية تطبيقك من إساءة الاستخدام من خلال عمليات تعديل أو إعادة توزيع غير مصرَّح بها. وتعمل هذه الميزة بدون اتصال البيانات ولا تتطلّب أيّ تدخل من المطوّر قبل الاختبار ولا تحتاج إلى دمج خادم الخلفية.
كيفية المساعدة في الحدّ من الاحتيال
عند تفعيل ميزة "توفير السلامة تلقائيًا"، يضيف Google Play عمليات تحقّق إلى رمز تطبيقك البرمجي ويصعّب إزالتها باستخدام أساليب متقدّمة لإخفاء مفاتيح فك التشفير ومكافحة الهندسة العكسية. أثناء وقت التشغيل، تتحقّق ميزة الحماية مما إذا تم العبث بتطبيقك أو إعادة توزيعه:
- إذا تعذَّر فحص أداة التثبيت، سيُطلب من المستخدمين تثبيت تطبيقك من Google Play.
- إذا تعذَّر فحص التعديل، فلن يتم تشغيل التطبيق.
يساعد ذلك في حماية المستخدمين من الإصدارات المعدَّلة من تطبيقك.
التنفيذ
تتوفّر ميزة "توفير السلامة تلقائيًا" لمجموعة محدّدة من شركاء Play في الوقت الحالي. يُرجى التواصل مع فريق دعم المطوّرين في Google Play إذا لم تكن الميزة متاحة في Google Play Console وأردت التعبير عن اهتمامك بالحصول على إذن الوصول إليها.
يمكنك تفعيل ميزة "توفير السلامة" عند إنشاء إصدار أو في صفحة سلامة التطبيق (الإصدار > سلامة التطبيق). تتطلّب ميزة "توفير السلامة تلقائيًا" استخدام تطبيقك ميزة "توقيع التطبيق" من Play.
احرص على اختبار تطبيقك المحمي قبل الترويج للإصدار من أجل طرحه للعلن.
نقاط يجب أخذها في الاعتبار
- عدم طرح إصدارات غير محمية من التطبيقات
- يُرجى توخّي الحذر عند الجمع بين حلول الحماية من التلاعب.
- اختبار تطبيقك المحمي قبل طرحه للإصدار العلني
- راقِب الإحصاءات كالمعتاد بحثًا عن أي زيادة في الأعطال.
- يمكنك إبلاغ Google Play بإصدارات تطبيقك المعدَّلة