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