Analysis and detection of WireGuard traffic
Analysis and detection of WireGuard traffic
Type of document
bakalářská prácebachelor thesis
Author
Pavel Valach
Supervisor
Čejka Tomáš
Opponent
Fornůsek Simona
Field of study
Informační bezpečnost 2021Study program
InformatikaInstitutions assigning rank
katedra informační bezpečnostiRights
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Show full item recordAbstract
Monitorování internetového provozu se vzhledem k požadavkům dnešního světa stává nutností. Ve své práci analyzuji protokol WireGuard, který se pokouším detekovat v síťovém provozu. Následně detekuji kategorii provozu procházejícího uvnitř šifrovaného tunelu, aniž bych měl přístup k dešifrovanému obsahu. Zjišťuji zde, že jsem schopen detekovat přítomnost protokolu WireGuard ze zachycených paketů (neboli provádím Deep Packet Inspection -- DPI), a vytvářím detektor pro exportér toků ipfixprobe, který je součástí frameworku NEMEA pro analýzu síťového provozu. Nicméně, DPI vyžaduje přístup k obsahu síťového provozu, a také nedostačuje ke zjištění, jaký druh provozu tunelem prochází. Zde přichází ke slovu strojové učení. Posbíral jsem data pro sedm (7) kategorií provozu, a to jak v původní podobě, tak zapouzdřené v protokolu WireGuard. Následně jsem využil několika klasifikačních algoritmů, specificky AdaBoost a LightGBM, abych natrénoval rozhodovací strom, který pak posloužil jako základ mých modelů. Trénování proběhlo pro dva scénáře: 1) zda je provoz WireGuard či nikoliv, a 2) detekce kategorie provozu (jako např. VoIP či prohlížení webu). Výstupem práce je funkční detektor WireGuardu pro ipfixprobe, parametry natrénovaných modelů pro detekci WireGuardu a různých tříd provozu z charakteristik síťového provozu, zhodnocení přesnosti a výkonu detekce, a také sesbíraná datová sada. The monitoring of Internet traffic is becoming a necessity due to the requirements of today's world. In my work, I analyze the WireGuard protocol to develop an algorithm to detect it in network traffic. Moverover, the further goal of this work is to detect the category of the traffic passed inside the encrypted tunnel, without knowing the inner contents. In my work, I find that I can detect the presence of WireGuard from the packet data and create a detector for the ipfixprobe flow collector, which is part of the NEMEA framework for network traffic analysis. However, deep packet inspection requires the traffic content to be parsed and is insufficient to reveal the type of traffic contained within. That is where machine learning (ML) comes in. I collected seven (7) categories of data, both in cleartext and encapsulated in the WireGuard protocol. Then, I used several different ML classification algorithms, specifically AdaBoost and LightGBM, to train a decision tree that forms the basis of my models. They are trained to detect both whether the traffic is WireGuard or not and to detect the type of traffic (such as VoIP or web browsing). The result of my work is a functional processing plugin for ipfixprobe, the parameters of machine-learned models trained to detect WireGuard and various classes of traffic from IP flow characteristics, an evaluation of the throughput and precision of the software, and also a traffic dataset.