Překvapivá účinnost necílených útoků – 2. část: Jak se bránit?

Obrana proti útoku tohoto typu není jednoduchá a neexistuje jediný nástroj, či jediná poučka, která by zajistila, že budete proti útoku imunní. Bezpečnost je třeba budovat ve vrstvách, kdy každá vrstva doplňuje ty ostatní. V ideálním případě spolu vrstvy zároveň komunikují a reagují na aktuální situaci. Vrstev využitelných v tomto případě je primárně pět, byť by k nim bylo možné připočíst další řadu bezpečnostních nástrojů.

  • Emailová ochrana
  • Firewall nové generace (NGFW)
  • Pokročilá ochrana koncových prvků (Advanced Endpoint Protection – AEP)
  • Obecná bezpečnostní politika vynucená na úrovni operačního systému
  • Systém školení zaměstnanců

Průběh útoku v zabezpečeném prostředí

V případě plně zabezpečeného prostředí je útok možné zastavit v řadě fází. V případě zastavení útoku v jakémkoliv bodě již útok není úspěšný a nemůže pokračovat. Není však na místě budovat falešný pocit bezpečí. V případě popisovaného útoku může postačovat dobře nastavený firewall nové generace, nicméně zítra může přijít útok, který NGFW ani nezaznamená, a bude jej tak třeba zachytit jinou vrstvou bezpečnostního systému.

Pokud bude napadena společnost s korektně vybranými a nakonfigurovanými bezpečnostními nástroji a s dobře nastavenou bezpečnostní politikou, bude útok probíhat následujícím způsobem. K tomu, aby bylo možné popsat možnost obrany ve všech krocích útoku, se předpokládá, že v předchozích krocích útok nebyl zablokován a pokračuje tak dále.

Všechny popsané funkce byly otestovány pomocí následujících bezpečnostních nástrojů:

Doručení emailu

Pokud je emailový server za NGFW, tak tento může vykonat řadu akcí:

  • Detekovat jakýkoliv soubor s makrem a komunikaci buď zastavit, nebo na ni upozornit.
  • Detekovat škodlivé makro na základě signatury síťového antiviru a zastavit komunikaci.
  • Detekovat link nebo přílohu v emailové zprávě a provést jejich kontrolu v prostředí sandboxu. Pokud tento link vede na dokument se škodlivým makrem, nebo jiný škodlivý soubor, je doména automaticky zařazena do příslušné kategorie, nejčastěji Malware, soubor nebo makro je na základě hashe označeno jako škodlivé a je pro ně okamžitě vytvořena signatura pro síťový antivirus. Tento postup je tak třeba uplatnit pouze pro tzv. pacienta nula. Pokud se již tento škodlivý kód vyskytl u kteréhokoliv ze zákazníků Palo Alto Networks, pak jsou všichni ostatní automaticky chráněni.

Druhou fází prevence doručení je využití emailové ochrany Proofpoint Email Protection. Než email dorazí do poštovní schránky uživatele, je zkontrolován jeho obsah. Pokud je součástí emailu příloha s makrem, je možné tuto přílohu odstranit, nebo celý email přesunout do karantény a upozornit správce emailového řešení či koncového uživatele. Zároveň může být příloha odstraněna na základě toho, že ji nástroj pro emailovou bezpečnost označí jako známou hrozbu.

Spuštění makra

I v případě, že uživatel otevře dokument s makrem, tak k útoku ještě nedochází. Pro spuštění makra je ve výchozím nastavení nutné potvrdit povolení obsahu. V tuto chvíli přichází na řadu nutnost pravidelných a důkladných školení uživatelů, které je možné provádět nástrojem Proofpoint SAT. Jednorázová školení se ukázala jako neefektivní. Oproti tomu kontinuální školení, včetně praktických testovacích kampaní udrží uživatele ve střehu. Vzhledem k tomu, že obsah zprávy může být velice jednoduše upraven pro cílovou oběť, je neproškolený uživatel či administrátor často nejslabším článkem bezpečnostního řetězce. V tuto chvíli lze využít i nastavení operačního systému. Pokud není běžné, že uživatelé musejí spouštět makra, je doporučeno pomocí doménových politik spuštění zakázat. Často není možné zablokovat spouštění maker globálně, ale prakticky v každé společnosti existuje alespoň určitá skupina uživatelů, kteří makra nepotřebují. Pokud tedy není nezbytně nutné makra spouštět, je doporučeno jejich spuštění zakázat na úrovni operačního systému. Samotné makro zpravidla není škodlivým kódem a antivirus tak jeho spuštění povolí. Jinak tomu je v rámci AEP. Tato ochrana zkontroluje makro na úrovni hashe. Pokud je již známé, tak je buď rozpoznáno jako neškodné a je spuštěno, nebo jako škodlivé a je jeho spuštění zablokováno. Pokud je neznámé, dojde (podle nastavení) k jeho prověření pomocí statické, případně dynamické analýzy a až když je vyhodnoceno jako neškodné, tak dojde k jeho spuštění.

