Vis enkel innførsel

dc.contributor.advisorDyrkolbotn, Geir Olav
dc.contributor.authorLien, Tormod Haus
dc.date.accessioned2021-09-28T17:19:40Z
dc.date.available2021-09-28T17:19:40Z
dc.date.issued2021
dc.identifierno.ntnu:inspera:77286691:11550905
dc.identifier.urihttps://hdl.handle.net/11250/2784219
dc.description.abstractDatasystemer har blitt mer og mer avgjørende for samfunnet vårt, noe som betyr at disse systemene har blitt mer verdifulle enn noen gang før, og er derfor utsatt for interaksjoner fra personer med ondsinnede hensikter. Det er ofte mange måter å angripe et system på, men en type som har økt i popularitet er filløse skadevarer. Det er her PowerShell blir relevant som en type fil-løs skadevare, og bruken av ondsinnede PowerShell-skript har økt enormt de siste årene. De fleste Windows systemer har i dag PowerShell integrert, da det er ment for systemadministratorer for å gjøre livet deres enklere ved for eksempel å automatisere oppgaver. Det faktum at systemadministratorer bruker dette verktøyet, er erklæring om hvor kraftig det kan være, også en del av navnet, og mange systemer tillater at skript kjøres uten mange restriksjoner. Mange av disse ondsinnede skriptene er vanskelig å oppdage på grunn av det faktum at de misbruker et legitimt verktøy, men også på grunn av at de bruker handlinger som også utføres på lignende måter av for eksempel administratorer I denne oppgaven forslår vi en metode som bruker NLP-teknologi for å analysere og tokenisere PowerShell-koden. Token som tas med videre for ytterligere trekk analyse og trekk utvinning er kommandoene og variablene. Fra kommandoene og variablene hentet vi ut tegnfrekvenser, minimum, maksimum og gjennomsnittlig lengde. Frekvensen til et sett med kommandoer med potensial for ondsinnede handlinger blir også hentet ut. Til slutt hentet vi ut verbene som ble brukt i kommandoene for å utforske frekvensen til gyldige og ugyldige verb sammenlignet med Microsofts navnekonvensjon. Med disse trekkene testet vi klassifiseringsevnen til en k-nærmeste naboer (KNN) og et beslutningstre. Alle evalueringer av modellenes evner brukte fem ganger stratifisert kryssvalidering og hentet ut gjennomsnittsresultatet. Den modellen som ga best resultat var KNN modellen som brukte alle trekkene, og oppnådde en AUC-verdi på 0.976 og tiden som ble brukt til trening og testing med kryssvalideringen var 0.53 sekunder. Dette betyr at den foreslåtte metoden vår viser potensial for å bli brukt som et filter for mer komplekse og tidkrevende klassifiseringsmetoder.
dc.description.abstractComputer systems has become more and more crucial for our society, which means that these systems has become more valuable than ever before and are therefore prone to interactions from individuals with malicious intent. There are often many ways to attack a system, but one type that has gained a lot of popularity over the last couple of years are malicious scripts, also known as fileless malware. This is where PowerShell becomes relevant as a type of fileless malware and the use of malicious PowerShell scripts has increased immensely the last years. Most Windows systems nowadays have PowerShell integrated as it is intended for system administrators to make their life easier by e.g., automating tasks. The fact that system administrators use this tool is a statement to how powerful it can be, also part of its name, and many systems allow scripts to be executed without many restrictions. Many of these malicious scripts are hard to detect because of the fact that they abuse a legitimate tool but also because they use actions also performed in similar ways by e.g, administrators. In this thesis we propose a method that uses NLP technology in order to parse and tokenize PowerShell code. The tokens kept for further feature extraction are the commands and variables. From the commands and variables we extracted character frequencies, minimum, maximum and average length. The frequency of a set of commands with the potential for malicious actions were also extracted. Lastly we extracted the verbs used in the commands in order to explore the frequencies of valid and invalid verbs compared to Microsoft's naming convention. With these features we tested the classification performance of a k-nearest neighbour(KNN) and a decision tree. All of our performance evaluations used 5-fold stratified crossvalidation and retrieved the mean scores. The best performing model was our KNN using all the features, which achieved an AUC score of 0.976 and the time used for training and testing with crossvalidation was 0.53 seconds. This means that our proposed method shows potential for being used as a filter for more complex and time consuming classification methods.
dc.languageeng
dc.publisherNTNU
dc.titleHunting malicious scripts using machine learning
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel