Title Detekcija ubačenih zlonamjernih HTML i JavaScript fragmenata u Web stranicama
Title (english) Detecting injected malicous HTML and JavaScript fragments in Web pages
Author Tibor Žukina
Mentor Stjepan Groš (mentor)
Committee member Stjepan Groš (predsjednik povjerenstva)
Committee member Marin Golub (član povjerenstva)
Committee member Leonardo Jelenković (član povjerenstva)
Granter University of Zagreb Faculty of Electrical Engineering and Computing Zagreb
Defense date and country 2021-07-14, Croatia
Scientific / art field, discipline and subdiscipline TECHNICAL SCIENCES Computing
Abstract Uz sve načine na koje Web olakšava prijenos informacija i povećava produktivnost svakodnevnih aktivnosti u modernom svijetu, zbog zlouporabe različitih zlonamjernih dionika donosi i brojne opasnosti te rizike za sve svoje korisnike. Napadači koriste Web kako bi u njega ubacili zlonamjerni HTML i JavaScript kod uz pomoć kojeg pokušavaju direktno ili indirektno ostvariti određenu zaradu. Pravovremena detekcija takvih stranica izuzetno je bitna kako bi se zaštitili svi oni koji pristupaju Webu uz očuvanje svih prednosti koje donosi Web tehnologija.
Detekcija ubačenih JavaScript i HTML fragmenata nije trivijalna te je mnoštvo predloženih metoda koje pokušavaju riješiti taj problem. Cilj svakog od predloženih algoritama je pronaći maksimalni broj zlonamjernih stranica uz minimalni broj lažno pozitivnih detekcija u minimalnom vremenu izvođenja i uz maksimalnu učinkovitost. Objasnit će se i implementirati odabrani načini detekcije ubačenih zlonamjernih HTML i JavaScript elemenata u Web stranice. Metode kojima će se rad baviti koristit će isključivo HTML Web stranice, odnosno neće imati mogućnost pristupa izvornom kodu Web aplikacije.
Niti jedan učinkoviti algoritam za detekciju zlonamjernih stranica nije potpuno pouzdan i točan, odnosno svaki od njih ima određeni udio lažno pozitivnih rezultata te propušta detekciju određenog broja zlonamjernih stranica. S druge strane, klasični pristup detekcija stranica korištenjem uređaja za detekciju visoke interaktivnosti i ručnim pregledom stručnjaka za sigurnost rezultira puno većim trajanjem provjere za svaku od Web stranica. Opisani algoritmi uvode kompromis između brzine izvođenja, odnosno učinkovitosti i pouzdanosti, odnosno broja propuštenih napada i lažno pozitivnih detekcija.
Algoritam zasnovan na asocijativnoj klasifikaciji (CBA) ima visoku točnost s vrlo niskom stopom lažno pozitivnih i lažno negativnih rezultata. Performanse tog algoritma uspoređene su s dobro poznatim klasifikacijskim algoritmima, uključujući support vector machine (SVM), naivni Bayes i logističku regresiju. Analiza pokazuje da je CBA metoda bolja od naivnog Bayesa s većom preciznošću, dok logistička regresija i SVM imaju visoku stopu negativnih rezultata u usporedbi sa stopom lažno negativnih rezultata koju ima CBA. CBA daje veliku učinkovitost u usporedbi s klasifikatorima dobro poznatih algoritama, a također omogućuje lakšu interpretaciju rezultata koja pomaže sigurnosnim analitičarima i krajnjim korisnicima da lakše razumiju evoluciju zlonamjernih URL-ova.
Rezultati eksperimenta korištenjem algoritma statičke heuristike daju stopu zlonamjernih detektiranih stranica od 6.83%, tako da se može zaključiti da je većina detekcija u ovom eksperimentu lažna i može se djelomično smanjiti uvođenjem određenih optimizacija.
Rezultati eksperimenta korištenjem algoritma zasnovanog na bodovanju daju stopu zlonamjernih detektiranih stranica od 11.34%. Zaključuje se da je stopa lažno pozitivnih rezultata ovog algoritma relativno visoka uz manje mogućnosti optimizacije nego kod statističke heuristike. Algoritam stranice neće binarno klasificirati kao zlonamjerne i benigne, nego kao potencijalno zlonamjerne te ih proslijediti odgovarajućim uređajima za detekciju ili stručnjacima za sigurnost za ručnu analizu koji s tim algoritmom čine drugu komponentu hibridnog sustava za ispitivanje zlonamjernosti stranica.
Algoritam statičke heuristike i algoritam zasnovan na bodovanju ne mogu biti korišteni kao pouzdani alati za detekciju zlonamjernosti bez dodatnih provjera budući da imaju relativno visoku stopu lažno pozitivne detekcije pa se njihovi rezultati trebaju prosljeđivati pouzdanijim algoritmima ili mehanizmima koji će donijeti konačnu odluku. Postoji određena korelacija između detekcija algoritma statičke heuristike i algoritma zasnovanog na mehanizmu bodovanja, odnosno veliki broj stranica koje su klasificirane kao zlonamjerne algoritmom statičke heuristike također će biti tako klasificirane algoritmom zasnovanim na mehanizmu bodovanja.
Udio zlonamjernih stranica dobivenih analizom algoritmom yara pravila iznosi 7.27%. Algoritam zasnovan na yara pravilima ima malu stopu lažno pozitivne detekcije te se može smatrati boljim algoritmom.
Algoritam zasnovan na yara pravilima općenito je pouzdaniji od ostalih dvaju algoritama jer ima malu stopu lažno pozitivnih rezultata, može preciznije otkriti konkretnije uzorke zlonamjernosti, biti lakše prilagođen za nove vrste napada i dati točniju dijagnozu u usporedbi s druga dva algoritma. Ipak, algoritam zasnovan na yara pravilima ima slabosti svih algoritama koji su zasnovani na potpisu, a to je određena stopa lažno negativnih rezultata zbog mogućnosti da yara pravila ne detektiraju izmijenjene zlonamjerne isječke koda koji i dalje imaju istu funkcionalnost i nakon izmjene.
Abstract (english) Along with all ways the Web makes it easier to transmit information and increase the productivity of everyday activities in the modern world, due to misuse of the different stakeholders, it also introduces numerous dangers and risks for all its users. Attackers use the Web to inject malicious HTML JavaScript code which they use to directly or indirectly obtain certain profits. Timely detection of such Web pages is crucial to protect everyone who accesses the Web while keeping all advantages brought by the Web technology.
The detection of the injected JavaScript and HTML fragments is not trivial and there are plenty of suggested methods trying to fix this problem. The purpose of each of the suggested algorithms is to find the maximum number of malicious websites with the minimum number of false-positive detections in the minimal execution time and the maximum efficiency. The selected ways of injected malicious HTML and JavaScript elements in the Web pages will be explained and implemented. The methods the thesis will cover will use exclusively HTML of the Web page and won't have the possibility to access the Web application source code.
There is no effective algorithm of malicious webpages detection that is completely reliable and accurate, but each of them has a certain rate of false-positive results and misses the detection of a certain number of malicious websites. On the other hand, the classic approach to detecting the websites using high-interactivity test devices and manual examination by the security experts results in a much greater check duration for each of the Web pages. The described algorithms introduce the compromise between the execution speed or effectiveness and the reliability or the number of misses attacked and false-positive detections.
The algorithm based on the associative classification (CBA) has high accuracy with a very low false-positive rate and false-negative rate. The performance of this algorithm has been compared with the well-known classification algorithms, including support vector machine (SVM), naive Bayes, and logistic regression. The analysis shows that the CBA method is better than the naive Bayes with its high precision, while the logistic regression and SVM have a high false-negative rate compared to the false-negative rate of the CBA algorithm. CBA reaches high effectiveness compared to the classificators of the well-known algorithms and it also enables an easy interpretation of the results that help the security analysts and end-users to more easily understand the evolution of the malicious URLs.
The experiment results using the static heuristics algorithm give a malicious webpages rate of 6.83%, so it is possible to include that the majority of detection in this experiment is false, which can be partially reduced by introducing certain optimizations.
The experiment results using the algorithm based on the scoring mechanism give a malicious webpages rate of 11.34%. It can be concluded that the false positive rate of this algorithm is relatively high with a smaller possibility of optimization than for the static heuristics.
This algorithm won't make a binary classification of the webpages as malicious or benign, but it will mark them as potentially malicious and forward them to the proper detection devices or security experts for manual analysis that make up the second component of the hybrid website malice testing system along with this algorithm.
Static heuristics algorithm and the algorithm based on the scoring mechanism cannot be used as reliable tools for malice detection without the extra checks, because they have a relatively high false-positive rate so their results should be forwarded to more reliable algorithms and mechanisms that will make the final decision. There is a certain correlation between the detections of the static heuristics algorithm and the algorithm based on the scoring mechanism, which means that a certain number of Web pages that have been classified as malicious by the static heuristics algorithm will also be classified as malicious by the algorithm based on the scoring mechanism.
The malicious webpages rate obtained by the yara rules algorithms analysis is 7.27%. The algorithm based on yara rules has a lower false detection rate in general and can be considered a better algorithm.
The algorithm based on yara rules is more reliable than the other two algorithms in general because it has a low false-positive results rate, it can detect specific malicious samples and be more easily customized for new types of attacks compared and provide a more accurate diagnosis compared to the other two algorithms.
Still, the algorithm based on yara rules has the weaknesses of all signature-based algorithms, and that is a certain false-negative rate due to the possibility that yara rules fail to detect the altered malicious code fragments that still have the same functionality even after their alteration.
Keywords
Web
HTML
JavaScript
zlonamjerne stranice
detekcija
asocijativna klasifikacija
statička heuristika
mehanizam bodovanja
yara pravila
Keywords (english)
Web
HTML
JavaScript
malicious webpages
detection
associative classification
static heuristics
scoring mechanism
yara rules
Language croatian
URN:NBN urn:nbn:hr:168:867159
Study programme Title: Computing Study programme type: university Study level: graduate Academic / professional title: magistar/magistra inženjer/inženjerka računarstva (magistar/magistra inženjer/inženjerka računarstva)
Type of resource Text
File origin Born digital
Access conditions Closed access
Terms of use
Public note
Created on 2023-01-13 09:25:12