معالجة مشكلة الكشف عن مفاتيح خادم المراسلة عبر السحابة الإلكترونية من Firebase‏(FCM)

هذه المعلومات موجَّهة لمطوِّري البرامج الذين تم الكشف عن مفاتيح خادم المراسلة عبر السحابة الإلكترونية من Firebase‏(FCM) في تطبيقاتهم.

تحليل المشكلة

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

الإجراء المطلوب

  1. يمكنك استخدام الخطوات الموضحة أدناه لتعديل تطبيقك ومفاتيح المراسلة عبر السحابة الإلكترونية من Firebase التي تم الكشف عنها:

    1. إذا تم تفعيل واجهة FCM API القديمة في تطبيقك، ولم يتم استخدامها لإرسال الإشعارات الفورية، يُرجى إيقاف واجهة FCM API القديمة.
    2. إذا تم تفعيل واجهة برمجة التطبيقات القديمة للمراسلة عبر السحابة الإلكترونية من Firebase، وتم استخدامها لإرسال إشعارات فورية، يمكنك اتّباع أي من الخطوتَين التاليتَين:
      1. (يُفضّل اتّباع هذه الخطوة) يمكنك استخدام الإصدار الأول من واجهة FCM API وإيقاف واجهة FCM API القديمة.
      2. يمكنك استخدام واجهة برمجة التطبيقات القديمة للمراسلة عبر السحابة الإلكترونية من Firebase بأمان باتّباع الخطوات التالية:
        1. في حال عدم استخدام المفتاح الذي تم الكشف عنه إلا في واجهة برمجة تطبيقات المراسلة عبر السحابة الإلكترونية من Firebase:
          1. يمكنك إنشاء مفتاح جديد من وحدة تحكُّم Firebase > إعدادات المشروع > خدمة المراسلة عبر السحابة الإلكترونية من خلال النقر على "إضافة مفتاح خادم"،  ويمكنك استخدام مفتاح الخادم الجديد هذا لإرسال رسائل المراسلة عبر السحابة الإلكترونية من Firebase من بيئة الخادم الآمنة. يجب استخدام هذا المفتاح من بيئة الخادم الآمنة فقط وعدم تضمينه في رمز البرنامج (التطبيقات والبرامج الثنائية). 
          2. بعد استخدام مفتاح الخادم الذي تم إنشاؤه حديثًا لإرسال رسائل المراسلة عبر السحابة الإلكترونية من Firebase، يمكنك حذف مفاتيح الخادم التي تم الكشف عنها من خلال وحدة تحكُّم Google Cloud Platform. يمكنك الاطّلاع على رسالة الإشعار الإلكترونية من Google Play للتعرّف على المواضع التي تم من خلالها الكشف عن مفاتيح خادم المراسلة عبر السحابة الإلكترونية من Firebase في تطبيقك. توضح الخطوة ج كيفية التعرّف على المفاتيح التي تم الكشف عنها من هذه المواضع. 
        2. في حال استخدام المفتاح الذي تم الكشف عنه في واجهات برمجة تطبيقات أخرى بما في ذلك واجهة المراسلة عبر السحابة الإلكترونية من Firebase، يجب اتّباع الخطوات التالية:
          1. ابدأ استخدام الإصدار الأول من واجهة FCM API وأوقِف واجهة FCM API القديمة.
          2. لاستخدام واجهات برمجة التطبيقات الأخرى بأمان في المستقبل، نقترح عليك التوقُّف عن استخدام المفتاح الذي تم كشفه في هذه الواجهات وحذفه بالنهاية من وحدة تحكُّم Google Cloud Platform.
    3. بعد اتّباع إحدى الخطوات السابقة، يجب حذف مفتاح خادم المراسلة عبر السحابة الإلكترونية من Firebase الذي تم الكشف عنه من رمز التطبيق. يمكنك الاطّلاع على رسالة الإشعار الإلكترونية من Google Play للتعرّف على المواضع التي تم من خلالها الكشف عن مفاتيح خادم المراسلة عبر السحابة الإلكترونية من Firebase في تطبيقك. للتعرّف على المفاتيح التي تم الكشف عنها، يُرجى التحقّق من رمز التطبيق في الموضع المعرّض للاختراق. ويمكن تضمين المفتاح في هذا الموضع في هيئة سلسلة، أو تحميله في ذلك الموضع من موارد بتنسيق XML في تطبيقك، وفي هذه الحالة، عليك التحقّق من ملف res/values/strings.xml في تطبيقك للتعرّف على المفتاح الذي تم الكشف عنه. يُرجى ملاحظة ما يلي:
      • في حال تنفيذ الخطوات السابقة وعدم حذف المفاتيح التي تم الكشف عنها من تطبيقك، ستظلّ تصلك إشعارات الثغرة الأمنية في بريدك الإلكتروني/Google Play Console. 
      • وفي حال حذف المفاتيح التي تم الكشف عنها من تطبيقك وعدم اتّباع الخطوات أعلاه، لن يتم حل المشكلة فعليًا لأن المهاجم يمكنه ببساطة العثور على المفتاح في إصدار قديم من تطبيقك واستخدامه لمهاجمة تطبيقك.

