Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Jacek Folwarczny
Acad. year: 2025/2026
Supervisor: Ing. Ivana Burgetová, Ph.D.
Reviewer: Ing. Radek Hranický, Ph.D.
This thesis addresses the detection of malware in network traffic encrypted with the TLS protocol, where traditional deep packet inspection methods fail due to the inability to inspect communication content. For each captured flow, features from four groups --- flow statistics, TLS handshake metadata, SNI features, and record size statistics --- are extracted without requiring decryption. A multi-layer perceptron with tanh activation and weighted mini-batch sampling for compensating class imbalance was trained on these features. A modular Python system was developed, incorporating automated experimentation and evaluation using a cost-sensitive metric 𝑆_𝜆 = 𝐹𝑃 + 𝜆 · 𝐹𝑁 that reflects asymmetric misclassification costs. Experiments on two datasets with varying degrees of class imbalance confirmed the model's high effectiveness. Systematic optimization demonstrated that tanh activation outperforms ReLU and modern alternatives, and that weighted sampling is more reliable than Focal Loss for severely imbalanced data. The results confirm the feasibility of malware detection in encrypted traffic without decryption and the suitability of the proposed solution as a component of a multi-stage defense architecture.
neural networks, network traffic analysis, malware detection, TLS, classification, machine learning, feature extraction, multi-layer perceptron
Date of defence
17.06.2026
Result of the defence
Defended (thesis was successfully defended)
Grading
B
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 B.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Ing. František Zbořil, Ph.D. (předseda) doc. Ing. Vojtěch Mrázek, Ph.D. (místopředseda) Ing. Petr Veigend, Ph.D. (člen) Ing. David Bařina, Ph.D. (člen) Ing. Miloš Musil, Ph.D. (člen)
Supervisor’s reportIng. Ivana Burgetová, Ph.D.
V rámci řešení bakalářské práce student pracoval na průměrně obtížném zadání, které beze zbytku splnil. Kladně hodnotím to, že dokázal k řešení problému přistoupit systematicky, navrhnout nezbytné experimenty a jejich výsledky srozumitelně popsat v technické zprávě. Přístup studenta proto hodnotím jako mírně nadprůměrný a navrhuji hodnocení stupněm B.
Cílem bakalářské práce bylo nalézt vhodnou konfiguraci neuronové sítě a vhodnou množinu rysů, které umožní detekci malware na základě dat z TLS komunikace. Za náročnější část považuji předzpracování dat, protože data o TLS spojeních nemohou být přímo použita na vstupu neuronových sítích, ale je potřeba z nich nejprve extrahovat užitečné informace. V rámci řešení práce student vyhodnotil několik variant vstupních rysů a vyzkoušel různá nastavení parametrů neuronové sítě a vše systematicky zhodnotil. Zadání práce tak bylo splněno a s dosaženými výsledky jsem spokojena.
Kromě doporučené studijní literatury si student sám aktivně vyhledal další zroje potřebné k řešení daného tématu.
Student pracoval na řešení bakalářské práce systematicky a samostatně. Svůj postup řešení se mnou pravidelně konzultoval a na schůzkách prokazoval dobrou orientaci v rámci řešené problematiky.
Realizační výstup i technická zpráva byly dokončeny s dostatečným časovým předstihem a student do finální verze zapracoval moje připomínky.
Grade proposed by supervisor: B
Reviewer’s reportIng. Radek Hranický, Ph.D.
Student navrhl, implementoval a experimentálně ověřil řešení pro detekci malware v šifrovaném provozu. Oceňuji zejména systematický přístup v experimentální části. Autor nejde pouze cestou "natrénuji jeden model", ale postupně vyhodnocuje různé parametry řešení a experimentálně hledá vhodnou konfiguraci.
Výsledné dílo je postaveno na vícevrstvém perceptronu (MLP), což je pro "tabulková" data rozumná volba a autor ji dostatečně zdůvodňuje. K dokonalosti však chybí alespoň omezené praktické srovnání s jiným typem neuronových sítí, případně s klasickým "baseline" modelem (např. logistickou regresí, rozhodovacími stromy apod.) nad stejnými rysy.
Práci hodnotím jako velmi dobrou ("B").
Evaluation level: průměrně obtížné zadání
Práce má logickou strukturu a jednotlivé kapitoly na sebe přirozeně navazují. Teoretická část srozumitelně vysvětluje klíčová témata potřebná k pochopení práce. Kapitola o datech jasně popisuje použité datové sady, jejich vlastnosti a způsob výběru i transformace vstupních rysů včetně zdůvodnění vynechání některých atributů.
Kapitoly 4 a 5 (o návrhu a implementaci) jsou dosti stručné. V návrhu mi chybí ucelené vysvětlení požadavků a provozního scénáře (např. online vs. offline klasifikace, požadovaný kompromis mezi FP/FN apod.). Čtenář si tak musí část návrhové logiky skládat až zpětně z dalších kapitol. Kapitola o implementaci je přehledná a dobře popisuje hlavní moduly výsledného systému. Pro úplnost by však bylo vhodné doplnit konkrétnější popis rozhraní mezi moduly, strukturu vstupních a výstupních souborů a tvar ukládaných datových matic.
Velmi pozitivně hodnotím naopak experimentální část, která je přehledná a kvalitně zpracovaná. Autor systematicky testuje různé konfigurace modelu, metody kompenzace nevyváženosti tříd, rozhodovací prahy i podmnožiny rysů, přičemž výsledky průběžně interpretuje. Oceňuji také, že finální model není vyhodnocen pouze jedním během, ale opakovaně při různých náhodných inicializacích modelu, což zvyšuje důvěryhodnost prezentovaných výsledků.
Formálně je práce na poměrně vysoké úrovni. Klíčové pojmy jsou většinou písmem vhodně odlišeny. Obrázky a tabulky jsou korektně odkazovány z textu. Mírnou nekonzistencí je "obrázek" vs. "obr."
Jazyk je celkově srozumitelný a přiměřený bakalářské práci. Z textu lze většinou bez problémů pochopit, co autor dělal a proč. Mírně rušivě působí občasné anglikanismy, např. "handshakové rysy". Podobně "průměr +/- std", kde "std" je anglická zkratka. Sekce 6.6.2 má název "Co funguje a co ne", který působí poněkud hovorově.
Realizační výstup čítá 3266 v jazyce Python a konfigurační soubor ve formátu JSON o rozsahu 452 řádků. Kód je přehledný a dobře komentovaný. Přiložený soubor README jasně vysvětluje jeho použití. Samotná neuronová síť je implementována ma bázi prostředí PyTorch. Výsledek je plně funkční a odpovídá specifikaci v technické zprávě.
Velmi pozitivně hodnotím především orchestraci výsledného řešení. Všechny kroky od předzpracování dat, přes trénink modelů, až po vyhodnocení výsledků, lze spustit jediným skriptem, jehož fungování je možné různě přizpůsobit.
Výsledky mají vysoký praktický potenciál. Student ukazuje, že z metadat protokolu TLS a statistik toků lze detekovat malware bez nutnosti dešifrování obsahu. Realizační výstup slouží primárně pro demonstraci použitelnosti tohoto přístupu. Pro praktické použití bude nutné ověřit metodu na rozsáhlejších datových sadách a navrhnout způsob integrace do reálné detekční infrastruktury. Přesto práce představuje dobrý základ pro další vývoj detekční vrstvy.
Evaluation level: zadání splněno
Zadání považuji za splněné v celém rozsahu.
Evaluation level: je v obvyklém rozmezí
Dle https://app.fit.vut.cz/theses-checker práce čítá 70 normostran. Je tedy v obvyklém rozsahu.
Bilbliografie čítá celkem 20 pramenů z oblasti TLS, zpracování dat a strojového učení. Zdroje jsou vybrány vhodně a vztahují se k řešenému problému. Prohřešky vůči citační etice jsem neobjevil.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová