Haitallisen JavaScript-koodin tunnistaminen koneoppimismenetelmiä käyttäen

Abstract
Tutkimuksessa tutkitaan haitallisen JavaScript-ohjelmakoodin tunnistamista koneoppimismenetelmin opetettujen luokittelijoiden avulla. Tutkimusaiheen valintaan vaikuttivat seuraavat kolme tekijää. Tekijöistä ensimmäinen oli JavaScript-ohjelmointikielen rooli yhtenä keskeisimmistä, edelleen suosiotaan kasvattavista web-teknologioista. Toisena tekijänä oli JavaScriptin käytön yleistyminen tietoturvallisuutta vastaan suoritetuissa hyökkäyksissä. Kolmantena tekijänä puolestaan oli koneoppimismenetelmien roolin korostuminen haittaohjelmien tunnistamisessa. Teoreettiselta taustaltaan tutkimus liittyy haitallisen ohjelmakoodin staattiseen analyysiin ja haitallisen ohjelmakoodin tunnistamiseen koneoppimismenetelmin. Tutkimuksessa keskitytään erityisesti tutkimaan luokittelijan opettamisessa käytettävien ominaispiirteiden ominaisuuksien ja opettamiseen valitun koneoppimismenetelmän vaikutusta luokittelijoiden suoriutumiseen haitallisten ja ei-haitallisten JavaScript-tiedostojen luokittelusta väärien positiivisten luokittelujen osuuden, väärien negatiivisten luokittelujen osuuden ja luokittelun tarkkuuden suhteen. Tutkimuksen tulosten tuottamiseen käytetään tilastollisia menetelmiä ja silmämääräistä analyysia. Käytettyinä tilastollisina menetelminä ovat Kruskal-Wallisin testi, Dunnin testi ja keskiarvovertailu. Tutkimuksessa huomataan, että ominaispiirteiden ominaisuuksilla ja valitulla koneoppimismenetelmällä on yleisesti vaikutusta luokittelijoiden suoriutumiseen JavaScript-tiedostojen luokittelusta. Tutkimuksessa saadut tulokset ovat yleisesti samankaltaisia muiden samaan aihepiiriin liittyvien tutkimusten tulosten kanssa väärien positiivisten luokittelujen osuuden, väärien negatiivisten luokittelujen osuuden ja luokittelun tarkkuuden suhteen. Tutkimuksen tuloksista on mahdollista tehdä ainakin seuraavat kolme johtopäätöstä. Ensimmäiseksi, luodessa haitallisen JavaScript-koodin tunnistamiseen erikoistuneita luokittelijoita, kannattaa parhaan suorituskyvyn saavuttamiseksi, kokeilla eri mahdollisuuksia ainakin opetukseen ja testaamiseen käytettävien tiedostojen määrissä, käytettävien haitallisten tiedostojen määrässä opetusaineistossa, käytettävissä ominaispiirteissä, ominaispiirteiden valintaan käytettävissä menetelmissä ja käytettävässä koneoppimismenetelmässä. Toiseksi, pelkkien JavaScript-ohjelmakoodin staattisesta esitysmuodosta eristettyjen n-grammien avulla näyttää olevan mahdollista opettaa haitallisen JavaScript-koodin tunnistamiseen erikoistuneita luokittelijoita, joiden suorituskyky kilpailee monimutkaisempien ominaispiirteiden avulla opetettujen luokittelijoiden kanssa. Kolmanneksi, jo suhteellisen pienillä tiedostomäärillä näyttää olevan mahdollista opettaa JavaScript-koodin tunnistamiseen erikoistuneita luokittelijoita, joiden suorituskyky kilpailee suuremmilla aineistoilla opetettujen luokittelijoiden kanssa.
Main Author
Format
Theses Master thesis
Published
2018
Subjects
The permanent address of the publication
https://urn.fi/URN:NBN:fi:jyu-201810034301Käytä tätä linkitykseen.
Language
Finnish
License
In CopyrightOpen Access

Share