Magazín KPI
Časopis Katedry počítačov a informatiky FEI TUKE
kpi

Detekcia ransomvéru SIEM systémom HELK

Médiami často prebiehajú správy o opätovných útokoch ransomvérom, pri ktorých došlo k zašifrovaniu dôležitých dát, kľúčových pre fungovanie súkromnej spoločnosti, štátnej inštitúcie, alebo inej spoločenskej organizácie. Útočníkmi sú potom požadované obrovské sumy peňazí pre výmenu za šifrovací kľúč, ktorým je možné dáta odšifrovať a takto získať späť. V tomto článku je popísané riešenie detekcie ransomvéru pomocou SIEM systému HELK, pomocou ktorého bola dosiahnutá citlivosť detekcie 65,22% a špecifickosť 100%. Riešenie bolo vytvorené v rámci diplomovej práce „Detekcia bezpečnostných hrozieb“.

Tento článok nadväzuje na článok SIEM systém HELK, kde bola popísaná štruktúra systému HELK a postup jeho inštalácie.

Útoky typu ransomvér

Základné informácie o útokoch typu ransomvér je možné získať zo stránky pracovného rámca MITRE ATT&CK. Z uvedených informácií na tejto stránke vyplýva, že sa jedná o typ útoku postihujúci všetky operačné systémy vykonateľný pod všetkými užívateľmi. Cieľom útoku je ovplyvniť dostupnosť systému šifrovaním súborov alebo dát na lokálnom alebo vzdialenom disku. Po znemožnení prístupu k dátam užívateľa môže útočník požadovať finančnú kompenzáciu za poskytnutie dešifrovacieho kľúča.

Kroky vedúce k útoku

Z detailnejšej analýzy je možné získať ďalšie informácie o krokoch, ktoré predchádzajú samotnému útoku. Infikovanie sa začína napr. otvorením nebezpečnej webstránky alebo otvorením e-mailovej prílohy. Po spustení je možné vytvorenie sieťového pripojenia. Často sú po spustení upravované, vytvárané alebo vymazávané rôzne systémové súbory, nesúvisiace s šifrovaním užívateľských súborov. Väčšina ransomvérov v tejto analýze taktiež využila program vssadmin pre vymazanie záloh systému Windows. Môžu byť vytvorené rôzne .log, .tmp, .dmp súbory. Zaručenie prítomnosti spusteného programu na počítači aj po reštarte je zabezpečené úpravou registrov alebo pomocou priečinka Pri spustení. Nasledujúcim krokom je vyhľadanie a zašifrovanie užívateľských súborov. Všetky sledované vzorky v tejto štúdii využili kombináciu RSA a EAS šifrovania. Po zneprístupnení užívateľských dát je užívateľovi v závislosti od varianty zmenený obrázok pozadia plochy, zamknutá obrazovka, zobrazený text vyžadujúci platbu.

Zdroje dôkazov o útoku

Ako dôkazy sú použité dáta získané zo systému Sysmon, ktorý je nainštalovaný na sledovaných počítačoch. System Monitor (Sysmon) je systémová služba systému Windows, ktorá monitoruje a zaznamenáva systémovú aktivitu do logov systému Windows. Táto služba nie je dodávaná v rámci štandardnej inštalácie systému Windows. Zaznamenané udalosti majú rôzne ID pre rôzne akcie, napr. udalosť s ID 1 označuje vytvorenie procesu. Pomocou tohto systému je možné sledovať väčšinu aktivít vykonávaných ransomvérom a po odoslaní do SIEM systému tieto informácie ďalej spracovávať.

Metóda detekcie

Detekcia sa začína sledovaním vytvorených spustiteľných súborov e-mailovým klientom alebo webovým prehliadačom. Každému takémuto stiahnutému a potenciálne nebezpečnému súboru je vygenerovaný identifikátor hrozby, ktorým sú označené ďalšie záznamy o udalostiach vyvolaných spustením tohto programu. Pri procese vývoja tohoto riešenia bolo zistené, že ransomvér sa môže replikovať na ďalšie miesta v systéme, odkiaľ bude spustený a môže tiež vytvárať podprocesy. Preto je nutné sledovať aj aktivitu týchto programov a podprocesov, pričom bude zachovaný pôvodný identifikátor hrozby. Takýmto spôsobom bude možné vysledovať aktivitu k zdroju, bez ohľadu na vzdialenosť v strome procesov alebo počet replikácií programu.

Pre zabezpečenie detekcie na iných sledovaných systémoch, kde sa už program môže dostať aj inou cestou ako stiahnutím e-mailovej prílohy alebo súboru z webovej stránky, sú ukladané aj kontrolné súčty podozrivých programov a pri spustení programu s podozrivým kontrolným súčtom na inom počítači ako tom, kde bol prvotne odhalený, je programu priradený nový identifikátor a sledovaná jeho aktivita. Týmto je využitá výhoda nadhľadu SIEM systému.

