Как устранить уязвимость, связанную с доступом к конфиденциальной информации через интерфейс 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, чтобы сделать его удобнее для разработчиков и пользователей.

 

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

Как можно улучшить эту статью?
Поиск
Очистить поле поиска
Закрыть поиск
Главное меню
7366974894130568499
true
Поиск по Справочному центру
true
true
true
true
true
92637
false
false