Penetrační testování - metody. Penetrační testování Testování sociálního inženýrství

Penetrační testování(jarg. pentest) - metoda hodnocení bezpečnosti počítačových systémů nebo sítí pomocí simulace útoku narušitele. Tento proces zahrnuje aktivní analýzu systému pro potenciální chyby zabezpečení, které mohou vyvolat nesprávnou činnost cílového systému nebo úplné odmítnutí služby. Analýza se provádí z pohledu potenciálního útočníka a může zahrnovat aktivní využívání zranitelností systému.

Testovacími objekty mohou být jak jednotlivé informační systémy, například: CMS (systém pro správu obsahu), CRM (systém pro řízení vztahů se zákazníky), internetová klientská banka a celá infrastruktura jako celek: perimetr sítě, bezdrátové sítě, interní nebo podniková síť , stejně jako vnější obvod.

Výzva k penetračnímu testování- hledat všechny možné známé softwarové zranitelnosti, nedostatky v politice hesel, nedostatky a jemnosti nastavení konfigurace IS. Během takového testu tester spustí pseudo-útok na podnikovou síť, zinscenuje akce skutečných vetřelců nebo útok provedený škodlivým softwarem bez přímého zapojení samotného testera. Účelem těchto testů je: identifikovat slabá místa v ochraně podnikové sítě před takovými útoky a odstranit zranitelnosti zjištěné při pseudoútocích.

Penetrační testování se obvykle dělí na BlackBox, WhiteBox a GreyBox:

Černá skříňka- "Černá skříňka". Specialista má pouze veřejně dostupné informace o účelu studie, její síti a parametrech. Tato možnost je co nejblíže skutečné situaci. Jako výchozí údaje pro testování je dodavateli poskytnut pouze název společnosti nebo její webové stránky a všechny další informace, jako jsou IP adresy používané společností, webové stránky, místa výjezdu kanceláří a poboček společnosti. na internet, dodavatel to bude muset zjistit sám.

WhiteBox- úplný opak BlackBoxu. V tomto případě je specialistovi poskytnuto maximum informací, které jsou pro něj nezbytné, až po administrativní přístup k jakýmkoli serverům. Tato metoda vám umožňuje získat nejúplnější studii o zranitelnosti objektu. S WhiteBoxem nebude muset umělec trávit čas shromažďováním informací, sestavováním mapy sítě a dalšími akcemi před zahájením testování a také zkrátí dobu samotného testování, protože některé kontroly se prostě dělat nemusí. Výhoda této metody je v ucelenějším a komplexnějším přístupu k výzkumu. Temnější stránkou je, že se méně blíží situaci skutečného útoku vetřelce.

Graybox- toto je střední možnost mezi WhiteBox a BlackBox, když umělec jedná o možnosti BlackBox a pravidelně požaduje informace o testovaném systému, aby zkrátil dobu výzkumu nebo efektivněji vynaložil své úsilí. Tato možnost je nejoblíbenější, protože umožňuje provádět testování, aniž byste trávili příliš mnoho času shromažďováním informací, a věnovat více času hledání zranitelností, přičemž tato možnost zůstává poměrně blízko skutečné situaci útočníkových akcí.

1. VLASTNOSTI PRŮNIKU DO VZDÁLENÉHO POČÍTAČOVÉHO SYSTÉMU.

Jakékoli objektivní a úplné penetrační testování má řadu funkcí a mělo by být prováděno s přihlédnutím k doporučením a pravidlům.

Pravidla a rámec pro informační penetrační testování jsou uvedeny v metodikách OSSTMM a OWASP. Získaná data lze následně snadno přizpůsobit k provádění posuzování shody s jakýmikoli průmyslovými standardy a „nejlepšími světovými postupy“, jako jsou Cobit, standardy řady ISO / IEC 2700x, doporučení CIS / SANS / NIST / atd. A standard PCI DSS.

K úplnému provedení takového posouzení nebudou stačit pouze technologické údaje. Úplné posouzení vyžaduje pohovory se zaměstnanci různých oddělení hodnocené společnosti, analýzu administrativních dokumentů, různé procesy v oblasti informačních technologií (IT) a informační bezpečnosti (IS) a mnoho dalšího.

Pokud jde o penetrační testování v souladu s požadavky standardu bezpečnosti informací v odvětví platebních karet, příliš se neliší od běžného testování prováděného metodami OSSTMM a OWASP. Kromě toho standard PCI DSS doporučuje dodržovat pravidla OWASP při provádění jak pentestu (AsV), tak auditu (QSA).

Hlavní rozdíly mezi testováním PCI DSS a penetračním testováním v nejširším slova smyslu jsou následující:

  • Standard nereguluje (a proto nevyžaduje) útoky pomocí sociálního inženýrství.
  • Všechny prováděné kontroly musí co nejvíce minimalizovat hrozbu odmítnutí služby (DoS). Prováděné testování by proto mělo být prováděno metodou „šedá skříňka“ s povinným varováním správců příslušných systémů.
  • Hlavním účelem takového testování je pokus o implementaci
    neoprávněný přístup k údajům o platební kartě (PAN, jméno držitele karty atd.).

Metoda GrayBox vám umožňuje snížit riziko odmítnutí služby při provádění takové práce ve vztahu k informačním zdrojům fungujícím 24/7.

Obecně musí penetrační testování PCI splňovat následující kritéria:

  • Článek 11.1 (b) – Analýza bezpečnosti bezdrátových sítí
  • str. 11.2 - Prohledávání informační sítě na zranitelnosti (AsV)
  • s. 11.3.1 - Provádění kontrol na úrovni sítě (síťová vrstva
    penetrační testy)
  • Ustanovení 11.3.2 - Testy penetrace aplikační vrstvy

Stanovení hranic výzkumu. V první řadě je nutné identifikovat hranice penetračního testování, určit a dohodnout posloupnost úkonů, které mají být provedeny. V nejlepším případě lze ze strany oddělení informační bezpečnosti získat mapu sítě, která schematicky znázorňuje, jak zpracovatelské centrum spolupracuje s obecnou infrastrukturou. V nejhorším případě budete muset komunikovat se správcem systému, který zná své nedostatky a získávání komplexních dat o informačním systému bude ztíženo jeho neochotou sdílet svá IP data. Tak či onak, chcete -li provést penetrační test PCI DSS minimálně, musíte získat následující informace:

  • segmentace sítě (uživatelská, technologická, DMZ, zpracování atd.);
  • firewall na hranicích podsítí (ACL / ITU);
  • Používané webové aplikace a DBMS (testovací i produkční);
  • použité bezdrátové sítě;
  • jakékoli bezpečnostní detaily, které je třeba vzít v úvahu během průzkumu (například uzamčení účtů pro N pokusů o nesprávnou autentizaci), funkce infrastruktury a obecná přání během testování.

2. FÁZE ZKOUŠENÍ PENETRACE

Zvažme možné fáze penetračního testování. V závislosti na dostupných informacích (BlackBox / WhiteBox / GreyBox) může být posloupnost akcí odlišná: sběr dat, skenování do sítě, hackování systému, malware, sociální inženýrství.

2.1 Sběr dat.

Shromažďování údajů z otevřených zdrojů informací. Otevřené zdroje jsou zdroje informací, ke kterým se přistupuje legálně, legálně. Hledání potřebných informací pomocí otevřených zdrojů přijalo mnoho civilních a vojenských struktur působících v oblasti zpravodajské a průmyslové špionáže.

Přístup k potřebným informacím na internetu lze realizovat různými způsoby. Mohou to být hypertextové odkazy, vyhledávání v různých adresářích (stránky, blogy atd.), můžete si prohlížet výsledky vyhledávání. Pro určité účely se člověk neobejde bez vyhledávání ve specializovaných databázích.

Informace mohou být poskytovány také prostřednictvím interních adres URL stránek, e-mailových adres, telefonních čísel, faxů, serveru DNS, rozsahu adres IP, informací o směrování.

S rozvojem internetu se rozšířily služby WHOIS. Whois (z angličtiny „who is“ - „who is“) je síťový protokol založený na protokolu TCP. Jeho hlavním účelem je získat informace o „registrujícím“ (vlastníkovi domény) a „registrátorovi“ (organizaci, která doménu zaregistrovala), názvech DNS serverů, datu registrace a datu vypršení platnosti. Záznamy IP adres jsou seskupeny podle rozsahů (například 8.8.8.0 - 8.8.8.255) a obsahují informace o organizaci, které byl rozsah delegován.

2.2 Síťové skenování.

Síťové skenování lze rozdělit na komponenty:

1. Skenování rozsahu IP adres k identifikaci "živých" hostitelů

2. Skenování portů

3. Zjišťování služeb a jejich verzí

4. Skenování k určení operačního systému

5. Chyba zabezpečení při skenování

1. Prohledávání rozsahu IP adres.

Základní výzvou při zkoumání jakékoli sítě je zredukovat sadu rozsahů IP na seznam aktivních hostitelů. Skenování každého portu každé IP adresy je pomalé a zbytečné. Zájem o výzkum konkrétních hostitelů je do značné míry určen účelem skenování. Zatímco úkol administrátorů objevit spuštěné hostitele v síti lze uspokojit pravidelným pingem ICMP, lidé, kteří testují schopnost sítě odolávat útokům zvenčí, potřebují k obejití brány firewall použít různé sady požadavků.

Úloha zjišťování hostitele se někdy nazývá ping scan, ale daleko předčí obvyklé požadavky ICMP spojené s všudypřítomnými nástroji ping. Prohledejte síť nejlépe pomocí libovolných kombinací víceportových požadavků TCP SYN / ACK, UDP a ICMP. Účelem všech těchto požadavků je přijímat odpovědi indikující, že IP adresa je aktuálně aktivní (používá ji hostitel nebo síťové zařízení). Ve většině sítí je v daném okamžiku aktivní pouze malé procento IP adres. To platí zejména pro adresní prostory jako 10.0.0.0/8. Takové sítě mají 16 milionů IP adres, ale jsou chvíle, kdy je používají společnosti, které nemají více než tisíc počítačů. Host Discovery dokáže najít tyto stroje v tomto obrovském moři IP adres.

2. Skenování portů.

Existuje mnoho různých technik skenování portů a můžete si vybrat tu, která vyhovuje vašemu konkrétnímu úkolu (nebo kombinaci několika). Podívejme se na nejoblíbenější techniky skenování:

Skenování TCP SYN
SYN je výchozí a nejoblíbenější typ skenování. Lze jej spustit rychle, je schopen skenovat tisíce portů za sekundu při rychlém připojení a neomezují ho omezující brány firewall.

Různé typy skenování UDP
Zatímco většina služeb na internetu používá protokol TCP, rozšířené jsou také služby UDP. Tři nejoblíbenější jsou DNS, SNMP a DHCP (použijte porty 53, 161/162 a 67/68). Protože Protože skenování UDP je obecně pomalejší a složitější než TCP, mnoho bezpečnostních profesionálů tyto porty ignoruje. To je chyba, protože existují služby UDP, které používají útočníci.

Skenování TCP NULL, FIN a Vánoce
Tyto tři typy skenování využívají neviditelnou mezeru v TCP RFC k rozlišení mezi otevřenými a uzavřenými porty. \

Skenování TCP ACK
Tento typ skenování se velmi liší od všech ostatních v tom, že není schopen detekovat otevřený port. Používají se k identifikaci pravidel brány firewall, určení, zda jsou stavová nebo ne, a určení portů, které filtrují.

3. Zjišťování služeb a jejich verzí.

Prohledávání vzdáleného systému může odhalit, že porty 25 / tcp, 80 / tcp a 53 / udp jsou otevřené. Pomocí informací můžete zjistit, že tyto porty pravděpodobně odpovídají poštovnímu serveru (SMTP), webovému serveru (HTTP) a serveru názvů domén (DNS). Tyto informace jsou obvykle správné, protože drtivá většina služeb využívajících TCP port 25 jsou ve skutečnosti poštovní servery. Na tyto informace byste se však neměli zcela spoléhat. Lidé mohou a také provozují služby pomocí nestandardních portů.

Po detekci jakýchkoli portů TCP a / nebo UDP se provede postup jejich identifikace, aby se zjistilo, které aplikace (služby) je používají. Pomocí databáze požadavků na přístup k různým službám a vhodných výrazů pro rozpoznávání a analýzu odpovědí můžete definovat protokoly služeb (např. FTP, SSH, Telnet, HTTP), název aplikace (např. ISC BIND, Apache httpd, Solaris telnetd), číslo verze, název hostitele, typ zařízení (např. tiskárna, router), rodina OS (např. Windows, Linux) a někdy různé detaily jako zda je možné se připojit k X serveru, verzi protokolu SSH nebo uživatelské jméno.

4. Skenování k určení OS.

Je možné určit operační systém na vzdáleném systému na základě analýzy zásobníku TCP / IP. Série TCP a UDP paketů je odeslána vzdálenému hostiteli a je prozkoumán téměř každý bit v odpovědích. Po provedení mnoha testů, jako je vzorkování TCP ISN, podpora možností TCP, vzorkování IP ID a analýza doby trvání inicializačního postupu, jsou výsledky porovnány s databází obsahující známé sady typických výsledků pro různé operační systémy a pokud shoda nalezena, lze to uzavřít o nainstalovaném OS.

5. Skenování zranitelností.

Skenování zranitelnosti je plně nebo částečně automatizovaný proces shromažďování informací o dostupnosti síťového uzlu informační sítě (osobní počítače, servery, telekomunikační zařízení), síťových službách a aplikacích používaných na tomto uzlu a jejich identifikaci, které tyto služby využívají a aplikačních portů za účelem zjištění existujících nebo možných zranitelností.

2.3 Hackování systému.

Úspěch implementace jednoho nebo druhého hackovacího algoritmu v praxi do značné míry závisí na architektuře a konfiguraci konkrétního operačního systému, který je předmětem tohoto hackingu.

Existují však přístupy, které lze použít téměř pro jakýkoli operační systém:

  1. Krádež hesla.
  2. Sledování uživatele v okamžiku jeho zadání hesla, které dává právo pracovat s operačním systémem.
  3. Načítání hesla ze souboru, do kterého bylo toto heslo uloženo uživatelem.
  4. Vyhledejte heslo, které uživatelé často píší na papír.
  5. Krádež externího paměťového zařízení pro informace o hesle (disketa nebo elektronický klíč, do kterého je uloženo heslo uživatele pro vstup do operačního systému).
  6. Kompletní výčet všech možných možností hesla.
  7. Výběr hesla podle četnosti výskytu znaků a bigramů, pomocí osobních slovníků a nejčastěji používaných hesel.
  8. Skenování pevných disků počítače.
  9. Sběr odpadků.
  10. Překročení oprávnění (použitím chyb v softwaru nebo v administraci operačního systému získá výzkumník oprávnění, které přesahuje oprávnění, které mu bylo uděleno podle aktuální bezpečnostní politiky).
  11. Spusťte program jménem uživatele s potřebnými oprávněními nebo jako systémový program (ovladač, služba, démon atd.).
  12. Substituce dynamicky načtené knihovny používané systémovými programy nebo změna proměnných prostředí, které popisují cestu k těmto knihovnám.
  13. Úprava kódu nebo dat ochranného subsystému samotného operačního systému.
  14. Odmítnutí služby (účelem tohoto útoku je částečné nebo úplné vypnutí operačního systému).
  15. Zachycení prostředků (kontrolovaný program zachytí všechny prostředky dostupné v operačním systému a poté vstoupí do nekonečné smyčky).
  16. Bombardování s požadavky (řízený program neustále posílá do operačního systému požadavky, jejichž reakce vyžaduje zapojení značných počítačových zdrojů).
  17. Používání chyb v softwaru nebo administraci.

2.4 Škodlivý software.

K získání přístupu přes infikovaný systém se velmi často používá malware. Obvykle malware s funkčností zadní dveřešířit na prostředku pro sdílení souborů pod rouškou legitimního programu.

Škodlivý software je software, který je vyvinut za účelem získání neoprávněného přístupu k výpočetním zdrojům počítače a také k datům v něm uloženým. Tyto programy jsou navrženy tak, aby poškodily vlastníka informací nebo počítačů kopírováním, zkreslováním, mazáním nebo nahrazováním informací.

Trojské koně jsou škodlivé programy, které provádějí akce neautorizované uživatelem. Takové akce mohou zahrnovat:

  1. Mazání dat
  2. Blokování dat
  3. Změna dat
  4. Kopírování dat
  5. Zpomalení počítačů a počítačových sítí.

