Ako odstrániť nedostatok zabezpečenia spočívajúci v skriptovaní naprieč aplikáciami

Tieto informácie sú určené pre vývojárov aplikácií, ktoré obsahujú nedostatok zabezpečenia spočívajúci v skriptovaní naprieč aplikáciami.

Čo sa deje

Jedna alebo viacero aplikácií obsahuje problém so skriptovaním naprieč aplikáciami v prvkoch WebView, ktorý môže umožniť škodlivým aplikáciám ukradnúť súbory cookie a ďalšie údaje používateľa. Informácie nájdete v upozornení služby Play ConsolePo termínoch uvedených v službe Play Console môžu byť zo služby Google Play odstránené všetky aplikácie, ktoré obsahujú neodstránené nedostatky zabezpečenia.

Vyžaduje sa akcia​

  1. Prihláste sa do služby Play Console, prejdite do sekcie Upozornenia a pozrite si termíny, dokedy treba problémy vyriešiť, ako aj aplikácie, ktorých sa to týka.
  2. Aktualizujte príslušné aplikácie a chybu zabezpečenia odstráňte.
  3. Odošlite aktualizované verzie dotyčných aplikácií.

Počas tohto obdobia bude mať nová aplikácia alebo aktualizácia aplikácie stav Čaká na zverejnenie, dokým nebude vaša žiadosť skontrolovaná. Ak aplikácia nebola správne aktualizovaná, upozornenie sa bude naďalej zobrazovať.

Ďalšie podrobnosti

Prvky WebView s povoleným JavaScriptom a načítavaním údajov z nedôveryhodných intencií môžu škodlivé aplikácie oklamať, aby spustili kód JavaScript v nebezpečnom obsahu. Túto chybu zabezpečenia odporúčame vyriešiť jedným z nasledujúcich spôsobov:

1. možnosť: zaistite, aby nedošlo k exportovaniu ovplyvnených aktivít

Nájdite všetky aktivity s ovplyvnenými prvkami WebView. Ak tieto aktivity nepotrebujú prijímať intencie z ostatných aplikácií, môžete nastaviť hodnotu android:exported=false pre aktivitymanifeste. Zaistíte tým, že škodlivé aplikácie nebudú môcť odosielať škodlivé vstupy do žiadnych prvkov WebView v týchto aktivitách.

2. možnosť: ochráňte prvky WebView v exportovaných aktivitách

Ak chcete nastaviť aktivitu s ovplyvneným prvkom WebView ako exportovanú, odporúčame vykonať nasledujúce zmeny:

  1. Chráňte hovory smerované na evaluateJavascript a loadUrl

    Zaistite, aby parametre odoslané funkcii evaluateJavascript boli vždy dôveryhodné. Volaním metódy evaluateJavascript pomocou neupraveného vstupu z nedôveryhodných intencií umožníte útočníkom spustiť v ovplyvnenom prvku WebView škodlivé skripty. Podobne volaním metódy loadUrl pomocou neupraveného vstupu obsahujúceho javascript: identifikátory URI schémy umožníte útočníkom spustiť škodlivé skripty.

  2. Zabráňte načítavaniu nebezpečných súborov

    Zaistite, aby ovplyvnené prvky WebView nemohli načítať databázu súborov cookie. Prvky WebView, ktoré načítavajú nevyčistené webové adresy file:// z nedôveryhodných intencií, môžu byť napadnuté škodlivými aplikáciami v dvoch krokoch. Prvý krok: škodlivá webová stránka môže zapísať do databázy súborov cookie značky <script>. Druhý krok: tento upravený súbor databázy súborov cookie môže byť načítaný, keď škodlivá aplikácia odošle intenciu s webovou adresou file:// smerujúcou na vašu databázu súborov cookie prvku WebView alebo váš prvok WebView presmeruje na webovú adresu daného súboru príslušná škodlivá webová stránka. Načíta sa a spustí škodlivá značka <script> uložená v databáze súborov cookie, ktorá môže ukradnúť informácie o relácii.

    Môžete zaistiť, aby ovplyvnené prvky WebView nemohli načítať databázu súborov cookie prvku WebView. Urobíte to troma spôsobmi.

    1. Zakážte prístup k všetkým súborom.
    2. Zaistite, aby prvok WebView načítaval iba webové adresy file:// a overoval, že každá z nich smerovala na bezpečné súbory. Upozorňujeme, že útočník môže pomocou symbolického odkazu predstierať kontroly cesty príslušnej webovej adresy. Ak chcete tomuto útoku zabrániť, nekontrolujte iba cestu webovej adresy, ale aj kanonickú cestu všetkých nedôveryhodných webových adries file:// ešte pred načítaním.
    3. Ak chcete povoliť webové adresy http:// aj file://, implementujte overenie webových adries file:// pomocou parametra shouldOverrideUrlLoadingshouldInterceptRequest v klientovi WebViewClient. Zaistíte tým, že všetky webové adresy načítané do prvku WebView sú overené a že sa neobmedzujú na webové adresy priamo poskytnuté do volania funkcie loadUrl().

Sme tu pre vás
V prípade technických otázok týkajúcich sa tohto nedostatku zabezpečenia môžete uverejniť príspevok na webe Stack Overflow. Použite v ňom značku „android-security“. Ak potrebujete objasniť kroky potrebné na vyriešenie tohto problému, kontaktujte tím podpory pre vývojárov.

false
Hlavná ponuka
5383814489770000220
true
Vyhľadávanie v Centre pomoci
true
true
true
true
true
5016068
false
false