Výsledkom detekčného procesu je zoznam podozrivých spustiteľných súborov a zoznam podozrivých kontrolných súčtov, z ktorých sa vytvorí zoznam identifikátorov (GUID) podozrivých procesov. Sleduje a vyhodnocuje sa aktivita týchto podozrivých procesov zvlášť pre každý identifikátor hrozby.

Podľa tabuľky Podozrivé aktivity je každej podozrivej aktivite procesov zo zoznamu podozrivých procesov pridelené bodové hodnotenie, ktoré je zvlášť pre každý identifikátor hrozby spočítavané. Ak súčet bodov prekročí určitú hranicu, hrozba je považovaná na skutočný ransomvér a dochádza spusteniu pravidla pre detekciu ransomvéru, ktoré vyvolá upozornenie.

Návrh systému detekcie

Za hlavnú výhodu takéhoto lovu bezpečnostných hrozieb je považovaná rýchlosť ich odhalenia. Ešte viac to platí v prípade ransomvéru, kde užívateľ môže každú sekundu prísť o obrovské množstvo dát. Z dôvodu dôležitosti vykonania včasnej detekcie ransomvéru je vhodné spracovanie dát vykonávať v systéme HELK čo najbližšie k ich zdroju. Z týchto dôvodov je pre vykonávanie analýzy a detekcie vybraný systém KSQL, ktorý má priamy prístup k prijatým dátam do systému Kafka

Analýza údajov a detekcia

Na obrázku je možné vidieť diagram toku údajov v systéme KSQL. Modrou farbou je označený zdrojový prúd údajov, ktorý je založený na údajoch v téme systému Kafka, do ktorej sú prijaté dáta zo sledovaných počítačov. Ďalej je možné na tomto obrázku vidieť zelenou farbou označené tabuľky, ktoré sú využité na ukladanie zoznamu podozrivých súborov, kontrolných súčtov a GUID procesov. Svetlooranžovou farbou sú označené vytvorené prúdy údajov. Čierne šípky označujú tok údajov, niekedy aj v spojení s filtráciou (napr. filtrovanie podľa hodnoty event_id v hornej časti). Prerušované červené šípky označujú kontrolu toku údajov. Postupným spracovaním zdrojového prúdu, vytváraním podprúdov a tabuliek je dosiahnuté sledovanie stavu kontrolovaných systémov a vyhodnotenie akcií vedúcich k útoku.

Diagram prúdov a tabuliek v KSQL
Diagram prúdov a tabuliek v KSQL

Tabuľka podozrivých súborov (SUSP_FILES) je plnená súbormi vytvorenými:

  • sledovaným programom (e-mailový klient, webový prehliadač),
  • podozrivými procesmi podľa tabuľky identifikátorov podozrivých procesov (SUSP_GUIDS).

Tabuľka podozrivých kontrolných súčtov (SUSP_HASHES) je plnená údajmi z udalostí spustenia súborov z tabuľky podozrivých súborov (SUSP_FILES). Tabuľka identifikátorov podozrivých procesov (SUSP_GUIDS) je plnená identifikátorom procesov, ktoré:

  • vznikli spustením súborov z tabuľky podozrivých súborov (SUSP_FILES),
  • vznikli spustením súborov s kontrolným súčtom zo zoznamu podozrivých kontrolných súčtov (SUSP_HASHES),
  • sú podprocesy vytvorené podozrivými procesmi (SUSP_GUIDS).

Výsledkom tejto štruktúry je tabuľka identifikátorov podozrivých procesov. Pomocou tej je kontrolovaný prúd obsahujúci všetky udalosti sledovaných systémov, a sú pridané ďalšie podmienky, ktorými je filtrovaná konkrétna činnosť ransomvéru. Pre záznamy o činnosti ransomvéru je vytvorený prúd RANSOMWARE_ACTIVITY, ktorý obsahuje tieto stĺpce:

  • názov počítača (computer_name),
  • identifikátor hrozby (threat_id),
  • názov pravidla (rule_name),
  • počet bodov (points).

Ako príklad možno uviesť detekciu prístupu k pomenovaným rúram:

INSERT INTO RANSOMWARE_ACTIVITY
SELECT
    WR.computer_name,
    SG.threat_id,
    'pipe_modification' as RULE_NAME,
    20 as POINTS
FROM WINLOG_REKEY_GUID WR
INNER JOIN SUSP_GUIDS SG ON WR.process_guid = SG.process_guid
WHERE
(
    event_id = 17
    OR event_id = 18
) AND (
    pipe_name = '\\lsarpc'
    OR pipe_name = '\\lsass'
) PARTITION BY threat_id;

Ďalším príkladom môže byť sledovanie počtu vymazaných a vytvorených súborov v časovom okne:

CREATE TABLE FILE_MODIFICATION_ACTIVITY_30 AS SELECT
    SUM(CASE WHEN event_id = 11 THEN 1 ELSE 0 END) as created,
    SUM(CASE WHEN event_id = 23 THEN 1 ELSE 0 END) as deleted,
    count(*) as total_count
FROM WINLOG_REKEY_GUID WR
WINDOW TUMBLING (SIZE 30 SECONDS)
WHERE (
    event_id = 11 OR event_id = 23
) GROUP by computer_name, process_guid
HAVING count(*) > 100

