Člověka nelze zcela nahradit,
říká o automatizovaných penetrační testech Adam Paclt, generální ředitel APPSEC
S nástupem nové směrnice NIS2 je očekáváno výrazné navýšení poptávky po službách penetračního testování, které je nezbytnou součástí hodnocení odolnosti organizace vůči kybernetickým hrozbám. Pro penetrační testování ovšem budou chybět odborníci, a tak se naděje mnoha firem upínají k automatizovaným penetračním testům. Jenže jejich využití má své limity, říká Adam Paclt, generální ředitel APPSEC. Zeptali jsme se, kdy je tedy lepší ruční a kdy automatizovaný penetrační test. A nemohli jsme samozřejmě pominout ani dnes tolik diskutovaný vzestup využití umělé inteligence jak na straně útočníků, tak na straně obránců.
V čem spatřujete hlavní výhody a nevýhody ručních a automatizovaných penetračních testů?
Hodně záleží na tom, co se testuje. Pokud se jedná o penetrační test aplikací, je rozhodně správná cesta manuální testování. Automatizace takového testu je složitá. Pokud se ale jedná o testování infrastruktury, test zranitelností, případně s automatickou exploitací (tj. zneužití zranitenosti) pro ověření testu, pak se vyplácí automatizovaný test. Zejména pokud se jedná o infrastrukturu v řádu stovek až tisíců IP adres.
Do jaké míry se dá říct, že automatizované penetrační testy nevyžadují tak vysokou expertizu testerů jako ruční? A jak moc se lze spoléhat na strojové učení testovacích programů?
Automatizované testy jsou ve většině moderních systémů založené na algoritmech, které se cvičí z reálné práce fyzických hackerů nebo se vyvíjí na základě popsaných zranitelností. Alespoň tak to děláme v našem prostředí. Bez vstupu člověka minimálně v průběhu vývoje se rozhodně neobejdeme. Spolehlivost je vysoká. AI nespí, a pokud si zranitelnost správně vyhodnotí, nedělá chyby.
Jaké nároky naopak klade na testery automatizovaný penetrační test?
Automatizované testování představuje hlavně úsporu času a možnost úspor na straně lidských zdrojů. Jinak řečeno – to, co člověku trvá dny, otestujete pomocí automatizace za hodinu nebo dvě. Spustit testování zvládne kdokoli. Orientovat se v reportech a mít schopnost opravit chyby ve vlastní síti ale vyžaduje určité znalosti.
Je těžší vychovat si ručního testera, nebo toho, co řídí automatizované penetrační testy, a proč?
V rámci našeho interního testu to nerozlišujeme. Do týmu si nenabíráme členy, kteří by neměli k práci vztah a nezískali v minulosti zkušenosti. Z pozice zákazníků jsou většinou operátory administrátoři a správci IT. Snažíme se je vzdělávat, pomáháme diskutovat nálezy a trávíme s nimi hodně času debatami o konkrétních opatřeních. Je ale pravda, že po čase nás nepotřebují, protože i díky interakci s námi a s naším produktem dokážou časem většinu věcí řešit sami.
Který typ penetračního testu je dražší a proč?
Manuální penetrační test bere více času člověka, automatizovaný více výpočetního výkonu a samozřejmě čas operátora. Výsledek máte rychleji, a hlavně jej můžete kdykoli opakovat se stejnými nebo změněnými vstupními parametry (na to může mít vliv i opakovaní OSINT analýzy). Automatizovaný test tedy může vycházet levněji, ale jeho hlavní přínos vidíme hlavně v tom, že je možné jej kdykoliv spustit znovu, výsledky dostat stejně rychle. V případě velkých infrastrukturních celků můžete brát v potaz změny (tj. přírůstky v infrastruktuře) apod.
Liší se nějak pravděpodobnost poškození systémů nebo dat u testovaných systémů, když se provádí ruční, nebo automatizovaný penetrační test?
Ne. S poškozením systémů problémy nebývají.
Do jaké míry se u automatizovaných penetračních testů využívá AI, pokud vůbec? A jak je to v takovém případě s bezpečností dat klienta?
Myslím, že AI je základ každé automatizované platformy. Obecně schopnost pojmout, vyhodnotit a zpracovat mnohem více informací a vstupů v reálném čase je hlavním přínosem.
Je AI v kyberbezpečnosti výhoda, nebo spíš riziko?
Záleží na tom, jaký nástroj a kdo využívá. Pokud neberu v potaz standardní využití strojového učení, jak jsem jej nastínil v našem případě v předchozích otázkách, tak jsou krásným příkladem i dnes populární LLM. Hackerské skupiny si vyvíjejí vlastní trénované modely obsahující informace o zranitelnostech, umožňující tvořit vlastní exploit skripty nebo schopné navrhnout vlastní phishing kampaň na míru. Příklady jsou WormGPT, DarkBard apod. Hlavním problémem je, že v podobných modelech nejsou integrovány přirozené pojistky proti zneužití, které například od začátku do svých produktů zabudovala OpenAI.
V rukách správce ale vlastní narrow trénovaný model umožní například mnohem lepší orientaci v aktuálních zranitelnostech a kontextu možnosti jejich zneužití. Doslova se stačí zeptat: „Kde mám aktuálně největší bezpečnostní problém?“ Jedním z průkopníků je například SentinelOne s produktem Purple AI, který je součástí jejich Singularity platform.
Jaké trendy očekáváte v oblasti penetračních testů v nejbližší budoucnosti?
Samozřejmě mnohem vyšší automatizaci i s cílem úspěšnější prevence proti útokům. Masivní nasazení umělé inteligence a neuronových sítí, a to i do bezpečnostních produktů určených pro menší firmy. Automatizují totiž i ti na druhé straně. Plošné útoky na komerční infrastrukturu se dnes neprovádějí ručně. Vždy se provede potřebná analytika cílů s využitím existujících datasetů (např. daty z platformy Shodan) a následně se využije botnet nebo vlastní infrastruktura k provádění samotných útoků. Obecně tedy platí, že pro automatizaci můžete být úspěšní, jen když nasadíte AI.
Foto: archiv APPSEC