Oprava chyby zabezpečení proti injektáži SQL

Tyto informace jsou určeny vývojářům aplikací, které nejsou zabezpečeny proti útokům injektáží SQL.

K čemu dochází?

Minimálně jedna vaše aplikace obsahuje chybu zabezpečení proti útoku injektáží SQL (SQL Injection), kterou je třeba odstranit. Další informace najdete v oznámení ve službě Play Console. Po termínech uvedených v Play Console mohou být aplikace s neopravenými chybami zabezpečení z Google Play odstraněny.

Vyžadovaná akce

  1. Přihlaste se do Play Console a přejděte do sekce Upozornění, kde zjistíte, kterých aplikací se tento problém týká a do kdy je potřeba jej vyřešit.
  2. Aktualizujte dotčené aplikace a chybu zabezpečení opravte.
  3. Odešlete aktualizované verze dotčených aplikací.

Po odeslání bude aplikace znovu zkontrolována. Tento proces může trvat několik hodin. Pokud aplikace při kontrole projde a bude úspěšně publikována, není potřeba podnikat žádné další kroky. Jestliže aplikace při kontrole neprojde, nová verze aplikace nebude publikována a obdržíte e‑mailem oznámení.

Další podrobnosti

Implementace metod query, updatedelete v exportovaných objektech ContentProvider mohou být zranitelné útokem injektáží SQL, pokud v příkazech SQL předávají nezabezpečený vstup. Škodlivá aplikace může předáním speciálně vytvořeného vstupu získat přístup k soukromým datům nebo poškodit obsah databáze. Problém lze vyřešit takto:

Pokud dotčený ContentProvider nemusí být dostupný ostatním aplikacím:

Pokud dotčený ContentProvider musí být dostupný ostatním aplikacím:

  • Injektáži SQL do dotazu SQLiteDatabase.query můžete zabránit použitím striktního režimumapou projekce. Striktní režim chrání před škodlivými klauzulemi výběru a mapa projekce před škodlivými klauzulemi projekcí. K zajištění bezpečnosti dotazů je nutné použít obě tyto funkce.
  • Injektáži SQL do příkazů SQLiteDatabase.updateSQLiteDatabase.delete můžete zabránit použitím klauzule výběru, která bude používat otazník (?) jako nahraditelný parametr a samostatné pole argumentů výběru. Klauzuli výběru nesmíte sestavovat z nedůvěryhodných vstupů.

Rádi vám poradíme

Máte-li ohledně této zranitelnosti technické dotazy, publikuje příspěvek na webu Stack Overflow. Použijte štítek „android-security“. Pokud potřebujete poradit s jednotlivými kroky k řešení tohoto problému, obraťte se na náš tým podpory pro vývojáře.