Vaše cesta ven, graf: jak jsme nenašli dobrý síťový graf a vytvořili jsme vlastní

Vaše cesta ven, graf: jak jsme nenašli dobrý síťový graf a vytvořili jsme vlastní

Experti Group-IB při vyšetřování případů souvisejících s phishingem, botnety, podvodnými transakcemi a zločineckými hackerskými skupinami používají grafovou analýzu již mnoho let k identifikaci různých druhů spojení. Různé případy mají své vlastní datové sady, vlastní algoritmy pro identifikaci spojení a rozhraní přizpůsobená konkrétním úkolům. Všechny tyto nástroje byly interně vyvinuty společností Group-IB a byly dostupné pouze našim zaměstnancům.

Grafová analýza síťové infrastruktury (síťový graf) se stal prvním interním nástrojem, který jsme zabudovali do všech veřejných produktů společnosti. Před vytvořením našeho síťového grafu jsme analyzovali mnoho podobného vývoje na trhu a nenašli jsme jediný produkt, který by vyhovoval našim vlastním potřebám. V tomto článku budeme hovořit o tom, jak jsme vytvořili síťový graf, jak jej používáme a na jaké potíže jsme narazili.

Dmitrij Volkov, CTO Group-IB a vedoucí kybernetického zpravodajství

Co umí graf sítě Group-IB?

Vyšetřování

Od založení společnosti Group-IB v roce 2003 až do současnosti je identifikace, odsouzení a postavení kyberzločinců před soud nejvyšší prioritou naší práce. Ani jedno vyšetřování kybernetického útoku se neobešlo bez analýzy síťové infrastruktury útočníků. Na samém začátku naší cesty byla poměrně namáhavá „manuální práce“ hledání vztahů, které by mohly pomoci při identifikaci zločinců: informace o názvech domén, IP adresách, digitálních otiscích serverů atd.

Většina útočníků se snaží v síti působit co nejanonymněji. Jako všichni lidé však dělají chyby. Hlavním cílem takové analýzy je najít „bílé“ nebo „šedé“ historické projekty útočníků, které se prolínají se škodlivou infrastrukturou používanou v aktuálním incidentu, který vyšetřujeme. Pokud je možné odhalit „bílé projekty“, pak se nalezení útočníka zpravidla stává triviálním úkolem. V případě „šedých“ zabere vyhledávání více času a úsilí, protože jejich majitelé se snaží anonymizovat nebo skrýt registrační údaje, ale šance zůstávají poměrně vysoké. Útočníci zpravidla na začátku své trestné činnosti méně dbají na vlastní bezpečnost a dělají více chyb, takže čím hlouběji se můžeme ponořit do příběhu, tím vyšší jsou šance na úspěšné vyšetřování. Proto je síťový graf s dobrou historií nesmírně důležitým prvkem takového vyšetřování. Jednoduše řečeno, čím hlubší historická data společnost má, tím lepší je její graf. Řekněme, že 5letá historie může pomoci vyřešit podmíněně 1-2 z 10 zločinů a 15letá historie dává šanci vyřešit všech deset.

Odhalování phishingu a podvodů

Pokaždé, když obdržíme podezřelý odkaz na phishingový, podvodný nebo pirátský zdroj, automaticky vytvoříme graf souvisejících síťových zdrojů a zkontrolujeme všechny nalezené hostitele na podobný obsah. To vám umožní najít jak staré phishingové stránky, které byly aktivní, ale neznámé, tak úplně nové, které jsou připraveny na budoucí útoky, ale zatím se nepoužívají. Elementární příklad, který se vyskytuje poměrně často: našli jsme phishingový web na serveru pouze s 5 weby. Zaškrtnutím každého z nich najdeme phishingový obsah na jiných webech, což znamená, že můžeme zablokovat 5 místo 1.

Hledejte backendy

Tento proces je nezbytný k určení, kde se skutečně nachází škodlivý server.
99 % karetních obchodů, hackerských fór, mnoho zdrojů phishingu a dalších škodlivých serverů se skrývá jak za vlastními proxy servery, tak za proxy legitimních služeb, například Cloudflare. Znalosti o skutečném backendu jsou pro vyšetřování velmi důležité: poskytovatel hostingu, od kterého lze server zabavit, se stane známým a bude možné navázat spojení s jinými škodlivými projekty.

Máte například phishingový web pro shromažďování údajů o bankovních kartách, který se překládá na IP adresu 11.11.11.11, a adresu cardshopu, která se překládá na IP adresu 22.22.22.22. Během analýzy se může ukázat, že phishingový web i cardshop mají společnou backendovou IP adresu, například 33.33.33.33. Tyto znalosti nám umožňují vytvořit spojení mezi phishingovými útoky a obchodem s kartami, kde lze prodávat údaje o bankovních kartách.

Korelace událostí

Když máte dva různé spouštěče (řekněme na IDS) s různým malwarem a různými servery pro kontrolu útoku, budete je považovat za dvě nezávislé události. Pokud však existuje dobré spojení mezi škodlivými infrastrukturami, je zřejmé, že se nejedná o různé útoky, ale o fáze jednoho, složitějšího vícefázového útoku. A pokud je jedna z událostí již připsána jakékoli skupině útočníků, pak může být druhá také připsána stejné skupině. Proces atribuce je samozřejmě mnohem složitější, takže to berte jako jednoduchý příklad.

Obohacení indikátoru

Nebudeme tomu věnovat velkou pozornost, protože toto je nejběžnější scénář pro použití grafů v kybernetické bezpečnosti: jeden indikátor zadáte jako vstup a jako výstup získáte řadu souvisejících indikátorů.

Identifikace vzorců

Identifikace vzorů je nezbytná pro efektivní lov. Grafy umožňují nejen najít související prvky, ale také identifikovat společné vlastnosti, které jsou charakteristické pro určitou skupinu hackerů. Znalost takových jedinečných vlastností vám umožní rozpoznat útočníkovu infrastrukturu již ve fázi přípravy a bez důkazů potvrzujících útok, jako jsou phishingové e-maily nebo malware.

Proč jsme vytvořili vlastní síťový graf?

Znovu jsme se podívali na řešení od různých dodavatelů, než jsme došli k závěru, že musíme vyvinout vlastní nástroj, který dokáže něco, co žádný existující produkt nedokáže. Jeho vytvoření trvalo několik let, během kterých jsme ho několikrát kompletně změnili. Ale i přes dlouhou dobu vývoje jsme zatím nenašli jediný analog, který by vyhovoval našim požadavkům. Pomocí našeho vlastního produktu jsme nakonec dokázali vyřešit téměř všechny problémy, které jsme objevili v existujících síťových grafech. Níže tyto problémy podrobně zvážíme:

problém
rozhodnutí

Nedostatek poskytovatele s různými kolekcemi dat: domény, pasivní DNS, pasivní SSL, DNS záznamy, otevřené porty, běžící služby na portech, soubory interagující s názvy domén a IP adresami. Vysvětlení. Poskytovatelé obvykle poskytují samostatné typy dat a abyste získali úplný obrázek, musíte si zakoupit předplatné od všech. Přesto není vždy možné získat všechna data: někteří poskytovatelé pasivních SSL poskytují data pouze o certifikátech vydaných důvěryhodnými CA a jejich pokrytí certifikáty s vlastním podpisem je extrémně špatné. Jiné také poskytují data pomocí certifikátů s vlastním podpisem, ale shromažďují je pouze ze standardních portů.
Všechny výše uvedené sbírky jsme nasbírali sami. Například pro sběr dat o SSL certifikátech jsme napsali vlastní službu, která je sbírá jak od důvěryhodných CA, tak skenováním celého IPv4 prostoru. Certifikáty byly shromážděny nejen z IP, ale také ze všech domén a subdomén z naší databáze: pokud máte doménu example.com a její subdoménu www.example.com a všechny řeší na IP 1.1.1.1, pak když se pokusíte získat certifikát SSL z portu 443 na IP, doméně a její subdoméně, můžete získat tři různé výsledky. Abychom mohli shromažďovat data o otevřených portech a běžících službách, museli jsme vytvořit vlastní distribuovaný systém skenování, protože jiné služby měly často IP adresy svých skenovacích serverů na „černých listinách“. Naše skenovací servery také končí na blacklistech, ale výsledek detekce služeb, které potřebujeme, je vyšší než u těch, kteří jednoduše skenují co nejvíce portů a prodávají přístup k těmto datům.