2- إرسال حِزمة APK المعدّلة

لإرسال حِزمة تطبيق أو حِزمة APK مُعدَّلة، يمكنك اتّباع الخطوات التالية:

  1. الانتقال إلى Play Console
  2. اختيار التطبيق
  3. الانتقال إلى مستكشف حِزم التطبيقات
  4. اختيار إصدار التطبيق الذي يتضمن حِزمة APK أو حِزمة تطبيق غير متوافقة من القائمة المنسدلة في أعلى يسار الشاشة وتحديد الإصدارات التي تندرج ضمنها الحِزم
  5. الانتقال إلى قناة الإصدار التي تظهر بها مشكلة متعلّقة بالسياسة وستكون الصفحة من بين الصفحات الأربع التالية: اختبار داخلي / اختبار مغلق / اختبار مفتوح أو قناة الإنتاج.
  6. النقر في أعلى يسار الصفحة على إنشاء إصدار جديد (قد يتطلب الأمر النقر على "إدارة قناة الإصدار" أولاً).
    • إذا كان الإصدار الذي يتضمن حِزمة APK تنتهك السياسة في حالة مسودّة، يُرجى تجاهل الإصدار.
  7. إضافة الإصدار المتوافق مع السياسة من حِزم التطبيقات أو حِزم APK
    • التأكّد من أنّ إصدار حِزم التطبيقات أو حِزم APK غير المتوافق مع السياسة يندرِج ضمن القسم غير مضمّنة لهذا الإصدار. ولمعرفة مزيد من المعلومات، يُرجى الاطّلاع على القسم "غير مضمّنة (حِزم التطبيقات وحِزم APK)" في مقالة مركز مساعدة Play Console.
  8. لحفظ أي تغييرات تم إجراؤها على إصدارك، يُرجى النقر على حفظ.
  9. عند الانتهاء من إعداد إصدارك، يُرجى النقر على مراجعة الإصدار.

إذا تم إصدار حِزمة APK غير متوافقة على عدة قنوات إصدار، يمكنك تكرار الخطوات من 5 إلى 9 في كل قناة إصدار.

وعند إعادة الإرسال، سيخضع تطبيقك للمراجعة مرة أخرى. ويمكن أن تستغرق هذه العملية عدة ساعات. إذا اجتاز التطبيق المراجعة وتم نشره بنجاح، لا يلزم اتخاذ أي إجراء آخر. وإذا لم ينجح التطبيق باجتياز المراجعة، لن يتم نشر إصدار التطبيق الجديد وسيتم إرسال إشعارًا لك بذلك عبر البريد الإلكتروني.

نحن في الخدمة

إذا كانت لديك أسئلة فنية عن الثغرات الأمنية، يمكنك طرحها على الموقع الإلكتروني Stack Overflow واستخدام العلامة "android-security". ولمزيد من التوضيح بشأن الخطوات المطلوبة لحلّ هذه المشكلة، يمكنك التواصل مع فريق دعم مطوّري البرامج.

القائمة الرئيسية
410190796099330147
true
مركز مساعدة البحث
true
true
true
true
true
5016068
false