Denne informasjonen er beregnet på utviklere som har apper som inneholder et sikkerhetsproblem med SQL-innsetting.
Hva skjer?
Én eller flere av appene dine inneholder et sikkerhetsproblem med SQL-innsetting som må løses. Les varselet i Play Console. Alle apper som inneholder uløste sikkerhetsproblemer, kan bli fjernet fra Google Play etter tidsfristene som vises i Play Console.
Handling kreves
- Logg på Play Console og gå til Varsler-delen for å se hvilke apper som er berørt, samt tidsfristene for å løse de aktuelle problemene.
- Oppdater de berørte appene, og løs sikkerhetsproblemene.
- Send inn de oppdaterte versjonene av de berørte appene.
Hvis du sender apper inn igjen, blir de vurdert på nytt. Denne prosessen kan ta flere timer. Hvis appene godkjennes etter gjennomgangen og publiseres, trenger du ikke gjøre noe mer. Hvis de ikke godkjennes, blir ikke de nye appversjonene publisert, og du mottar et varsel på e-post.
Flere detaljer
Implementeringer av query
, update
og delete
i eksporterte ContentProviders
kan være sårbare for SQL-innsetting hvis de inkluderer urene inndata i SQL-spørringer. Skadelige apper kan medbringe inndata som er laget for å få tilgang til private data eller ødelegge innholdet i databaser. Du kan løse dette problemet på disse måtene:
Gjør dette hvis en berørt ContentProvider
ikke trenger å eksponeres for andre apper:
- Du kan endre
<provider>
-taggen til den berørteContentProvider
-komponenten i manifestet for å angiandroid:exported="false"
. Dette hindrer andre apper i å sende intensjoner til den berørteContentProvider
-komponenten. -
Du kan også sette
android:permission
-attributtet tilpermission
medandroid:protectionLevel="signature"
for å hindre at apper fra andre utviklere sender intensjoner til den berørteContentProvider
-komponenten.
Gjør dette hvis en berørt ContentProvider
må eksponeres for andre apper:
- Du kan forhindre SQL-innsetting i
SQLiteDatabase.query
ved å bruke strict-modus med projection map. Strict-modus beskytter mot skadelige utvalgsklausuler, og projection map beskytter mot skadelige projeksjonsklausuler. Du må bruke begge disse funksjonene for å sørge for at spørringene dine er sikre. - Du kan forhindre SQL-innsetting i
SQLiteDatabase.update
ogSQLiteDatabase.delete
ved å bruke en utvalgsklausul med«?»
som en utskiftbar parameter og en separat rekke av utvalgsargumenter. Utvalgsklausulen skal ikke bygges på uklarerte inndata.
Vi hjelper deg gjerne
Hvis du har tekniske spørsmål om sikkerhetsproblemet, kan du skrive et innlegg på Stack Overflow og bruke «android-security»-etiketten. Hvis du vil ha mer informasjon om hva du må gjøre for å løse dette problemet, kan du kontakte brukerstøtteteamet for utviklere.