Penetrační testy Etický hacking Sociální inženýrství

Základní typy pen-testů

1) Test infrastruktury

Zaměřuje se na použitou platformu (např. OS, webový server, databázi) a její zranitelnosti nebo chybné konfigurace, které mohou vést k získání kontroly nad cílovými servery, změnu jejich zamýšlené funkcionality nebo nedostupnost poskytovaných služeb.
Test infrastruktury zahrnuje vyhledávání a ověřování:
  • zranitelností operačních systémů a aplikací, které představují riziko (kompromitace systému, neautorizovaný přístup k datům, DoS),
  • chybné konfigurace a využití nedoporučovaných protokolů,
  • revizi architektury.
2) Test aplikačního prostředí
  • Je cílen např. na logiku webové aplikace, popř. na logiku softwaru na backendu (databázový server, LDAP služba, přístup k file systému).
  • Penetrační test webových aplikací je zaměřen primárně na zranitelnosti definované v „OWASP Top 10“ a cílem je nalezení a ověření takových zranitelností na zvolené webové aplikaci.

3) Testy mobilních zařízení

Cílem nabízených služeb je provedení bezpečnostních testů mobilních zařízení s následnými návrhy efektivních ochranných opatření.

Bezpečnostní testy mobilních zařízení lze provést na několika úrovních:

  1. Analýza zranitelností používaných zařízení – ukáže, čeho může útočník dosáhnout při reálném útoku a obecné zranitelnosti týkající se konkrétního operačního systému a instalovaných aplikací.
  2. Fyzické testy mobilních zařízení – testuje se nastavení bezpečnostních politik vynucených v zařízení a identifikují se slabiny s návrhy způsobu jejich odstranění.
  3. Rozšíření testovacích služeb – je možno objednat testování zranitelností při připojení k bezdrátovým sítím, phishing, vnucení instalace speciálního mallware, připojení k podvrženým AP či například pokus o zneužití samotného MDM/EMM (Mobile Device Management, Enterprise Mobility Management).

Metodika penetračního testování

Metodika je totožná pro infrastrukturu i aplikační prostředí. Liší se použité nástroje a postupy v jednotlivých krocích. Zásadní rozdíl pro průběh celého penetračního testování stanovuje míra spolupráce objednatele při poskytování informací.

Podle množství informací, které objednatel poskytne, se následně testy dělí na dva typy:

1) Black-Box Testing

  • Objednatel neposkytne žádné nebo velmi omezené informace a penetrační testování tak simuluje útočníka bez jakékoliv znalosti systému.
  • Výhodou je věrná simulace externího útočníka, nevýhodou potom vyšší pravděpodobnost nenalezení (opomenutí) některého z možných cílů testování.

2) White-Box Testing

  • Objednatel poskytne dostatek podkladů, které mohou během testování sloužit jako zdroj informací o cílech testování.
  • Zároveň tyto podklady mohou sloužit k oponentuře použité topologie z bezpečnostního pohledu.

Fáze penetračního testování

1) Průzkum – Detailní naplánování bezpečnostního testu

Během této fáze jsou připravovány podklady pro samotné testování a pasivní analýza datových toků v segmentu sítě, kde bude penetrační test probíhat. V případě White-Box Testingu budou bohatým informačním zdrojem podklady od objednatele. Vždy budou využity veřejně dostupné informace a další nástroje (manuální nebo semiautomatické) pro získání dodatečných podkladů. Na základě získaných informací jsou zmapovány cíle pro následnou fázi testování. Použité nástroje jsou vybírány tak, aby byly maximálně efektivní pro jednotlivé fáze penetračního testu. Jsou kombinovány komerční i open-source nástroje tak, aby prováděné testy vedly k odhalení problémů, ale zároveň je kladen důraz na rychlost provádění testů a tím i celkové snížení nákladů.

  • Životní cyklus projektu – bez kvalitní správy nalezených cílů, zranitelností a provedených testů dochází během penetračního testu často zbytečně k opakujícím se úkonům a zároveň bývají opomenuty některé cíle nebo podstatné testy.
  • Mapování cílů – U webových aplikací jsou kromě klasického procházení struktury vyhledávány i podstránky a formuláře, na které nevedou veřejné odkazy. Během mapování cílů pro testování webové aplikace jsou sbírána a vyhodnocována i data z dokumentů (vč. metadat) hostovaných zkoumanou webovou aplikací.
  • Vyhledávání zranitelností – Zranitelnosti jsou vyhledávány více způsoby, od plně automatických nástrojů (výhodou je otestování širokého spektra vstupů za velmi krátký čas) po manuální útoky (převážně na webové aplikace), kdy jsou veškerá odesílaná data ručně modifikována, aby byla odhalena nebo potvrzena konkrétní zranitelnost s maximální přesností.

