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.

Posudky

Posudek vedoucího

Hranický, Radek

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

Dílčí hodnocení
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.
Navrhovaná známka
B
Body
80

Posudek oponenta

Veselý, Vladimír

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.

Dílčí hodnocení
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").
Navrhovaná známka
C
Body
78

Otázky

eVSKP id 147179