Nedostatek přístupu k celé databázi historických záznamů. Vysvětlení. Každý normální dodavatel má dobrou akumulovanou historii, ale z přirozených důvodů jsme jako klient nemohli získat přístup ke všem historickým datům. Tito. Můžete získat celou historii pro jeden záznam, například podle domény nebo IP adresy, ale nemůžete vidět historii všeho - a bez toho nemůžete vidět úplný obrázek.
Abychom shromáždili co nejvíce historických záznamů o doménách, nakoupili jsme různé databáze, analyzovali mnoho otevřených zdrojů, které tuto historii měly (je dobře, že jich bylo hodně) a jednali s registrátory doménových jmen. Všechny aktualizace našich vlastních sbírek jsou samozřejmě uchovávány s úplnou historií revizí.

Všechna existující řešení umožňují sestavit graf ručně. Vysvětlení. Řekněme, že jste zakoupili mnoho předplatných od všech možných poskytovatelů dat (obvykle nazývaných „obohacovači“). Když potřebujete sestavit graf, dáte „ruce“ příkaz k sestavení z požadovaného prvku spojení, poté vyberete potřebné z prvků, které se objeví, a dáte příkaz k dokončení spojení z nich a tak dále. V tomto případě je odpovědnost za to, jak dobře bude graf zkonstruován, zcela na osobě.
Provedli jsme automatickou konstrukci grafů. Tito. pokud potřebujete sestavit graf, pak se automaticky vytvoří spojení z prvního prvku a poté i ze všech následujících. Specialista pouze udává hloubku, do které je potřeba graf postavit. Proces automatického doplňování grafů je jednoduchý, ale ostatní prodejci jej neimplementují, protože produkuje obrovské množství irelevantních výsledků, a také jsme museli vzít v úvahu tuto nevýhodu (viz níže).

Mnoho irelevantních výsledků je problémem všech grafů síťových prvků. Vysvětlení. Například „špatná doména“ (účastnící se útoku) je spojena se serverem, ke kterému je za posledních 10 let přidruženo 500 dalších domén. Při ručním přidávání nebo automatickém sestavení grafu by se v grafu mělo objevit také všech těchto 500 domén, i když s útokem nesouvisí. Nebo například zkontrolujete indikátor IP z bezpečnostní zprávy dodavatele. Obvykle jsou takové zprávy zveřejňovány se značným zpožděním a často trvají rok nebo déle. S největší pravděpodobností v době, kdy čtete zprávu, je server s touto IP adresou již pronajatý jiným lidem s jinými připojeními a vytvoření grafu opět povede k tomu, že získáte irelevantní výsledky.
Vyškolili jsme systém, aby identifikoval irelevantní prvky pomocí stejné logiky jako naši odborníci ručně. Například kontrolujete špatnou doménu example.com, která se nyní překládá na IP 11.11.11.11 a před měsícem - na IP 22.22.22.22. Kromě domény example.com je IP 11.11.11.11 spojena také s example.ru a IP 22.22.22.22 je spojena s 25 tisíci dalšími doménami. Systém, stejně jako člověk, chápe, že 11.11.11.11 je s největší pravděpodobností dedikovaný server, a protože doména example.ru je pravopisně podobná jako example.com, jsou s vysokou pravděpodobností připojeny a měly by být na graf; ale IP 22.22.22.22 patří sdílenému hostingu, takže všechny jeho domény nemusí být zahrnuty do grafu, pokud neexistují jiná spojení ukazující, že je třeba zahrnout také jednu z těchto 25 tisíc domén (například example.net) . Než systém pochopí, že je potřeba přerušit spojení a některé prvky nepřesunout do grafu, vezme v úvahu mnoho vlastností prvků a shluků, do kterých jsou tyto prvky kombinovány, a také sílu aktuálních spojení. Pokud máme na grafu například malý shluk (50 prvků), který obsahuje špatnou doménu, a další velký shluk (5 tisíc prvků) a oba shluky jsou propojeny spojením (čárou) s velmi nízkou pevností (hmotností) , pak bude takové spojení přerušeno a prvky z velkého clusteru budou odstraněny. Pokud je ale mezi malými a velkými shluky mnoho spojení a jejich síla postupně narůstá, tak v tomto případě se spojení nepřeruší a potřebné prvky z obou shluků na grafu zůstanou.

Interval vlastnictví serveru a domény se nebere v úvahu. Vysvětlení. Platnost „špatných domén“ dříve nebo později vyprší a budou znovu zakoupeny pro škodlivé nebo legitimní účely. Dokonce i neprůstřelné hostingové servery jsou pronajímány různým hackerům, takže je důležité znát a brát v úvahu interval, kdy byla konkrétní doména/server pod kontrolou jednoho vlastníka. Často se setkáváme se situací, kdy je server s IP 11.11.11.11 nyní používán jako C&C pro bankovního bota a před 2 měsíci jej ovládal Ransomware. Pokud vytvoříme spojení bez zohlednění intervalů vlastnictví, bude to vypadat, že existuje spojení mezi vlastníky bankovního botnetu a ransomwaru, i když ve skutečnosti žádné neexistuje. V naší práci je taková chyba kritická.
Naučili jsme systém určovat intervaly vlastnictví. U domén je to poměrně jednoduché, protože whois často obsahuje data začátku a konce registrace a když je k dispozici kompletní historie změn whois, je snadné určit intervaly. Když registrace domény nevypršela, ale její správa byla převedena na jiné vlastníky, lze ji také sledovat. U SSL certifikátů takový problém není, protože se vydávají jednorázově a neobnovují se ani nepřevádějí. U certifikátů s vlastním podpisem však nemůžete důvěřovat datům uvedeným v době platnosti certifikátu, protože certifikát SSL můžete vygenerovat již dnes a zadat počáteční datum certifikátu od roku 2010. Nejobtížnější je určit intervaly vlastnictví pro servery, protože pouze poskytovatelé hostingu mají termíny a období pronájmu. Pro stanovení doby vlastnictví serveru jsme začali využívat výsledky skenování portů a vytváření otisků spuštěných služeb na portech. Pomocí těchto informací můžeme poměrně přesně říci, kdy se změnil vlastník serveru.

Málo spojení. Vysvětlení. V dnešní době není ani problém získat zdarma seznam domén, jejichž whois obsahuje konkrétní emailovou adresu, nebo zjistit všechny domény, které byly s konkrétní IP adresou spojeny. Ale pokud jde o hackery, kteří dělají maximum pro to, aby je bylo těžké sledovat, potřebujeme další triky, abychom našli nové vlastnosti a vytvořili nová spojení.
Strávili jsme spoustu času zkoumáním, jak bychom mohli extrahovat data, která nebyla dostupná konvenčním způsobem. Nemůžeme zde z pochopitelných důvodů popsat, jak to funguje, ale za určitých okolností se hackeři při registraci domén nebo pronajímání a nastavování serverů dopouštějí chyb, které jim umožňují zjistit e-mailové adresy, aliasy hackerů a backendové adresy. Čím více spojení získáte, tím přesnější grafy můžete vytvořit.

Jak funguje náš graf

Chcete-li začít používat síťový graf, musíte do vyhledávacího pole zadat doménu, IP adresu, e-mail nebo otisk certifikátu SSL. Existují tři podmínky, které může analytik ovládat: čas, hloubka kroku a čištění.

Vaše cesta ven, graf: jak jsme nenašli dobrý síťový graf a vytvořili jsme vlastní

čas

Čas – datum nebo interval, kdy byl hledaný prvek použit ke škodlivým účelům. Pokud tento parametr nezadáte, systém sám určí poslední interval vlastnictví tohoto zdroje. Například 11. července zveřejnil Eset zprávu o tom, jak Buhtrap využívá 0-day exploit pro kybernetickou špionáž. Na konci zprávy je 6 indikátorů. Jeden z nich, secure-telemetry[.]net, byl přeregistrován 16. července. Pokud tedy sestavíte graf po 16. červenci, dostanete nepodstatné výsledky. Pokud ale uvedete, že tato doména byla používána před tímto datem, pak graf obsahuje 126 nových domén, 69 IP adres, které nejsou uvedeny v přehledu Eset:

  • ukrfreshnews[.]com
  • unian-search[.]com
  • vesti-world[.]info
  • runewsmeta[.]com
  • foxnewsmeta[.]biz
  • sobesednik-meta[.]info
  • rian-ua[.]net
  • et al.

Kromě indikátorů sítě okamžitě najdeme spojení se škodlivými soubory, které měly spojení s touto infrastrukturou, a tagy, které nám říkají, že byly použity Meterpreter a AZORult.

Skvělé je, že tento výsledek získáte během jedné sekundy a už nemusíte trávit dny analýzou dat. Tento přístup samozřejmě někdy výrazně zkracuje dobu vyšetřování, která je často kritická.

Vaše cesta ven, graf: jak jsme nenašli dobrý síťový graf a vytvořili jsme vlastní

Počet kroků nebo hloubka rekurze, se kterou bude graf sestaven

Ve výchozím nastavení je hloubka 3. To znamená, že všechny přímo související prvky budou nalezeny z požadovaného prvku, poté budou vytvořena nová spojení z každého nového prvku s dalšími prvky a nové prvky budou vytvořeny z nových prvků z posledního prvku. krok.

Vezměme si příklad, který se netýká APT a 0-day exploitů. Nedávno byl na Habré popsán zajímavý případ podvodu souvisejícího s kryptoměnami. Zpráva zmiňuje doménu themcx[.]co, kterou podvodníci používají k hostování webové stránky, která se vydává za Miner Coin Exchange a telefonické vyhledávání[.]xyz k přilákání návštěvnosti.

Z popisu je zřejmé, že systém vyžaduje poměrně rozsáhlou infrastrukturu, aby přilákal provoz k podvodným zdrojům. Rozhodli jsme se podívat na tuto infrastrukturu vytvořením grafu ve 4 krocích. Výstupem byl graf s 230 doménami a 39 IP adresami. Dále rozdělujeme domény do 2 kategorií: ty, které jsou podobné službám pro práci s kryptoměnami, a ty, které mají řídit provoz prostřednictvím služeb ověření telefonu:

Souvisí s kryptoměnou
Sdružil se se službami děrování telefonů

mincovník[.]cc
stránka záznamu volajícího[.].

mcxwallet[.]co
telefonní-záznamy[.]prostor

btcnoise[.]com
fone-uncover[.]xyz

kryptominer[.]sledovat
číslo-odhalit[.]informace

Vaše cesta ven, graf: jak jsme nenašli dobrý síťový graf a vytvořili jsme vlastní

Čištění

Ve výchozím nastavení je povolena možnost „Vyčištění grafu“ a všechny nepodstatné prvky budou z grafu odstraněny. Mimochodem, byl použit ve všech předchozích příkladech. Předpokládám přirozenou otázku: jak se můžeme ujistit, že něco důležitého není smazáno? Odpovím: pro analytiky, kteří rádi sestavují grafy ručně, lze automatické čištění zakázat a lze zvolit počet kroků = 1. Dále bude analytik schopen doplnit graf z prvků, které potřebuje, a prvky z nich odstranit. grafu, který není pro daný úkol relevantní.

Již na grafu je analytikovi k dispozici historie změn v whois, DNS a také otevřených portech a službách, které na nich běží.

Vaše cesta ven, graf: jak jsme nenašli dobrý síťový graf a vytvořili jsme vlastní

Finanční phishing

Zjišťovali jsme činnost jedné skupiny APT, která několik let prováděla phishingové útoky na klienty různých bank v různých regionech. Charakteristickým rysem této skupiny byla registrace domén velmi podobných názvům skutečných bank a většina phishingových stránek měla stejný design, rozdíly byly pouze v názvech bank a jejich logu.

Vaše cesta ven, graf: jak jsme nenašli dobrý síťový graf a vytvořili jsme vlastní
V tomto případě nám velmi pomohla automatizovaná grafová analýza. Vezmeme-li jednu z jejich domén - lloydsbnk-uk[.]com, během několika sekund jsme vytvořili graf s hloubkou 3 kroků, který identifikoval více než 250 škodlivých domén, které byly touto skupinou používány od roku 2015 a nadále jsou používány. . Některé z těchto domén již banky zakoupily, ale historické záznamy ukazují, že byly dříve zaregistrovány na útočníky.

