Todennus osana web-sovellusten tietoturvaa
Keto-Tokoi, Juho (2021)
Keto-Tokoi, Juho
2021
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2021-09-16
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202109066962
https://urn.fi/URN:NBN:fi:tuni-202109066962
Tiivistelmä
Käyttäjien todennus on yksi web-sovellusten kriittisimmistä ominaisuuksista paitsi käyttäjien yksityisyyden, myös koko sovelluksen tietoturvallisuuden kannalta. Puutteellinen todennusmekanismi tai todennuksen kiertämisen mahdollistavat tietoturvavirheet voivat johtaa identiteettivarkauteen tai jopa koko sovelluksen haltuunottoon hyökkääjien toimesta. Tämän tutkielman tarkoituksena oli selvittää, minkälaisia hyökkäyksiä web-sovellusten todennusta vastaan kohdistetaan, ja mitä keinoja web-sovellusten kehittäjillä on käytettävissään näiden hyökkäysten estämiseksi.
Työ on kirjallisuuskatsaus, joka jakaantuu kolmeen osaan. Ensimmäinen luku käsittelee käyttäjän todennuskeinoja web-sovelluksissa. Toisessa luvussa esitellään yleisiä hyökkäyksiä, joita todennuskeinoja vastaan kohdistetaan. Kolmannessa luvussa tarkastellaan erilaisia metodeja, joita hyödyntämällä sovelluskehittäjä voi estää nämä hyökkäykset ja parantaa todennuksen tietoturvaa. Lähteenä käytetään alan kirjallisuutta, web-teknologioiden dokumentaatiota sekä alan tunnettujen organisaatioiden teettämiä tietoturvasuosituksia.
Työssä havaittiin, että tunnetuimmat todennusta vastaan kohdistetut hyökkäykset ovat automatisoidut salasanan ja istunnon tunnisteen murtamishyökkäykset, man-in-the-middle-hyökkäykset, sekä cross-site scripting (XSS) -hyökkäykset. Näissä hyökkäyksissä hyökkäysvektorina voi toimia sovelluksen palvelin, käyttäjän selain tai palvelimen ja selaimen välinen tietoliikenneväylä. Hyökkäysten motiivina on käyttäjän salasanan tai istunnon tunnisteen selvittäminen. Kyseiset hyökkäykset ovat yleisiä tänäkin päivänä, ja web-sovelluksissa on usein puutteita, jotka mahdollistavat hyökkäysten onnistumisen. Havaittiin, että web-sovellusten kehittäjillä on käytettävissään tehokkaita keinoja näiden hyökkäysten estämiseksi. XSS-hyökkäykset voidaan estää evästeiden tietoturva-asetusten ja käyttäjien syötteen puhdistuksen avulla. Man-in-the-middle-hyökkäykset saadaan estettyä salaamalla palvelimen ja selaimen välinen tietoliikenne HTTPS-protokollan avulla. Salasanojen ja istunnon tunnisteiden murtaminen voidaan estää vaatimalla niiltä tarpeeksi suurta entropian arvoa ja estämällä sanakirjasanojen käyttö. Salasanan murtaminen tiivisteestä voidaan estää käyttämällä suolaa ja vahvaa tiivistefunktiota salasanan tallennusta varten. Salasanan, istunnon tunnisteen sekä käytetyn tiivistefunktion vahvuuteen liittyviä vaatimuksia tulee arvioida jatkuvasti tietokoneiden laskentatehon noustessa. Salasanan paljastumisesta johtuvia riskejä voidaan pienentää käyttämällä monivaiheista todennusta.
Työ osoittaa, että web-sovellusten puutteellisten todennusmekanismien yleisyys ei johdu aiheeseen liittyvän tiedon saatavuuden puutteesta. Kirjallisuudessa käsitellään hyökkäysten ja haavoittuvuuksien toimintamekanismeja laajasti. Alan organisaatioiden julkaisemista suosituksista löytyy keinot todennukseen kohdistettujen hyökkäysten estämiseen. Nämä suositukset ovat kaikkien saatavilla ilmaiseksi organisaatioiden omilla sivuilla ja niitä päivitetään säännöllisesti. Puutteellisten todennusmekanismien yleisyys johtuu mahdollisesti siitä, että vanhoja sovelluksia ei päivitetä tarpeeksi usein tai osa ohjelmistokehittäjistä ei ole tietoisia todennukseen liittyvistä haavoittuvuuksista uusia sovelluksia kehittäessä.
Työ on kirjallisuuskatsaus, joka jakaantuu kolmeen osaan. Ensimmäinen luku käsittelee käyttäjän todennuskeinoja web-sovelluksissa. Toisessa luvussa esitellään yleisiä hyökkäyksiä, joita todennuskeinoja vastaan kohdistetaan. Kolmannessa luvussa tarkastellaan erilaisia metodeja, joita hyödyntämällä sovelluskehittäjä voi estää nämä hyökkäykset ja parantaa todennuksen tietoturvaa. Lähteenä käytetään alan kirjallisuutta, web-teknologioiden dokumentaatiota sekä alan tunnettujen organisaatioiden teettämiä tietoturvasuosituksia.
Työssä havaittiin, että tunnetuimmat todennusta vastaan kohdistetut hyökkäykset ovat automatisoidut salasanan ja istunnon tunnisteen murtamishyökkäykset, man-in-the-middle-hyökkäykset, sekä cross-site scripting (XSS) -hyökkäykset. Näissä hyökkäyksissä hyökkäysvektorina voi toimia sovelluksen palvelin, käyttäjän selain tai palvelimen ja selaimen välinen tietoliikenneväylä. Hyökkäysten motiivina on käyttäjän salasanan tai istunnon tunnisteen selvittäminen. Kyseiset hyökkäykset ovat yleisiä tänäkin päivänä, ja web-sovelluksissa on usein puutteita, jotka mahdollistavat hyökkäysten onnistumisen. Havaittiin, että web-sovellusten kehittäjillä on käytettävissään tehokkaita keinoja näiden hyökkäysten estämiseksi. XSS-hyökkäykset voidaan estää evästeiden tietoturva-asetusten ja käyttäjien syötteen puhdistuksen avulla. Man-in-the-middle-hyökkäykset saadaan estettyä salaamalla palvelimen ja selaimen välinen tietoliikenne HTTPS-protokollan avulla. Salasanojen ja istunnon tunnisteiden murtaminen voidaan estää vaatimalla niiltä tarpeeksi suurta entropian arvoa ja estämällä sanakirjasanojen käyttö. Salasanan murtaminen tiivisteestä voidaan estää käyttämällä suolaa ja vahvaa tiivistefunktiota salasanan tallennusta varten. Salasanan, istunnon tunnisteen sekä käytetyn tiivistefunktion vahvuuteen liittyviä vaatimuksia tulee arvioida jatkuvasti tietokoneiden laskentatehon noustessa. Salasanan paljastumisesta johtuvia riskejä voidaan pienentää käyttämällä monivaiheista todennusta.
Työ osoittaa, että web-sovellusten puutteellisten todennusmekanismien yleisyys ei johdu aiheeseen liittyvän tiedon saatavuuden puutteesta. Kirjallisuudessa käsitellään hyökkäysten ja haavoittuvuuksien toimintamekanismeja laajasti. Alan organisaatioiden julkaisemista suosituksista löytyy keinot todennukseen kohdistettujen hyökkäysten estämiseen. Nämä suositukset ovat kaikkien saatavilla ilmaiseksi organisaatioiden omilla sivuilla ja niitä päivitetään säännöllisesti. Puutteellisten todennusmekanismien yleisyys johtuu mahdollisesti siitä, että vanhoja sovelluksia ei päivitetä tarpeeksi usein tai osa ohjelmistokehittäjistä ei ole tietoisia todennukseen liittyvistä haavoittuvuuksista uusia sovelluksia kehittäessä.
Kokoelmat
- Kandidaatintutkielmat [8344]