Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Ing. Martin Zmitko
Ak. rok: 2022/2023
Vedoucí: Ing. Radek Hranický, Ph.D.
Oponent: Ing. Libor Polčák, Ph.D.
Cílem této práce je zmírnit dopad nástroje JShelter na výkon při prohlížení webu. Toho bylo docíleno měřením výkonu nástroje JShelter a analýzou jeho kritických míst s největším vlivem na plynulost prohlížení, na jejímž základu byly navrhnuty a implementovány optimalizace, které plynulost zlepšily se zachováním stejně vysoké úrovně ochrany. Mechanizmy ochran založené na zpracování objemných zvukových a obrazových dat byly zrychleny rozšířením o efektivnější implementaci využívající technologii WebAssembly, což přineslo až padesátinásobné zrychlení. Celkový výkon načítání stránek byl zlepšen úpravami mechanizmů načítání konfigurace a zavádění ochrany do stránek, průměrně o 13,5 %.
JShelter, fingerprinting, rozšíření prohlížeče, webová bezpečnost, JavaScript, profilování, optimalizace, WebAssembly, AssemblyScript
Termín obhajoby
12.06.2023
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
B
Průběh obhajoby
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.
Otázky k obhajobě
Jazyk práce
čeština
Fakulta
Fakulta informačních technologií
Ústav
Ústav informačních systémů
Studijní program
Informační technologie (BIT)
Složení komise
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)
Posudek vedoucíhoIng. 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.
Známka navržená vedoucím: A
Posudek oponentaIng. 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.
Stupeň hodnocení: 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ší.
Stupeň hodnocení: zadání splněno
Stupeň hodnocení: 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.
Známka navržená oponentem: A
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová