WAGNER, L. Asociační útok s nástrojem hashcat v distribuovaném prostředí [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.
Aktivitu studenta považuji za nadprůměrně dobrou. K řešení práce se postavil zodpovědně, zadání úspěšně splnil a své dílo poskytl k dalšímu využití. Technická zpráva mohla být trochu delší, ale obsahuje vše podstatné, včetně experimentálního ověření funkcionality vytvořeného řešení. Jako vedoucí jsem s výkonem studenta velmi spokojen a hodnotím jej stupněm "B".
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Informace k zadání | Cílem práce bylo implementovat rozšíření systému Fitcrack, který vznikl v rámci projektu MV ČR TARZAN 2015-2020, a který je dále rozvíjen komunitou jako open-source. Účelem rozšíření je podpora pro tzv. "asociační útok." Zadání hodnotím jako obtížnější s ohledem na rozsah nutných úprav a různorodost subsystémů, do kterých bylo nutné zasáhnout. Považuji jej za splněné v plném rozsahu. | ||
Práce s literaturou | Student využil doporučené literatury a další si sám dohledal. Zdrojů mohlo být více, nicméně výběr považuji za relevantní řešenému tématu. | ||
Aktivita během řešení, konzultace, komunikace | S panem Wagnerem se spolupracovalo velmi dobře, protože se dokázal samostatně zorientovat v řešené problematice a navrhnout řešení velmi slušné kvality. Dohodnuté termíny dodržoval a na konzultace docházel připraven. | ||
Aktivita při dokončování | Práci jsem obržel k připomínkování v dostatečném předstihu. Mé připomínky student následně zapracoval. | ||
Publikační činnost, ocenění | Student zveřejnil výstupy své práce na portálu Github a zároveň je poskytl vývojářům systému Fitcrack jako Pull request. Výstupy práce budou zahrnuty do produkčního řešení a vydány v příští verzi. |
Výslednou diplomovou práci a studentovo úsilí hodnotím jako dobré (tedy stupněm C). Student manifestoval dobré návyky z oblasti softwarového inženýrství; v rámci práce byl schopen se popasovat z cizím zdrojovým kódem netriviálního systému a doplnit do něj poptávanou funkcionalitu, kterou následně experimenty ověřil. Tím lepším z diplomové práce je implementace samotná, tím horším pak stav technické zprávy (mé komentáře výše). Ve výsledku se tak jedná o šikovně realizované, standardně kvalitní, dobré inženýrské dílo z provenience FIT VUT.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Náročnost zadání | Zadání navazuje na vědecké aktivity kolegy Hranického a skupiny NES@FIT v oblasti distribuované obnovy hesel. Práce rozšiřuje možnosti již existujícího značně netriviálního systému FITcrack, ve kterém měl student provést změny hned na několika místech - backend, frontend a napojení na aplikaci třetí strany. | ||
Rozsah splnění požadavků zadání | Všechny body zadání byly splněny. | ||
Rozsah technické zprávy | Práce má 50 stran textu v husté LaTeXové šabloně, 54 stran i s pomocnými provozy. V rámci na fakultě vzniklého počítadla https://app.fit.vut.cz/normostrany má 65,09 normostran, 97% textu a 3% obrázků. Dle výše uvedeného je tedy přesně na hranici mezi minimálním a obvyklým rozmezím DP. | ||
Prezentační úroveň technické zprávy | 75 | Práce je logicky strukturovaná a její (pod)kapitoly odrážejí body zadání. Objevují se zde ale pasáže, které podle mě ne úplně souvisí s problematikou práce, byť nejsou v zásadě na škodu (např. kapitola 3, případně poměrně zbytečná tabulka 2.1). Jiné části jsou ale poměrně těžko stravitelné v kontextu toho, co se snaží říci (např. podkapitola 4.2.5, kde bych spíš čekal ER diagram; některá místa kapitoly 6). Stojí za to ale zmínit, že kolega na správných místech využívá UML, např. diagramy tříd, které zvýšují pochopitelnost. | |
Formální úprava technické zprávy | 75 | Práce je psána česky bez zásadnějších prohřešků vůči gramatice. V práci se vyskytují anglikanismy (např. na str.6 "enginem pravidel", na str. 7 "mangling pravidla"), ale nekazí pochopitelnost. Snímky obrazovky jako obrázky 5.4 nebo 6.2 by si zasloužily být větší, kvůli lepší čitelnosti textů v nich. V práci je korektně využita typografie na anotování objektů, případně zvýraznění různých pojmů a termínů. | |
Práce s literaturou | 65 | Na diplomovou práci mi počet bibliografických zdrojů 20 přijde poměrně malý. Nicméně zároveň je nutné dodat, že práce je opatřena celou řadou dalších odkazů ve formě poznámek pod čarou, kde mnoha z nich by slušela konverze do plnohodnotného bibliografického zdroje. Výhrady mám i k něterým metadatům citací, např. [1] a [2] chybí dalí informace o autorech či názvu, u [18] a [19] datum verze stránky (které v zápatí prokazatelně je). | |
Realizační výstup | 87 | Implementace podpory asociačního útoku (viz tento pull-request tímto pull-requestem (viz https://github.com/nesfit/fitcrack/pull/95 ) se sestává z několika úprav na různých místech a v různých subsystémech platformy FITcrack, konkrétně: * v části BOINC logika na klientu a serveru v C/C++ a šablony v XML * v části RESTového backendu v Pythonu * v části front-endu postaveného na Vue v JavaScriptu Zdrojové kódy jsou přiměřeně komentované a pochopitelné. Činnost výsledného softwarového díla byla oponentovi zdárně oddemonstrována. S velkým povděkem také kvituji studentovu analýzu různých způsobů paralelizace obnovy hesel, byť režim s dělením pravidel asi nebude až tak populární (je však skvělé, že je k dispozici, protože tento druh netriviální automatizace je velkým benefitem systému FITcrack). | |
Využitelnost výsledků | Funkcionality popsané v kapitole o návrhu bylo implementací dosaženo. Platforma FITcrack je rozšířena o podporu asociačního útoku, o nějž báze uživatelů nástroje FITcrack má nepochybně velký zájem. Experimenty prokázaly, že asociační útok je časově úspornější oproti slovníkovému (v tabulkách kapitoly 7 hodnota "čas výpočtu"). Nicméně experimenty také ukázaly značnou režii aktuálního FITcracku při orchestraci útoku (tabulka 7.5 a porovnání "času celkem"). Zároveň v kapitole 7 chybí některé z měřených výsledků, např. v tabulkách 7.6 a 7.7 chybí vybrané údaje (např. řádky "efektivita"). |
eVSKP id 147179