Machine learning for historical web application vulnerability data

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis

Department

Mcode

Language

en

Pages

57

Series

Abstract

The thesis investigates different machine learning techniques that can be used to extract information from web application vulnerability data. The vulnerability data contains information on vulnerabilities over several years and a tree-like information graph that describes the structure the target web application. From this information several statistics were extracted. The values in the system analysis tree were clustered. The performance of the clustering was heavily dependent on the type of cluster. Some data in the clusters were sparse and clustered poorly, this was for multiple reasons, the data contained names of different features, and some features were extremely rare found on the dataset. The vulnerabilities were linked to web application features using transformerbased natural language processing methods. The overall performance across models remained below 50%, limiting the reliability of automated data classification. While the methods have some potential, in their current form the usability is limited. They can be used in a semiautomatic way, where the methods help the security analyst. For further analysis, combining and gathering structured datasets could aid future research in the are.

Opinnäytetyö tutkii erilaisia koneoppimismenetelmiä, joita voidaan käyttää historiallisten haavoittuvuustietojen analysoimiseen. Haavoittuvuustietokanta on kerätty useiden vuosien aikana, eri tietoturva-analyysien yhteydessä. Tietokanta koostuu haavoittuvuusinformaatiosta, ja lisäksi dataa on kerätty puumaiseen rakenteeseen, joka kuvaa kohdejärjestelmän rakennetta. Kohdejärjestelmän puurakenteesta etsittiin samankaltaisuuksia klusteroimalla sen arvoja. Klusteroinnin onnistuminen riippui vahvasti klusteroitavista ominaisuuksista. Iso osa klustereista oli harvoja riippuen monista syistä. Esimerkiksi puussa oli paljon nimiä ja verkkosovellusten ominaisuuksia, mitkä esiintyivät vain yksittäisissä sovelluksissa. Haavoittuvuudet yritettiin myös linkittää erilaisiin verkkosovellusten ominaisuuksiin hyödyntämällä transformer-pohjaisia kielimalleja. Mallien suorituskyky jäi kuitenkin alle 50%, mikä rajoittaa niiden käyttökohteita ja luotettavuutta. Tämä viittaa siihen, että data voi olla liian monitulkintaista tai kohinasta. Vaikka menetelmissä on potentiaalia, niiden käyttökelpoisuus on rajallista johtuen tarkkuuden puutteesta. Niitä voidaan kuitenkin käyttää prosesseissa, joissa menetelmät tukevat tietoturva-analyytikkoja. Menetelmien jatkokehitystä voitaisiin helpottaa yhdistämällä jo olemassa olevaa haavoittuvuus informaatiota ja keräämällä hyvin jäsenneltyä tietoa.

Description

Supervisor

Laaksonen, Jorma

Thesis advisor

Kirmanen, Jani

Other note

Citation