كيفية معالجة تنبيهات مُعالِج أخطاء طبقة المقابس الآمنة في WebView في تطبيقاتك.

تم إعداد هذه المقالة للمطوّرين الذين لديهم تطبيقات تستخدم تنفيذًا غير آمن لمُعالِج WebViewClient.onReceivedSslError.

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

يحتوي تطبيق أو أكثر من تطبيقاتك على تنفيذ غير آمن لمُعالِج  onReceivedSslError، ما يجعل التطبيق عرضة لهجمات المخترقين. ويمكن لأي مخترِق تغيير محتوى WebView المتأثر بالمشكلة وقراءة البيانات المنقولة (مثل بيانات اعتماد تسجيل الدخول) وتنفيذ رمز داخل التطبيق باستخدام جافا سكريبت. يُرجى الرجوع إلى الإشعار في حسابك على Play Consoleوبعد مرور المواعيد النهائية الموضّحة في حسابك على Play Console، قد يتم حذف أيّ تطبيقات تحتوي على ثغرات أمنية لم يتم إصلاحها من Google Play.

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

  1. سجِّل الدخول إلى حسابك على Play Console، وانتقِل إلى قسم "التنبيهات" لمعرفة التطبيقات المتأثرة والمواعيد النهائية لحل هذه المشاكل.
  2. حدِّث تطبيقاتك المتأثرة بالثغرة الأمنية وأصلِحها.
  3. أرسِل النُسخ المُحدَّثة من تطبيقاتك المتأثرة.

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

تفاصيل إضافية

  1. لحل المشكلة، يُرجى تعديل رمز تطبيقاتك لاستدعاء SslErrorHandler.proceed() إذا كانت الشهادة المقدَّمة من الخادم تلبي توقعاتك، واستدعاء SslErrorHandler.cancel() إذا لم يكن الأمر كذلك. يُرجى أخذ النقاط التالية بعين الاعتبار عند التحقّق من صحة الشهادة:
    1. قد يتم وضع علامة على التطبيق إذا لم يتم إجراء عمليات تحقق من صحة الشهادة بشكل كافٍ، على سبيل المثال، لا يكفي التحقق من قيمة getPrimaryError المُرجَعة فقط لإثبات صحة الشهادة.

    2. يُعدّ تجاهل معظم أخطاء طبقة المقابس الآمنة التي يعرضها SslError.getPrimaryError إجراءً غير آمن. ويُرجى العِلم أن getPrimaryError يعرض أكثر خطأ فادح ضمن مجموعة الأخطاء، لذا إذا كانت قيمة getPrimaryError() != SSL_UNTRUSTED صحيحة، قد يحتوي الاتصال على خطأ SSL_UNTRUSTED ضمن مجموعة الأخطاء.

  2. إذا كنت تستخدم مكتبة تابعة لجهة خارجية، وكانت المكتبة مسؤولة عن ذلك، يُرجى إبلاغ الجهة الخارجية والتعاون معها لمعالجة المشكلة.

لمزيد من المعلومات حول مُعالِج أخطاء طبقة المقابس الآمنة، يُرجى الاطّلاع على الوثائق في مركز مساعدة مطوّري البرامج المتوافقة مع Android. إذا كان لديك أسئلة فنية أخرى، يمكنك طرحها على موقع https://www.stackoverflow.com/questions واستخدام العلامتين "android-security" و"SslErrorHandler".

يرجى العلم أنه من الأفضل أن تكون على اطّلاع دائم على جميع رموز تصحيحات الأمان، بالرغم من أن هذه المشاكل المحدّدة قد لا تؤثر في كل تطبيق يستخدم طبقة المقابس الآمنة في WebView. وقد يتم اعتبار التطبيقات التي تتضمّن ثغرات أمنية تعرِّض المستخدمين لخطر الاختراق منتجات خطيرة تنتهك "سياسة المحتوى" والبند 4.4 من "اتفاقية توزيع مطوّري البرامج".

تسرّنا مساعدتك.

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

هل كان ذلك مفيدًا؟

كيف يمكننا تحسينها؟
false
القائمة الرئيسية
10698843040326150187
true
مركز مساعدة البحث
true
true
true
true
true
5016068
false
false