Pro názornost je na obrázku znázorněn graf s hloubkou 2 kroků.

Pozoruhodné je, že již v roce 2019 útočníci poněkud změnili taktiku a začali registrovat nejen domény bank pro hostování web phishingu, ale také domény různých poradenských společností pro zasílání phishingových e-mailů. Například domény swift-department.com, saudconsultancy.com, vbgrigoryanpartners.com.

Vaše cesta ven, graf: jak jsme nenašli dobrý síťový graf a vytvořili jsme vlastní

Kobaltový gang

V prosinci 2018 rozeslala hackerská skupina Cobalt, která se specializuje na cílené útoky na banky, jménem Národní banky Kazachstánu poštovní kampaň.

Vaše cesta ven, graf: jak jsme nenašli dobrý síťový graf a vytvořili jsme vlastní
Dopisy obsahovaly odkazy na hXXps://nationalbank.bz/Doc/Prikaz.doc. Stažený dokument obsahoval makro, které spustilo Powershell, který by se pokusil načíst a spustit soubor z hXXp://wateroilclub.com/file/dwm.exe v %Temp%einmrmdmy.exe. Soubor %Temp%einmrmdmy.exe aka dwm.exe je CobInt stager konfigurovaný pro interakci se serverem hXXp://admvmsopp.com/rilruietguadvtoefmuy.

Představte si, že nemůžete přijímat tyto phishingové e-maily a provádět úplnou analýzu škodlivých souborů. Graf pro škodlivou doménu nationalbank[.]bz okamžitě ukazuje spojení s jinými škodlivými doménami, přiřazuje ji skupině a ukazuje, které soubory byly použity při útoku.

Vaše cesta ven, graf: jak jsme nenašli dobrý síťový graf a vytvořili jsme vlastní
Vezmeme z tohoto grafu IP adresu 46.173.219[.]152 a sestavíme z ní graf jedním průchodem a vypneme čištění. Je s ním spojeno 40 domén, například bl0ckchain[.]ug
paypal.co.uk.qlg6[.]pw
cryptoelips[.]com

Soudě podle názvů domén se zdá, že se používají v podvodných schématech, ale čisticí algoritmus si uvědomil, že s tímto útokem nesouvisejí, a nevložil je do grafu, což značně zjednodušuje proces analýzy a přiřazování.

Vaše cesta ven, graf: jak jsme nenašli dobrý síťový graf a vytvořili jsme vlastní
Pokud graf znovu sestavíte pomocí nationalbank[.]bz, ale deaktivujete algoritmus čištění grafu, bude obsahovat více než 500 prvků, z nichž většina nemá nic společného se skupinou Cobalt nebo jejich útoky. Příklad, jak takový graf vypadá, je uveden níže:

Vaše cesta ven, graf: jak jsme nenašli dobrý síťový graf a vytvořili jsme vlastní

Závěr

Po několika letech dolaďování, testování v reálném vyšetřování, výzkumu hrozeb a lovu útočníků se nám podařilo nejen vytvořit unikátní nástroj, ale také změnit přístup odborníků ve společnosti k němu. Zpočátku chtějí techničtí experti úplnou kontrolu nad procesem konstrukce grafu. Přesvědčit je, že automatická konstrukce grafu to umí lépe než člověk s mnohaletými zkušenostmi, bylo nesmírně obtížné. O všem rozhodl čas a vícenásobné „ruční“ kontroly výsledků toho, co graf produkoval. Nyní naši odborníci nejen důvěřují systému, ale také využívají výsledky, které získá, při své každodenní práci. Tato technologie funguje uvnitř každého z našich systémů a umožňuje nám lépe identifikovat hrozby jakéhokoli typu. Rozhraní pro manuální analýzu grafů je zabudováno do všech produktů Group-IB a výrazně rozšiřuje možnosti pro vyhledávání kybernetické kriminality. To potvrzují hodnocení analytiků od našich klientů. A my zase pokračujeme v obohacování grafu o data a pracujeme na nových algoritmech využívajících umělou inteligenci k vytvoření co nejpřesnějšího síťového grafu.

Zdroj: www.habr.com

Přidat komentář