Ukrepanje pri izpostavljenih strežniških ključih za Firebase Cloud Messaging (FCM)
Te informacije so namenjene razvijalcem aplikacij, ki vsebujejo izpostavljene strežniške ključe za Firebase Cloud Messaging (FCM).
Kaj se dogaja?
Ena ali več aplikacij vsebuje izpostavljene strežniške ključe za FCM. Zlonamerni napadalec lahko izpostavljene ključe uporabi za pošiljanje potisnih obvestil vsem uporabnikom ranljive aplikacije. Napadalec bi tako nadziral vsebino teh obvestil, ki bi se lahko gibala vse od žaljivih sporočil do nazornih/pretresljivih slik. Oglejte si podrobna postopka spodaj, da odpravite težave z aplikacijami. Lokacije v aplikaciji, ki razkrivajo strežniške ključe za FCM, je mogoče najti v obvestilu Konzole Play za aplikacijo.
Potrebno je ukrepanje
-
Posodobite aplikacijo in izpostavljene ključe za FCM s spodnjim postopkom.
- Če imate za aplikacijo omogočen starejši API za FCM in ga ne uporabljate za pošiljanje potisnih obvestil, starejši API za FCM onemogočite.
- Če imate omogočen starejši API za FCM in ga uporabljate za pošiljanje potisnih obvestil, lahko uporabite enega od obeh postopkov:
- (Priporočljivo) Začnite uporabljati API za FCM različice 1 in onemogočite starejši API za FCM.
- Zavarujte uporabo starejšega API-ja za FCM tako:
- Če uporabljate izpostavljeni ključ samo za API za FCM:
- Ustvarite nov ključ v Konzola platforme Firebase > Nastavitve projekta > Cloud Messaging, in sicer tako, da kliknete »Dodaj strežniški ključ«. Uporabite ta novi strežniški ključ za pošiljanje sporočil FCM iz varnega strežniškega okolja. Ta ključ uporabljajte samo v varnem strežniškem okolju in poskrbite, da ni vključen v kodi odjemalca (aplikacije, binarni programi).
- Ko začnete pošiljati sporočila FCM z novo ustvarjenim strežniškim ključem, v konzoli GCP izbrišite izpostavljene strežniške ključe. Lokacije v aplikaciji, ki razkrivajo strežniške ključe za FCM, je mogoče najti v e-poštnem obvestilu Googla Play. Korak c. opisuje, kako lahko na teh lokacijah pridobite izpostavljene ključe.
- Če uporabljate izpostavljeni ključ za druge API-je, vključno s storitvijo FCM, uporabite ta postopek:
- Začnite uporabljati API za FCM različice 1 in onemogočite starejši API za FCM.
- Če želite poskrbeti za brezskrbno rabo drugih API-jev v prihodnje, razmislite o tem, da bi nehali uporabljati izpostavljeni ključ za druge API-je in sčasoma iz konzole GCP izbrisali izpostavljeni ključ.
- Če uporabljate izpostavljeni ključ samo za API za FCM:
- Ko opravite enega od zgornjih postopkov, izbrišite izpostavljeni strežniški ključ za FCM iz kode aplikacije. Lokacije v aplikaciji, ki razkrivajo strežniške ključe za FCM, je mogoče najti v e-poštnem obvestilu Googla Play. Če želite pridobiti izpostavljene ključe, preverite kodo aplikacije na ranljivi lokaciji. Ključ je lahko na tej lokaciji vdelan kot niz ali na tej lokaciji naložen iz sredstev XML aplikacije; v drugem primeru preverite datoteko
res/values/strings.xml
aplikacije, če želite pridobiti izpostavljeni ključ. Upoštevajte naslednje:- Če opravite zgornji postopek, vendar ne izbrišete izpostavljenih ključev iz aplikacije, boste še naprej prejemali obvestila o ranljivosti v e-poštni nabiralnik/Konzolo Google Play.
- Če izbrišete izpostavljene ključe iz aplikacije, vendar ne opravite zgornjega postopka, težave v resnici ne odpravite, saj lahko napadalec preprosto poišče ključ v starejši različici aplikacije in ga uporabi za napad nanjo.
2. Pošljite posodobljeni APK
Če želite poslati posodobljeni aplikacijski sveženj ali APK:
- Odprite Konzolo Play.
- Izberite aplikacijo.
- Odprite Raziskovalca aplikacijskih svežnjev.
- V zgornjem desnem meniju izberite neskladno različico aplikacije APK-ja/aplikacijskega svežnja in si zabeležite, v okviru katerih izdaj so.
- Odprite različico s težavo, povezano s pravilnikom. Našli jo boste na eni od teh štirih strani: Interno/Zaprto/Odprto preizkušanje ali Različica za splošno razpoložljivost.
- Pri zgornjem desnem kotu strani kliknite Ustvari novo izdajo. (Morda boste morali najprej klikniti »Upravljanje različice«.)
- Če je izdaja z APK-jem, ki krši pravilnik, v stanju osnutka, jo zavrzite.
- Dodajte različico aplikacijskih svežnjev ali APK-jev, ki so skladni s pravilniki.
- Preverite, ali je neskladna različica aplikacijskih svežnjev ali APK-jev v razdelku Ni vključeno te izdaje. Dodatna navodila so v razdelku »Ni vključeno (aplikacijski svežnji in APK-ji)« v tem članku s pomočjo za Konzolo Play.
- Če želite shraniti morebitne spremembe izdaje, izberite Shrani.
- Ko dokončate pripravo izdaje, izberite Pregled izdaje.
Če je neskladen APK izdan v več različicah, ponovite korake od 5 do 9 v vsaki različici.
Ko aplikacijo znova pošljete, jo bomo spet pregledali. Ta postopek lahko traja več ur. Če aplikacija uspešno opravi pregled in je objavljena, ni potrebno dodatno ukrepanje. Če pregled ni uspešen, nova različica aplikacije ne bo objavljena in boste prejeli e-poštno obvestilo.
Tu smo, da vam pomagamo
Če imate tehnična vprašanja glede ranljivosti, jih objavite v skupnosti Stack Overflow in uporabite oznako »android-security«. Če potrebujete pojasnilo postopka, ki ga morate uporabiti, če želite odpraviti to težavo, se lahko obrnete na skupino za podporo razvijalcem.