Pomocou tohto dopytu systém dokáže sledovať počet vytvorených a vymazaných súborov osobitne pre každý sledovaný počítač a identifikátor hrozby, pričom ukladá iba záznamy, kde došlo k viac ako 100 úpravam súporov. Na základe tohto výstupu ďalej systém porovnáva pomer vytvorených a vymazaných súborov a v prípade, že bol vytvorený približne rovnaký počet súborov ako bolo vymazaných (pomer 40:60 až 60:40), je takáto aktivita považovaná za činnosť ransomvéru a vytvorený záznam v prúde RANSOMWARE_ACTIVITY. Toto pravidlo bolo vytvorené na základe hypotézy, že ransomvér vytvorí približne toľko súborov, koľko vymaže.

Pomocou takýchto pravidiel boli opísané všetky podozrivé aktivity z tabuľky Podozrivé aktivity. Bodové hodnotenie jednotlivých aktivít bolo určené sledovaním a porovnávaním ich výskytu vo vzorke užitočných programov a ransomvérov a posúdením nebezpečenstva danej aktivity.

Podozrivé aktivity Výskyt v užitočných programoch Výskyt v ransomvéroch Hodnotenie
Podozrivá dvojitá prípona 0 % 8,7% 50
Vytvorenie sieťového pripojenia 47,62% 39,13% 10
Priamy prístup k zariadeniam 4,76% 13,04% 20
Prístup k pomenovanej rúre 80,95% 52,17% 10
Použitie administrátorských programov 0 % 17,39% 50
Zabezpečenie prítomnosti pomocou súborov 0 % 30,43% 40
Zabezpečenie prítomnosti pomocou registrov 19,05% 17,39% 30
Vytvorenie tmp/log/… súborov 80,95% 65,22% 15
Podozrivá manipulácia so súbormi 0 % 43,48% 50
Úprava grafického rozhrania 0 % 30,43% 35

Spočítaním bodového hodnotenia jednotlivých detegovaných podozrivých aktivít bolo určené bodové hodnotenie jednotlivých hrozieb, ktoré vyjadrovalo riziko. Na základe výsledkov bola stanovená hranica, pri prekročení ktorej bola hrozba považovaná za ransomvér. V tejto práci bola určená hranica 70 bodov. Po prekročení tejto hranice bolo vyvolané upozornenie systémom ElastAlert.

Vyhodnotenie detekcie

Pomocou pravidiel opisujúcich podozrivé aktivity bola vyhodnotená činnosť 23 ransomvérov, ktoré vykonávali šifrovanie súborov, a 21 užitočných programov. Výsledky je možné vidieť v tabuľke Vyhodnotenie detekcie.

Parameter Hodnota
Celá vzorka 44
Skutočne pozitívne 15
Skutočne negatívne 21
Falošne pozitívne 0
Falošne negatívne 8
Citlivosť 65,22%
Špecifickosť 100%

Medzi falošne negatívne vzorky patrili tie, ktoré pre šifrovanie súborov využívali pokročilé techniky, napr. priamy prístup k disku alebo medziprocesovú komunikáciu. Tieto aktivity nebolo možné pomocou dát zo systému Sysmon odhaliť. V jednom prípade došlo k vypnutiu služieb zabezpečujúcich generovanie a odosielanie údajov do SIEM systému a tak k znemožneniu detekcie. To bolo umožnené vďaka tomu, že ransomvéry boli v testovacom prostredí stále spúšťané s administrátorskými právami. Ďalšie nedetegované vzorky vykonávali šifrovanie súborov na zdieľanom disku, kedy nie sú generované udalosti o manipulácii so súbormi a teda nie je možné túto aktivitu odhaliť.

Záver

V tomto článku bol v krátkosti opísaný prispôsobiteľný systém detekcie ransomvéru, vhodný pre nasadenie aj v špecifických prostrediach. Systém nehľadá konkrétne znaky jednotlivých ransomvérov, teda nevykonáva statickú analýzu, ale opisuje jednotlivé kroky útokov a pri ich realizácii každá hrozba získava bodové hodnotenie, na základe ktorého sa rozhoduje, či sa jedná o skutočný ransomvér.

Systém detekcie dokázal spoľahlivo sledovať činnosť podozrivých procesov, a to aj po vytvorení podprocesov a vytvorení nových spustiteľných súborov s nebezpečným programom na iných miestach v systéme. Pomocou pravidla pre detekciu podozrivej manipulácie so súbormi je detegovaná typická aktivita ransomvérov — vytváranie a vymazávanie súborov. Systém dokázal sledovať aj iné aktivity, napr. úpravu grafického prostredia, zabezpečenie prítomnosti v systéme po reštarte, používanie administrátorských programov. Na základe vykonaných aktivít je schopný určiť, či sa jedná o ransomvér. Na vzorke 23 aktívnych ransomvérov získaných z rôznych zdrojov a 21 užitočných programov bola dosiahnutá citlivosť 65.22% a špecifickosť 100%.

Linkovať