Katsaus XSS-haavoittuvuuksiin
Kangasmäki, Patric (2020)
Kangasmäki, Patric
2020
Tietojenkäsittelytieteiden kandidaattiohjelma - Bachelor's Degree Programme in Computer Sciences
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ä
2020-06-04
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202006035902
https://urn.fi/URN:NBN:fi:tuni-202006035902
Tiivistelmä
XSS-haavoittuvuudet ovat yksi yleisimmistä tietoturvariskeistä. Ne ovat verkkosovellusten haavoittuvuuksia, jotka usein perustuvat tietoturvan laiminlyöntiin sovelluksen kehittämisvaiheessa. Niitä hyväksikäyttämällä hyökkääjä pyrkii saamaan käyttäjien henkilökohtaisia ja salaisia tietoja itselleen, usein rahallisen hyödyn vuoksi. Muita motiiveja hyökkäyksille ovat muun muassa hauskanpito, kostaminen tai osaamisensa todistaminen muille. Tyypillisesti hyökkäyksen kohteena ovat pankkien verkkosivut, pelisivustot ja sähköpostit. Tutkielmassa perehdytään yleisluontoisesti XSS-hyökkäyksiin sekä erilaisiin puolustuskeinoihin, joita kehittäjät pystyvät käyttämään turvatakseen sivustonsa sen rakentamisen yhteydessä.
XSS-hyökkäykset ovat jaettu kolmeen eri luokkaan. Näitä ovat pysyvät-hyökkäykset, ei-pysyvät hyökkäykset sekä DOM-pohjaiset hyökkäykset, joista ei-pysyvät hyökkäykset ovat yleisimpiä. Onnistuessaan nämä hyökkäykset voivat aiheuttaa lukuisia seurauksia sekä käyttäjälle, että sivuston ylläpitäjälle. Tutkielma keskittyy yleisimpiin käyttäjiä koskeviin seurauksiin, joita ovat evästeiden varastaminen, näppäilyntallentaminen ja verkkourkinta.
Puolustuskeinoista esitellään puolustavaa ohjelmointia, joka tarkoittaa puolustuksen rakentamista sivuston lähdekoodiin. Puolustava ohjelmointi on jaettu datatyypin validointiin sekä merkkien musta- ja valkolistaamiseen. Nämä puolustukset yleensä tekee ohjelmoija, jonka tuottama sivuston muukin rakenne on. Usein ongelmana kuitenkin on tietoturvan laiminlyönti aikavaatimusten, osaamisen tai kiinnostuksen puutteen takia. Sen sijaan keskitytään nopeuteen, helppouteen ja tuloksellisuuteen.
Tutkielma pohjautuu aiheesta löytyvään kirjallisuuteen sekä alan ajankohtaisiin tutkimuksiin. Sen tavoitteena on selvittää XSS-hyökkäysten toiminta ja esitellä mitä sovelluksien ja verkkosivustojen kehittäjien tulisi ottaa huomioon ohjelmiston rakentamisvaiheessa. Kehittäjien tärkeimpänä tehtävänä tulisi miettiä kuinka he voivat turvata käyttäjiensä yksityisyyden nyt ja tulevaisuudessa.
XSS-hyökkäykset ovat jaettu kolmeen eri luokkaan. Näitä ovat pysyvät-hyökkäykset, ei-pysyvät hyökkäykset sekä DOM-pohjaiset hyökkäykset, joista ei-pysyvät hyökkäykset ovat yleisimpiä. Onnistuessaan nämä hyökkäykset voivat aiheuttaa lukuisia seurauksia sekä käyttäjälle, että sivuston ylläpitäjälle. Tutkielma keskittyy yleisimpiin käyttäjiä koskeviin seurauksiin, joita ovat evästeiden varastaminen, näppäilyntallentaminen ja verkkourkinta.
Puolustuskeinoista esitellään puolustavaa ohjelmointia, joka tarkoittaa puolustuksen rakentamista sivuston lähdekoodiin. Puolustava ohjelmointi on jaettu datatyypin validointiin sekä merkkien musta- ja valkolistaamiseen. Nämä puolustukset yleensä tekee ohjelmoija, jonka tuottama sivuston muukin rakenne on. Usein ongelmana kuitenkin on tietoturvan laiminlyönti aikavaatimusten, osaamisen tai kiinnostuksen puutteen takia. Sen sijaan keskitytään nopeuteen, helppouteen ja tuloksellisuuteen.
Tutkielma pohjautuu aiheesta löytyvään kirjallisuuteen sekä alan ajankohtaisiin tutkimuksiin. Sen tavoitteena on selvittää XSS-hyökkäysten toiminta ja esitellä mitä sovelluksien ja verkkosivustojen kehittäjien tulisi ottaa huomioon ohjelmiston rakentamisvaiheessa. Kehittäjien tärkeimpänä tehtävänä tulisi miettiä kuinka he voivat turvata käyttäjiensä yksityisyyden nyt ja tulevaisuudessa.
Kokoelmat
- Kandidaatintutkielmat [8709]