Co je a není penetrační test
Když jsem načal v předchozím článku problematiku penetračních testů v otázce (zne)užívání jejich výsledků, bylo to jako říct B ale neříct A, … takže ještě pár vět k tomu A, tj. k čemu by penetrační testy měly být a jak by měly být provedeny.
Penetrační test je dost často omezen jen na jeden konkrétní systém a jsou dány jasné hranice systému, které tester nesmí překročit.
Penetrační test je něco jako crashtest aut, tzn., že výrobce navrhne a postaví vůz, který má celou řadu bezpečnostních prvků, ale až crashtest ukáže, do jaké míry je auto bezpečné tj., zda zavedená opatření fungují dle předpokladu, a auto je možné uvést na trhu … A i v případě aut občas dochází k nepříjemným překvapením.
Penetrační testy by neměly spočívat v pouhém spuštění scanneru zranitelností. Aby nedošlo k omylu, automatizované nástroje vůbec nezavrhuji, sám je používám, např. Burp, nebo SQL map, který mi mnohokrát otevřel cestu do DB. A nemohu zapomenout na nástroj Metasploit, který občas také použiji.
Už je to 15 let co jsem se s ním poprvé seznámil a upravil si nějaké exploity a i když se za tu dobu změnily mnohé příkazy, framework zesílil, přičemž velkou úlohu v tom sehrál také payload Meterpreter, tak základ a filozofie zůstává. I v Metasploit Pro, které má pěkné GUI, lze stále pracovat v MSF konzoli.
Vhodná kombinace manuálního testování se spolu s automatizovanými nástroji jeví jako správná cesta k nalezení a ověření co největšího počtu zranitelností v čase, který má tester k dispozici.
Rozhodně není možné akceptovat, že se ve zprávě z pentestu objeví něco jako … „Mohla by tam být ta a ta zranitelnost, ale z důvodu času či jiných jsme to neověřovali.“ nebo u webových aplikací „V tomto formuláři se nachází SQL injection.“ a opět bez uvedení důkazu, např. konkrétního http dotazu a odpovědi serveru.
Pak přemýšlím, k čemu ten pentest vlastně dělali. To může svědčit o tom, že byl spuštěn jen skener a nikdo jím uváděné výsledky neprověřoval, a že takový skener může obsahovat spoustu false positive nálezů to už asi neřeší
Nemohu nezmínit, že mám také velký problém s hodnocením webů dle parametrů SSL/TLS, které rovněž produkují různé nástroje a snaží se tak oznámkovat weby jen podle tohoto jednoho parametru. To neznamená, že bychom SSL/TLS zranitelnosti měli ignorovat, ale neměli bychom je ani přeceňovat.
Penetrační test by měl být jednoduchou, a názornou ukázkou odolnosti daného systému vůči kybernetický útokům zneužívajícím jeho zranitelnosti. Přičemž je třeba se soustředit na hledání takových zranitelností, které lze reálně zneužít a způsobit organizaci provozující daný systém škodu.
Oproti zlovolnému hackerovi nestačí při pentestu nalézt jednu kritickou zranitelnost a té zneužít, ale je potřeba prověřit maximum možného. Ideální výstup pentestu by měl ukázat zřetězení zranitelností, tak jak by je mohl zneužít hacker, samozřejmě pokud systém takové zranitelnosti obsahuje.
Jak je uvedeno výše, penetrační test by neměl být auditem bezpečnostních funkcí, ale na druhou stranu je potřeba definovat oblasti (např. OWASP Testing Guide), které je potřeba prověřit a do určité míry můžou být vodítkem i pro zkušené pentestery, aby na něco nezapomněli.
Pokud testovaný systém nemá vážné zranitelnosti, pak klidně uveďme i ty málo závažné nebo spíše informativní, jejichž vyřešením se bezpečnost systému bezesporu zlepší. Pokud ale systém má vážné zranitelnosti, pak by se měl tester zaměřit právě na ně, aby podchytil jejich skutečnou závažnost.
A poslední věc, pokud narazíme na nějaká bezpečnostní opatření, která jsou vysoce efektivní, nebo vybočují pozitivně z běžného standardu, pak je dobré to také zmínit, protože cílem penetračních testů není najít něčí chyby, ale zlepšit bezpečnost aplikace/systému a i vývojáři jsou jen lidi a chybovat je lidské. A určitě pak potěší, když vývojáři začnou brát bezpečnost jako automatickou součást své práce.
A nezapomeňte FESTINA LENTE!
MALÝ, Robert, 2019. Co je a není penetrační test. Online. Clever and Smart. ISSN 2694-9830. Dostupné z: https://www.cleverandsmart.cz/co-je-a-neni-penetracni-test/. [citováno 07.12.2024].
K článku “Co je a není penetrační test” se zde nenachází žádný komentář - buďte první.
Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.