Trojské koně jsou klasifikovány podle typu akcí, které v počítači provádějí.

  1. Zadní vrátka. Backdoor Trojan poskytuje kyberzločincům možnost vzdáleně ovládat infikované počítače. Takové programy umožňují autorovi provádět na infikovaném počítači jakoukoli akci, včetně odesílání, přijímání, otevírání a mazání souborů, zobrazení dat a restartování počítače. Backdoor trojské koně se často používají ke spojení skupiny počítačů obětí do botnetu nebo sítě zombie pro kriminální použití.
  2. Exploity. Exploits jsou programy s daty nebo kódem, které zneužívají chybu zabezpečení v aplikacích běžících na počítači.
  3. Rootkity . Rootkity jsou programy určené ke skrytí určitých objektů nebo akcí v systému. Jejich hlavním účelem je často zabránit antivirovému softwaru v detekci škodlivých programů, aby se prodloužila doba běhu těchto programů na infikovaném počítači.

2.5 Sociální inženýrství.

Sociální inženýrství se používá k tomu, aby se malware objevil na napadeném IS. Sociální inženýrství je metoda neoprávněného přístupu k informačním zdrojům na základě zvláštností lidské psychologie. Hlavním cílem sociálních inženýrů je získat přístup k zabezpečeným systémům za účelem krádeže informací, hesel, informací o kreditních kartách atd. Jako předmět útoku není vybrán stroj, ale jeho operátor. Proto jsou všechny metody a techniky sociálních inženýrů založeny na využití slabin lidského faktoru.

Existuje několik běžných technik a typů útoků používaných sociálními inženýry. Společným rysem všech těchto metod je ale zavádějící, s cílem donutit člověka k jakékoli akci, která mu není prospěšná a je pro sociálního inženýra nezbytná. K dosažení požadovaného výsledku sociální inženýr používá řadu všemožných taktik: vydávání se za jinou osobu, odvádění pozornosti, budování psychického stresu atd. Konečné cíle podvodu mohou být také velmi rozmanité.

Techniky sociálního inženýrství:

  • Příprava. Záminka je soubor úkonů prováděných podle určitého, předem připraveného scénáře (záminky).
  • Phishing. Phishing (anglicky phishing, z rybaření - rybaření, rybaření) je druh internetového podvodu, jehož účelem je získat přístup k důvěrným uživatelským údajům - přihlašovacím údajům a heslům. Účelem phishingu je nelegální získávání důvěrných informací.
  • Něco za něco. Hodně o quo (ref. Něco za něco- "then for this") - v angličtině se tento výraz obvykle používá ve významu "quid pro quo". Sociální inženýr se často představuje jako pracovník technické podpory, který hlásí technické problémy na pracovišti zaměstnance a nabízí pomoc při jejich řešení.

Studie programu Information Security Program z roku 2003 zjistila, že 90 % kancelářských pracovníků je ochotno prozradit důvěrné informace, jako jsou jejich hesla, za službu nebo poplatek.

  • Trojský kůň. Trojský kůň je škodlivý program, který používají kyberzločinci ke shromažďování, ničení nebo upravování informací, narušení výkonu počítače nebo využívání uživatelských zdrojů pro vlastní účely. Tato technika často využívá zvědavost nebo jakoukoli jinou emoci cíle.

Organizace pseudo-útoku.

K organizaci pseudo-útoku na počítačový systém používáme software Sada nástrojů sociálního inženýrství(SET) a Metasploit Rámec(MFS). Tyto nástroje jsou standardně zahrnuty v distribuci Backtrack 5, navržený tak, aby otestoval možnost hackování systému a sítě. Používáme také dva virtuální stroje s operačními systémy jako:Okna7 a Zpětná cesta 5.

Generace zadních vrátek. Použijeme SET k vytvoření backdooru s reverzním TCP a MFS k vytvoření handleru (handleru) pro zpracování paketů z vytvořeného backdooru, který bude udržovat komunikační kanál mezi potenciálním útočníkem a systémem, na kterém budou backdoor spuštěny .

Všechny akce se provádějí v konzolovém režimu na OS Backtrack 5. Vytváření užitečného zatížení se provádí pomocí nástroje SET, str. 4 Vytvořit A Užitečné zatížení a Listerer

Reverzní vytvoření užitečného zatížení TCP (pro vytvoření zpětné vazby) se provádí výběrem položky 2 Okna ZvrátitTCP Měřič a pak str. 16 Zadní vrátka Spustitelný... Tato operace dokončí vytvoření zadních vrátek. Při jeho vytvoření je také uvedeno číslo portu, přes který bude zpětná vazba probíhat. Ve složce / pentest/ využije/ SOUBOR msf.exe bude vygenerován na základě možností, které jsme vybrali.

Využijte konfiguraci. Exploit je navržen tak, aby přijímal požadavky TCP z vytvořených zadních dveří. Jeho konfigurace se provádí spuštěním MFS a výběrem zneužití obsluhy (posluchače): použijte exploit / multi / handler.

V důsledku toho se MFS přepne do kontextu obslužné rutiny exploitu. Dalším úkolem je nakonfigurovat užitečné zatížení pro tento exploit. Vzhledem k tomu, že jsou zadní vrátka orientována (vytvořena) pomocí měřiče interpretů Revers_TCP, dochází k výměně informací prostřednictvím připojení TCP: soubor/ užitečné zatížení Okna/ měřič/ obrátit_ tcp. Kromě toho je nutné v možnostech specifikovat Local Host (IP adresy potenciálního útočníka).

Spuštěný handler vede do kontextu meterpretor, kde budou prezentovány relace, ke kterým se můžete připojit. Relace se objeví po spuštění backdooru na vzdáleném počítači, čehož je v některých případech v praxi dosaženo pomocí sociálního inženýrství.

Pro simulaci tohoto procesu jsou zadní vrátka spuštěna na druhém virtuálním počítači. Poté bude relace v tomto systému k dispozici v meterpretor, to znamená, že naše zadní vrátka poskytují komunikační kanál a my získáme kontrolu nad infikovaným počítačem.

Penetrační testování je kombinací metod, které zohledňují různé systémové problémy a testy, analýzy a řešení. Je založen na strukturovaném postupu, který provádí podrobné penetrační testování. Následuje sedm fází penetračního testování:

Plánování a příprava

Plánování a příprava začíná definováním cílů a záměrů pro penetrační testování.

Klient a tester společně definují cíle tak, aby obě strany měly stejné cíle a porozumění. Obecné cíle penetračního testování jsou:

  • Určit zranitelnost a zlepšit zabezpečení technických systémů.
  • Zajistěte zabezpečení IT externí třetí stranou.
  • Zlepšete zabezpečení organizační / lidské infrastruktury.

Studie

Inteligence zahrnuje analýzu předběžných informací. Tester mnohdy nemá mnoho informací kromě předběžných informací, tj. IP adresy nebo bloku IP adres. Tester začíná analýzou dostupných informací a v případě potřeby požádá uživatele o další informace, jako jsou popisy systému, plány sítě atd. Tento krok je pasivním penetračním testem svého druhu. Jediným účelem je získat úplné a podrobné informace o systémech.

Otevírací

V tomto okamžiku bude penetrační tester s největší pravděpodobností používat automatizované nástroje ke skenování cílených aktiv, aby odhalil zranitelnosti. Tyto nástroje mají obvykle vlastní databáze poskytující informace o nejnovějších zranitelnostech. Tester však detekuje

  • Zjišťování sítě- například otevření dalších systémů, serverů a dalších zařízení.
  • Host Discovery- definuje otevřené porty na těchto zařízeních.
  • Servisní výslech- dotazování portů za účelem zjištění skutečných služeb, které na nich běží.

Analýza informací a rizik

V této fázi tester analyzuje a vyhodnocuje informace shromážděné před fázemi testování pro dynamické pronikání do systému. Vzhledem k velkému počtu systémů a velikosti infrastruktury je to časově náročné. Při analýze zvažuje tester následující prvky:

  • Definované cíle penetračního testu.
  • Potenciální rizika pro systém.
  • Odhadovaný čas potřebný k posouzení potenciálních bezpečnostních nedostatků pro následné aktivní penetrační testování.

Ze seznamu identifikovaných systémů si však tester může vybrat testovat pouze ty, které obsahují potenciální zranitelnosti.

Aktivní pokusy o invazi

Toto je nejdůležitější krok a je třeba jej provádět s náležitou péčí. Tento krok znamená, do jaké míry potenciální zranitelnosti odhalené během fáze zjišťování představují skutečná rizika. Tento krok by měl být proveden, když je vyžadována kontrola potenciálních zranitelností. U systémů, které mají velmi vysoké požadavky na integritu, je třeba před kritickými postupy čištění pečlivě zvážit potenciální zranitelnosti a rizika.

