TakéPentest, Etický hackingPokročilý

Definice

Penetrační test je řízené bezpečnostní prověření systému, aplikace nebo sítě, při němž tester napodobuje postup útočníka v předem schváleném rozsahu. Cílem je najít zneužitelné slabiny, prakticky doložit jejich dopad a dodat doporučení, podle nichž tým riziko opraví, omezí nebo vědomě přijme.

Kategorie: KyberbezpečnostAktualizováno

Co penetrační test skutečně ověřuje

Penetrační test hledá chyby, které lze reálně využít k neoprávněnému přístupu, úniku dat, obejití oprávnění nebo narušení provozu. Tester nesepisuje jen seznam teoretických nálezů, ale zkoumá, zda slabina vede k praktickému dopadu. U webové aplikace může jít o převzetí účtu, čtení cizích objednávek, změnu ceny v košíku nebo přístup k administračnímu rozhraní.

Penetrační test může být černý, šedý nebo bílý podle množství informací, které tester dostane předem. Černý scénář připomíná vnějšího útočníka bez znalosti systému, šedý pracuje například s běžným uživatelským účtem a bílý zahrnuje dokumentaci, architekturu nebo zdrojový kód.

Smluvený rozsah chrání obě strany

Rozsah testu určuje cíle, povolené techniky, časové okno, kontakty pro incidenty a činnosti, které jsou výslovně zakázané. Dobře napsané zadání odděluje legální bezpečnostní práci od neautorizovaného útoku. Součástí bývá také pravidlo, zda je povoleno ověřovat dopad na produkčních datech, používat sociální inženýrství nebo provádět zátěžové pokusy.

Rozumný rozsah neznamená co nejširší seznam systémů. Rozumný rozsah míří na aktiva s největším rizikem: platební tok, zákaznické účty, interní API, správu rolí nebo veřejně dostupnou infrastrukturu.

Zpráva, důkazy a retest

Výstupem penetračního testu je zpráva s popisem nálezů, důkazy, odhadem závažnosti a doporučením nápravy. Kvalitní zpráva je čitelná pro technický tým i pro vlastníka rizika. Vývojář potřebuje reprodukční kroky a přesnou příčinu, manažer potřebuje dopad na byznys a prioritu oprav.

Retest ověřuje, zda oprava skutečně odstranila zranitelnost a nevytvořila nový problém. Retest je důležitý hlavně u chyb v autorizaci, kde kosmetická úprava rozhraní často nezmění serverovou kontrolu oprávnění.

Dva příklady z praxe

Objednávka přes cizí účet

Tým e-shopu objednal penetrační test zákaznické zóny před spuštěním B2B portálu. Tester s běžným účtem změnil identifikátor objednávky v URL a server vrátil fakturu jiné firmy. Výsledek nebyl jen „chybí kontrola“, ale důkaz dopadu: únik osobních a obchodních údajů. Oprava přesunula kontrolu vlastnictví objednávky na serverovou vrstvu.

Slabé hlavičky ve stagingu

Správce aplikace požádal o rychlé prověření prostředí před migrací do cloudu. Tester nejdřív ověřil, jak server odpovídá na základní požadavek:

curl -I https://staging.example.test

Odpověď ukázala chybějící bezpečnostní hlavičky a starou verzi reverzní proxy. Samotná hlavička nebyla kritická, ale v kombinaci s testovacím přihlášením a veřejným stagingem vzniklo zbytečné riziko. Doporučení zahrnovalo omezení přístupu, aktualizaci proxy a sjednocení konfigurace s produkcí.

Hranice oproti skenu zranitelností

Sken zranitelností automaticky porovnává systém se známými signaturami, konfiguracemi a verzemi. Penetrační test používá automatizaci také, ale lidská část je zásadní: tester propojuje více slabších signálů, zkouší logiku aplikace a posuzuje skutečný dopad. Automatický sken proto může být dobrý vstup, nikoli plnohodnotná náhrada penetračního testu.

