Как устранить уязвимость, связанную с доступом к конфиденциальной информации через интерфейс JavaScript

Эта информация предназначена для разработчиков, в приложениях которых возможна утечка конфиденциальных данных через интерфейс JavaScript.

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

Ознакомьтесь с уведомлением в Play Console.

По истечении срока, указанного в Play Console, все приложения с уязвимостями могут быть удалены из Google Play.

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

  1. Чтобы узнать, в каких приложениях есть уязвимость и как скоро нужно устранить проблемы, ознакомьтесь с информацией в уведомлении Google Play. Его можно найти на электронной почте владельца аккаунта.
  2. Устраните уязвимость и обновите затронутые ей программные продукты.
  3. Опубликуйте обновленные версии приложений.

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

Сведения об уязвимости

В соответствии с правилами Google Play о злоупотреблении ресурсами устройства и сети приложения или сторонний код (например, SDK), использующие язык JavaScript, который загружается во время работы, не должны нарушать правила Google Play для разработчиков.

В статье блога Google Developers о создании веб-приложений в WebView под интерфейсом JavaScript понимаются любые объекты, которые предоставляют компоненту WebView доступ к функциональным возможностям через метод addJavascriptInterface.

Из-за класса уязвимостей, связанного с интерфейсами JavaScript, могут быть нарушены правила Google Play относительно пользовательских данных и вредоносного ПО. В некоторых случаях это приводит к сбору и краже данных, а также их использованию для причинения вреда без ведома разработчика приложения или SDK.

Вы можете устранить уязвимость одним из приведенных ниже способов.

Вариант 1. Убедитесь, что компоненты WebView не добавляют объекты в интерфейс JavaScript

Убедитесь, что в интерфейсе JavaScript компонентов WebView, загружающих ненадежный веб-контент, нет новых объектов. Это можно сделать двумя способами:

  1. Исключите вставку объектов с помощью метода addJavascriptInterface.
  2. Удалите объекты из интерфейса JavaScript в shouldInterceptRequest с помощью метода removeJavascriptInterface до загрузки ненадежного контента.

Вариант 2. Убедитесь, что интерфейс JavaScript не предоставляет доступ к функциональным возможностям, связанным с конфиденциальностью

Проверьте, чтобы в интерфейсе JavaScript не было функций, связанных с конфиденциальностью (например, вызовов Android API, для работы которых требуются разрешения). Не допускается сбор конфиденциальной информации о пользователе или устройстве, а также предоставление доступа к API, например обеспечивающим специальные возможности или обмен SMS. Устранить уязвимость можно двумя способами:

  1. Реализуйте вызов функций, для работы которых требуется доступ к конфиденциальной информации, через код внутри приложения. Обязательно сообщите пользователям, как и для чего вы будете использовать и собирать данные.
  2. Удалите все функции, которые предоставляют доступ к функциональным возможностям, связанным с конфиденциальностью, или пользовательским данным, которые доступны через интерфейс.

Вариант 3. Убедитесь, что компонент WebView не предоставляет ненадежным источникам доступ к функциональным возможностям, связанным с конфиденциальностью

Если в компоненте WebView есть функциональные возможности, связанные с конфиденциальностью, загружать произвольный код JavaScript из неизвестных источников нельзя. Кроме того, необходимо сообщить пользователям, как и для чего используются их данные. Убедитесь, что в WebView загружается только контент из строго ограниченного набора URL или контент, принадлежащий разработчику приложения.

Если вы не устраните уязвимость, к приложению будут применены меры из-за возможных нарушений правил Google Play.

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

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

Спасибо за вашу поддержку. Мы постоянно совершенствуем сервис Google Play, чтобы сделать его удобнее для разработчиков и пользователей.

 

Эта информация оказалась полезной?

Как можно улучшить эту статью?
Поиск
Очистить поле поиска
Закрыть поиск
Приложения Google
Главное меню