Stažení spustitelného kódu

Pro stažení spustitelného kódu musí makro komunikovat na konkrétní URL, nebo IP adresu. Prvním krokem k započetí komunikace je přeložení jména serveru se škodlivým kódem na IP adresu, která bude použita v IP hlavičce paketu. K tomu je použit DNS protokol. NGFW umí odchytit DNS dotaz a ověřit ho proti své databázi škodlivých FQDN, která je umístěná v Threat Inteligence Cloudu. Tato služba dokáže pomocí strojového učení a známých škodlivých jmen vyhodnotit, jestli se snaží dotaz získat adresu škodlivého serveru. Dokáže zároveň detekovat domény vytvořené pomocí Domain Generation Algoritmu (DGA), což je způsob, jak dnes pokročilý malware získává informaci, kde se nachází jeho Command-and-Control centra, nebo místa pro stažení škodlivého kódu. Ve chvíli, kdy NGFW dotaz odchytí a zjistí, že se jedná o škodlivý server, může podvrhnout odpověď tak, že malware nemůže komunikovat s cílovým serverem a ke stažení spustitelného kódu nedojde.

V případě, že malware komunikuje na konkrétní URL, může NGFW zablokovat tuto komunikaci, pokud již je doména správně zakategorizována mezi blokovanými kategoriemi, jakými je zpravidla Phishing, Malware, Command-and-Control apod.

Jakmile malware kontaktuje server se škodlivým obsahem, dochází ke stažení spustitelného kódu. I v této fázi může zasáhnout NGFW, který má v pravidlech zakázáno stažení spustitelných souborů. Pokud tento zákaz není možné vynutit z důvodu potřeb uživatelů, je možné přistoupit k tomu, že firewall dočasně zastaví stahování spustitelného souboru až do doby, než uživatel potvrdí, že jej opravdu stahuje vědomě. Tohoto potvrzení pochopitelně samotný malware není schopen, a proto je pravděpodobné, že dojde k zablokování stažení škodlivého kódu.

Ke stažení je často používán i výše zmiňovaný Powershell skript. V takovém případě platí totéž, co bylo popsáno o makrech. Pokud uživatel nemusí mít práva spouštět skripty, je bezpečnější, aby bylo spouštění těchto skriptů zakázáno pomocí nastavení operačního systému.

Spuštění škodlivého kódu

Tradiční antivirové programy jsou proti spuštění evazivního malware bezmocné. V případě AEP však je situace zcela odlišná. V první řadě může AEP sledovat, odkud se soubor spouští. Pokud je to z jedné ze známých lokací typických pro malware (zpravidla složky pro dočasné a stažené soubory), může spuštění jakéhokoliv souboru z této lokace zastavit. Stejně jako u výše popsaného spuštění makra následuje kontrola hashe souboru (případně i jeho vydavatele) a v případě, že je hash neznámý, dojde k jeho otestování pomocí statické a dynamické analýzy. Teprve na základě verdiktu dojde ke spuštění souboru, nebo k jeho zablokování.

Pokus o zvýšení privilegií

