facebook LinkedIN LinkedIN - follow
IT SYSTEMS 12/2022 , IT Security

Penetrační testování vs. skenování zranitelností

Martin Hořický


Často se během své práce setkává­me se situací, kdy klienti zaměňují pojmy penetrační testování se ske­no­vá­ním zrani­tel­nos­tí a naopak. Smutnější však je, že se to někdy stává i mezi lidmi v oboru. Opravdu se vám doda­va­tel snaží prodat plnohodnotný penetrační test, nebo se jedná „pouze“ o skenování zranitelností skryté za vyšší cenu? V čem je ten fundamentální rozdíl mezi těmito dvěma službami? Je jedna „horší“ než druhá? V jakých případech je vhodné provést skenování zranitelností a kdy má smysl přistoupit k penetračnímu testování? Především tyto otázky se pokusím zodpovědět v tomto článku.


Hned na úvod bych chtěl zdůraznit, že se opravdu nejedná o synonyma! Jedná se o dvě odlišné služby, které se výrazně liší obsahem, náročností provedení, a tudíž i cenou. Zjednodušeně řečeno, skenování a vyhledávání zranitelností cílových systémů je součástí penetračního testování, ale v rámci penetračního testování probíhá aktivní snaha o prolomení všech nalezených slabin a o cílenou infiltraci sítě. Součástí obou služeb by mělo být vždy podání detailních informací o tom, v čem hrozba spočívá a jak ji odstranit, nebo alespoň minimalizovat riziko jejího zneužití. Pojďme se nyní podívat na obě služby detailněji.

Skenování zranitelností

Představte si počítač (chcete-li server), na kterém běží určitá služba, například webový server, na kterou jste schopni se připojit. V našem případě připojení znamená zobrazení webové stránky, která je umístěna na tomto počítači. Abychom nezabíhali do přílišných technických detailů, řekněme, že aby počítač byl schopen komuniko­vat s okolím, musí mít pro tuto komunikaci otevřené nějaké síťové rozhraní. Budeme mu říkat port. Portů může mít počítač otevřených velké množství a na každém z nich může běžet jiná služba.

Skenování zranitelností vyhledá všechny otevřené porty počítače, jež jsou předmětem skenování, a může získat informace o typu služby, verzi aplikace, která tuto službu provozuje, verzi použitého operačního systému a další cenné informace. Na základně porovnání získaných informací s databázemi známých zranitelností pak skener dokáže říct, že například aplikace na portu číslo 80 s názvem X ve verzi y.z.w je zranitelná vůči tomu či tomu útoku.

Bystrý čtenář by se mohl ptát, je-li v počítači dostupných mnoho otevřených portů a těchto počítačů je v síti třeba více, nedá se tento proces automatizovat a snížit tak jeho časovou i finanční náročnost? Odpověď zní ANO. Je to také princip, na kterém je skenování zranitelností většinou založené. Ačkoliv samotné skenování může trvat řádově několik minut, hodin ba dokonce dní, v závislosti na rozsahu skenované sítě a typu skenování, obejde se většinou bez zásahu specialisty na kybernetickou bezpečnost.

Pojďme si jen krátce shrnout hlavní výhody a nevýhody skenování zranitelnosti:

+ Odhalení známých zranitelností systémů - Nedokáže odhalit zranitelnosti specifické a unikátní pro systém
+ Automatizovaný a tedy nákladově efektivní proces - Součástí reportu mohou být falešně pozitivní nálezy
+ Levnější než penetrační testování  

Penetrační testování

Penetrační testování je oproti skenování zranitelnosti velmi komplexní proces, který (alespoň v současné době) nelze provádět automati­zo­va­ně. V rámci penetračního testování probíhá mimo jiné také skenování zranitelností, ale součástí jsou i aktivní pokusy o prolomení zabezpečení, infiltrace systému a převzetí kontroly. Využívá se velká škála nástrojů a technik, jejichž použití může a většinou je pro různé operační systémy odlišné. Penetrační tester si vytváří i vlastní malware, který přizpůsobuje „na míru“ klientovi a jeho používaným systémům, a ten dále využívá ke zneužití nalezených zranitelností.

Zatímco skenování zranitelností dokáže odhalovat pouze známé nedostatky systémů, v rámci penetračního testování může dojít k odhalení zatím nikým neodhalené chyby či zranitelností jedinečné pro testované prostředí. „Jedinečných zranitelností“ může paradoxně vznikat mnoho, jelikož mohou být vedlejším produktem snahy administrátorů zabezpečit, vylepšit či optimalizovat. Unikátní zranitelnosti se dají velmi často najít také ve zdrojových kódech vlastních vyvíjených systémů a aplikací. Jako příklad lze uvést vývojovou společnost, která vytváří přelomové a unikátní mobilní aplikace a má velmi kreativní vývojáře, kteří se primárně zaměřují na to, aby aplikace splňovala požadavky na funkčnost a vzhled. Bezpečnost se tak mnohdy dostává na druhou kolej.

Za zmínku stojí určitě i pojem „Red-teaming“. Jedná se o techniku aktivního prolamování zabezpečení a infiltrace systémů, ale na rozdíl od penetračního testování necílí na odhalení všech nedostatků zabezpečení. V rámci „red-teamingu“ je cílem co nejrychleji a nejefektivněji získat kontrolu nad systémem či celou sítí. Tento přístup se velmi často používá v různých „hackovacích“ soutěžích a při tréninku a studiu hackingu.

Opět si pojďme krátce shrnout hlavní výhody a nevýhody penetračního testování.

+ Odhalení známých zranitelností systémů - Časově a finančně náročnější než skenování zranitelností
+ Odhalení zranitelností specifických pro systém  
+ Nalezení všech nedostatků zabezpečení  

Finální srovnání

Nelze tvrdit, že by byla jedna služba horší než druhá. Každá má svou roli a vždy záleží na požadavcích klienta, co od služby očekává a jaký je jeho cíl. Pojďme si nyní shrnout ty nejdůležitější aspekty obou služeb.

Skenování zranitelností Penetrační testování
Hledá, posuzuje a klasifikuje zranitelnosti systémů dříve, než je zneužijí hackeři. Hledá zneužitelná místa v bezpečnostní infrastruktuře organizace.
Jedná se automatizovaný proces prováděný pomocí speciálního software. Je prováděno zkušenými hackery v kontrolovaném prostředí.
Skvělé pro posouzení základních úrovní bezpečnostní infrastruktury. Slouží jako bezpečnostní opatření k posouzení bezpečnostních protokolů a zásad organizace.
Většinou je bezpečné jej provádět, tzn. nemusí mít žádný dopad na běžný běh systému. Ideální pro pochopení všech aspektů zabezpečení systému.
Nákladově efektivní metoda hodnocení zranitelností. Mělo by být prováděno vhodným a kontrolovaným způsobem.
  Je důkladnější a cílenější.
Martin Hořický Martin Hořický
Autor článku je odborník na kyber­bez­peč­nost a partner ve společnosti BDO.
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.