Bachelor's Thesis

Využití autoenkodérů pro identifikaci aplikací v síťovém provozu

Final Thesis 3.54 MB

Author of thesis: Bc. Samuel Kudla

Acad. year: 2025/2026

Supervisor: Ing. Ivana Burgetová, Ph.D.

Reviewer: Ing. Radek Hranický, Ph.D.

Abstract:

This thesis explores the possibilities of using autoencoders to identify applications within encrypted TLS traffic by using a suitable and efficient representation of applications based on TLS parameters in a coded form. The work presents various autoencoder model topologies implemented in the Python language using the PyTorch library. By conducting various experiments with he structure of the model system, it was demonstrated that using autoencoders can achieve a high level of sensitivity for a selected application (above 90 %), with solid objectivity (MCC above 0,5), although with lower precision of positive predictions (approximately below 50 %). The main finding of the work is that by extracting key parameters from TLS transmission, neural networks (specifically autoencoders) can be effectively utilized to detect applications without knowledge of their encrypted data content.

Keywords:

Identification, TLS connection, TLS Client Hello, neural networks, machine learning, autoencoders, binary classification, multiclass classification, data embedding

Date of defence

17.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaCznamka

Grading

C

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

Topics for thesis defence

  1. SNI tvoří značnou část vstupního vektoru. Jak významnou roli v klasifikaci hraje? Jak by podle vás výsledky vypadaly s šifrovaným nebo zašuměným SNI?
  2. Proč jsou některé aplikace detekovány výrazně lépe než jiné?
  3. Jak přesně jste hledal optimální počet vrstěv v rámci modelu?

Language of thesis

Slovak

Faculty

Department

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 report
Ing. Ivana Burgetová, Ph.D.

K řešení bakalářské práce student přistupoval aktivně a samostatně a navrhl možné netriviální způsoby transformace vybraných rysů. Celkově jeho aktivitu nakonec hodnotím jako průměrnou (stupněm C), především kvůli dokončování technické zprávy na poslední chvíli.

Evaluation criteria Verbal classification
Informace k zadání

Cílem této bakalářské práce bylo vyzkoušet a porovnat různé varianty autoenkodérů pro identifikaci aplikací na základě dat extrahovaných z jednotlivých TLS spojení. Cílém práce bylo také vyzkoušet netriviální transformace vybraných dostupných atributů. Práce doplňuje výzkum řešený v rámci skupiny NES@FIT. Student navrhl zajímavé způsoby kódování některých atributů a vyzkoušel různé varianty autoenkodérů. Zadání práce tak bylo splněno a s dosaženými výsledky jsem spokojena.

Práce s literaturou

V práci s literaturou byl student hodně aktivní. Kromě doporučené studijní literatury si aktivně vyhledal řadu dalších užitečných zdrojů pro řešení daného tématu.

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

Student k řešení práce přistupoval aktivně a systematicky ho se mnou konzultoval. I když pro něj občas bylo obtížné vysvětlit aktuálně implementované metody. 

Aktivita při dokončování

Implementační a experimentální část práce byla dokončena včas, ale technická zpráva byla dokončována v časové tísni. Přesto do ní student zapracoval většinu mých připomínek. 

Publikační činnost, ocenění
Points proposed by supervisor: 78

Grade proposed by supervisor: C

Reviewer’s report
Ing. Radek Hranický, Ph.D.

Práce představuje funkční návrh, implementaci a experimentální ověření řešení na bázi autoenkodérů pro identifikaci aplikací v šifrovaném provozu.


Mezi silné stránky patří kódování vstupních parametrů, popis implementace a práce s literaturou. Slabší je formální úroveň, interpretace výsledků a chybějící analýza přínosu použitých atributů.


Celkově hodnotím stupněm "C".

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

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

Práce má logickou strukturu a jednotlivé kapitoly na sebe navazují. Teoretická část je přehledná a dobře vysvětluje klíčovou problematiku. Kvalitně zpracovaná je též kapitola o kódování vstupních dat.

Kapitola o návrhu obsahuje relevantní informace, ale mohla by více vysvětlit cíle návrhu. Z textu také není jasné, jaký význam zde má pojem "anomálie" -  tj. že jde o "spojení neodpovídající aplikaci", nikoliv o bezpečnostní incident. Implementace je popsána jasně a přehledně. 

