Bachelor's Thesis

Detection of Web Threats with YARA

Final Thesis 3.06 MB

Author of thesis: Bc. Michal Krulich

Acad. year: 2024/2025

Supervisor: Ing. Dominika Regéciová

Reviewer: Ing. Daniel Poliakov

Abstract:

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.

Keywords:

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)

znamkaAznamka

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

  1. V rámci vyhodnocení zmiňujete pro každý typ souborů příklad pravidel, kde nový modul má více detekcí a uvádíte důvod (např. odstranění obfuskace u Javascript modulu a nárůst o 30 procent). Jsou tyto důvody pouze odhady (Vaše nebo malware analytika), nebo jste při testu validovali jednotlivé detekované soubory, že nejde o falešné pozitiva?
  2. Je hlavním vylepšením detekce to, že Váš modul správně připraví vstupní data k další analýze hrozeb? 

Language of thesis

Slovak

Faculty

Department

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 report
Ing. 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.

Evaluation criteria Verbal classification
Informace k zadání

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.

Práce s literaturou

Student si hledal literaturu aktivně a samostatně. Seznam použitých zdrojů považuji za vhodný a plně dostatečný.

Aktivita během řešení, konzultace, komunikace

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.

Aktivita při dokončování

Veškerá práce byla dokončena v předstihu a byla konzultována se mnou i odborným konzultantem.

Publikační činnost, ocenění

-

Points proposed by supervisor: 98

Grade proposed by supervisor: A

Reviewer’s report
Ing. 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 criteria Verbal classification Points
Náročnost zadání

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.

Prezentační úroveň technické zprávy

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. 

100
Formální úprava technické zprávy

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.).

100
Realizační výstup

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.

100
Využitelnost výsledků

Práce je využitelná v praxi tak, jak byla odevzdána.

Rozsah splnění požadavků zadání

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. 

Rozsah technické zprávy

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.

Práce s literaturou

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.

100
Topics for thesis defence:
  1. V rámci vyhodnocení zmiňujete pro každý typ souborů příklad pravidel, kde nový modul má více detekcí a uvádíte důvod (např. odstranění obfuskace u Javascript modulu a nárůst o 30 procent). Jsou tyto důvody pouze odhady (Vaše nebo malware analytika), nebo jste při testu validovali jednotlivé detekované soubory, že nejde o falešné pozitiva?
Points proposed by reviewer: 100

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová