Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Michal Krulich
Acad. year: 2024/2025
Supervisor: Ing. Dominika Regéciová
Reviewer: Ing. Daniel Poliakov
This work deals with the design of new methods for detecting web threats using the YARA language. Extension methods are integrated into the YARA-X tool through newly implemented modules that improve the capabilities of the YARA language and its detection of the desired patterns and features. Web threats, which the work focuses on, are threats occurring in emails and on websites. For e-mails, the most common EML format and Microsoft's Outlook MSG format are inspected. For websites, the structure of HTML documents is examined and JavaScript code is analyzed. The JavaScript analyzer uses knowledge from compiler theory to detect features in obfuscated code. The analysis and extraction of key data in the relevant formats is integrated into separate modules of the YARA-X tool.
YARA, YARA-X, web threats, malware, static analysis, dynamic analysis, email, EML, MS-Outlook MSG, MS-CFB, HTML, JavaScript, obfuscated code, data extraction.
Date of defence
18.06.2025
Result of the defence
Defended (thesis was successfully defended)
Grading
A
Process of defence
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.
Topics for thesis defence
Language of thesis
Slovak
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology (BIT)
Composition of Committee
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)
Supervisor’s reportIng. 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.
-
Grade proposed by supervisor: A
Reviewer’s reportIng. 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.
Evaluation level: 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.
Evaluation level: 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.
Evaluation level: 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.
Grade proposed by reviewer: A
Responsibility: Mgr. et Mgr. Hana Odstrčilová