Verkkosovellusten haavoittuvuuksien tunnistaminen käytön aikana

The identification of vulnerabilities is increasingly being automated as much as possible. While this can help detect vulnerabilities more comprehensively, it may also give users a false sense of security and expose them to cyber threats. This thesis explores whether users can identify vulnerabiliti...

Täydet tiedot

Bibliografiset tiedot
Päätekijä: Ruohoniemi, Miikka
Muut tekijät: Informaatioteknologian tiedekunta, Faculty of Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Aineistotyyppi: Pro gradu
Kieli:fin
Julkaistu: 2025
Aiheet:
Linkit: https://jyx.jyu.fi/handle/123456789/103412
Kuvaus
Yhteenveto:The identification of vulnerabilities is increasingly being automated as much as possible. While this can help detect vulnerabilities more comprehensively, it may also give users a false sense of security and expose them to cyber threats. This thesis explores whether users can identify vulnerabilities in web applications without the use of automated tools. The study first examined how vulnerabilities are typically assessed, followed by an analysis of the most common web application vulnerabilities based on the OWASP Top 10 categories and the MITRE Top 25 Most Dangerous Software Weaknesses list. Next, methods for detecting vulnerabilities without automated tools were identified from previous literature, and based on these, a criteria-based artifact was developed. The criteria were validated through usability testing conducted in three iterations: first by the author of the study, then by one external tester, and finally by four testers in the last iteration. During the validation phase, vulnerabilities were successfully identified in four OWASP Top 10 categories using the criteria. These categories included cryptographic failures, injection, insecure design, and identification and authentication failures. Although the criteria enabled the identification of some vulnerabilities in the tested web applications, it was not particularly user-friendly or easy to understand during the course of this study. For this reason, the criteria were significantly revised based on feedback from the final testers and would require further testing to confirm whether the criteria meet the defined goals and requirements. Nevertheless, this study succeeded in creating a set of criteria that allows to identify some of the most common web application vulnerabilities without the use of automated tools. Haavoittuvuuksien tunnistamista yritetään nykyään automatisoida mahdollisimman paljon. Tämä voi auttaa tunnistamaan laajemmin haavoittuvuuksia, mutta se voi myös antaa käyttäjälle liiallisen turvallisuuden tunteen ja altistaa kyberuhille. Tässä tutkielmassa selvitetään voiko käyttäjä tunnistaa haavoittuvuuksia verkkosovelluksista ilman automaattisia työkaluja. Tutkielmassa selvitettiin ensin, miten haavoittuvuuksia arvioidaan ja sen jälkeen selvitettiin yleisimmät verkkosovellusten haavoittuvuudet OWASP Top 10 haavoittuvuusluokkien sekä MITRE:n 25 vaarallisinta heikkoutta -listan perusteella. Seuraavana etsittiin aiemmasta kirjallisuudesta menetelmiä haavoittuvuuksien havaitsemiseksi ilman automaattisia työkaluja ja luotiin niiden perusteella artefaktina kriteeristö. Kriteeristöä validoitiin käytettävyystestauksen avulla kolmessa iteraatiossa. Ensin tutkimuksen tekijän testaamana, seuraavaksi yhden tutkimuksen ulkopuolisen testaajan testattavana ja lopuksi vielä neljällä testaajalla viimeisessä iteraatiossa. Validoinnin aikana kriteeristön avulla onnistuttiin tunnistamaan haavoittuvuuksia neljästä OWASP Top 10:n haavoittuvuusluokasta. Näitä haavoittuvuusluokkia olivat salausvirheet, injektiot, puutteellinen suunnittelu ja tunnistautumis- ja todennusvirheet. Vaikka kriteeristön avulla onnistuttiin löytämään joitakin haavoittuvuuksia testatuilta verkkosovelluksilta, se ei ollut vielä kovinkaan käytettävä ja ymmärrettävä tämän tutkimuksen aikana. Tästä syystä kriteeristöä muokattiin reilusti viimeisten testausten palautteiden osalta ja vaatisi vielä lisää testausta, jotta voitaisiin todentaa kriteeristön täyttävän sille määritellyt tavoitteet ja kriteerit. Kuitenkin tämän tutkimuksen aikana saatiin luotua kriteeristö, jonka avulla on mahdollista tunnistaa joitain yleisimpiä haavoittuvuuksia verkkosovelluksista ilman automaattisia työkaluja.