Zásadní v této fázi je to, aby uživatel nepoužíval pro svou práci účet s administrátorskými právy. V opačném případě je totiž malware bez práce a práce obránce je výrazně ztížena. Zásadní část obrany této fáze spočívá v korektním stanovení bezpečnostní politiky a jejím vynucení v rámci operačního systému. Malware se totiž snaží získat administrátorský účet několika způsoby:

  • Uhodnutí, nebo prolomení hesla lokálního administrátora. V případě, že je heslo lokálního administrátora dostatečně silné a není prolomitelné slovníkovým útokem, je velmi malá pravděpodobnost, že jej malware tímto způsobem získá. Zásadní tedy je vynutit silná hesla lokálních administrátorů. Pro případ, že by došlo k prolomení hesla, je nezbytně nutné využívat různá hesla administrátorských účtů na každé stanici v organizaci. V opačném případě dojde velmi jednoduše ke kompromitaci všech okolních systémů.
  • V případě, že disponuje uživatelský účet, pod kterým je malware spuštěn právy provádět debugging, má také přístup do paměti a je schopen provést memory dump procesu lsass. Tento memory dump obsahuje v čitelné formě hesla všech účtů přihlášených od posledního restartu. Důležité je tak odebrat oprávnění debugingu všem uživatelským účtům.
  • Pokud je v napadeném systému známá, či neznámá zranitelnost, je možné ji zneužít a získat vyšší, často až systémová, privilegia tímto způsobem. Nejjednodušší ochranou proti známým zranitelnostem je aplikace aktualizací na všechny součásti operačního systému. Existují však systémy, které nemohou být aktualizované, aktualizace pro ně již nejsou k dispozici, nebo obsahují neznámou zranitelnost, na kterou není k dispozici záplata, nicméně může být známá tvůrcům malware. V tomto případě pomůže nástroj AEP, který umožní odhalit a zastavit zneužití jakékoliv zranitelnosti nikoliv pomocí znalosti konkrétní znalosti, ale pomocí znalosti jedné z mnoha exploitačních technik. Obecně je k úspěšnému zneužití zranitelnosti třeba využít jednu, nebo více technik, jakými je např. heap-spray apod. AEP Palo Alto Networks je schopen sledovat pokus o využití těchto technik a v případě zachycení pokusu nedovolí škodlivému programu pokračovat.

Zajištění perzistence

Ochrana proti zajištění perzistence spočívá primárně ve správném nastavení práv uživatelského účtu. Nicméně i v případě použití práv, která dovolují vytvoření nové služby, zařazení nového procesu automaticky spouštěného po startu operačního systému, nebo zápisu do registru, může tomuto kroku zabránit AEP. Na rozdíl od tradičních antivirů totiž nekontroluje spouštěný program pouze při jeho zápisu na disk, nebo při spuštění, ale zároveň stále sleduje jeho chování. Jakmile dojde k podezřelému chování, které odpovídá jednomu z tisíců pravidelně aktualizovaných pravidel, může dojít k ukončení daného procesu.

Rozšíření škodlivého kódu

Rozšíření škodlivého kódu je úzce vázané na síťovou infrastrukturu a její segmentaci. Pokud má napadený počítač povolení komunikovat se všemi dalšími stanicemi a servery v síti, pak může být výsledkem úspěšného útoku ztráta všech stanic a serverů společnosti. Naopak, pokud je síť dostatečně segmentovaná, je možné útok izolovat a vyváznout z něj bez výraznějších obtíží. Vzhledem k tomu, že vstupní branou do společnosti je v drtivé většině případů koncová stanice, je doporučeno využít vlastnosti NGFW a síťové infrastruktury k provedení mikrosegmentace uživatelských stanic. Zároveň s tím je třeba řídit veškerý provoz mezi segmenty v režimu Zero Trust. Stejně jako u výše uvedeného bodu je možné využít AEP k zastavení šíření pomocí zranitelností.

Sběr a vynesení dat

Pokud škodlivý kód běží s uživatelskými právy, je jedním z mála obranných mechanismů nastavení co možná nejstriktnějších uživatelských oprávnění po vzoru Zero Trust. Druhou možnou obranou je AEP, který sleduje podezřelé chování programu a když k němu dojde, AEP proces ukončí. Pro ztížení vynesení nasbíraných dat je opět třeba využít zásad Zero Trust a nakonfigurovat NGFW tak, aby povoloval pouze známý a legitimní odchozí provoz. Zásadní je v tomto případě tvorba firewallových pravidel na aplikační úrovni tak, aby byla co možná nejspecifičtější. Zároveň je třeba zakázat veškerý neznámý odchozí provoz. Pro vynesení dat je často využit protokol DNS. Firewall nové generace umí toto zneužití DNS protokolu rozpoznat a zablokovat.

Zahlazení stop

V rámci fáze zahlazení stop dochází k zašifrování dat, ke kterým má malware práva pro zápis. Pro ochranu dat na koncové stanici je tak nezbytně nutné používat pouze uživatelské účty, a zároveň je třeba velice restriktivně udržovat práva k souborovému systému file serverů. Pokud má uživatel práva zapisovat pouze na svůj osobní síťový disk, může dojít k zašifrování jeho osobních souborů. Pokud však malware získá účet správce souborového systému, je katastrofa téměř nevyhnutelná. Pokud je použit AEP, je šifrování disku, či jednotlivých souborů detekováno jako podezřelé chování a proces, který ho provádí je ukončen.

Obě části článku ke stažení zde:

https://www.zerotrust.cz/wp-content/uploads/2020/03/Překvapivá-účinnost-necílených-útoků_OPEN.pdf