هذه المعلومات مخصّصة لمطوري التطبيقات التي تحتوي على تنفيذ غير آمن لواجهة X509TrustManager.
تحليل المشكلة
يحتوي تطبيق واحد أو أكثر من تطبيقاتك على تنفيذ غير آمن لواجهة X509TrustManager. في الواقع، يتجاهل هذا التنفيذ جميع أخطاء التحقُّق من صحة شهادة طبقة المقابس الآمنة (SSL) عند إنشاء اتصال HTTPS بمضيف عن بُعد، ما يجعل تطبيقك عرضة لهجمات المخترقين. ويمكن لأي مهاجم قراءة البيانات المنقولة (مثل بيانات اعتماد تسجيل الدخول) وكذلك تغيير البيانات المنقولة على اتصال HTTPS. يُرجى مراجعة الخطوات المُفصّلة أدناه لحل المشكلة التي طرأت على تطبيقاتك. وبعد مرور المواعيد النهائية الموضّحة في حسابك على Play Console، قد يتم حذف أيّ تطبيقات تحتوي على ثغرات أمنية لم يتم إصلاحها من Google Play.
الإجراءات المطلوبة
- سجِّل الدخول إلى حسابك على Play Console، وانتقِل إلى قسم "التنبيهات" لمعرفة التطبيقات المتأثرة والمواعيد النهائية لحل هذه المشاكل.
- حدِّث تطبيقاتك المتأثرة بالثغرة الأمنية وأصلِحها.
- أرسِل النُسخ المُحدَّثة من تطبيقاتك المتأثرة.
وعند إعادة الإرسال، سيخضع تطبيقك للمراجعة مرة أخرى. ويمكن أن تستغرق هذه العملية عدة ساعات. إذا اجتاز التطبيق المراجعة وتم نشره بنجاح، لا يلزم اتخاذ أي إجراء آخر. وإذا تعذّر على التطبيق اجتياز المراجعة، لن يتم نشر إصدار التطبيق الجديد وستتلقى إشعارًا عبر البريد الإلكتروني.
تفاصيل إضافية
للتعامل مع مسألة التحقُّق من شهادة SSL بشكل مناسب، غيِّر رمزك في طريقة checkServerTrusted بواجهة X509TrustManager المخصّصة لطلب إما CertificateException أو IllegalArgumentException في حال كانت الشهادة المقدّمة من الخادم لا تلبي توقعاتك. وعلى وجه الخصوص، يُرجى الانتباه إلى الأخطاء التالية:
- تأكّد من أن الاستثناءات المرفوعة بواسطة checkServerTrusted لم يتم اكتشافها ضمنَ الطريقة. وسيؤدي ذلك إلى إنهاء checkServerTrusted بشكل طبيعي، ما ينتج عنه وثوق التطبيق بشهادة ضارة.
- لا تستخدم checkValidity لأغراض فحص شهادة الخادم. تتحقّق checkValidity مما إذا كانت الشهادة غير منتهية الصلاحية، ولا يمكنها معرفة ما إذا كان يجب عدم الوثوق في الشهادة.
يمكنك أيضًا استخدام إعداد أمان الشبكات لتخصيص سلوك شهادة تطبيقك بطريقة أقل عرضة للخطأ.
تسرّنا مساعدتك
إذا كانت لديك أسئلة فنية بشأن الثغرات الأمنية، يمكنك طرحها على موقع Stack Overflow واستخدام العلامة "android-security" و"TrustManager". لمزيد من التوضيح بشأن الخطوات المطلوبة لحل هذه المشكلة، يُرجى التواصل مع فريق دعم مطوّري البرامج.