Konečná analýza

Tento krok se nejprve zaměřuje na všechny doposud provedené kroky (diskutované výše) a na posouzení zranitelností, která představují potenciální rizika. Tester navíc doporučuje odstranit zranitelnosti a rizika. V první řadě musí tester zajistit transparentnost testů a nalezené zranitelnosti.

Příprava reportu

Příprava zprávy by měla začít obecnými testovacími postupy a poté analyzovat zranitelnosti a rizika. Vysoká rizika a kritická zranitelná místa by měla být upřednostněna, následovaná nižším pořadím.

Při dokumentování závěrečné zprávy je však třeba vzít v úvahu následující body:

  • Obecný přehled penetračního testování.
  • Podrobnosti o každém kroku a informace shromážděné během testování pera.
  • Podrobné informace o všech zjištěných zranitelnostech a rizicích.
  • Podrobnosti o čistících a upevňovacích systémech.
  • Návrhy budoucího zabezpečení.
70 % webů má vysoce rizikové zranitelnosti, které vedou k ohrožení zdrojů a úniku dat.

Penetrační test (zkráceně pentest) nebo penetrační test - modelování jednání hackera na webu za účelem získání naprosto objektivního posouzení aktuální úrovně informační bezpečnosti zkoumaného zdroje.

Implementace těchto prací nám umožňuje vyvinout adekvátní a komplexní program opatření ke zvýšení úrovně zabezpečení webové aplikace, což následně vede ke snížení provozních, finančních a reputačních rizik na přijatelnou úroveň. Jednoduše řečeno, toto je poslední logický krok ve vývoji vašeho webu, pokud to s bezpečností myslíte opravdu vážně.

Proč provádět penetrační test?

Penetrační testování primárně řeší následující úkoly:

  • identifikace nedostatků v opatřeních informační bezpečnosti uplatňovaných klientem a posouzení možnosti jejich použití narušitelem
  • praktická ukázka možnosti využití zranitelností (na příkladu těch nejkritičtějších)
  • získání komplexního posouzení aktuální úrovně zabezpečení webové aplikace na základě objektivních důkazů
  • vypracování doporučení pro eliminaci zjištěných zranitelností a nedostatků za účelem zvýšení úrovně zabezpečení webové aplikace

Ve většině případů se testování provádí pomocí metody černé skříňky.

Při této metodě se používá následující model vetřelce: vysoce kvalifikovaný externí vetřelec (úroveň dovedností - hacker), jednající ze strany internetu, nemá žádná privilegia a nemá žádná data o zkoumaném zdroji, provádí útoky s cílem získat neoprávněný přístup k webové aplikaci. Jedinou informací, kterou umělec vlastní, je adresa webu.

Penetrační test používá obecně uznávané standardy a směrnice pro zabezpečení informací, jako například:

  • Průvodce testováním OWASP
  • OWASP Top10
  • Klasifikace hrozeb konsorcia zabezpečení webových aplikací (WASC).
  • Normy řady ISO 17799/27000

Práci lze logicky rozdělit do následujících etap:

1. Shromažďování a analýza informací

2. Identifikace zranitelností

3. Implementace útoku na webovou aplikaci

4. Analýza a podávání zpráv

5. Odstranění zranitelností

Shromažďování a analýza informací.

V této fázi jsou skenovány porty zkoumaného zdroje a také identifikace dostupných služeb, služeb a ochranných prostředků.

Identifikace zranitelností.

