Šī informācija ir paredzēta tādu lietotņu izstrādātājiem, kurās ir SQL injekcijas ievainojamība.
Problēma
Vienā vai vairākās jūsu lietotnēs ir SQL injekcijas ievainojamība, kas jānovērš. 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
- Pierakstieties savā Play Console kontā un sadaļā “Brīdinājumi” skatiet ietekmētās lietotnes un termiņus šo problēmu novēršanai.
- Atjauniniet savas ietekmētās lietotnes un novērsiet ievainojamību.
- 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
Vienumu query
(vaicājums), update
(atjauninājums) un delete
(dzēst) ieviešanas gadījumi eksportētajā vienumā ContentProviders
var būt neaizsargāti pret SQL injekciju, ja tie ietver SQL priekšrakstiem neatbilstošus ierakstus. Ļaunprātīga lietotne var nodrošināt pielāgotu ierakstu, lai piekļūtu privātiem datiem vai bojātu datu bāzes saturu. Varat novērst šo problēmu tālāk norādītajos veidos.
Ja attiecīgajam vienumam ContentProvider
nav jābūt redzamam citām lietotnēm, varat veikt tālāk norādītās darbības.
- Savā manifestā varat pārveidot ietekmētā vienuma
ContentProvider
tagu<provider>
, lai iestatītuandroid:exported="false"
. Tādējādi tiks novērsta nolūku sūtīšana no citām lietotnēm uz attiecīgo vienumuContentProvider
. -
Varat arī iestatīt, lai atribūts
android:permission
būtupermission
(atļauja) ar vienumuandroid:protectionLevel="signature"
, tādējādi novēršot nolūku sūtīšanu no citu izstrādātāju lietotnēm uz attiecīgo vienumuContentProvider
.
Ja attiecīgajam vienumam ContentProvider
ir jābūt redzamam citām lietotnēm, varat veikt tālāk norādītās darbības.
- Varat novērst SQL injekciju vienumā
SQLiteDatabase.query
, izmantojot stingro režīmu projicēšanas karti. Stingrais režīms aizsargā pret ļaunprātīgiem atlases nosacījumiem, bet projicēšanas karte — pret ļaunprātīgiem projicēšanas nosacījumiem. Lai nodrošinātu vaicājumu drošību, ir jāizmanto šīs abas funkcijas. - Varat novērst SQL injekciju vienumos
SQLiteDatabase.update
unSQLiteDatabase.delete
, izmantojot atlases nosacījumu, kurā"?"
tiek lietots kā aizvietojams parametrs, un atsevišķu atlases argumentu masīvu. Atlases nosacījumam nav jābūt veidotam no neuzticamiem ierakstiem.
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.