Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Ing. Martin Zmitko
Acad. year: 2022/2023
Supervisor: Ing. Radek Hranický, Ph.D.
Reviewer: Ing. Libor Polčák, Ph.D.
This thesis aims to lessen the impact of JShelter on the browsing experience. The goal was accomplished by measuring the performance of JShelter and analyzing the hotspots that impacted browsing performance the most. Finally, optimizations based on analysis results while leaving the high provided level of protection uncompromised were proposed and implemented. JShelter's fingerprinting protections based on image and audio data processing were optimized by extending them with a more efficient implementation using WebAssembly, which, in some cases, was faster by up to 50 times. The performance while loading web pages was increased with changes in configuration loading and injection mechanisms, on average by 13.5 %.
JShelter, fingerprinting, browser extension, web security, JavaScript, profiling, optimization, WebAssembly, AssemblyScript
Date of defence
12.06.2023
Result of the defence
Defended (thesis was successfully defended)
Grading
B
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Dr. Ing. Dušan Kolář (předseda) doc. Dr. Ing. Otto Fučík (člen) doc. Ing. Vladimír Janoušek, Ph.D. (člen) Ing. Vladimír Bartík, Ph.D. (člen) Ing. Tomáš Milet, Ph.D. (člen)
Supervisor’s reportIng. Radek Hranický, Ph.D.
Během řešení se objevilo několik překážek, které byly způsobeny náročností zadání. Pan Zmitko nicméně všechny úspěšně překonal a výsledkem je vynikající BP. Oceňuji především kvalitní realizaci experimentů a důsledné zhodnocení výsledků. Výsledky práce jsou přínosné a budou integrovány do nástroje JShelter.
Hodnotím na pomezí "A" a "B", blíže k "A".
Cílem práce bylo identifikovat a optimalizovat kritická místa nástroje JShelter. Zadání bylo náročnější s ohledem na nutnost zorientovat se v poměrně rozsáhlém kódu od více různých autorů. Další překážkou byla absence vhodných nástrojů pro profilování kódu u rozšíření webových prohlížečů. Zadání považuji za splněné v plném rozsahu.
Student využil doporučené literatury a další si sám aktivně dohledal. Práce obsahuje celkem 25 zdrojů. Kvalita i kvantita je na bakalářskou práci nadprůměrná.
Student byl během řešení aktivní a na konzultace docházel připraven. Mírné zpoždění práce nabrala při profilaci nástroje JShelter a identifikaci kritických míst. To bylo ale způsobeno spíše náročností zadání než nezodpovědností studenta. Student nicméně zdržení dohnal a práci stihl zdárně dokončit.
Práci jsem k připomínkování obdržel sice v předstihu, bohužel však v nekompletní verzi. Student nicméně mé připomínky zapracoval a chybějící pasáže dopracoval do kvalitní podoby.
Zdrojové kódy optimalizovaného rozšíření student zveřejnil na portálu Github pod licencí GNU GPL v3.0.
Grade proposed by supervisor: A
Reviewer’s reportIng. Libor Polčák, Ph.D.
Pan Zmitko dokázal splnit zadání práce. Navrhovaná urychlení vyžadovala detailní pochopení cizího kódu. Výsledky práce ukazují výrazná urychlení. Autor výsledky práce prezentoval na meetingu projektu JShelter a sklidil úspěch. Navrhuji práci hodnotit jako výbornou.
Evaluation level: obtížnější zadání
Zadání vyžadovalo pochopit technolgie okolo webových rozšíření, JavaScriptu, WebAssembly, měření a zlepšování výkonu a další. Vzhledem k tomu, že jde spíše o témata z magisterského studia, hodnotím zadání jako obtížnější.
Evaluation level: zadání splněno
Evaluation level: je v obvyklém rozmezí
Text práce je obsahově i délkou spíše v rozsahu práce diplomové. Ze čtení jsem neměl pocit, že by se nějaká část měla odstranit.
Práce má logickou strukturu a velmi pěkně se čte.
Dojem však kazí nepravdivé informace, které se v práci vyskytují. Např. na str. 10 je uvedeno, že JShelter brání pasivnímu získávání otisku, ale to není pravda.
Obrázky 4.1 a 4.2 jsou čitelné jen v elektronické verzi práce s velkým zvětšením. Narazil jsem ještě na jiné velmi drobné typografické nedostatky. Celkově je však práce typograficky i jazykově zdařilá.
Práce odkazuje na celou řadu zdrojů.
Zarazilo mě však, že sekce 3.1 zjevně přebírá klasifikaci ze článku, kde jsem hlavním autorem, aniž by tento článek v daném místě řádně ocitovala. Podobně by se dalších částech kapitoly 3.1 dalo najít řada míst, kde by se dalo odkázat na zdroj [20], či na zdroj ve [20] obsažený. Např. v sekci 3.2.3 je citovaná práce [18] a žádná další literatura, i když jsou v textu odstavce zmíněné informace, které v [18] zmíněné nejsou (implementace byla později změněna).
Práce obsahuje testy. Autorův přínos je jasně patrný. Rychlost kódu je dokumentována relevantními měřeními a pochopitelně okomentována.
Je škoda, že výsledky práce nebyly průběžně reportovány projektu JShelter. Na druhou stranu historie v gitu odhaluje vynikající práci autora. Jednotlivé úpravy jsou správně rozdělené a jasně a detailně komentované. Po dodatečném ověření správnosti lze očekávat převzetí celé řady, ne-li všech úprav projektem JShelter.
Grade proposed by reviewer: A
Responsibility: Mgr. et Mgr. Hana Odstrčilová