Kybernetický výskum – ako sa hľadá škodlivý kód

Bezpečnosť
0

Každý mesiac Vám prinášame aktuálnu tému z portálu bezpecnenanete.sk.

Jadrom výskumných oddelení firiem, ktoré dodávajú riešenia na ochranu pred rôznymi formami kriminality v kybernetickom priestore sú špecialisti, ktorí vyhľadávajú a analyzujú rôzne formy škodlivého kódu. V princípe ide o neustály súboj medzi „tými zlými“, čiže kyberkriminálnikmi a výskumníkmi škodlivého kódu, ktorí sa snažia pochopiť útočníkov a fungovanie ich zbraní. Aby boli úspešní, týždne či mesiace analyzujú do detailu rôzne druhy škodlivého kódu s cieľom porozumieť vírusom, trójskym koňom a ďalším formám malware. Inak povedané, neriešia priamo detekciu škodlivého kódu, ale prostredníctvom takzvaného reverzného inžinierstva sa snažia porozumieť, ako tento kód funguje.  Výsledky ich práce slúžia na zdokonaľovanie riešení na detekciu a ochranu.

„Snažíme sa pochopiť ako kód funguje, ako rozmýšľal útočník alebo o čo mu išlo. Chceme pochopiť útočníkov a ich nástroje. Častokrát je to aj o hľadaní kontextu. Nepozeráme sa len na samotný kód, ale aj na metadáta: kam sa škodlivý kód pripájal, na aký server, kde sa servery nachádzajú. Je to ako skladanie puzzle“ vysvetľuje Robert Lipovský, senior analytik škodlivého kódu v spoločnosti ESET

Reverzné inžinierstvo je v princípe opak programovania, čiže analýza kódu, ktorý napísal niekto iný, s cieľom zistiť, ako funguje a čo robí. Analýza prebieha dvoma základnými formami: statickou a dynamickou. Statická spočíva v analýze zdrojového kódu, ktorý je získaný disassemblovaním bináneho kódu bez toho, aby bol tento kód spustený. Naproti tomu, pri dynamickej analýze sa analyzovaný program spustí. Nie priamo, ale prostredníctvom nástroja nazývaného degugger, ktorý nenechá program zbehnúť celý, ale po každej inštrukcii, prípadne vykonaní podprogramu ho zastaví a analytici sledujú ktoré oblasti v pamäti kód číta, čo a kam zapisuje a tiež čo zapisuje do svojich lokálnych premenných. Takto sa prácne, krok za krokom dá zistiť, čo presne program robí. Niekedy sa robia dynamické analýzy aj počas prebiehajúceho útoku. Aby mohli analytici nájsť v tisíckach, ba niekedy až státisícoch riadkov kódu škodlivé aktivity, musia vedieť, čo by to malo byť a na čo sa konkrétne treba sústrediť. Samozrejme to si vyžaduje dlhoročné skúsenosti.

Na rozdiel od špecialistov „v prvej línii“, ktorí sa venujú detekcii, analytici majú dalo by sa povedať určitý „luxus“, že môžu svojmu výskumu venovať oveľa viac času. Doba analýzy jednej vzorky je približne týždeň,  ak je to niečo jednoduchšie, tak niekoľko dní. Našťastie drvivá väčšina, približne 98 % škodlivého kódu sa opakuje, možno s drobnými variáciami. Analytikov zaujímajú práve tie zvyšné 2 %.

Ľudovo povedané, analytici sa s útočníkmi vlastne hrajú na mačku a myš. Snažia sa pochopiť ako funguje malvér, aké techniky využívajú útočníci. Naopak, útočníci vymýšľajú stále nové techniky, aby obišli detekciu a aby sa im útok podaril. To znamená, že sa výskumník nebude nudiť, no vyžaduje si to neustále vzdelávanie. Kedysi keď veľa programátorov programovalo aplikácie najnižšej úrovne, napríklad ovládače periférií, tak koloval vtip, že dobrý programátor píše kód priamo v hexadecimálnom editore do exe súboru a tí najlepší ho píšu priamo do komprimovaných inštalačných súborov .zip. Ale teraz vážne. Základný jazyk, ktorý analytici používajú je assembly. Je to medzikrok medzi klasickými programovacími jazykmi a binárnym kódom.  Assembly jazyk sa učí aj na niektorých vysokých školách, avšak je určite menej rozšírený ako napríklad Python, Java, či C++. V dnešnej dobe internetu sa to však dá naučiť aj samoštúdiom. Človek sa nemôže spoliehať na to, že mu všetko dá škola.

Práca analytika škodlivého kódu je síce zdĺhavá, ale občas dobre napísaný kód vie výskumníka zaujať, až fascinovať. „K takýmto prípadom patrili napríklad útoky na Ukrajine, ktoré spôsobili výpadky elektriny v krajine. Použili pri nich aj zbraň najväčšieho kalibru, akú sme kedy analyzovali, Industroyer. Takéto veci vedia byť veľmi zaujímavé“, dodáva Robert Lipovský

Viac zaujímavých informácií o IT bezpečnosti sa dočítate na webe bezpecnenanete.sk,
kde sa nielen tejto téme venujú podrobnejšie odborníci z ESETu.

Zdroj: www.bezpecnenanete.sk

 

Ľuboslav Lacko

Všetky autorove články

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať