ZÁVADA, T. Fuzzer založený na genetickém programování [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2022.
Cílem bakalářské práce pana Závady je vytvoření testovacího nástroje využívající fuzzing testování protokolu DLSM/COSEM. Pro dosažení optimalizace měl nástroj využívat genetických algoritmů. Vytvořený fuzzer měl otestovat ve vytvořené experimentální síti. Zadání práce považuji za obtížné, zejména proto, že neexistuje mnoho relevantních odborných zdrojů. Práci ztížilo také to, že se autor rozhodl k implementaci využít jazyk C#, což mu znemožnilo použití některých podpůrných knihoven. Do obhajoby semestrálního projektu student pracoval samostatně a pravidelně konzultoval dosažený postup a další řešení práce. Dále však konzultoval až několik týdnů před odevzdáním práce. Ačkoliv zadání považuji za splněné, na kvalitě práce a její využitelnosti se odmlka negativně projevila a z práce je patrné, že byla sepisována na poslední chvíli. Vytvořený fuzzer v současné podobě není příliš použitelný, jedná se spíše o demonstraci přístupu, kdy je průběžně zjišťována míra pokrytí kódu testovaného serveru a na základě toho jsou generována testovací data. Princip je demonstrován na testování komunikace s DLMS serverem Gurux.net. Řešení se skládá z několika součástí, které spolu komunikují, princip komunikace není dostatečně vysvětlen. Není vysvětleno, co je nutné udělat pro použití fuzzeru k testování jiného serveru. Pro lepší orientaci uživatele by bylo vhodné oddělit zkompilované spustitelné soubory od zdrojových kódů. Podstatnou chybou je chybějící popis spuštění a použití vytvořených nástrojů. Uživatel tak nemá vysvětlení, co konfigurační hodnoty, které musí uvést, znamenají. Po formální stránce je práce slabší. Práce je rozdělena do deseti kapitol, které na sebe ne vždy dobře navazují. Její úroveň snižují četné pravopisné a typografické chyby, některé formulace nejsou zcela jasné. Student používá 25 informačních zdrojů, některé z nich nejsou příliš odborné, některé obrázky jsou přímo převzaté. O tom, že autor práci před odevzdáním řádně nezkontroloval svědčí také chybějící reference v obsahu nebo chybné datum v prohlášení o původnosti díla. Přes všechny uvedené nedostatky a s přihlédnutím na obtížnost zadání práci po vysvětlení činnosti jednotlivých částí doporučuji k obhajobě a navrhuji hodnocení E/52 bodů.
Bakalářská práce se zabývá Fuzzerem založeným na genetickém programování. Práce obsahuje množství hovorových výrazů. Student při psaní nevyužil požadované šablony pro závěrečnou práci, proto práce obsahuje velkém množství formálních nedostatků. Mezi některé nedostatky patří přetékání textu přes požadované okraje, popisky obrázků a tabulek jsou psány stylem normálního textu, v seznamu obrázků je zobrazena chyba. Text u části obrázků je velice špatně čitelný až nečitelný. Popisky tabulek jsou vloženy až pod tabulkami. Práce obsahuje velké množství typografických chyb. Student nedodržel požadovanou normu při práci s literaturou. Vždy cituje převážnou celé odstavce textu. Kapitola 3, zabývající se popisem genetických algoritmů, je sepsána velice povrchně, v práci jí je věnována jediná strana. Nebylo by na závadu práci si po sobě přečíst, opravit poděkování a datum. Praktickou část práce nebylo možné úspěšně otestovat. Student popsal celé grafické rozhraní pouze jedinou stranou textu a výstupy z nástroje jsou popsány velice obecně v jediném odstavci. Z mé strany nebylo možné ověřit, zda program funguje dle požadavků vedoucího. Nenalezl jsem žádný výstupní logovací soubor nebo jiný typ výstupu aplikace. Po úspěšném spuštění došlo k vygenerování pcap souboru se zachycenou komunikací mezi GURUX serverem a klientem. Tato zachycená komunikace byla jediným výstupem aplikace. Chybí podrobnější popis činnosti programu nebo vývojový diagram programu. Doporučuji při obhajobě provést ukázku nástroje i s prezentací výstupů nástrojů. Při zadávání náhodných hodnot do vstupů aplikace docházelo ke stejným výsledkům a dokonce i k pádu celé aplikace. Celá práce obsahuje velkém množství formálních nedostatků a některé kapitoly jsou sepsány pouze na jedinou stranu. Jako největší výtkou je nepopsání funkce celé aplikace s popisem a prezentací výstupů aplikace. Pokud student při obhajobě ukáže funkčnost aplikace a prezentuje výsledky dá se práce považovat za dostatečnou. V aktuálním stavu však nemohu doporučit práci k obhajobě a navrhuji F/40.
eVSKP id 141319