Shromažďování a analýza informací o existujících zranitelnostech v detekovaných verzích služeb, služeb, skriptů. Identifikace způsobů, jak zneužít zranitelnosti, posouzení rizik zneužití zranitelností. OWASP Top10 testování zranitelnosti (https://www.owasp.org). Analýza a testování logiky webových aplikací, kontrola možnosti odhalení citlivých dat, testování vstupních validačních mechanismů (SQL Injection, XML Injection, XSS, Code Injection, B/H/S přetečení) atd.

Implementace útoku na webovou aplikaci.

Kontrola provádění libovolného kódu na straně serveru, získávání práv ke čtení nebo zápisu souborů / db na serveru, přístup k soukromým informacím atd.

Analýza a podávání zpráv.

Zde se slučují a objednávají informace získané v procesu testování. Je sepsána zpráva, která obsahuje: souhrnnou zprávu, zprávu o zjištěných zranitelnostech, závěr o stavu informační bezpečnosti vyšetřovaného zdroje a plán na odstranění zjištěných zranitelností.

Jak by měl vypadat seznam kontrol a testů?

Následující skupiny testů a kontrol se používají jako prioritní útočné vektory k testování jejich proveditelnosti ve scénářích webové aplikace:

1. „Zneužití funkce“. Zneužití funkčnosti. Využití funkcí webové aplikace za účelem obejití mechanismů řízení přístupu.

2. „Hrubá síla“. Výčet hesel pomocí slovníků jednoduchých a standardních hesel.

3. "Indexování adresářů" Prohledejte seznam adresářů.

4. „Obsahové spoofing“ Nahrazení obsahu stránek. dálkové ovládání displeje

5. „Pověření / Predikce relace“ Předpokládaná hodnota identifikátoru

session umožňuje zachytit relace ostatních uživatelů. Podobné útoky

provádí se předpovídáním nebo hádáním jedinečného identifikátoru

relace uživatele.

6. „Skriptování CrossSite“. Útok na webovou aplikaci sestávající z injekce

na stránku škodlivého kódu vydaného webovým systémem (což bude

provedeno na počítači uživatele, když otevře tuto stránku) a

jak tento kód interaguje s webovým serverem útočníka.

7. "Crosssite Request Forgery". Padělání žádosti mezi weby. Zaútočit na

návštěvníci webových stránek využívající nedostatky protokolu HTTP.

8. „Pašování odpovědí HTTP“. Špatné přenosové útoky

Odpovědi HTTP.

9. "Rozdělení odpovědi HTTP". Rozdělte útoky HTTP odpověď.

10. „Pašování požadavku HTTP“. Nesprávné útoky na přenos požadavku HTTP.

11. „Rozdělení požadavku HTTP“. Rozdělte požadavky HTTP.

12. "LDAP Injection". Injekce útoku operátorů LDAP na webový server,

vytváření požadavků na službu LDAP na základě vstupu

uživatel.

13. "Null Byte Injection". Vynechání kontroly filtru webové infrastruktury o

přidání znaku null byte do adresy URL, aby se změnila logika

webových aplikací a přijímání neautorizovaných dokumentů pro soubory.

14. "Velení OS". Provádění příkazů OS pomocí manipulace

vstup aplikace.

15. „Cesta po cestě“. Přístup k souborům, adresářům a příkazům,

umístěný mimo hlavní adresář webového serveru.

16. „Předvídatelné umístění zdrojů“. předvídatelná alokace zdrojů,

umožňující přístup ke skrytým datům nebo funkčním

příležitosti.

17. „Remote File Inclusion“ (RFI). Typ útoku, který umožňuje použití

vzdálený soubor na straně serveru prostřednictvím skriptu na webovém serveru.

18. „Objízdná trasa“. Směrování zpráv SOAP.

19. "Upevnění relace". Fixace relace. Pomocí této třídy útoků

útočník přiřadí zadané ID relace uživatele

význam.

20. "Zneužívání SOAP pole". Vložení definic datové sady do zprávy SOAP.

21. „SSI Injection“. Implementace serverových rozšíření. Vkládání příkazů serveru do

HTML kód nebo je spusťte přímo ze serveru.

22. "SQL Injection". Libovolná SQL injekce do dotazu.

23. „Zneužití přesměrovače URL“. Přesměrování bez ověření na spam.

24. „XPath Injection“. Vkládání útoků operátorů XPath proti

webový server, který vytváří dotazy XPath na základě zadání

uživatel.

25. "XML Atribut Blowup." "Blowup" parametry.

26. „Externí entity XML“. Zahrnout externí soubor.

27. „Rozšíření entity XML“. Injekce proměnných z těla zprávy.

28. "XML Injection". Libovolné vložení kódu XML do požadavku.

29. „XQuery Injection“. Vložení libovolného kódu XQuery do dotazu.

Jak by měla zpráva vypadat?

Zpráva by měla obsahovat úvod, který bude popisovat způsob práce, předmět auditu, rozsah testování (rozsah), dále by měla obsahovat informace o použitých nástrojích bezpečnostní analýzy, které budou při testování použity. Každé zranitelnosti objevené během testování je přiřazen určitý stupeň rizika – vysoké, střední, nízké.

Klasifikace zranitelností by měla být popsána ve zprávě, například zranitelnosti je přiřazen vysoký stupeň rizika, pokud její zneužití může vést ke kompromitaci dat, dostupnosti serveru nebo služby, spuštění libovolného kódu, manipulaci s daty. Patří sem také chyby zabezpečení odmítnutí služby, slabá nebo standardní hesla, nedostatek šifrování, přístup k libovolným souborům nebo důvěrným údajům.

Klasifikace Common Vulnerability Scoring System (CVSSv2), MITER (CAPEC) a OWASP se používají k popisu míry rizika a posouzení závažnosti zjištěných zranitelností. Také všechny zranitelnosti by měly být klasifikovány podle složitosti exploatace a detekce.

Příklad zranitelnosti:

Neomezené nahrávání

Potenciální útočník může obejít skript pro ověření přípony souboru ke stažení, který mu umožní načíst webový shell, získat kontrolu nad aplikací a přistupovat k serveru.

Složitost ovládání je snadná.

Typ - dálkový.

Dopad (CVSSv2) - Dopad na podnikání - 10 bodů

CWE-434: Neomezené nahrávání souboru

Neomezené nahrávání souboru OWASP

Je to nezbytné ...?

Každý si sám určí potřebu penetračního testu. Úkoly jsou uvedeny na začátku článku. Pokud zdroj obsahuje kritická a hodnotná data, má vysokou návštěvnost, zpracování pers. data nebo web jen dobře vydělávají peníze - potřeba testu je zřejmá. Stačí připomenout nedávný únik dat FL.ru http://siliconrus.com/2015/02/fl-hacked.

Ze zkušenosti mohu říci, že rozbijí všechny stránky, které jsou pro crackera zajímavé. Někdy se hackování děje jen kvůli zájmu nebo podpoře politických myšlenek atd. (http://ru.wikipedia.org/?oldid=65240870). Tento měsíc došlo ze strany Islámského státu k mnoha znehodnocením (náhrada obsahu hlavní stránky). Stránky obsahovaly modlitbu a různé obrázky, které děsily zákazníky.

Každý majitel firmy, IT specialista a jen uživatel počítače se alespoň jednou setkal s kybernetickými hrozbami. V moderním světě získávají stále větší sílu a schopnost způsobovat obrovské škody nejen podnikání, ale i státu.

Mezi hackery existují dvě kategorie:

Bílí hackeři- práce na zajištění bezpečnosti, boj proti nezákonným průnikům.

Černí hackeři (černý klobouk)- porušují zákon, kradou osobní údaje, vyprázdní bankovní účty.

Náš tým převezme úkol provést testy zranitelnosti ve vaší podnikové kancelářské síti, na vašich webech a v aplikacích. A také pomocí sociálního inženýrství budeme schopni identifikovat nejslaběji chráněná oddělení ve vaší společnosti a vydat doporučení pro posílení ochrany.

Co je součástí Pentestingu (test zabezpečení)?

Testování zabezpečení společnosti může zahrnovat:
  • Analýza externí sítě a perimetru
  • Pentest (penetrační test)
  • Interní testování sítě
  • Hledání a zneužívání zranitelnosti
  • Sociální inženýrství
  • Testování webových stránek společnosti
  • Testování mobilních aplikací společnosti
  • Protokol o zkoušce a doporučení

Přesný seznam testů je určen ve fázi vyjednávání, po prostudování potřeb klienta.

Náklady na penetrační testování

Externí testování podnikové sítě

Cena na vyžádání

Penetrační testování

Cena na vyžádání

Testování webových a mobilních aplikací

Cena na vyžádání

Sociální inženýrství

Cena na vyžádání

Bezpečnostní test na klíč

Cena na vyžádání

Vyšetřování počítačové kriminality

Cena na vyžádání


DŮLEŽITÉ

"Bohužel společnosti nejčastěji začínají přemýšlet o informační bezpečnosti, když už utrpěly. Hackeři se nestarají o velikost vaší společnosti a její obrat, ale o počet hacknutých společností."

Chraňte svou společnost před kybernetickými hrozbami!

Co je tedy pentest?

Testování je vyhledávání a penetrační testování je jednou z variant nejhlubšího a nejefektivnějšího hledání maximálního počtu bodů a oblastí s různou mírou zranitelnosti kvůli pronikání zdrojů a uživatelů třetích stran. Takové vniknutí lze provádět jak zlomyslně, tak nepřímo za účelem zavedení nebo získání určitých dat.


Tato technika může být prováděna samostatně a může být zahrnuta do pravidelných nebo jednorázových testovacích systémů pro vytvoření účinných ochranných opatření proti nejširšímu spektru útoků a průniků třetích stran.

Etiologie systémové zranitelnosti

Ztráta podílu na bezpečnosti může být vytvořena v různých fázích fungování jakéhokoli systému, ale v každém případě závisí na vlivu takových faktorů, jako jsou:

  • konstrukční chyba,

  • nesprávný proces nastavení při výběru nefunkční konfigurace kombinace softwaru a zařízení přidružené k systému,

  • nedostatky v zabezpečení systému ukončení sítě. Čím vyšší je stupeň zabezpečení síťového připojení, tím menší je pravděpodobnost negativního dopadu a možnost pronikání škodlivých účinků do systému,

  • lidský faktor, vyjádřený výskytem škodlivé nebo neúmyslné chyby při návrhu, používání nebo údržbě sítě při osobní nebo týmové práci s ní,

  • komunikační složku, vyjádřenou v nechráněném přenosu důvěrných údajů,

  • nepřiměřeně vysoký stupeň složitosti systému. Vždy je snazší získat kontrolu nad stupněm jeho zabezpečení než sledovat kanály úniku dat z něj. Co je mnohem jednodušší udělat v jednoduchých a funkčních systémech než v jejich komplexních protějšcích,

  • nedostatek znalostí. Absence odpovídající úrovně odborného školení v otázkách bezpečnosti od odborníků přímo či nepřímo spojených s používáním systému.

Testování se liší od hodnocení zranitelnosti

Navzdory příbuznosti účelu jejich použití. Totiž vyhledávání a organizace nejbezpečnějšího softwarového produktu. Pracují různými způsoby.


Penetrační testování se provádí prostřednictvím skutečného monitorování, a to jak ručně, tak pomocí určitých vysoce specializovaných systémů a nástrojů. Co se děje prostřednictvím emulace škodlivých vlivů, což umožňuje identifikovat místa zranitelnosti.


Určení stupně zranitelnosti spočívá v pečlivém zkoumání pracovních postupů s cílem identifikovat možné díry, kterými mohou data uniknout při provádění útoků určitých typů. To pomáhá najít oblasti zranitelné vůči hackerům, což určuje stupeň celkové bezpečnosti testovaného systému. V průběhu jeho realizace jsou odhalené „slabé stránky“ identifikovány, korigovány a eliminovány.


Stanovení stupně zranitelnosti je tedy zavedeným pracovním postupem. A penetrační testování funguje „na místě“ s jediným cílem maximalizovat dopad na systémy a identifikovat mezery v jeho ochraně.

K čemu to je

Umožňuje vám najít a opravit mezery v systému zabezpečení programu, který používáte, sami. Jedná se o práci proaktivně zabraňující možnosti pronikání negativních vnějších vlivů, bez ohledu na její cíle a úroveň realizace. To pomáhá vytvořit nejkompetentnější systém ochrany před očekávanými, a nejen existujícími hrozbami zvenčí.

Takové sledování umožňuje:

  • najděte slabiny / zranitelnosti systému, než budou vystaveny vnějším negativním vlivům, a dejte prostor pro únik dat. Je to skvělá alternativa k častým aktualizacím systému. Protože ty druhé ovlivňují kompatibilitu a rychlost dříve laděného systému, aniž by je zohledňovaly. Aktualizace jsou lépe řízené než nekontrolované;

  • vyhodnotit spuštěný bezpečnostní nástroj. Umožňuje vývojářům získat skutečné posouzení jejich kompetencí a úrovně souladu s platnými bezpečnostními normami. Penetrační testování vám navíc umožňuje identifikovat obchodní rizika a další součásti ochrany, které lze během kompromisu mezi kombinovaným používáním autorizovaných a nově aktivovaných softwarových komponent zmírnit. Umožňuje strukturovat a určovat priority, snižovat a vylučovat míru zjištěných rizik a negativní dopad možných hrozeb;
  • identifikovat rizika pro zlepšení současných bezpečnostních norem.

Proces monitorování

Penetrační testování lze dnes provádět mnoha metodami, ale hlavní a nejvýhodnější z nich jsou:

Ruční testování se provádí podle následujícího algoritmu

  • plánování nebo pečlivý sběr dat s přihlédnutím k potřebám, rozsahu použití, cílům připravovaného monitoringu s přihlédnutím k úrovni stávající ochrany. Zde lze také uvést konkrétní oblasti kontroly stupně ochrany, typu požadovaného / plánovaného nárazu a dalších požadavků na nadcházející monitorování,

  • zpravodajské manipulace zaměřené na vyhledávání a kumulaci přijatých dat v systému a v kombinaci, obranné mechanismy nezbytné pro cílení a speciálně organizované útoky na určené bloky nebo celý systém. Účel: získání nejúčinnějšího testování. Existují tedy dva typy: pasivní a aktivní, kde první se provádí bez aktivního vlivu na systém a druhý je jeho úplným opakem,

  • analýza identifikovaných výsledků. Tato fáze vám umožňuje identifikovat nejzranitelnější místa, která budou použita pro další agresivní pronikání do systému,

  • využití získaných výsledků. Na základě identifikovaných míst „snadného pronikání“ ochranných systémů probíhá připravená agrese proti softwaru, a to ve formě vnějších i vnitřních útoků. Vnější vliv je ohrožení systému zvenčí, kdy jsou simulovány přímé vnější hrozby ovlivňující systém a specializované pokusy o neoprávněný přístup k datům chráněného systému. Interní útoky představují druhou fázi expozice, která začíná po úspěšném proniknutí do systému zvenčí. Rozsah cílů pro jejich další dopad je široký a různorodý. Hlavním z nich je kompromis systému, do kterého pronikli,

  • výsledky provozu, umožňují identifikovat úkoly každé identifikované hrozby a určit její potenciál pro interní obchodní procesy systému jako celku a zejména jeho jednotlivých složek,
  • závěrem je blok dokumentární evidence provedené práce a získaných výsledků s popisem potenciálních hrozeb a míry jejich negativního dopadu při dosahování cílů dopadu.

  • Testování pomocí automatizovaných nástrojů je nejen efektivní, ale také velmi přínosný způsob použití vysoce specializovaných nástrojů. Je vhodné jej používat, požadovaný čas je minimální a účinnost vám umožňuje vytvářet „křišťálově čisté“ závěry o provedené práci.


    Seznam nejpopulárnějších nástrojů zahrnuje: Nessus, Matesploit, Nmap, OpenSSL, Wireshark, w3af. Systémové kolekce z Linuxu nabízejí spoustu zajímavých a funkčních.


    Pro práci vyberte nástroje, které splňují určité požadavky, například:

    • praktičnost spouštění, používání a další údržba,

    • snadné skenování,

    • úroveň automatizace při zjištění zranitelností,

    • stupeň přístupnosti testování dříve objevených oblastí slabých na vnější útoky,

    • míra možnosti při tvorbě podrobných a jednoduchých reportovacích dokumentů o provedené práci a získaných výsledcích.

    Kombinace výše uvedených technik dohromady. Toto je nejlepší metoda penetračního testování, protože dokáže spojit výhody obou metod a být co nejrychlejší a nejpodrobnější.

    Odrůdy penetračních testů

    Rozdělení se provádí v závislosti na použitých nástrojích a monitorovacích objektech:


    • sociální nebo lidské, kde jsou spojeni lidé, kteří mohou vzdáleně nebo místně potřebné informace zpracovávat a jasně zpracovávat,

    • softwarová aplikace používaná k identifikaci bezpečnostních nedostatků. Současně se používá několik variant webových nabídek a specializovaných služeb použité služby nebo zdrojů třetích stran,

    • síťový prostředek, který vám umožní identifikovat možnosti neoprávněného přístupu hackerů nebo proniknutí neoprávněného uživatele,

    • klientská část, v práci používá speciální aplikace nainstalované na webu nebo v klientské aplikaci,

    • vzdálený přístup se provádí testováním vpn nebo podobným objektem, který vám umožňuje poskytnout správný přístup k tomuto systému,

    • bezdrátové připojení, si klade za cíl testovat bezdrátové aplikace, služby a jejich nástroje.

    Klasifikace metod monitorování se také provádí s přihlédnutím k typu přístupu k jeho provádění. Co vám umožňuje zvýraznit:

    • bílá, kdy má tester přístup k používání údajů o funkcích a nástrojích testovaného systému. Čím je jeho práce co nejefektivnější a nejproduktivnější. Protože držení takových informací umožňuje porozumět jemnostem a vlastnostem testovaného systému, a proto provádět kontrolu s maximálním ponořením,

    • černá poskytuje přístup k základním nebo vyšším informacím o systému. Tester se cítí spíše jako hacker než zaměstnanec pracující zevnitř systému. Vysoká míra pracnosti této metody vyžaduje čas a důkladné znalosti a také zkušenosti s její implementací. Proto existuje vysoká pravděpodobnost přeskočení nebo neúplného testování,

    • šedý nebo omezený přístup k informacím o systému, dostatečný k vytvoření imitace vnějšího útoku.

    Hranice penetračního testování

    Rozsah takových účinků má mnoho omezení, ale hlavní jsou:

    • krátké časové období s vysokými počátečními náklady na tento postup,

    • omezení počtu testů za jednotku času,

    • možnost zamítnutí průniku ze systému,

    • vysoký stupeň zranitelnosti přijatých dat.

    Závěr

    Moderní hackeři s neustále aktualizovanou sadou programů a účinnými nástroji k provádění efektivních útoků. Proto často končí v systémech, které je zajímají, s přímým záměrem ohrozit síť nebo využít její zdroje. V tomto případě je monitorování penetrací nejefektivnější jako nástroj pro detekci zranitelností v jakýchkoli ochranných systémech. A umožňuje vám minimalizovat potenciál vnějších hrozeb pro software jako celek.


Posledních pár let bylo bohatých na události, které prudce zvýšily zájem veřejnosti o téma hackerských útoků. Skandál s hackováním systémů Demokratické strany USA, deaktivací energetických systémů infrastruktury ministerstva financí a ukrajinské státní pokladny, ransomwarové viry, které již nejen šifrují soubory, ale také blokují provoz průmyslových a lékařské vybavení, MIRAL, obří botnet vyrobený z domácích zařízení, které neopouštěly žádné spojení, polovina USA a Libérie, zločinci, masivně vykuchávající banky, jako vlci bezbranných ovcí ... Dokonce i SWIFT je pod útokem! Filmoví geekští hackeři se stali součástí reality miliard lidí.

Je jen přirozené, že podnikání dnes primárně investuje prostředky do praktické bezpečnosti, na rozdíl od formálního dodržování regulačních požadavků s minimálními prostředky. A je také přirozené, že si chce ověřit, jak účinně vestavěný bezpečnostní systém chrání před síťovými žraloky.

Tentokrát jsme se rozhodli zaměřit se výhradně na praktické aspekty informační bezpečnosti (IS) spojené s počítačovými útoky a přímou ochranou před nimi. Za hackování při výkonu „bílých klobouků“, tzn specialisté, kteří legálně napodobují činy vetřelců, se používá termín „penetrační test“ (pentest). Tento termín skrývá několik oblastí bezpečnostního výzkumu najednou a každá z nich má své vlastní úzké specialisty. V tomto článku pochopíme, co je penetrační test, proč je potřeba a kde je hranice mezi hackerským útokem a penetračním testováním.

Pentest je v podstatě jedním z typů auditu informační bezpečnosti. A to je jeho hlavní rozdíl od skutečného hacku. Hacker hledá nejkratší cestu k ovládání systémů oběti. Pokud je na perimetru nalezena díra, útočník se soustředí na upevnění a rozvinutí útoku dovnitř. A pentester, kterému bylo nařízeno testovat síť externě, musí pečlivě zkoumat hostitele za hostitelem, i když už byla nalezena celá hromada děr. Pokud jsou hostitelé stejného typu (například 1000 stejných pracovních stanic), výzkumník samozřejmě může udělat kontrolní vzorek, ale je nepřijatelné přeskočit zásadně odlišné systémy. To je pravděpodobně nejjednodušší způsob, jak může zákazník identifikovat nekvalitní penetrační test.

Pentest nenahrazuje plnohodnotný audit IS. Vyznačuje se úzce zaměřeným pohledem na zkoumané systémy. Pentest se v podstatě zabývá důsledky, a nikoli příčinami nedostatků informační bezpečnosti. Proč to vůbec držet? Když průmysl vydá nový model vojenského vybavení, inženýři pečlivě vypočítají vlastnosti brnění, vlastnosti zbraní, ale při vojenském přijetí je toto zařízení stále rozbaleno na dostřel, vystřeleno, podkopáno atd. Experiment je kritériem pravdy. Penetrační test nám umožňuje pochopit, zda jsou naše procesy zabezpečení informací tak dobré, jak si myslíme, zda jsou bezpečnostní systémy spolehlivé, zda je konfigurace na serverech správná, zda chápeme cestu, kterou se skutečný hacker vydá. Člověk by tak mohl nabýt dojmu, že penetrační testování je nezbytné pro společnosti, které již do informační bezpečnosti výrazně investovaly. Teoreticky je to pravda, ale v praxi je to často velmi odlišné.

Přišel jsem s následujícím pentestovým vzorcem:

Výzkum je nejzjevnější částí pentestu. Jako ve filmech: divní chlapi v mikinách v noci rozbíjejí obranu IT. Ve skutečnosti je vše často poněkud prozaičtější, ale tento obrázek umožňuje pentesters nedodržovat firemní dress code.

Zpráva obvykle není nejoblíbenější částí práce pro pentestery, ale je kriticky důležitá. Objednatel díla musí obdržet podrobný popis všech úspěšných i neúspěšných pokusů o průnik, jasný popis zranitelností a, což je velmi důležité, doporučení k jejich odstranění. Je racionální zapojit do poslední části specializované specialisty na zabezpečení informací, protože vědět, jak to prolomit, neznamená vědět, jak to správně a bezpečně opravit v realitě podnikové IT infrastruktury.

A poslední složkou, kvůli které je často organizován celý pentest, je show. Takový audit je z hlediska viditelnosti řádově lepší než kterýkoli jiný, zejména pro neprofesionály. Toto je nejlepší způsob, jak ukázat nedostatky zabezpečení informací vedení společnosti formou, která je přístupná nespecialistům. Krátké (pár stránek) Executive Summary s naskenováním pasu generálního ředitele, titulní stranou důvěrné zprávy a klientskou základnou může přinést více výhod pro informační bezpečnost ve společnosti než celá následující 200stránková zpráva. Proto jsou pentesty často objednávány společnostmi, ve kterých se kybernetická bezpečnost dříve skutečně neangažovala, a podnikání a často IT nechápou závažnost stávajících rizik.

Testování parametrů

Pentesty lze klasifikovat různými způsoby. Při konfiguraci pentestu pro sebe se zastavme pouze u těch, které mají praktickou hodnotu.

Cíl útoku stanovený zákazníkem se může velmi lišit od penetračního testu až po penetrační test. „Jen nás hackněte“ obvykle znamená převzetí kontroly nad IT infrastrukturou (práva správce domény, síťová zařízení), kompromitace obchodních systémů a důvěrných informací. A existují úzce cílené penetrační testy. Například jako součást certifikace zabezpečení dat karty PCI DSS je cílem každoročního povinného pentestu kompromitovat data karet. Zde se dá hned první pracovní den úplně zachytit síť banky, ale pokud nepadne poslední bašta s tajnými daty, organizace testem úspěšně projde.

Model znalostí systému určuje počáteční pozici pentesteru. Od úplných informací o systému (bílý box) až po úplnou absenci (černý box). Často je zvýrazněna i prostřední verze (Gray box), kdy např. pentester napodobuje jednání neprivilegovaného uživatele, který má nějaká data o systému. Může se jednat o běžného úředníka, partnerskou společnost, klienta s přístupem k osobnímu účtu atp. White box je spíše audit než klasický penetrační test. Používá se, když potřebujete podrobně prostudovat zabezpečení v úzké oblasti. Například se kontroluje nový zákaznický portál. Výzkumníkovi jsou poskytnuty všechny informace o systému, často zdrojový kód. To pomáhá podrobně prozkoumat systém, ale jen stěží simuluje útoky v reálném životě. Zákazníci Black box pentest chtějí získat kompletní simulaci útoku hackera, který nemá zasvěcené informace o systému.

Znalostní model se silně překrývá s konceptem modelu vetřelce. Kdo na nás útočí: externí hacker, insider, správce? Toto rozdělení je velmi svévolné. Kompromitace pracovní stanice běžného uživatele nebo dodavatele z technického hlediska okamžitě změní vnějšího hackera na zasvěceného.

Míra informovanosti specialistů na informační bezpečnost určuje, kdo ví o práci a jak moc podrobně. Často je kromě technologie testován i personál, takže práci koordinuje ředitel informační bezpečnosti nebo IT a správci věří, že bojují proti skutečným hackerům, pokud si samozřejmě všimnou i útoku. Tato kybernetická cvičení umožňují posoudit nejen přítomnost zranitelných míst v systémech, ale také vyspělost procesů informační bezpečnosti, úroveň interakce mezi odděleními atd. Přesným opakem je napodobování akcí útočníka za účelem výcviku bezpečnostních systémů. V tomto případě pentester pracuje na malé ploše a správci zaznamenávají reakci bezpečnostních nástrojů a IT systémů, upravují nastavení, připravují pravidla pro SIEM atd. Situace je například simulována, když hacker již pronikl do uzavřeného segmentu. Jak zvýší svá oprávnění v systémech? Pentester jeden po druhém vypracuje všechny jemu známé útočné vektory pro nejúplnější výcvik bezpečnostních systémů.

Druhy útoků

Kolik pentesterů, tolik klasifikací typů útoků. Níže uvedu klasifikaci základních útoků, které používáme. Nejúplnější penetrační test je samozřejmě útok všemi možnými směry. Ale omezení rozpočtu, času, rozsahu a nejnáročnějších úkolů vás nutí vybrat si.

Externí infrastruktura Pentest - Analýza perimetru sítě z internetu. Pentagram se snaží ohrozit dostupné síťové služby a pokud je to možné, vyvinout útok uvnitř sítě. Mnozí věří, že se jedná o simulaci skutečného útoku, jehož cílem je proniknout do sítě společnosti zvenčí. Útočníci dnes v 80–90% případů překonávají obvod sítě pomocí metod sociálního inženýrství. Není třeba se vloupat do hradeb pevnosti, pokud je pod nimi nádherný tunel. I zde jsou však často díry. Nedávno jsme například prováděli práce pro velký letecký závod, v rámci kterých skener ještě ve fázi automatické analýzy vyzvedl heslo pro systém dálkového ovládání automatizovaného systému řízení procesů. Nedbalost dodavatele, který zapomněl vypnout vzdálený přístup, umožnila hackerovi zvýšit tlak v potrubí technickými kapalinami o řád. Se všemi důsledky v doslovném i přeneseném smyslu.

Takový penetrační test je jako vyšetření u zubaře: je lepší jej provádět pravidelně, aby se předešlo problémům v počátečních fázích.

Stín IT

Pronikání často probíhá pomocí systémů, které jsou mimo dohled IT. Všechny servery na perimetru byly aktualizovány, ale zapomněli na IP telefonii nebo video monitorovací systém. A hacker je již uvnitř. Pro takovou infrastrukturu, která administrátorům z oka vypadla, existuje speciální termín – Shadow IT. Podle Gartneru bude do roku 2020 až třetina všech hacků probíhat pomocí Shadow IT. Podle nás je to zcela reálný odhad.

Například jakmile náš pentester našel neaktualizované systémy call centra na ideálně chráněném obvodu banky, díky kterému byly všechny hlavní bankovní systémy za 2 dny zcela kompromitovány. Ukázalo se, že za ně nezodpovídá IT oddělení, ale telefonní operátoři. V jiném případě byla vstupním bodem pro penetrační test síť recepčních, zcela izolovaná od firemního. Představte si překvapení zákazníka díla, když o několik dní později pentester informoval o úplném zachycení sítě. Podařilo se mu hacknout neaktualizovanou tiskárnu, zaplavit ji shellem a získat přístup k VLAN pro správu tiskáren. Po kompromitaci všech z nich získal tester pera přístup ke všem kancelářským segmentům společnosti.

Interní penetrační test infrastruktury simuluje akce zasvěcených osob nebo infikovaného hostitele v síti. Síť by měla být navržena tak, aby kompromitace jednotlivých pracovních stanic nebo serverů nevedla k úplnému poklesu obrany. Ve více než polovině případů z naší praxe netrvá od „přístupu k síťové zásuvce“ po „správce domény“ více než jeden pracovní den.

Síť společnosti může být velmi velká, proto by v některých případech měl zákazník jasně definovat cíl útoků pro pentester. Například přístup k SAP a finančním dokumentům klasifikovaným jako "Důvěrné". To umožní racionálnější využití času pentestera a simulaci skutečného vlastního hackerského útoku.

Webové zdroje představují samostatný svět z hlediska penetračního testování s obrovskou škálou různých technologií a konkrétních útoků. Je jasné, že web lze chápat jako cokoli, co má přístup k síti. Zde máme na mysli různé webové stránky, portály a specifická API dostupná z webu. Praxe ukazuje, že v průměru pro společnost zabere analýza celého perimetru její sítě méně času než jedna webová stránka, zejména pokud jsou tam nějaké interaktivní prvky, osobní účet atd. Tato oblast zažívá skutečný boom, a to především díky rozvoji elektronického obchodování bankami a masivnímu rozšíření maloobchodu na internetu.

Hlavními výsledky útoku na webový zdroj jsou obvykle kompromitace dat z DBMS a možnost napadení klientů (například různé typy XSS jsou umístěny na webech každé druhé banky). O něco méně často vám kompromitace webového serveru umožňuje proniknout do samotné firemní sítě, ale často, pokud již byla požadovaná data kompromitována, útočník je nemusí potřebovat.

Při analýze webu je důležité zkontrolovat nejen technickou část, ale také samotnou logiku práce a implementaci obchodních funkcí. Až dosud můžete někdy získat 99% slevu v internetovém obchodě nebo využít bonusové body někoho jiného mírnou úpravou řádku požadavku serveru v adresním řádku.

Útoky na webu mohou být prováděny uvnitř sítě, protože na bezpečnost vnitřních zdrojů se obvykle nemyslí, ale ve skutečnosti většina hackerů útočí jako první na infrastrukturu, protože to je nejkratší cesta ke správci domény. Web se ujme, když nepomohlo nic jiného, ​​nebo když je nutné dostat se do izolovaných síťových segmentů.

Rostoucí zájem o testování odolnosti DDoS je v posledních několika letech obzvláště patrný. V tisku se neustále objevují informace o velkých útocích, ale záležitost se neomezuje jen na ně. V segmentu online maloobchodu například během špičkových prodejů (před prázdninami) útoky probíhají téměř nepřetržitě. Obecně je jasné, co dělat s primitivními útoky zaměřenými na vyčerpání zdrojů komunikačního kanálu nebo serveru odesláním velkého objemu provozu. Je zajímavější studovat odolnost zdroje vůči útokům na úrovni aplikace. Dokonce i jediný klient, který generuje relativně malý počet konkrétních požadavků na webovou stránku, ji může učinit nepoužitelnou. Například konkrétní dotazy ve vyhledávacím poli na webu mohou mít úplný back-end.

Sociální inženýrství, tj. využití lidské nepozornosti, neopatrnosti nebo nedostatečného školení pro hackování se dnes stalo nejoblíbenějším způsobem, jak proniknout do firemní sítě.

Kromě toho existuje názor, že tento šrot neexistuje. Tento termín kombinuje obrovské množství technik, včetně odesílání podvodných zpráv poštou, telefonem a osobní komunikací za účelem získání přístupu k objektu nebo systémům, házení USB klíčů se škodlivým připojením v kanceláři obětované společnosti a mnoho dalšího.

Útoky na Wi-Fi jsou mylně označovány jako interní penetrační testování. Pokud váš smartphone nechytí firemní Wi-Fi mimo bránu, nezaručuje to, že se k němu vetřelci nedostanou. Směrová anténa z eBay za 100 USD nám umožnila provádět práci ze vzdálenosti více než kilometr od přístupového bodu. V pentestingu není Wi-Fi vždy považováno za bod průniku do sítě. Častěji se používá k útoku na uživatele. Tester pera například zaparkuje u obchodní brány před začátkem dne a nasadí síť se stejným názvem (SSID) jako firemní Wi-Fi. Zařízení v taškách a kapsách zaměstnanců se snaží zapojit do známé sítě a odeslat ... doménové jméno a heslo pro autentizaci v ní. Tester pera pak pomocí těchto úniků přistupuje k uživatelské poště, serverům VPN atd.

Analýza mobilních aplikací pro útočníka je zjednodušena skutečností, že je lze snadno stáhnout z obchodu a podrobně prozkoumat v sandboxu obnovením zdrojového kódu. U běžných webových zdrojů se o takovém luxusu může jen zdát. Proto je tento útočný vektor dnes tak populární. Mobilní klienti jsou dnes velmi běžní nejen mezi bankami a retailem. Vypouští je každý a bezpečnost je to poslední, na co myslí.

Studii mobilní aplikace lze obvykle rozdělit na 3 složky: analýzu obnoveného zdrojového kódu pro bezpečnostní díry, studium aplikace v „sandboxu“ a analýzu metod interakce mezi aplikací a serverem (obsah balíčku) , API, zranitelnosti samotného serveru). Nedávno jsme měli případ, kdy API back-endu aplikace mobilního bankovnictví fungovalo tak, že bylo možné vytvořit balíček, který způsobí převod libovolného množství peněz z jakéhokoli bankovního účtu na jakýkoli jiný účet. A to nebyla studie před spuštěním aplikace - vyráběla se už delší dobu. Mnoho podvodných schémat je dnes implementováno také pomocí mobilních aplikací, protože na boj proti podvodům se zapomíná ještě častěji než na bezpečnost informací.

Považovat analýzu zdrojového kódu za penetrační test není úplně správné, zvláště pokud zákazník předloží zdrojové kódy k výzkumu v otevřené formě. Jedná se spíše o bezpečnostní audit aplikace v bílém boxu. Tyto práce se však často provádějí ve spojení s pentestingem, aby byla zajištěna vyšší úroveň detekce zranitelnosti, takže zde stojí za zmínku. Pentest vám umožňuje potvrdit nebo vyvrátit chyby nalezené v analýze kódu (koneckonců v konkrétní infrastruktuře nelze ve skutečnosti zneužít všechny problémy s bezpečností). Tím se výrazně snižuje počet falešných poplachů, za které je vinena analýza kódu, zejména automatická analýza kódu. Zároveň jsou v důsledku analýzy kódu často nalezeny díry, které penetrační tester neuhádl.

Podle našich zkušeností je nejčastěji objednávaná analýza kódu mobilních aplikací a webových služeb, jako nejvíce náchylných k útokům.

Pentest je jako prohlídka u zubaře: je lepší ji dělat pravidelně, abyste předešli problémům v raných fázích

Omezení Pentestu

Hlavní omezení, která odlišují penetrační test od skutečného útoku, což bílým kloboukům ztěžuje, jsou trestní zákoník a etika. Například pentester nemůže nejčastěji útočit na systémy partnerů zákazníka, domácí počítače zaměstnanců, infrastrukturu telekomunikačních operátorů; v sociálním inženýrství nepoužívá zastrašování, vyhrožování, vydírání, podplácení a další velmi účinné metody zločinců. O to přesvědčivější jsou výsledky úspěšné penetrace v rámci „čistého“ penetračního testu. Pokud váš pentester v průběhu práce poruší zákon, desetkrát si rozmyslete, zda má cenu dovolit takové osobě přistupovat k vašim klíčovým systémům.

Konečně

Pentest, stejně jako lékařská prohlídka, většina standardů doporučuje absolvovat alespoň jednou ročně. Zároveň je dobré pravidelně střídat specialisty, kteří práci provádějí, aby nedošlo k rozmazání očí a posouzení bezpečnosti z různých úhlů pohledu. Koneckonců, jakýkoli specialista nebo tým, do té či oné míry, rozvíjí nějakou specializaci.

Pentest představuje pro bezpečnostní personál čas i náklady a stres, ale je obtížné najít vizuálnější a realističtější způsob hodnocení bezpečnosti IT infrastruktury. V každém případě je lepší, když díru najde smluvní specialista, než hacker. Koneckonců první často končí pro službu informační bezpečnosti s přidělením dalších finančních prostředků na zabezpečení a druhá - s hledáním nového zaměstnání.