Ове информације су намењене програмерима са апликацијама које садрже пропуст у вези са увођењем SQL-а.
Шта се дешава
Једна или више апликација садрже пропуст у вези са увођењем SQL-а који треба да решите. Погледајте обавештење у Play конзоли. Уклонићемо из Google Play-а све апликације које и после датума наведених у Play конзоли буду садржале безбедносне пропусте.
Треба да реагујете
- Пријавите се у Play конзолу и идите до одељка Обавештења да бисте видели које апликације су угрожене и рокове за решавање тих проблема.
- Ажурирајте апликације на које се ово односи и исправите пропусте.
- Пошаљите ажуриране верзије апликација на које се ово односи.
Када је поново пошаљете, апликација ће поново бити прегледана. Овај процес може да потраје неколико сати. Ако апликација прође преглед и буде објављена, не треба ништа више да предузимате. Ако апликација не прође преглед, онда нова верзија апликације неће бити објављена, а ви ћете добити обавештење имејлом.
Додатне информације
Примене за query
, update
и delete
у извезеним ContentProvider-има
могу да садрже пропуст у вези са увођењем SQL-а ако прослеђују уносе који садрже грешку у изводе SQL-а. Злонамерна апликација може да достави осмишљен унос да би приступала личним подацима или оштетила садржај базе података. Можете да решите овај проблем на следеће начине:
Ако угрожени ContentProvider
не мора да буде видљив другим апликацијама:
- Можете да измените ознаку
<provider>
угроженогContentProvider-а
у манифесту да бисте подесилиandroid:exported="false"
. На тај начин ћете спречити да остале апликације шаљу намере угроженомContentProvider-у
. -
Можете и да подесите атрибут
android:permission
наpermission
са вредношћуandroid:protectionLevel="signature"
да бисте спречили да апликације које напишу други програмери шаљу намере угроженомContentProvider-у
.
Ако угрожени ContentProvider
мора да буде видљив другим апликацијама:
- Можете да спречите увођење SQL-а у
SQLiteDatabase.query
ако користите строги режим са са мапом пројекције. Строги режим штити од злонамерних одредби за избор, а мапа пројекције штити од злонамерних одредби за пројекцију. Морате да користите и једну и другу функцију да бисте се уверили да су ваши упити безбедни. - Можете да спречите увођење SQL-а у
SQLiteDatabase.update
иSQLiteDatabase.delete
помоћу одредбе за избор која користи"?"
као заменљиви параметар и посебан низ аргумената за избор. Одредба за избор не треба да садржи непоуздане уносе.
Ту смо да помогнемо
Ако имате техничких питања у вези са пропустом, можете да их поставите на Stack Overflow помоћу ознаке „android-security“. Да бисте разјаснили кораке које треба да предузмете да бисте решили овај проблем, можете да контактирате тим подршке за програмере.