Как устранить предупреждение об ошибке обработчика SSL в WebView

Эта статья предназначена для разработчиков, в чьих приложениях используется небезопасная реализация обработчика WebViewClient.onReceivedSslError.

Суть проблемы

В одном или нескольких ваших приложениях используется небезопасная реализация обработчика onReceivedSslError, что делает приложение уязвимым для атаки посредника. Это означает, что злоумышленники могут менять контент в WebView, перехватывать данные (например, имена пользователей и пароли), а также выполнять код внутри приложения, используя JavaScript. Вам необходимо принять меры до даты, указанной в Play Console.После нее приложения, содержащие уязвимости, могут быть удалены из Google Play.

Необходимые действия

  1. Чтобы узнать, какие приложения уязвимы и в какой срок нужно решить проблему, войдите в Play Console и откройте раздел "Оповещения".
  2. Устраните уязвимость, внеся изменения в затронутые ей приложения.
  3. Опубликуйте обновленные версии приложений.

После этого мы проведем повторную проверку, которая может занять несколько часов. Если мы убедимся, что уязвимость устранена, то опубликуем приложение и дополнительных действий с вашей стороны не потребуется. В противном случае новая версия не будет опубликована, а вы получите уведомление по электронной почте.

Дополнительная информация

  1. Чтобы решить проблему, измените код приложения. Настройте вызов метода SslErrorHandler.proceed(), если сертификат сервера соответствует ожиданиям, и SslErrorHandler.cancel() – если не соответствует. При проверке сертификата учтите следующее:
    1. Необходимо выполнить проверку по нескольким критериям. Например, проверки только методом getPrimaryError недостаточно.

    2. Игнорировать большинство ошибок SSL, возвращенных методом SslError.getPrimaryError, небезопасно.Метод getPrimaryError возвращает самую серьезную ошибку. Если при проверке возвращается значение getPrimaryError() != SSL_UNTRUSTED, значит ошибка SSL_UNTRUSTED, вероятно, осталась.

  2. Если вы используете библиотеку другого разработчика, обратитесь к нему, чтобы устранить уязвимость.

Подробную информацию об обработчике ошибок SSL можно найти в документации для разработчиков. Если у вас возникнут технические вопросы, задайте их на сайте https://www.stackoverflow.com/questions (используйте теги android-security и SslErrorHandler).

Проблема касается не всех приложений, использующих обработчик SSL в WebView, однако мы рекомендуем вовремя устанавливать обновления системы безопасности. Если приложение подвергает риску данные пользователей, оно может быть расценено как вредоносное. Такое приложение также нарушает условия Соглашения о распространении программных продуктов (раздел 4.4).

Мы всегда рады помочь!

Если у вас есть вопросы об уязвимости, задайте их, используя тег android-security. Чтобы получить более подробные разъяснения, свяжитесь с командой поддержки для разработчиков.

Эта информация оказалась полезной?
Как можно улучшить эту статью?