Отстраняване на уязвимост от типа „поверителен JavaScript интерфейс“

Тази информация е предназначена за програмисти, чиито приложения съдържат уязвимост от типа „поверителен JavaScript интерфейс“.

Какво се случва

Моля, вижте известието в Play Console.

След крайните срокове, показани в Play Console, всички приложения, които съдържат уязвимости в сигурността, може да бъдат премахнати от Google Play.

Изисква се действие​

  1. Отворете известието от Google Play, изпратено до имейл адреса на собственика на профила, за да видите кои приложения са засегнати, както и крайните срокове за отстраняване на тези проблеми.
  2. Актуализирайте засегнатите приложения и отстранете уязвимостта.
  3. Изпратете актуализираните версии на засегнатите приложения.

При повторно изпращане приложението ви ще бъде прегледано отново. Този процес може да отнеме няколко часа. Ако приложението премине проверката и бъде публикувано успешно, няма нужда да правите нищо повече. В противен случай новата му версия няма да бъде публикувана и ще получите известие по имейл.

Допълнителни подробности

Съгласно правилата относно злоупотребата с устройства и мрежи „приложения или код на трети страни (напр. SDK) със зареждане на JavaScript по време на изпълнение не трябва да допускат потенциални нарушения на правилата за програмисти в Google Play“.

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

Този клас уязвимост дава възможност чрез JavaScript интерфейс да възникват потенциални нарушения, свързани с потребителски данни и злонамерен софтуер. В зависимост от интерфейсите, които са свободно достъпни, това може да доведе до неочаквано събиране и неупълномощено прехвърляне на данни, както и до потенциално опасни приложения без знанието на програмиста на приложението или на SDK.

Препоръчваме ви да предотвратите тази уязвимост по един от следните начини:

Опция 1: Предотвратете добавянето на обекти към JavaScript интерфейса на компонентите WebView

Предотвратете добавянето на обекти към JavaScript интерфейса на компонентите WebView, които зареждат ненадеждно уеб съдържание. Това може да стане по два начина:

  1. Направете така, че към JavaScript интерфейса да не се добавят обекти чрез извиквания на addJavascriptInterface.
  2. Премахнете обектите от JavaScript интерфейса в shouldInterceptRequest чрез removeJavascriptInterface, преди WebView да зареди ненадеждно съдържание.

Опция 2: Проверете дали не е предоставен свободен достъп до поверителна функция чрез JavaScript интерфейс

Предотвратете добавянето на поверителни функции (като например извиквания на API на Android, които изискват разрешения) към JavaScript интерфейс. Това включва ограничаване на събирането на чувствителни данни, като например информация за потребителя/устройството, и на свободния достъп до API, например такива за достъпност или за SMS съобщения. Има няколко начина за отстраняване на уязвимостта:

  1. Внедрете отново всички функции, които изискват разрешения с поверителен характер или събират поверителна информация, така че те да се извикват от кода, пакетиран в приложението. Проверете дали съответната информация е разкрита на потребителите по ясен начин.
  2. Премахнете всички функции, които осигуряват достъп до поверителна функционалност или до потребителски данни, достъпни от интерфейса.

Опция 3: Проверете дали WebView не излага поверителна функция на опасност от ненадеждно съдържание

Ако WebView съдържа поверителна функция, не бива да зарежда произволен JavaScript код от неизвестни източници и трябва да разкрива по ясен начин информация за използваните данни и функционалности. Уверете се, че в WebView се зареждат само строго ограничени URL адреси и съдържание, които са собственост на програмиста на приложението.

В случай че уязвимостта не бъде отстранена, на приложението ще бъдат наложени мерки за потенциални нарушения на правилата на Google Play.

На ваше разположение сме

Ако сте прегледали правилата и смятате, че е възможно да сме взели грешно решение, свържете се с екипа ни за поддръжка във връзка с правилата. Ще се свържем с вас в рамките на два работни дни.

Благодарим ви, че продължавате да ни помагате да подобряваме практическата работа с Google Play както за програмистите, така и за потребителите.

 

Това полезно ли бе?

Как можем да направим подобрения?

Нуждаете се от още помощ?

Изпробвайте следните стъпки:

Търсене
Изчистване на търсенето
Затваряне на търсенето
Главно меню
9643405056130036734
true
Търсене в Помощния център
true
true
true
true
true
92637
false
false