Эта статья предназначена для разработчиков, в чьих приложениях используется небезопасная реализация обработчика WebViewClient.onReceivedSslError.
Суть проблемы
В одном или нескольких ваших приложениях используется небезопасная реализация обработчика onReceivedSslError, что делает приложение уязвимым для атаки посредника. Это означает, что злоумышленники могут менять контент в WebView, перехватывать данные (например, имена пользователей и пароли), а также выполнять код внутри приложения, используя JavaScript. Вам необходимо принять меры до даты, указанной в Play Console.После нее приложения, содержащие уязвимости, могут быть удалены из Google Play.
Необходимые действия
- Чтобы узнать, какие приложения уязвимы и в какой срок нужно решить проблему, войдите в Play Console и откройте раздел "Оповещения".
- Устраните уязвимость, внеся изменения в затронутые ей приложения.
- Опубликуйте обновленные версии приложений.
После этого мы проведем повторную проверку, которая может занять несколько часов. Если мы убедимся, что уязвимость устранена, то опубликуем приложение и дополнительных действий с вашей стороны не потребуется. В противном случае новая версия не будет опубликована, а вы получите уведомление по электронной почте.
Дополнительная информация
- Чтобы решить проблему, измените код приложения. Настройте вызов метода SslErrorHandler.proceed(), если сертификат сервера соответствует ожиданиям, и SslErrorHandler.cancel() – если не соответствует. При проверке сертификата учтите следующее:
-
Необходимо выполнить проверку по нескольким критериям. Например, проверки только методом getPrimaryError недостаточно.
-
Игнорировать большинство ошибок SSL, возвращенных методом SslError.getPrimaryError, небезопасно.Метод getPrimaryError возвращает самую серьезную ошибку. Если при проверке возвращается значение
getPrimaryError() != SSL_UNTRUSTED
, значит ошибка SSL_UNTRUSTED, вероятно, осталась.
-
-
Если вы используете библиотеку другого разработчика, обратитесь к нему, чтобы устранить уязвимость.
Подробную информацию об обработчике ошибок SSL можно найти в документации для разработчиков. Если у вас возникнут технические вопросы, задайте их на сайте https://www.stackoverflow.com/questions (используйте теги android-security и SslErrorHandler).
Проблема касается не всех приложений, использующих обработчик SSL в WebView, однако мы рекомендуем вовремя устанавливать обновления системы безопасности. Если приложение подвергает риску данные пользователей, оно может быть расценено как вредоносное. Такое приложение также нарушает условия Соглашения о распространении программных продуктов (раздел 4.4).
Мы всегда рады помочь!
Если у вас есть вопросы об уязвимости, задайте их, используя тег android-security. Чтобы получить более подробные разъяснения, свяжитесь с командой поддержки для разработчиков.