KAPRÁL, L. Modul pro akceleraci lámání hesel pomocí Rainbow Tables [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.

Posudky

Posudek vedoucího

Hranický, Radek

Řešení je napsáno v Pythonu a není nijak optimalizováno na výkon, což ale zadání přímo nevyžadovalo. Zadání bylo splněno a výsledný software je funkční a svůj účel plní. Jako vedoucí hodnotím především aktivitu a ta byla velmi dobrá. Student konzultoval nejen s vedoucím, ale technické záležitosti kolem integrace diskutoval také s dalšími vývojáři systému Fitcrack. Z pohledu vedoucího tedy hodnotím stupněm "B".

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Cílem práce bylo vytvořit modul pro hledání hesel pomocí tzv. Rainbow Tables a integrovat jej do existujícího nástroje pro lámání hesel. Student využil doporučení vedoucího a zvolil jako cílovou platformu systém 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. Zadání považuji za splněné v plném rozsahu.
Práce s literaturou Student využil doporučené literatury a další si sám aktivně dohledal. Výběr pramenů považuji za vhodný vzhledem k tématu. Kvalita i kvantita odpovídá bakalářské práci.
Aktivita během řešení, konzultace, komunikace Student byl poměrně dosti aktivní, dohodnuté termíny dodržoval a na konzultace docházel připraven. Student pracoval systematicky. Řešení nejprve vytvořil a otestoval samostatně a následně jej začal integrovat do systému Fitcrack.
Aktivita při dokončování S integrací modulu mohl student začít dříve a vyhnul by se tak řešení nejrůznějších komplikací na poslední chvíli. Všechny překážky nicméně úspěšně překonal a práci mi odevzdal ke kontrole v předstihu před odevzdáním. Mé připomínky (zejména ke kapitole o experimentech) student zapracoval.
Publikační činnost, ocenění Zdrojové kódy práce student zveřejnil jako open-source na portálu Github pod licencí MIT.
Navrhovaná známka
B
Body
80

Posudek oponenta

Zobal, Lukáš

Textová část práce je srozumitelná a vhodně strukturovaná. Praktickým výsledkem práce je funkční modul nástroje Fitcrack, který bude nasazen do produkční verze. Implementačně byla však práce pojata velmi minimalisticky. Rozsah kódu je velmi malý, nízké kvality, a klíčová funkcionalita byla převzata z existujícího řešení. Výpočet pak probíhá pouze na serveru a nevyužívá tak GPU ani paralelní podstaty nástroje Fitcrack. Přesto je však výsledek prakticky využitelný, a dle požadavků zadání.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Student musel nastudovat problematiku bezpečnosti hesel, rozsáhlý existující nástroj pro lámání hesel, a navrhnout do něj nový modul provádějící specifický útok. Následně bylo třeba modul implementovat, jak po stránce logiky, tak webového rozhraní. Zadání tedy hodnotím jako průměrně obtížné.
Rozsah splnění požadavků zadání Zadání bylo zcela splněno, i když implementace modulu byla minimalistická, s využitím existujícího open-source řešení.
Rozsah technické zprávy Práce je v obvyklém rozsahu. Sekce 6.2 byla pojata trochu nešťastně, a student zde slovně popisuje funkcionalitu jednotlivých funkcí ve svém programu. Bylo možné popsat více vysokoúrovňově. Naopak sekce 5.7 by zasloužila mnohem detailnější popis. Z aktuálního jednoho odstavce čtenář nemůže pochopit, jak rozšiřovaný systém Fitcrack funguje.
Prezentační úroveň technické zprávy 80 Práce je vhodně strukturována a psána dobře pochopitelným způsobem. Některé sekce (například 6.2, 7.1) jsou až příliš podrobné a zasloužily by diagram pro demonstraci hlavních principů.
Formální úprava technické zprávy 70 Po typografické stránce působí práce jako celek dobře. Neobsahuje velké množství překlepů. Avšak diagramy v kapitole 5 jsou vizuálně velmi odbyté.
Práce s literaturou 85 Student volil pro svoji práci relevantní zdroje. Citace jsou správně používány a student vhodně odděluje citované texty od vlastních.
Realizační výstup 55 Přesto, že zadání bylo splněno a výsledkem je nový modul nástroje Fitcrack, samotná implementační práce je z mého pohledu minimální. Výsledný kód se skládá z několika jednotek Python skriptů, přičemž jádro práce (tedy algoritmus generování a vyhledávání v Rainbow table) student převzal z existujícícho open-source řešení. Hlavní část vlastní implementace tak spočívá v převážně pomocných funkcích typu zpracování parametrů, převodních tabulek a práce s databází. Samotná databáze je implementována nevhodně, jako sada řetězců  jazyka SQL. Student mohl zvolit vhodnější způsob, například framework SQLAlchemy či jinou alternativu. Následně byla také implemetována webová stránka nového modulu nástroje Fitcrack. Zde však, předpokládám, došlo také převážně k inspiraci již existujícími stránkami jiných útoků .
Využitelnost výsledků Výsledkem práce je nový modul nástroje pro lámání hesel Fitcrack, který umožňuje práci s Rainbow tables. Samotná práce staví na existujícím open-source řešení, a jeho funkcionalitu rozšiřuje jen minimálně. Dle vyjádření studenta je v plánu tento modul v blízké době zahrnout i do produkční verze nástroje.
Navrhovaná známka
D
Body
65

Otázky

eVSKP id 147707