الحفاظ على البيئة

تقدِّم Google مجموعة من واجهات برمجة التطبيقات والخدمات لمساعدتك في رصد ما إذا كان تطبيقك يعمل في بيئة آمنة وموثوقة. والهدف الأساسي هو واجهة برمجة التطبيقات Play Integrity API التي تساعد في التحقّق من صحة التفاعلات من خلال رصد التفاعلات التي يُحتمل أن تكون خطيرة واحتيالية. بالإضافة إلى سلامة التطبيقات والأجهزة، توفّر واجهة برمجة التطبيقات Play Integrity API الآن معلومات حول مخاطر الوصول إلى التطبيقات وأدوات تسهيل الاستخدام، وGoogle Play للحماية، والأنشطة الحديثة على الأجهزة. لتعزيز استراتيجية مكافحة الاحتيال، يوفّر نظام Android الأساسي واجهات برمجة تطبيقات للسيناريوهات المحددة التي قد تكون ذات صلة بتطبيقك.

Play Integrity API

ميزات واجهة برمجة التطبيقات Play Integrity API

تتيح لك واجهة Play Integrity API معرفة حالة أمان الجهاز الذي يعمل عليه التطبيق. يساعدك هذا في أن تكون واثقًا من أن المستخدم المناسب يصل إلى المعلومات الحساسة.

فهو يساعدك على التحقق من أن التفاعلات وطلبات الخادم تأتي من البرنامج الثنائي الحقيقي لتطبيقك في بيئة جديرة بالثقة:

  • برنامج الثنائي الحقيقي للتطبيق: يمكنك تحديد ما إذا كنت تتفاعل مع برنامجك الثنائي غير المعدّل الذي يتعرّف عليه Google Play.
  • التثبيت الحقيقي من Play: يمكنك تحديد ما إذا كان حساب المستخدم الحالي مرخَّصًا، وهذا يعني أنّ المستخدم ثبَّت تطبيقك أو لعبتك أو دفع الرسوم المستحقّة لهما على Google Play.
  • جهاز Android حقيقي: يمكنك تحديد ما إذا كان تطبيقك يعمل على جهاز حقيقي يعمل بنظام التشغيل Android ويدعمه "خدمات Google Play".
  • إزالة أي برامج ضارة معروفة: يمكنك تحديد ما إذا كانت خدمة "Google Play للحماية" مفعَّلة واكتشفت تطبيقات خطيرة أو ضارة تم تثبيتها على الجهاز.
  • انخفاض خطر وصول التطبيقات الأخرى إلى التطبيق: يمكنك تحديد ما إذا كانت تطبيقات أخرى قيد التشغيل يمكنها التقاط صور للشاشة أو التحكّم في الجهاز وعمليات الإدخال في تطبيقك.

كيفية المساعدة في الحدّ من عمليات الاحتيال

عندما ينفِّذ المستخدِم إجراءً مهمًا في تطبيقك، يمكنك استدعاء واجهة برمجة التطبيقات Play Integrity API. فإذا لم يحدث ذلك، يمكن لخادم الخلفية في تطبيقك أن يقرّر الإجراءات التي يجب اتّخاذها لحماية تطبيقك من الهجمات والاحتيال. على سبيل المثال، يمكنك طلب إجراء تحقق إضافي من المستخدم أو رفض الوصول إلى وظائف حساسة.

خطوات اتّخاذ القرارات في واجهة برمجة التطبيقات 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 للحماية"

تعمل "إشارة Play للحماية" على إبلاغ تطبيقك بما إذا كانت خدمة "Play للحماية" مُفعّلة وما إذا كانت قد رصدت تطبيقات ضارة معروفة مثبَّتة على الجهاز.

environmentDetails:{
  playProtectVerdict: "NO_ISSUES"
}

إذا كانت البرامج الضارة مصدر قلق خاص لتطبيقك أو بيانات المستخدمين، يمكنك التحقق من هذا البيان والطلب من المستخدمين تفعيل "Play للحماية" أو إزالة التطبيقات الضارة قبل المتابعة.

تفعيل مربّع حوار "Play للحماية"

يمكن أن تحتوي playProtectVerdict على إحدى القيم التالية:

البيان الشرح الإجراء المقترَح

NO_ISSUES

تم تفعيل خدمة "Play للحماية" ولم يتم رصد أي مشاكل في التطبيق على الجهاز.

تم تفعيل خدمة "Play للحماية" ولم ترصد أي مشاكل، لذلك ليس على المستخدم اتّخاذ أي إجراء.

NO_DATA

تم تفعيل "Play للحماية" ولكن لم يتم إجراء أي فحص بعد. ربما تمت إعادة ضبط الجهاز أو تطبيق "متجر Play" مؤخرًا.

