Intent shēmas uzlaušanas ievainojamības novēršana

Šī informācija ir paredzēta tādu lietotņu izstrādātājiem, kurās ir Intent shēmas uzlaušanas ievainojamība.

Problēma

Vienā vai vairākās jūsu lietotnēs ir Intent shēmas uzlaušanas problēma, kas ļaunprātīgiem tīkliem un vietnēm var ļaut piekļūt privātiem lietotņu komponentiem.Lūdzu, skatiet paziņojumu savā Play Console kontā. Pēc jūsu Play Console kontā norādītajiem termiņiem no pakalpojuma Google Play var tikt noņemtas visas lietotnes, kurās nebūs novērsta drošības ievainojamība.

Nepieciešamā rīcība

  1. Pierakstieties savā Play Console kontā un sadaļā “Brīdinājumi” skatiet ietekmētās lietotnes un termiņus šo problēmu novēršanai.

  2. Atjauniniet savas ietekmētās lietotnes, veicot tālāk norādītās darbības.

  3. Iesniedziet savu ietekmēto lietotņu atjauninātās versijas.

Pēc atkārtotas iesniegšanas jūsu lietotne tiks vēlreiz pārskatīta. Šis process var ilgt vairākas stundas. Ja pēc pārskatīšanas lietotne tiek apstiprināta un veiksmīgi publicēta, vairs nav jāveic nekādas darbības. Ja pēc pārskatīšanas lietotne netiek apstiprināta, tās jaunā versija netiek publicēta un jums tiek nosūtīts paziņojums pa e-pastu.

Papildinformācija

Komponentiem WebView, kas apmeklē neuzticamu tīmekļa saturu, analizē intent:// saites, izmantojot Intent.parseUri, un nosūta šīs Intent struktūras, izmantojot startActivity, pastāv Intent shēmas uzlaušanas ievainojamība. Šie komponenti WebView var tikt ļaunprātīga tīmekļa satura maldināti, lai privātiem lietotņu komponentiem nosūtītu brīvi noteiktas Intent struktūras. Tas var izraisīt apdraudējumus, piemēram, privāto lietotņu datu, ko šie komponenti apstrādā, zādzību. Ņemiet vērā, ka neuzticams tīmekļa saturs ietver uzticamu domēnu saturu, kas ir ielādēts, izmantojot HTTP.

Iesakām šo ievainojamību novērst kādā no tālāk norādītajiem veidiem.

1. iespēja: novērsiet, ka komponenti WebView nosūta brīvi noteiktas Intent struktūras

Izmantojot tālāk norādīto kodu, lietotnes var ierobežot, ka komponentiem, kuru Intent struktūru filtriem ir kategorija BROWSABLE, ar atribūtu Intent.parseUri veidotas Intent struktūras tiek nosūtītas tikai kā Implicit Intent struktūras.

     // convert Intent scheme URL to Intent object
  Intent intent = Intent.parseUri(url);
  // forbid launching activities without BROWSABLE category
  intent.addCategory("android.intent.category.BROWSABLE");
  // forbid explicit call
  intent.setComponent(null);
  // forbid Intent with selector Intent
  intent.setSelector(null);
  // start the activity by the Intent
  view.getContext().startActivity(intent, -1);

2. iespēja: novērsiet neuzticama tīmekļa satura ielādi ietekmētajos komponentos WebView

Ja komponentam WebView ir jāanalizē brīvi noteikti intent:// shēmas vietrāži URL, jums ir jānodrošina, ka netiek ielādēts neuzticams tīmekļa saturs. Neuzticams tīmekļa saturs ietver tīmekļa saturu, kas ielādēts, izmantojot nešifrētu savienojumu. Izstrādātāji failā Manifest var atribūtam android:usesCleartextTraffic iestatīt vērtību “false” vai failā Network Security Config aizliegt HTTP datplūsmu. Izstrādātāji var arī nodrošināt, lai nevienā ietekmētajā komponentā WebView netiktu ielādēti vietrāži URL ar HTTP shēmām, ielādei izmantojot loadUrl.

Iesakām izstrādātājiem gādāt arī par to, lai ietekmētajos komponentos WebView netiktu ielādēti neierobežoti URL, kas iegūti no neuzticamiem avotiem (piemēram, iegūti no neuzticamām Intent struktūrām). 

Mēs jums palīdzēsim
Ja jums ir tehniski jautājumi par ievainojamību, varat tos publicēt vietnē Stack Overflow, izmantojot atzīmi “android-security”. Lai uzzinātu, kā novērst šo problēmu, varat sazināties ar mūsu izstrādātāju atbalsta komandu.

false
Galvenā izvēlne
3361086100566433240
true
Meklēšanas palīdzības centrs
false
true
true
true
true
true
5016068
false
false
false
false
false