Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Bc. Michal Krulich
Ak. rok: 2024/2025
Vedoucí: Ing. Dominika Regéciová
Oponent: Ing. Daniel Poliakov
Táto práca rieši návrh nových metód pre detekciu webových hrozieb pomocou jazyka YARA. Rozširujúce metódy sú integrované do nástroja YARA-X cez novo-implementované moduly, ktoré zdokonalujú možnosti jazyka YARA a jeho detekciu hľadaných vzorov a rysov. Webové hrozby, na ktoré sa práca zameriava, sú hrozby vyskytujúce sa v emailoch a na webových stránkach. Pri emailoch ide o najbežnejší formát EML a formát Outlook MSG spoločnosti Microsoft. Pri webových stránkach je skúmaná štruktúra dokumentov HTML a analyzovaný JavaScript kód. Analyzátor JavaScript kódu využíva poznatky z teórie prekladačov pre účely odhaľovania rysov v obfuskovanom kóde. Analýza a extrakcia kľúčových dát v daných formátoch je integrovaná do samostatných modulov nástroja YARA-X.
YARA, YARA-X, webové hrozby, malware, statická analýza, dynamická analýza, email, EML, MS-Outlook MSG, MS-CFB, HTML, JavaScript, obfuskovaný kód, extrakcia dát.
Termín obhajoby
18.06.2025
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
A
Průběh obhajoby
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.
Otázky k obhajobě
Jazyk práce
slovenština
Fakulta
Fakulta informačních technologií
Ústav
Ústav informačních systémů
Studijní program
Informační technologie (BIT)
Složení komise
doc. Ing. Ondřej Ryšavý, Ph.D. (předseda) Ing. Tomáš Milet, Ph.D. (člen) Ing. Marcela Zachariášová, Ph.D. (člen) Ing. Filip Orság, Ph.D. (člen) doc. RNDr. Dana Hliněná, Ph.D. (člen)
Posudek vedoucíhoIng. Dominika Regéciová
Student navrhl a implementoval několik rozsáhlých rozšíření pro nový open-source projekt YARA-X, konkrétně HTML, JS, a e-mailových modulů. Návrh a implementaci student aktivně konzultoval s malwarovými analytiky, aby maximálně pokryl potřeby pro detekce zmíněných formátů.
Výsledný kód je pokryt sérii testů a porovnán s předchozím řešením. Zároveň kód prošel schvalovacím procesem a je z velké části zařazen do chystané verze, která je právě integrována do infrastruktury v rámci firmy Gen.
Celkově práci nemám co vytknout. Z těchto důvodů navrhuji hodnocení z A.
Zadání považuji za náročnější z důvodu rozsáhlosti výsledného projektu. Student se do velké míry podílel na tvorbě nové generace nástroje YARA, YARA-X. Tento nový nástroj, psaný v jazyce Rust, rozšiřoval o kritické moduly pro podporů detekcí pro HTML, JS a e-mailové soubory. Student řešení aktivně řešil s malwarovými analytiky, aby byly moduly efektivní pro detekce a zároveň obsahovaly žádanou funkcionalitu. V průběhu vznikaly požadavky, které překračovaly rozsah původního zadání, student je však vždy ochotně zapracoval. Student rovněž odváděl velmi kvalitní práci, výsledné moduly se nyní zavádí do interních systémů ve firmě Gen.
Finální práce byla dokončena v předstihu a řádně konzultována. Zadání pak bylo splněno ve všech bodech.
Student si hledal literaturu aktivně a samostatně. Seznam použitých zdrojů považuji za vhodný a plně dostatečný.
Student pracoval na zadání aktivně hned od začátku. Práci pravidelně konzultoval, jak se mnou, tak odborným konzultantem. Nad rámec toho rovněž zadané implementaci průběžně řešil s malwarovými analytiky pro ještě lepší rozšíření pro jazyk YARA-X. Dodržoval dohodnuté termíny a na konzultacích byl vždy připraven.
Veškerá práce byla dokončena v předstihu a byla konzultována se mnou i odborným konzultantem.
-
Známka navržená vedoucím: A
Posudek oponentaIng. Daniel Poliakov
Práci hodnotím velmi kladně. Student odprezentoval potřebné znalosti týkající se webových hrozeb a použivaných systému, na ně navázal návrhem modulů (kde bylo i do značné míry zdůvodněno proč je co navrženo jak a jaké varianty byly zváženy), implementací, funkčním vyhodnocením a výkonnostním měřením. Student odvedl značné množství práce a věřím, že by práce určitě obstála i jako diplomová práce.
Stupeň hodnocení: obtížnější zadání
Student měl za úkol soustředit se na systém modulů v projektech YARA a YARA-X pro vybrané formáty typické ve webovém prostředí, navrhnout moduly, ty implementovat a vyhodnotit. Zadání považuji za náročnější kvůli množství informací potřebných k nastudování - detaily jednotlivých formátů, fungování YARA i YARA-X, či jazyka Rust.
Práce se velmi dobře čte, je pochopitelná, dobře strukturovaná. Text je doplněn o řadu ukázek a diagramů, které vysvětlují koncepty. Nemám co vytknout.
Práce je precizní po jazykové i typografické stránce. Jediná maličkost, které jsem si všimnul, tak je malá nekonzistence v ukončování popisu obrázků tečkou (např. Obr. 5.3. vs Obr. 6.3.).
Student udělal množství implementační práce i vyhodnocení. Dodané moduly jsou zdokumentované. V rámci kódu označil, které části jsou čistě autorské a které části patří pod původní projekt.
Práce je využitelná v praxi tak, jak byla odevzdána.
Stupeň hodnocení: zadání splněno a práce obsahuje podstatná rozšíření
Zadání je zcela splněno, ať už rozsahem práce, tak hloubkou, do jaké se při samotném řešení šlo.
Stupeň hodnocení: přesahuje obvyklé rozmezí
Technická zpráva přesahuje obvyklé rozmezí. V kladném slova smyslu je informačně bohatá. V teoretické části student uvádí jak obecné informace k webovým hrozbám, tak konkrétní případy z posledních let. Jednotlivé komponenty návrhu i implementace jsou vysvětleny v rozumné míře.
Student se vhodně odkazuje na zdroje v průběhu celého textu. Ať už na referenční literaturu nebo nástroje a dokumentace uvedené pod čarou. Zdroje odpovídají charakteru práce.
Známka navržená oponentem: A
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová