Co je penetrační test
Penetrační test (pentest) je řízená simulace kybernetického útoku na web, aplikaci nebo IT infrastrukturu s cílem odhalit reálně zneužitelné zranitelnosti. Na rozdíl od běžné kontroly konfigurace se zde bezpečnost skutečně testuje v praxi – etický hacker se snaží do systému proniknout stejnými metodami, jaké by použil útočník.
Penetrační testy webových aplikací pomáhají zjistit, zda je systém skutečně odolný vůči útokům, nebo jen teoreticky správně nastavený.
Jak penetrační test probíhá
Penetrační test má obvykle jasně definovaný rozsah a pravidla. Testeři přesně vědí, co smí testovat, aby nedošlo k narušení provozu mimo dohodnutý rámec. Proces obvykle zahrnuje:
- analýzu cílového systému
- identifikaci potenciálních zranitelností
- pokus o jejich zneužití
- dokumentaci dopadu
- závěrečnou zprávu s doporučením nápravy
Cílem není systém poškodit, ale ověřit, zda by to bylo možné.
Penetrační testy webových aplikací
Penetrační testy webových aplikací se zaměřují na bezpečnost konkrétního webu nebo online služby. Nejčastěji se testují aplikace pracující s uživatelskými účty, objednávkami nebo citlivými daty. Typicky se ověřuje odolnost proti:
- SQL injection
- Cross-site scripting
- CSRF útokům
- autentizačním chybám
- chybné správě oprávnění
U moderních aplikací se testuje i API rozhraní nebo koncové body.
Penetrační test není totéž, co bezpečnostní audit. Audit je širší bezpečnostní kontrola konfigurace a procesů, zatímco penetrační test se soustředí na aktivní pokus o průnik. Obě metody se často kombinují.
Kdy penetrační test provádět
Penetrační test má smysl zejména u systémů, které pracují s citlivými daty nebo mají vysoké nároky na dostupnost. Doporučujeme například:
- před spuštěním nové aplikace
- po zásadní aktualizaci systému
- při práci s osobními nebo platebními údaji
- jako součást bezpečnostní certifikace
U kritických projektů se provádí pravidelně.
Samotný penetrační test bezpečnost nezvyšuje – zvyšuje ji až odstranění nalezených slabin.