Graduate papers
  
Description of the graduate paper
Form of studies Master
Title of the study programm Computer Systems
Title in original language Metodoloģiskā ietvara izstrāde klienta puses drošības ievainojamību noteikšanai tīmekļa lietojumprogrammās
Title in English Design of a Methodological Framework for Detecting Client-Side Security Vulnerabilities in Web Applications
Department Faculty Of Computer Science Information Tehnology And Energy
Scientific advisor Aleksejs Jurenoks
Reviewer Ingars Eriņš
Abstract Atslēgvārdi: klienta puses drošība, JavaScript, DOM balstīts XSS, statiskā analīze, dinamiskā analīze. Šis pētījums ir vērsts uz trim atlasītiem klienta puses ievainojamību veidiem mūsdienu JavaScript balstītās lietotnēs: ievainojamībām, kas rodas pārlūkprogrammā izpildītā kodā, pārlūkprogrammas pārvaldītā krātuvē un ārēji ielādētos skriptos. Tā kā lietotnes loģika arvien vairāk tiek pārvietota no servera puses uz klienta pusi, klienta puses ievainojamību analīze ir būtiska, jo daudzas no tām neizpaužas līdz brīdim, kad dati, DOM operācijas un skripti tiek apstrādāti klienta pusē. Šī pētījuma mērķis ir izstrādāt, īstenot un novērtēt ietvaru atlasītu klienta puses ievainojamību veidu kontrolētai noteikšanai. Pētījumā uzmanība tiek pievērsta trim ievainojamību grupām: • DOM balstīts starpvietņu skriptings un bīstama DOM sink izmantošana; • Potenciāli nedroša pārlūkprogrammas pārvaldītās krātuves izmantošana; • Trešo pušu vai ārējo skriptu risks. Tiek definēta novērtēšanas metodoloģija, kurā izmantoti tādi jēdzieni kā “pamatpatiesība”, “unikāli ievainojamības gadījumi”, “precizitāte”, “atsaukums”, “F1 rādītājs”, “pārklājums”, “reproducējamība”, “ziņošanas kvalitāte” un “validitātes ierobežojumi”. Prototype-0 ir piedāvātā ietvara koncepcijas pierādījuma īstenojums, kas izstrādāts TypeScript un Node.js vidē. Prototips rezultātu iegūšanai izmanto trīs analīzes posmus: pirmkoda statisko analīzi; dinamisko analīzi, izpildot lietotni pārlūkprogrammā; un statiskās un dinamiskās novērtēšanas rezultātā iegūto atradumu korelāciju, klasificējot tos apstiprinātos, tikai statiskos un tikai dinamiskos rezultātu veidos. Prototips tika testēts pret kontrolētiem un iepriekš sagatavotiem testa mērķiem, kuriem bija dokumentēta sagaidāmā uzvedība, nevis pret reālām produkcijas lietotnēm. Statiskās novērtēšanas rezultātā tika iegūti kopumā 19 tvērumā ietilpstoši atradumi trīs atlasītajās ievainojamību grupās. Kopējais statiskās novērtēšanas atradumu skaits ietver arī vienu parsēšanas diagnostikas ierakstu, kas tika izslēgts no ievainojamību korektuma metriku aprēķina. Trīs atkārtotas dinamiskās skenēšanas katrā dinamiskā testa instancē radīja kopumā trīs atradumus, kā arī papildu piecus neapstrādātus izpildlaika notikumus un vienu neapstrādātu tīkla notikumu katrā dinamiskā testa instancē. Korelācijas posms tam pašam kontrolētajam mērķim radīja trīs apstiprinātus rezultātus; tomēr netika iegūti ne tikai statiski, ne tikai dinamiski rezultāti. Kontroles gadījumi un kontekstuāli bāzlīnijas novērojumi tika izmantoti arī papildu konteksta nodrošināšanai, lai izprastu ierobežojumus un tvēruma robežas. Noslēgumā rezultāti norāda, ka piedāvātais ietvars ir īstenojams kā kontrolēts koncepcijas pierādījums. Tie nepierāda produkcijas līmeņa efektivitāti, pilnīgu ievainojamību pārklājumu vai vispārēju pārākumu salīdzinājumā ar esošajiem rīkiem. Turpmāks darbs ir nepieciešams, lai palielinātu kopējo testa mērķu skaitu, uzlabotu statiskās datu plūsmas analīzes precizitāti, pilnveidotu izpildlaika jutīguma loģiku un novērtētu metodoloģiju pret plašāku mērķu kopu un neatkarīgi sagatavotām tīmekļa lietotnēm. Darbs sastāv no 75 lappusēm, 4 attēliem, 10 tabulām, 0 pielikumiem, 20 literatūras avotiem un 0 tehnisko rasējumu lappusēm.
Keywords klienta puses drošība, JavaScript, DOM balstīts XSS, statiskā analīze, dinamiskā analīze.
Keywords in English client-side security, JavaScript, DOM-based XSS, static analysis, dynamic analysis
Language eng
Year 2026
Date and time of uploading 21.05.2026 22:51:04