Příklady z praxe

  1. Cizí transakce přes chybu v autorizaci

    Fintech společnost nechala před auditem otestovat API pro správu firemních účtů. Penetrační tester s rolí běžného účetního zjistil, že změnou parametru v požadavku dokáže načíst transakce jiné organizace. Vývojový tým doplnil serverovou kontrolu vazby mezi uživatelem, rolí a firmou; retest potvrdil, že cizí data už API nevrací.

  2. Neaktivní účet ve VPN

    Nemocnice objednala penetrační test vzdáleného přístupu pro externí dodavatele. Tester našel veřejně dostupný VPN portál bez vícefaktorového ověření a s účtem bývalého technika, který měl stále platné přihlašovací údaje. Správa IT účet zablokovala, zavedla pravidelnou revizi účtů a zapnula vícefaktorové ověření; následná kontrola už neoprávněný vstup neumožnila.

Časté omyly

MýtusPenetrační test nám najde všechny zranitelnosti.
Ve skutečnostiPenetrační test snižuje nejistotu, ale negarantuje úplný seznam všech chyb. Výsledek závisí na rozsahu, čase, přístupech, informacích a stavu systému během testu.
MýtusStačí pustit automatický skener a máme penetrační test.
Ve skutečnostiAutomatický skener umí najít část známých problémů, ale neumí spolehlivě posoudit obchodní logiku, řetězení slabin a skutečný dopad. Penetrační test kombinuje nástroje s lidským úsudkem.
MýtusPentester může zkoušet cokoli, když je cílem bezpečnost.
Ve skutečnostiPentester smí dělat jen to, co je předem schválené. Dobrá motivace nenahrazuje souhlas vlastníka systému ani pravidla pro práci s daty a dostupností služby.

Časté dotazy

Je penetrační test legální?
Penetrační test je legální jen tehdy, když má tester jasné povolení od oprávněné osoby a dodržuje domluvený rozsah. Povolení by mělo být písemné, protože test může navenek vypadat podobně jako útok. Zadání má určit systémy, čas, kontakty, zakázané techniky a pravidla pro nakládání s daty. Bez takového souhlasu může i dobře míněná aktivita porušit zákon nebo smluvní podmínky poskytovatele infrastruktury.
Jak dlouho platí výsledek penetračního testu?
Výsledek penetračního testu platí jen pro testovaný rozsah, stav systému a čas provedení. Nové nasazení aplikace, změna konfigurace, aktualizace knihovny nebo přidání integrace může bezpečnostní situaci změnit během jediného dne. Penetrační test se proto obvykle opakuje po větších změnách, před významným spuštěním nebo podle interních a regulatorních požadavků. Starší zpráva je pořád užitečná jako historie rizik, ne jako záruka aktuální bezpečnosti.
Co má obsahovat zadání penetračního testu?
Zadání penetračního testu má obsahovat testované domény, IP adresy, aplikace, účty, prostředí, časová okna a kontakty pro eskalaci. Zadání má také říct, zda jsou povolené destruktivní pokusy, sociální inženýrství, testování třetích stran, práce s osobními údaji a ověřování dopadu v produkci. Čím přesnější rozsah, tím menší riziko nedorozumění a tím lépe se dá výsledek porovnat s očekáváním objednatele.
Potřebuje malá firma penetrační test?
Malá firma potřebuje penetrační test hlavně tehdy, když provozuje veřejnou aplikaci, zpracovává citlivá data, přijímá platby nebo má významnou závislost na online účtech. Penetrační test nemusí být první krok pro každý malý projekt. Před testem dává smysl opravit základní hygienu: aktualizace, zálohy, vícefaktorové přihlášení, správa přístupů a bezpečné nastavení hostingu. Test má největší hodnotu, když už existuje co ověřovat.

Zdroje

  1. OWASP Web Security Testing Guide(otevře se v novém okně)OWASP Foundation
  2. OWASP Application Security Verification Standard (ASVS)(otevře se v novém okně)OWASP Foundation
  3. Technical Guide to Information Security Testing and Assessment(otevře se v novém okně)National Institute of Standards and Technology, 2008

Související pojmy

Potřebujete to vyřešit v praxi?

Poradíme, jak na to ve vašem projektu

Vysvětlit pojem je jedna věc, navrhnout kolem něj funkční řešení druhá. Ozvěte se a probereme, co dává smysl u vás.