Uklanjanje opasnosti od unakrsnog skriptiranja aplikacija

Ove su informacije namijenjene razvojnim programerima aplikacija koje su izložene opasnosti od unakrsnog skriptiranja aplikacija.

Što se događa

Jedna ili više vaših aplikacija sadrže poteškoću unakrsnog skriptiranja aplikacija web-prikaza što zlonamjernim aplikacijama može omogućiti da kradu podatke o kolačićima korisnika i druge podatke. Pogledajte obavijest na Play konzoliAplikacije koje budu sadržavale neriješene sigurnosne ranjivosti nakon rokova prikazanih na vašoj Play konzoli mogu se ukloniti s Google Playa.

Potrebna je radnja​

  1. Prijavite se na Play konzolu i u odjeljku Upozorenja pogledajte koje su aplikacije podložne ranjivostima i koji su rokovi za rješavanje tih poteškoća.
  2. Ažurirajte zahvaćene aplikacije i popravite ranjivosti.
  3. Pošaljite ažurirane verzije ranjivih aplikacija.

Za to vrijeme vaša nova aplikacija ili ažuriranje aplikacije imat će status Na čekanju za objavljivanje dok se vaš zahtjev ne pregleda. Ako aplikacija nije pravilno ažurirana, upozorenje će se prikazivati i dalje.

Dodatne pojedinosti

Zlonamjerne aplikacije mogu na prijevaru navesti web-prikaze koji omogućuju JavaScript i učitavaju podatke iščitane s nepouzdanih Intenta da u kontekstu koji nije siguran izvrše JavaScript kôd. Preporučujemo da spriječite tu ranjivost na jedan od sljedećih načina:

Prva opcija: onemogućite izvoz pogođenih aktivnosti

Pronađite aktivnosti s pogođenim web-prikazima. Ako te aktivnosti ne moraju preuzimati Intente iz drugih aplikacija, možete postaviti android:exported=false za aktivnosti u svojem manifestu. Time se osigurava da zlonamjerne aplikacije ne mogu slati štetne unose web-prikazima u tim aktivnostima.

Druga opcija: zaštitite web-prikaze u izvezenim aktivnostima

Ako Activity s pogođenom komponentom WebView želite postaviti kao izvezenu, preporučujemo da unesete sljedeće promjene:

  1. Zaštitite pozive za evaluateJavascript i loadUrl

    Parametri za evaluateJavascript uvijek su pouzdani. Pozivanje evaluateJavascript nepročišćenim unosom s nepouzdanih objekata Intents omogućuje napadačima da izvrše štetne skripte u pogođenoj funkciji WebView. Slično tome, pozivanje loadUrl nepročišćenim unosom koji sadrži javascript: URL-ovi scheme omogućuje napadačima da izvrše štetne skripte.

  2. Spriječite nesigurna učitavanja datoteka

    Osigurajte da pogođene funkcije WebViews ne mogu učitavati baze podataka kolačića. Zlonamjerne aplikacije u dva koraka mogu napasti WebViews koji učitavaju nepročišćene file:// URL-ove s nepouzdane funkcije Intents. Prvi korak: zlonamjerna web-stranica može upisati <script> oznake u bazu podataka kolačića. Drugi korak: ova izmijenjena datoteka baze podataka kolačića može se učitati ako zlonamjerna aplikacija šalje funkciju Intent s file:// URL-om koji usmjerava na bazu podataka kolačića vaše funkcije WebView ili ako zlonamjerna web-stranica sama preusmjerava vašu funkciju WebView na URL datoteke. Zlonamjerni <script> pohranjen u bazi podataka kolačića učitat će se i izvršiti, što može ukrasti podatke sesije.

    Na tri načina možete osigurati da pogođena funkcija WebViews ne može učitavati bazu podataka kolačića WebView.

    1. Onemogućite pristup svim datotekama.
    2. Pazite da WebView učitava samo file:// URL-ove i potvrdite da svi učitani file:// URL-ovi usmjeravaju na sigurne datoteke. Napominjemo da napadač može upotrijebiti symbolic link kako bi zavarao provjere na putu URL-a. Da biste spriječili takav napad, umjesto da prije učitavanja provjerite samo put URL-a, provjerite kanonski put svih nepouzdanih file:// URL-ova.
    3. Ako želite omogućiti i http:// URL-ove i file:// URL-ove, implementirajte potvrdu file:// URL-a koristećishouldOverrideUrlLoading i shouldInterceptRequest u stavci WebViewClient. Time se osigurava da su svi URL-ovi učitani u WebView potvrđeni, a ne ograničava se na URL-ove koji se izravno otvaraju pozivom funkcije loadUrl().

Obratite nam se ako vam zatreba pomoć
Ako imate tehnička pitanja o toj ranjivosti, možete objaviti post na Stack Overflowu uz oznaku "android-security". Ako su vam potrebne upute za rješavanje te poteškoće, možete se obratiti našem timu za podršku razvojnim programerima.

false
Googleove aplikacije
Glavni izbornik
8871898675498321728
true
Pretraži Centar za pomoć
true
true
true
true
true
5016068
false
false