Numanomo laukiančio tikslo pažeidimo taisymas

Ši informacija skirta programos (-ų), kurioje (-iose) yra numanomo laukiančio tinklo pažeidimas, kūrėjams.

Kas vyksta

Mažiausiai vienoje jūsų programoje yra numanomo laukiančio tikslo problema, dėl kurios gali kilti saugos grėsmių atmetant paslaugą, vagiant privačius duomenis ir išplečiant privilegijas. Jei norite išspręsti su programomis susijusią problemą, peržiūrėkite toliau išsamiai aprašytus veiksmus.  Numanomų laukiančių tikslų naudojimo vietą (-as) programoje rasite programos Play Console pranešime. Jei vieta baigiasi verte „(dinamiškai įkeliamame kode)“, vieta yra kode, kurį dinamiškai įkelia programa arba programos naudojamos bibliotekos. Programose paprastai naudojamas dinamiškai įkeliamas kodas, naudojant funkcijos pateikimą kada panorėjus, nors yra ir kitų nerekomenduojamų metodų (kai kurie nerekomenduojami metodai taip pat pažeidžia „Google Play“ politiką ir neturėtų būti naudojami). Be to, paketų kūrimo programos gali pakeisti programos kodą į dinamiškai įkeliamą kodą.

Rekomenduojama išspręsti šią problemą, bet tai nėra būtina. Programos paskelbimo būsenai ši problema įtakos neturės.

Papildoma išsami informacija

„Android“ programos siunčia pranešimus iš vieno komponento į kitą, naudodamos tikslus. Tikslai gali nurodyti tikslinį komponentą (nurodytas tikslas) arba pateikti bendrą veiksmą ir leisti operacinei sistemai teikti bet kurio įrenginio komponento, kuris registruoja šį veiksmą atitinkantį tikslų filtrą, tikslą (numanomas tikslas).

Laukiantys tikslai – tai tikslai, kurie perduodami kitai programai, kad būtų pateikti vėliau tam tikru metu. Numanomo tikslo, įtraukto į laukiantį tikslą, kūrimas yra saugos pažeidimas, dėl kurio gali būti atmesta paslauga, vagiami privatūs duomenys ir išplečiamos privilegijos

Kiti veiksmai

1. Atnaujinkite programą ir ištaisykite įspėjimus „Numanomas laukiantis tikslas“ atlikdami toliau nurodytus veiksmus.

Peržiūrėkite programą, kurioje kuriamas laukiantis tikslas. Pvz., naudojant toliau pateiktą kodą kuriamas laukiantis tikslas, apimantis numanomą tikslą. 

// Sukurkite pagrindinį numanomą tikslą ir įtraukite jį į laukiantį tikslą

Intent base = new Intent("ACTION_FOO");

base.setPackage("some_package");

PendingIntent pi = PendingIntent.getService(this, 0, base, 0);

„Google“ rekomenduoja kūrėjams ištaisyti pažeidimą pritaikant bet kurią iš toliau nurodytų priemonių (arba dar geriau visas).

  • Užtikrinti, kad nustatyti pagrindinio tikslo veiksmo, paketo ir komponentų laukai. 
  • Užtikrinti, kad laukiantis tikslas pateikiamas tik patikimiems komponentams. 
  • Naudoti FLAG_IMMUTABLE (pridėta 23 versijos SDK) kuriant laukiančius tikslus. Tai neleidžia programoms, kurios gauna laukiantį tikslą, užpildyti neužpildytų nuosavybių. Jei programa taip pat veikia įrenginiuose, kuriuose vykdoma 22 ar senesnės versijos SDK, rekomenduojame kūrėjams taikyti ankstesnes parinktis ir sustiprinti laukiančio tikslo kūrimą pasitelkus šabloną.

if (android.os.Build.VERSION.SDK_INT >= 23) {

  // Kurkite laukiantį tikslą naudodami FLAG_IMMUTABLE

} else {

  // Esamas kodas, kuriantis laukiantį tikslą

}

2. Pateikite atnaujintą APK

Jei norite pateikti atnaujintą programos komponentų rinkinį arba APK, atlikite toliau nurodytus veiksmus.

  1. Eikite į „Play Console“.
  2. Pasirinkite programą.
  3. Eikite į programos komponentų rinkinio naršyklę.
  4. Viršuje, dešinėje, pateiktame išskleidžiamajame meniu pasirinkite reikalavimų neatitinkančio APK ir (arba) programos komponentų rinkinio programos versiją ir pasižymėkite, kurie leidimai jiems taikomi.
  5. Eikite į takelį, kuriame yra politikos problema. Tai bus vienas iš šių keturių puslapių: „Vidinis bandymas“, „Uždaras bandymas“, „Atviras bandymas“, „Produkcija“.
  6. Netoli puslapio viršaus, dešinėje, spustelėkite Kurti naują leidimą. (Gali reikėti pirmiausia spustelėti „Tvarkyti takelį“.)
    • Jei leidimas su politiką pažeidžiu APK yra juodraščio būsenos, atmeskite leidimą.
  7. Pridėkite politiką atitinkančią programos komponentų rinkinių ar APK versiją.
    • Įsitikinkite, kad reikalavimų neatitinkanti programos komponentų rinkinių ar APK versija pateikta šio leidimo skiltyje Neįtraukta. Jei reikia daugiau patarimų, žr. šio „Play Console“ pagalbos centro straipsnio skiltį „Neįtraukta (programos komponentų rinkiniai ir APK)“.
  8. Jei norite išsaugoti leidimo pakeitimus, pasirinkite Išsaugoti.
  9. Baigę ruošti leidimą, pasirinkite Peržiūrėti leidimą.

Jei reikalavimų neatitinkantis APK išleistas keliuose takeliuose, pakartokite penktą–devintą veiksmus kiekviename takelyje.

Šiuo laikotarpiu nauja programa ar programos naujinys bus peržiūrimos būsenos, kol jūsų užklausa bus peržiūrėta. Jei programa nebuvo tinkamai atnaujinta, vis tiek matysite įspėjimą.

Esame pasirengę padėti

Jei kyla su pažeidimais susijusių techninių klausimų, galite juos paskelbti „Stack Overflow“ naudodami žymą „android-security“. Jei reikia daugiau informacijos apie veiksmus, kuriuos turite atlikti, kad išspręstumėte šią problemą, galite susisiekti su mūsų palaikymo komanda.

false
Pagrindinis meniu
10906464419256337520
true
Paieška pagalbos centre
true
true
true
true
true
5016068
false
false