SHCHAPANIAK, A. Optimalizace systému Suricata prostřednictvím metadat [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.

Posudky

Posudek vedoucího

Šišmiš, Lukáš

Student svědomitě vypracoval celou bakalářskou práci s obtížnějším zadáním. V průběhu akademického roku své výsledky průběžně konzultoval a na konzultace byl vždy řádně připraven. Výsledky jak implementační, tak textové práce proto hodnotím velice kladně. Testování výsledků práce dokazuje poctivé vypracování práce a hodnotné rozšíření zadání. Cíle práce byly splněny a byly dosaženy výsledky, na které je možné navázat další experimenty. Tím, že text práce je v anglickém jazyku, výsledky mají potenciál v mezinárodních kruzích. Jako souhrnné hodnocení proto navrhuji stupeň A (výborně) .

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Cílem práce bylo navrhnout a implementovat metadata, která by se předávala mezi systémy DPDK Prefilter a Suricata. Práce si vyžadovala prozkoumání možností uložení metadat do jednotlivých paketů. Pro předávání metadat bylo nutné zvolit takové místo, které by neovlivnilo funkčnost obou systémů a zároveň zbytečně neznižovalo jejich výkonnost. Jako ukázkový příklad předávání metadat v směru z DPDK Prefilteru do Suricaty byla zvolena extrakce dat z hlaviček paketů. V opačném směru se předávala identifikační čísla detekovaných pravidel Suricaty. Výsledky práce ukazují novou cestu pro akceleraci Suricaty pomocí vysokovýkonného zpracování paketů a předávání paketových metadat. Výsledky práce také ukazují, že funkčnost systému nebyla ovlivněna. Práce je rozšířena o integrační a výkonnostní testy, které zajišťují průběžné testování obou systémů. Nejen z důvodu nutnosti nastudování obou komplexních systémů, ale také z důvodu navržení vysokooptimalizovaného řešení, hodnotím tuto práci jako nadprůměrně obtížnou. Student neměl problém s obtížností, průběžně spolupracoval a také rozšířil práci o integrační a výkonnostní testy.
Práce s literaturou Student samostatně vyhledal všechny potřebné studijní materiály.
Aktivita během řešení, konzultace, komunikace Student během řešení diplomové práce prokazoval velkou aktivitu. Pravidelně a průběžně konzultoval se svým vedoucím. Na konzultace byl vždy připraven a dané problematice rozuměl. Navrhovaná řešení oveřoval.
Aktivita při dokončování Práce byla dokončena v předstihu. Obsah i výsledky byly před odevzdáním nejen konzultovány, ale také prezentovány širší skupině výzkumníků.
Publikační činnost, ocenění Student pracoval na open-source projekech a své výsledky také nabídl pro další využití v komunitě.
Navrhovaná známka
A
Body
93

Posudek oponenta

Fukač, Tomáš

V rámci práce vniklo velmi zajímavé a přínosné rozšíření systémů DPDK Prefilter a Suricata, které umožňují urychlovat zpracování síťového provozu odsunutím náročných operací mimo Suricatu. Navazující práce tak budou moci využít vniklé univerzální rozhraní pro akceleraci náročných operací, jakou je například vyhledávání vzorů v síťovém provozu. Realizační výsledek je tak velmi přínosný a má velký potenciál pro budoucí použití. Text vzniklé práce je však špatné úrovně a nepopisuje dostatečně návrh a implementaci. Není tak možné dostatečně odlišit části vytvořené autorem práce. Práci proto i přes velmi zajímavý a povedený výsledek kvůli nízké kvalitě předloženého textu hodnotím stupněm C - dobře .

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Zadání práce si vyžadovalo důkladně prostudovat knihovnu DPDK a systémy DPDK Prefilter a Suricata. Kvůli nedostatečné úrovni dokumentace knihovny DPDK, a především pak DPDK Prefilteru, bylo nutné pro pochopení a rozšíření funkcionality o metadata důkladně prostudovat zdrojové kódy. Podporu pro metadata bylo následně nutné doimplementovat i do rozsáhlého systému Suricata. Z těchto důvodů zadání této práce považuji za náročnější.
Rozsah splnění požadavků zadání Všechny body zadání byly splněny v plném rozsahu. Integrační a výkonnostní testy, které jsou prezentovány jako rozšíření nad rámec práce, jsou nezbytné pro splnění 3. bodu zadání.
Rozsah technické zprávy Rozsah textu práce je přibližně 41 normostran a je doprovázen řadou obrázků. Celkový rozsah odhaduji na 56 normostran, což téměř odpovídá obvyklému rozmezí bakalářských prací.
Prezentační úroveň technické zprávy 65 Jednotlivé kapitoly práce na sebe logicky navazují, avšak jejich rozsah často neodpovídá popisované problematice. Příkladem jsou stěžejní kapitoly popisující implementaci a naměřené výsledky, které obsahují jen minimum textu. Text práce se pak velmi špatně čte. Jednotlivé odstavce textu na sebe často špatně navazují, působí spíše jako neucelený výčet informací. Příkladem může být například kapitola 2.3.3, která v jednom krátkém odstavci velmi obecně představí knihovnu DPDK, následně jsou bez jakéhokoliv návaznosti vyčteny výhody a nevýhody, další odstavec opět popisuje výhody použití a princip knihovny je zběžně popisován až na konci této kapitoly. Kapitola 5.1.1, která by měla popisovat implementaci, pak obsahuje jen výčet přidaných souborů bez jakékoli doprovodného textu, význam výčtu souborů je určen jen nadpisem kapitoly. Obdobně je i kapitola 2.1 napsána jen v odrážkách. Čitelnost textu zhoršuje i používání zkratek, které jsou vysvětleny až o několik odstavců dále v textu, uvádění obrázků, které nejsou v textu nijak vysvětleny a popsány atd. Velká část textu navíc působí jako výstup překladače či generátoru textu. Pro čtenář, který se neorientuje dobře v popisované problematice, je tak text velmi těžce pochopitelný.
Formální úprava technické zprávy 80 Práce je psaná v anglickém jazyce a anglický text obsahuje minimum chyb a překlepů. Části psané českým jazykem mají kvalitu horší. Text práce pak z typografického hlediska obsahuje občas jednoslabičné předložky na konci řádku (především v česky psaném textu),  samostatný řádek na konci stránky (např. kapitola 4.5.1), samostatný obrázek na stránce (např. str. 22).
Práce s literaturou 60 V práci je použito pouze několik dostatečně kvalitních pramenů, většina uvedených zdrojů jsou pak jen webové stránky a blogy. Autor práce pak často odkazuje namísto primárních zdroj pouze text práce, ze které vycházel (citace 23). Kapitola popisující DPDK Prefilter však neobsahuje referenci žádnou, což mohlo být způsobené nedostupností publikací v době psaní textu práce. Z textu je však zřejmé, že je tato část převzata. Naopak není úplně zřejmé, kde začíná popis návrhu implementovaného rozšíření.
Realizační výstup 90 Realizačním výstupem je rozšíření systému DPDK Prefilter a Suricata o podporu metadat. Rozšíření je demonstrováno dekódováním a předáváním informací z hlaviček paketů do systému Suricata. Správná funkcionalita byla ověřena integračními testy a přínos byl demonstrován výkonnostními testy. Nově vzniklé soubory jsou dobře odlišeny od původních (výčet v textu práce), nutné úpravy systému Suricata však nikoliv. Soubory jsou navíc umístěny v jiné složce, než text práce uvádí. Realizační výstup je plně funkční a dosažené výsledky byly prezentovány výzkumné skupině ANT. 
Využitelnost výsledků Realizačním výsledkem je rozšíření systémů DPDK Prefilteru a především systému Suricata o možnost předávání spolu s přijatým paketem metadata. Metadata mohou být k paketu přidávána jak v DPDK Prefilteru, případně v budoucnu již v síťové kartě. Umožňují tak v systému Suricata přeskočit některé náročné operace a výrazně tak urychlit zpracování síťových paketů. Toto rozšíření nabízí obecné rozhraní pro přenos metadat a má velký potenciál při urychlování zpracování síťového provozu.
Navrhovaná známka
C
Body
70

Otázky

eVSKP id 144390