تم تفعيل خدمة "Play للحماية" ولم ترصد أي مشاكل، لذلك ليس على المستخدم اتّخاذ أي إجراء.

POSSIBLE_RISK

تم إيقاف "Play للحماية".

تم تفعيل خدمة "Play للحماية" ولم ترصد أي مشاكل، لذلك ليس على المستخدم اتّخاذ أي إجراء.

MEDIUM_RISK

تم تفعيل خدمة "Play للحماية" ورصدت تطبيقات قد تتسبّب بضرر مثبَّتة على الجهاز.

وحسب قدرتك على تحمُّل المخاطر، يمكنك أن تطلب من المستخدم تفعيل خدمة "Play للحماية" واتّخاذ إجراء بشأن تحذيرات "Play للحماية". إذا لم يتمكّن المستخدم من تلبية هذه المتطلبات، يمكنك حظره من تنفيذ الإجراء على الخادم.

HIGH_RISK

تم تفعيل خدمة "Play للحماية" ورصدت تطبيقات خطيرة تم تثبيتها على الجهاز.

وحسب قدرتك على تحمُّل المخاطر، يمكنك أن تطلب من المستخدم تفعيل خدمة "Play للحماية" واتّخاذ إجراء بشأن تحذيرات "Play للحماية". إذا لم يتمكّن المستخدم من استيفاء هذه المتطلبات، يمكنك حظره من إجراء الخادم.

UNEVALUATED

لم يتم تقييم بيان "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 تلقائيًا بما يصل إلى 10 آلاف طلب لكل تطبيق في اليوم. للتعبير عن اهتمامك بزيادة الحد الأقصى للطلبات اليومية، اتّبِع هذه التعليمات. لكي يكون تطبيقك مؤهَّلاً لزيادة الحد الأقصى اليومي للطلبات، يجب أن يستخدم واجهة برمجة التطبيقات Play Integrity API بشكل صحيح وأن يكون متاحًا على Google Play وأي قنوات توزيع أخرى.

نقاط يجب أخذها في الاعتبار بشأن واجهة برمجة التطبيقات Play Integrity API

ميزة "توفير السلامة تلقائيًا" (الإصدار >= 23 من واجهة برمجة التطبيقات)

"توفير السلامة تلقائيًا" هي خدمة للحماية من التلاعب بالرموز البرمجية، وذلك لحماية تطبيقك من إساءة الاستخدام عبر إجراء تعديلات أو إعادة توزيع غير مصرَّح بها. وهي تعمل بدون اتصال بيانات ولا تتطلّب أيّ عمل من المطوِّر قبل الاختبار ولا تحتاج إلى دمج خادم الخلفية.

كيفية المساعدة في الحدّ من عمليات الاحتيال

عند تفعيل ميزة "توفير السلامة تلقائيًا"، يضيف Google Play عمليات تحقّق إلى رمز تطبيقك ويصعّب إزالتها من خلال أساليب متقدّمة لإخفاء مفاتيح فك التشفير ومكافحة الهندسة العكسية. تتحقّق الحماية في وقت التشغيل مما إذا تم التلاعب بتطبيقك أو إعادة توزيعه:

  • إذا تعذَّر فحص أداة التثبيت، سيُطلب من المستخدمين تثبيت تطبيقك من Google Play.
  • إذا تعذَّر فحص التعديل، لن يتم تشغيل التطبيق.

يساعد ذلك في الحفاظ على أمان المستخدمين من الإصدارات المعدَّلة من تطبيقك.

التنفيذ

لا تتوفّر ميزة "توفير السلامة تلقائيًا" حاليًا إلا لمجموعة محدَّدة من شركاء Play. يمكنك التواصل مع فريق دعم المطوّرين على Google Play إذا لم تكُن الميزة متوفّرة في حسابك على Google Play Console وكنت تريد إبداء اهتمامك بالانضمام إلى البرنامج.

يمكنك تفعيل ميزة الحماية عند إنشاء إصدار أو من صفحة سلامة التطبيق (الإصدار > سلامة التطبيق). تتطلّب ميزة "توفير السلامة تلقائيًا" أن يستخدم تطبيقك ميزة ميزة "توقيع التطبيق" من Play.

احرص على اختبار تطبيقك المحمي قبل الترويج للإصدار في الإنتاج.

أمور يجب أخذها في الاعتبار

  • عدم طرح إصدارات غير محمية من التطبيقات
  • يُرجى توخّي الحذر عند الجمع بين حلول الحماية من التلاعب.
  • اختبار تطبيقك المحمي قبل طرحه للبيع
  • يمكنك تتبُّع الإحصاءات كالمعتاد لأي زيادة في عدد الأعطال.
  • يمكنك إبلاغ Google Play عن الإصدارات المُعدَّلة من التطبيق.