Pojem
SQL injection
Útok, pri ktorom útočník cez formulár či adresu podstrčí aplikácii vlastný príkaz do databázy a môže tak čítať, meniť či mazať údaje. Bráni mu správne programovanie s parametrizovanými dotazmi a pravidelné testovanie.
Aktualizované
Čo to znamená
SQL injection je útok, pri ktorom útočník cez formulár, vyhľadávacie pole alebo adresu stránky vloží do aplikácie vlastný databázový príkaz. Ak aplikácia vstup nekontroluje, databáza príkaz vykoná a útočník môže čítať, meniť alebo mazať údaje, ku ktorým by inak nemal prístup.
Patrí medzi najstaršie a stále najrozšírenejšie zraniteľnosti webových aplikácií, podobne ako cross-site scripting. Príčinou je takmer vždy chyba v programovaní, keď aplikácia skladá databázový dotaz priamo z textu, ktorý zadal používateľ, bez oddelenia údajov od príkazu.
Následky môžu byť vážne: únik zákazníckych databáz, prihlasovacích údajov či platobných informácií, zmena cien v e-shope alebo úplné zničenie dát. Pre firmu to často znamená aj porušenie ochrany osobných údajov so všetkými povinnosťami, ktoré z neho vyplývajú.
Ako to funguje v praxi
Najúčinnejšou ochranou je správne programovanie s parametrizovanými dotazmi, pri ktorých databáza vždy považuje vstup používateľa len za údaj, nikdy za príkaz. Dopĺňa ho kontrola vstupov, obmedzenie oprávnení databázového účtu a pravidelné aktualizácie použitých knižníc a systémov.
Firmy, ktoré si dávajú vyvíjať web, e-shop alebo zákaznícky portál, by mali mať v zmluve s dodávateľom požiadavky na bezpečné programovanie a možnosť nechať aplikáciu otestovať. Pravidelné penetračné testy odhalia zraniteľnosti skôr, než ich nájde útočník.
Citlivé údaje v databáze, napríklad heslá, by mali byť uložené tak, aby ich únik nespôsobil priamu škodu. Heslá sa ukladajú ako bezpečné odtlačky a ďalšie citlivé polia môže chrániť šifrovanie, takže aj ukradnutá databáza má pre útočníka obmedzenú hodnotu.
Na čo si dať pozor
Ak firma zistí, že došlo k úniku údajov, musí konať rýchlo podľa plánu reakcie na incident. Únik osobných údajov sa spravidla musí oznámiť dozornému orgánu do 72 hodín a pri vysokom riziku aj dotknutým osobám, inak hrozia ďalšie sankcie.
Za bezpečnosť aplikácie zodpovedá prevádzkovateľ aj vtedy, keď ju vyvinul externý dodávateľ. Zmluva by mala riešiť zodpovednosť za chyby a ich opravu a firma môže zvážiť kybernetické poistenie, ktoré pokryje časť nákladov po incidente.
Potrebujete pojem vysvetliť na vašej konkrétnej situácii? Konzultácie od 55 € / hodina bez DPH, podľa témy a zložitosti.