2. Testování – Řízení (koordinace) a provedení vlastního bezpečnostního testování

Během testování jsou postupně vybírány cíle, které penetrační tester podrobuje zkoumání za pomoci různých nástrojů (automatických, semiautomatických a manuálních). Pokud je nalezeno chování, které by mohlo ukazovat na přítomnost zranitelnosti, je následně provedena série testů, která má za úkol ověřit možnost jejího zneužití. Při ověřování zranitelností je kladen velký důraz na to, aby nebyla ohrožena stabilita služby nebo integrita a důvěrnost dat (např.: pokud je objevena zranitelnost, která umožňuje útočníkovi získat uživatelské jméno a heslo, bude toto demonstrováno pouze na uživatelském jméně a heslo nebude zahrnuto v žádném z výstupů testování). Během testování může dojít k objevení dodatečných cílů, které nebyly zmapovány během průzkumné fáze. Ty jsou do testování dodatečně zahrnuty. Po vyčerpání a zdokumentování všech cílů je testování ukončeno.

3. Reportování výsledků

Report penetračního testu obsahuje zpravidla tři typy informací:

  1. Manažerské shrnutí – podává základní přehled o průběhu testu, vyhodnocení úrovně zabezpečení testovaného objektu a obecná doporučení pro zvýšení úrovně zabezpečení. Přehledně mapuje nejrizikovější oblasti.
  2. Technický popis nálezů – detailní popis zranitelností a potenciálně nebezpečných konfigurací kategorizovaný podle nebezpečnosti. Součástí je informace o tom, kde se zranitelnost vyskytuje, jak ji zneužít a co může útočník zneužitím zranitelnosti získat.
  3. Navrhovaná opatření – opatření se týkají vždy konkrétního nálezu, v reportu jsou navrženy konkrétní série kroků pro odstranění dané zranitelnosti, případně snížení pravděpodobnosti jejího zneužití (např. způsob sanace vstupů webové aplikace, nutná verze softwaru nebo softwarového modulu).

 

Cíle penetračního testování

 

Sociální inženýrství

  • Odhalit možnosti zneužití existujících zranitelností a oblasti vzniku možných rizik,
  • Poskytnout ucelený přehled o stavu zabezpečení infrastruktury a aplikačního prostředí např. jako vstup pro analýzu rizik,
  • Podklad pro návrh kroků k zajištění vyšší úrovně zabezpečení odstraněním existujících problémů, případně návrhy na předejití vzniku podobných problémů,
  • Pokrytí požadavků normy ISO/IEC 27001 / Zákona o kybernetické bezpečnosti.
Samostatným projektem nebo doplňkem mohou být penetrační testy využívající technik sociálního inženýrství, jako jsou:
  • Phishingový test
  • Telefonický test
  • Test s přenosnými médii
  • Pokus o fyzický průnik
  • Prohledávání odpadků, atd.
Jsou cíleny na „zranitelnosti“ lidí, tj. vlastních zaměstnanců, kteří byli, jsou a budou nejčastějším původcem úniků citlivých dat.

 

Napište nám