Aceste informații le sunt destinate dezvoltatorilor ale căror aplicații conțin o vulnerabilitate de injectare SQL.
Ce se întâmplă
Una sau mai multe dintre aplicațiile dvs. conțin o vulnerabilitate la injectarea SQL care trebuie remediată. Consultați notificarea din Play Console. După termenele limită afișate în Play Console, toate aplicațiile care conțin vulnerabilități de securitate neremediate pot fi eliminate din Google Play.
Acțiune necesară
- Conectați-vă la Play Console și navigați la secțiunea Alerte ca să vedeți ce aplicații sunt afectate și care sunt termenele limită pentru remedierea problemelor.
- Actualizați aplicațiile afectate și remediați vulnerabilitatea.
- Trimiteți versiunile actualizate ale aplicațiilor afectate.
După retrimiterea solicitării, aplicația dvs. va fi examinată din nou. Procesul poate dura câteva ore. Dacă aplicația trece de etapa de examinare și este publicată, nu mai este necesară nicio acțiune din partea dvs. Dacă aplicația nu trece de examinare, noua versiune a aplicației nu va fi publicată și veți primi o notificare prin e-mail.
Detalii suplimentare
Implementările funcțiilor query
, update
și delete
în clasele exportate ContentProviders
pot fi vulnerabile la injectarea SQL dacă transmit intrări deteriorate către instrucțiunile SQL. O aplicație rău intenționată poate oferi o intrare creată pentru a accesa datele private sau a deteriora conținutul bazelor de date. Puteți remedia această problemă în următoarele moduri:
Dacă nu este necesar să expuneți clasa ContentProvider
afectată altor aplicații:
- puteți să modificați eticheta
<provider>
a claseiContentProvider
afectate din Manifest pentru a setaandroid:exported="false"
. Astfel, alte aplicații nu vor putea trimite Intenții către clasaContentProvider
afectată. -
puteți și să setați atributul
android:permission
să fie un elementpermission
cuandroid:protectionLevel="signature"
, pentru a împiedica aplicațiile create de alți dezvoltatori să trimită Intenții către clasaContentProvider
afectată.
Dacă este necesar să expuneți clasa ContentProvider
afectată altor aplicații:
- puteți evita injectarea SQL în
SQLiteDatabase.query
dacă folosiți modul strict cu un element projection map. Modul strict protejează împotriva clauzelor de selecție rău intenționate, iar projection map protejează împotriva clauzelor de proiecție rău intenționate. Trebuie să folosiți ambele funcții pentru a vă asigura că interogările dvs. sunt în siguranță. - puteți evita injectarea SQL în
SQLiteDatabase.update
șiSQLiteDatabase.delete
dacă folosiți o clauză de selecție care utilizează„?”
ca parametru ce poate fi înlocuit și un șir separat de argumente de selecție. Clauza de selecție nu trebuie să fie constituită din intrări care nu prezintă încredere.
Vă stăm la dispoziție pentru ajutor
Dacă aveți întrebări tehnice cu privire la vulnerabilitate, puteți posta pe Stack Overflow, cu eticheta „android-security”. Pentru clarificarea pașilor necesari pentru remedierea acestei probleme, contactați echipa de asistență pentru dezvoltatori.