Detail práce

Detekce kódu v jazyce JavaScript se známými bezpečnostními chybami

Diplomová práce Student: Randýsek Vojtěch Akademický rok: 2021/2022 Vedoucí: Polčák Libor, Ing., Ph.D.
Název anglicky
Detecting JavaScript Code with Known Vulnerabilites
Jazyk práce
český
Abstrakt

Prace se zabyva problematikou detekce zranitelnych JavaScriptovych knihoven a NPM balicku. Na zaklade existujicich studii shrnuje technologicky zaklad platformy Node.js a dale se hloubeji venuje vybranym zranitelnostem systemu NPM a stavajicim ochrannym prostredkum. Bylo vytvoreno rozsireni prohlizece Chrome, ktere ma za cil detekovat a opravit JavaScriptovy kod se znamymi zranitelnostmi na strane weboveho prohlizece. Vytvoreny nastroj byl otestovan pruchodem 50 000 webovymi strankami. Bylo detekovano 8 129 zranitelnych skriptu. Rozsireni bylo publikovano na Chrome Web Store pod nazvem JS Vulnerability Detector.

Klíčová slova

JavaScript, Node.js, NPM, detekce zranitelnosti, klientsky JavaScript, abstraktni syntakticky strom, rozsireni weboveho prohlizece, National Vulnerability Database, Snyk, Chrome, Manifest V3, crawl, hash, JSON

Ústav
Studijní program
Informační technologie a umělá inteligence, specializace Informační systémy a databáze
Soubory
Stav
obhájeno, hodnocení A
Obhajoba
22. června 2022
Oponent
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 oponenta a na další 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 A.

Otázky u obhajoby
  1. Zkoušel jste zda-li Vaše řešení nastavené v režimu opravy nenarušuje funkcionalitu prohlížených webových stránek? Pokud ano, jak tento problém řešíte?
  2. Vaše řešení aktuálně pracuje s databází, která je přidružena k doplňku a dostupná lokálně. Což však může být do budoucna nešikovné, zvlášť pro rozšiřování databáze zranitelností. Pokuste se alespoň jednoduše navrhnout, případně rozšířit schéma zachycené na Obrázku 5.1, tak aby tento problém řešilo.
  3. Jak vzniká databáze zranitelností? V jaké formě jsou uloženy jednotlivé zranitelnosti? Jakým způsobem systém zpracuje syntaktickou chybu?
Komise
Burget Radek, doc. Ing., Ph.D. (UIFS FIT VUT), předseda
Bartík Vladimír, Ing., Ph.D. (UIFS FIT VUT), člen
Grégr Matěj, Ing., Ph.D. (UIFS FIT VUT), člen
Matoušek Petr, doc. Ing., Ph.D., M.A. (UIFS FIT VUT), člen
Meduna Alexander, prof. RNDr., CSc. (UIFS FIT VUT), člen
Polčák Libor, Ing., Ph.D. (UIFS FIT VUT), člen
Citace
RANDÝSEK, Vojtěch. Detekce kódu v jazyce JavaScript se známými bezpečnostními chybami. Brno, 2022. Diplomová práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2022-06-22. Vedoucí práce Polčák Libor. Dostupné z: https://www.fit.vut.cz/study/thesis/23311/
BibTeX
@mastersthesis{FITMT23311,
    author = "Vojt\v{e}ch Rand\'{y}sek",
    type = "Diplomov\'{a} pr\'{a}ce",
    title = "Detekce k\'{o}du v jazyce JavaScript se zn\'{a}m\'{y}mi bezpe\v{c}nostn\'{i}mi chybami",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2022,
    location = "Brno, CZ",
    language = "czech",
    url = "https://www.fit.vut.cz/study/thesis/23311/"
}
Nahoru