SMATANA, A. Vyhodnocení technik drobných lží při podvrhování otisku prohlížeče [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.
Pan Smatana splnil zadání a otestoval nástroje uvedené v zadání. Na obsahu samotných testů i na prezentaci výsledků by šlo výrazně zapracovat. Některé testy nedávají smysl, např. obr. 6.3 - velmi malá šachovnice, proč vadí kolize, které některé metody produkují? Závěrečné doporučení práce není prakticky aplikovatelné (metoda FPRandom se stejnou změnou aplikovanou na každý pixel obrázku je snadno fingerprinterem odstranitelná; stačí, aby do části obrázku umístil konkrétní barvu a čtením zjistil, jak byly tyto pixely změněné a tuto změnu snadno odstranil z celého obrázku).
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Informace k zadání | Práce navazuje na běžící aktivity týkající se rozšíření pro webové prohlížeče JShelter. Zadání bylo náročné z pohledu relativně velké volnosti, jak testovat, co testovat atd. Domnívám se, že zadání bylo formálně splněno, ale myslím si, že práce mohla být propracovanější a výsledky užitečnější. | ||
Práce s literaturou | Některé zdroje si student dohledal sám, převážně však pracoval se zdroji doporučenými. | ||
Aktivita během řešení, konzultace, komunikace | Student pracoval po většinu akademického roku, někdy byla aktivita vyšší, jindy nižší. Avšak velkou část roku potřeboval na to, aby vůbec pochopil problematiku a aby se podařilo navrhnout alespoň trochu smysluplné testy. Implementační práce tak začaly až poměrně pozdě. Ze spolupráce mám dojem, že jsem některé myšlenky musel opakovat několikanásobně a u některých nemám pocit, že by byly ve finálním produktu řádně zapracovány. | ||
Aktivita při dokončování | Většinu výsledku jsem viděl v předstihu, ale navrhoval jsem podstatné změny, které jsem však již neměl možnost dostatečně komentovat a ovlivnit. Ty nejpodstatnější doporučení byly studentem do práce zapracovány. | ||
Publikační činnost, ocenění | Není známá, výsledky práce nejsou publikovatelné na konferenci. |
Zadání bylo splněno a realizační výstup je funkční. Jedná se o relativně jednoduchou webovou aplikaci, která ale svůj účel plní. Technická zpráva je dosti stručná a byť obsahuje všechny klíčové části, najdeme v ní pasáže vyvolávající otázky. Nejslabší stránkou je však typografická a jazyková kvalita práce. Koncentrace formálních nedostaků je bohužel natolik vysoká, že mi neumožnuje navrhnout vyšší hodnocení, ačkoliv samotné dílo je zajímavé a přínosné. Práci hodnotím jako uspokojivou (D).
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Náročnost zadání | |||
Rozsah splnění požadavků zadání | |||
Rozsah technické zprávy | Dle app.fit.vut.cz/normostrany práce čítá 51 normostran, což je pod hranicí obvyklého rozsahu. Klíčové části práce jsou nicméně zpracovány dostatečně obsáhle, tudíž bych rozsah nebral jako zásadní problém. | ||
Prezentační úroveň technické zprávy | 75 | Práce má logickou strukturu a jednotlivé kapitoly na sebe navazují. Teoretická část celkem pěkně popisuje problematiku fingerprintingu a techniku Little Lies. Výhradu mám k obrázkům 2.2 a 2.3, ze kterých není zřejmé, jaké jsou odlišnosti, na kterých fingerprinting staví. Bylo by vhodnější ukázat např. dva různě vykreslené obrázky, podobně jako v následující kapitole na obr. 3.1. U obr 2.2 je navíc v popisku psáno "The image on the left", ale žádný obrázek nalevo zde není, pozicování je vertikální. Kapitola 3 by mohla být trochu obsáhlejší. Např. i techniky popsané v sekcích 3.2.1 až 3.2.3 šlo demonstrovat na příkladech, což by zvýšilo pochopitelnost a zároveň vhodně doplnilo rozsah práce. Kapitoly o návrhu a implementaci obsahují vše podstatné a princip testů je vcelku srozumitelný. Z kapitoly 5 je zřejmé, že každý test používá jinou sadu obrázků. Není však vysvětleno, proč tomu tak je, ani na základě jakých kritérií byly obrázky zvoleny. Experimentální zhodnocení je zpracováno velmi pěkně. Autor detailně popisuje jednotlivá měření, diskutuje výsledky a na základě nich navrhuje patřičné úpravy do rozšíření JShelter. V sekci 6.2 autor testuje také obrázky o rozměrech 2x2 a 4x4 pixely. Je však otázkou, jestli nějaký fingerprinter vůbec někdy bude takto malé obrázky používat. Chválím ale tabulku 6.1 s porovnáním zkoumaných metod. | |
Formální úprava technické zprávy | 51 | Práce je psána v angličtině a bohužel obsahuje velké množství pravopisných i stylistických nedostatků. Místy chybí interpunkce, případně jsou špatně použity předložky a členy. Autor často užívá budoucí čas ve větách, kde to není ani zapotřebí, ani vhodné. V časech panuje celkově nekonzistence. Dále se nevhodně střídá autorský plurál se singulárem, někdy i v jedné větě: "When I measured ..., we observed...". Některá sdělení je vůbec obtížné dešifrovat. Např. sekce 3.2.1 obsahuje odstavec s textem "When breaking the algorithms of X" a tímto odstavec končí. Podobné úkazy vzbuzují otázku, jestli si autor po sobě práci vůbec přečetl. Typografických nedostatků je také mnoho. Autor věnuje neskutečné množství prostoru odkazům na různé sekce a podsekce, mnohdy zcela zbytečně, viz odkaz na kapitolu 5 přímo pod nadpisem kapitoly 5. Definice proměnné X u obrázků 4.1 až 4.3 je naprosto zbytečná a pochopitelnost spíše zhoršuje. Navíc lze snadno zaměnit s "metodou X %", kterou autor definoval dříve. Mimo to, stejný identifikátor X se používá také u metody "X LSBs" a hodnota prahu (threshold) je pojmenována také X. Jen anglická abeceda má přitom 26 písmen, ze kterých mohl autor volit. Pan Smatana zřejmě rád používá výčty, protože ty lze nalézt prakticky všude, i na místech, kde nemají žádný přínos. Např. v sekci 3.2.2 je ve dvou odrážkách popsáno, jak funguje farbling v prohlížeči Brave, aby to pak bylo ještě jednou zopakováno hned v následující větě. Doporučil bych alespoň nastudovat pravidla pro psaní výčtů. Dalším velmi rušivým jevem byly časté odstavce o jediné větě, které se vyskytovaly snad v každé kapitole. | |
Práce s literaturou | 80 | Bibliografie zahrnuje celkem 20 zdrojů, jejichž výběr je relevantní vzhledem ke zvolenému tématu. Množství pramenů je přiměřené bakalářské práci. Prohřešky vůči citační etice jsem neobjevil. | |
Realizační výstup | 73 | Realizační výstup práce představuje webovou stránku s testy. Tu tvoří frontend v jazyce TypeScript + HTML a jednoduchý backend na bázi Flask v Pythonu. Zdrojové kódy mají dohromady něco přes 4000 řádků. Testy fungují dle návrhu a zadání splňují. Samotná implementace však nepředstavuje nijak revoluční počin a funkcionalita je v principu docela jednoduchá. | |
Využitelnost výsledků | Realizační výstup může pomoci vývojářům nástroje JShelter v testování dopadů implementace Little Lies. Co se týče doporučení ohledně úprav JShelter, mám pochybnosti, zda by zvolená úprava měla patřičný efekt. Chápu-li správně, že metoda "FPRandom off" generuje jediné číslo na celou kreslící plochu, pak lze na jakémkoli pixelu známé barvy snadno vypočítat, o kolik se změnil a ochranu tak obejít. |
eVSKP id 152586