Te informacje są przeznaczone dla deweloperów aplikacji, które zawierają lukę w zabezpieczeniach związaną z poufnością interfejsu JavaScript.
O co chodzi?
Zapoznaj się z powiadomieniem w Konsoli Play.
Wymagane działania
- Otwórz e-maila z powiadomieniem od Google Play wysłanego na adres e-mail właściciela konta, aby sprawdzić, których aplikacji dotyczy problem i do kiedy należy go rozwiązać.
- Zaktualizuj te aplikacje i usuń lukę w zabezpieczeniach.
- Prześlij zaktualizowane wersje tych aplikacji.
Po ponownym przesłaniu aplikacja zostanie jeszcze raz sprawdzona. Ten proces może potrwać kilka godzin. Jeśli aplikacja pomyślnie przejdzie weryfikację i zostanie opublikowana, nie musisz już nic robić. Jeśli wynik weryfikacji nie będzie pomyślny, nowa wersja aplikacji nie zostanie opublikowana, a Ty otrzymasz powiadomienie e-mailem.
Dodatkowe informacje
Zgodnie z zasadami dotyczącymi nadużywania urządzenia lub sieci aplikacje lub kod innej firmy (np. pakiety SDK) z JavaScriptem ładowanym podczas działania nie mogą dopuszczać do potencjalnych naruszeń zasad Google Play dla deweloperów.
Nawiązujemy tu do każdego obiektu, który ujawnia funkcje komponentowi WebView przy użyciu metody addJavascriptInterface
tego komponentu jako interfejsu JavaScript, jak opisano w artykule o tworzeniu aplikacji internetowych w WebView na blogu Google Developers (w języku angielskim).
Ta klasa luk w zabezpieczeniach umożliwia pojawienie się potencjalnych naruszeń związanych z danymi użytkownika i złośliwym oprogramowaniem w ramach interfejsów JavaScript. W zależności od rodzaju ujawnionych interfejsów może to prowadzić do nieoczekiwanego gromadzenia i wydobywania danych, a także do pojawienia się potencjalnie szkodliwych aplikacji bez wiedzy dewelopera aplikacji lub pakietu SDK.
Aby zabezpieczyć aplikacje przed atakiem wykorzystującym tę lukę, użyj jednego z tych rozwiązań:
Opcja 1. Sprawdź, czy komponenty WebView nie dodają żadnych obiektów do interfejsu JavaScript
Upewnij się, że komponenty WebView, które wczytują niezaufane treści internetowe, nie dodają żadnych obiektów do interfejsu JavaScript. Możesz to zrobić na 2 sposoby:
- Sprawdź, czy żadne obiekty nie są nigdy dodawane do interfejsu JavaScript poprzez wywołania metody addJavascriptInterface.
-
Przed wczytaniem niezaufanych treści przez komponent WebView usuń z interfejsu JavaScript obiekty występujące w metodzie shouldInterceptRequest za pomocą metody removeJavascriptInterface.
Opcja 2. Zadbaj o to, aby poufne funkcje nie były ujawniane przez interfejs JavaScript
Zadbaj o to, aby wszelkie poufne funkcje (takie jak wywołania interfejsu API Androida, które wymagają uprawnień) nie były dodawane do interfejsów JavaScript. Nie pozwól na gromadzenie danych wrażliwych, takich jak informacje o użytkowniku lub urządzeniu, ani na ujawnianie interfejsów API, np. dotyczących ułatwień dostępu czy wysyłania SMS-ów. Taką lukę w zabezpieczeniach można usunąć na kilka sposobów:
- Ponownie wdróż wszelkie funkcje, które wymagają uprawnień newralgicznych lub zbierają informacje poufne, aby były wywoływane z kodu spakowanego w aplikacji. Zadbaj o to, żeby informacje były dobrze widoczne dla użytkowników.
- Usuń wszelkie funkcje, które zapewniają dostęp do poufnych funkcji lub danych użytkownika z poziomu interfejsu.
Opcja 3. Zadbaj o to, aby komponent WebView nie ujawniał poufnych funkcji niezaufanym treściom
Jeśli Twój komponent WebView zawiera poufne funkcje, nie może ładować dowolnego JavaScriptu z nieznanych źródeł, a informacje o używanych danych i funkcjach muszą być dobrze widoczne dla użytkowników. Zadbaj o to, aby w WebView ładowane były tylko adresy URL o ściśle określonym zakresie oraz treści należące do dewelopera aplikacji.
Jeśli dana luka w zabezpieczeniach nie zostanie usunięta, aplikacja zostanie uznana za potencjalnie naruszającą zasady Google Play.
Chętnie Ci pomożemy
Jeśli znasz te zasady i uważasz, że nasza decyzja jest błędna, skontaktuj się z zespołem pomocy ds. zasad. Odpowiemy w ciągu 2 dni roboczych.
Dziękujemy za nieustanną pomoc w dostosowywaniu Google Play do wymagań zarówno deweloperów, jak i klientów.