V experimentech se autor zaměřil na několik konkrétních aplikací s nejvyšším zastoupením v datové sadě, což považuji za rozumné. Autor výsledky průběžné komentuje, ale zůstává spíš u popisu toho, co se změnilo. Méně už diskutuje příčiny jednotlivých jevů - např. proč některé aplikace řešení detekuje výrazně lépe než jiné, případně které parametry mají jaký přínos, nebo jaké jsou příčiny falešně pozitivních výsledků.

Porovnání s existujícím řešením je užitečné, ale metodicky ne zcela přímé, protože srovnávané přístupy neřeší úplně totožnou klasifikační situaci (autor uvažuje navíc třídu "neznámá aplikace").

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

Formální stránka je bohužel nejslabší částí celé práce. Zatímco teoretická část a návrh systému jsou relativně v pořádku, čím jde člověk v práci dále, tím horší je kvalita zpracování.

Klíčová slova jako "Client Hello" nebo "Ciher Suites" jsou někde uváděna jako obyčejný text, jinde kurzívou, jinde navíc tučně. Na str. 12 mají body seznamu na stejné úrovni různé formátování a není jasné, proč. Na obr. 7.2 a 7.3 je z neznámých důvodů použit spojnicový graf, byť na horizontální ose jsou nezávislá měření. Řada grafů navíc používá velmi malé písmo (zejména obr. 7.9), které lze obtížně přečíst. Autor to částečně zachraňuje použitím vektorové grafiky, která v elektronické verzi poskytuje možnost přiblížení. V popisku obr. 7.5 je z neznámých důvodů dvojtečka a dvě tečky navíc.

Práce je psána ve slovenštině, ale obsahuje značné množství (i pro českého oponenta zjevných) překlepů (např. "neorónových", "vyždaujú", "portocol") a chyb v diakritice ("datovej"). Text budí dojem, že si jej autor po sobě pořádně nezkontroloval. Další problém jsou anglikanismy a nekonzistence v terminologii. Autor někde používá spojení "multiclass klasifikácia", jinde "viactriedna klasifikácia". Časté je také anglické pořadí slov (např. "Client Hello správa", "Recall metrika").

55
Realizační výstup

Realizační výstup sestává ze sady skriptů v jazyce Python o celkové délce 2597 řádků. Výsledek je funkční a odpovídá popisu v technické zprávě. Kód je vesměs pochopitelný. Některé funkce jsou komentovány velmi detailně, některé vůbec. V souboru requirements.txt by bylo vhodné doplnit verze použitých balíčků, jinak jsou výsledky těžko reprodukovatelné.

Orientace v souborech je však obtížnější, neboť skriptů je přes 20 a přiložené README popisuje jejich obecné použití u každého z nich samostatně. Bylo by vhodné popsat na konkrétním příkladu posloupnost akcí, kterou je třeba vykonat, pokud chce člověk např. pro daná data a aplikaci vytrénovat a zhodnotit autoenkodér.

70
Využitelnost výsledků

V práci pan Kudla ukazuje, že z parametrů TLS Client Hello lze pomocí autoenkodérů získat signál pro identifikaci aplikací bez znalosti obsahu  šifrované komunikace. Experimenty ukazují, že metoda může fungovat pro některé aplikace velmi dobře, avšak odlišnosti napříč třídami jsou značné.

Výsledky mají praktický potenciál, byť se jedná spíše o "proof-of-concept". Pro praktické použití by bylo nutné ověřit přístup na rozsáhlejší datové sadě a větším množstvím aplikací.

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

Evaluation level: zadání splněno

Zadání považuji za splněné ve všech bodech.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Dle https://app.fit.vut.cz/theses-checker práce čítá 75 normostran. Je tedy v obvyklém rozsahu.

Práce s literaturou

Bibliografie čítá 45 zdrojů, což je na bakalářskou práci velmi slušné. Všechny jsou relevantní řešenému tématu. Autor vhodně navazuje na referenční práci Dr. Burgetové k TLS fingerprintingu a využívá datovou sadu z této publikace. Prakticky všechny převzaté informace jsou korektně citovány. Zdroj chybí jen u číslování portů v sekci 2.1.3. U reference č. 1 je pak podivný autor ("3rd, D. E. E"). Jinak je vše v pořádku.

95
Topics for thesis defence:
  1. SNI tvoří značnou část vstupního vektoru. Jak významnou roli v klasifikaci hraje? Jak by podle vás výsledky vypadaly s šifrovaným nebo zašuměným SNI?
  2. Proč jsou některé aplikace detekovány výrazně lépe než jiné?
Points proposed by reviewer: 73

Grade proposed by reviewer: C

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