| Anotācija |
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. |