XSS: Mikä on cross-site scripting?
Cross-site scripting eli XSS-hyökkäys on erityisen ikävä kyberrikollisuuden muoto: se tekee tutusta ja turvallisesta sivustosta vaarallisen. Suomeksi ilmiötä kutsutaan nimellä sivustojen välinen komentosarjahyökkäys. Lue alta lisää XSS-hyökkäyksestä ja katso myös, miten voit suojautua tältä vaaralta.
Mikä on XSS-hyökkäys?
Cross-Site Scripting (XSS) eli sivustojen välinen komentosarjahyökkäys on tietoturva-aukko. Mistä niissä on kyse? Hakkeri syöttää haitallisia komentosarjoja muutoin turvalliselle sivustolle sen haavoittuvuuksia hyödyntäen, ja uhriksi voi joutua kuka tahansa tiettyjä sivun ominaisuuksia käyttävä henkilö.
Mitä XSS-hyökkäyksen uhrille sitten tapahtuu? Usein haittakoodi saastuttaa sisäänkirjautumiskentät, jolloin se voi varastaa kirjautumistiedot ja evästeet. Ohjelmisto tallentaa tietosi ja toimittaa ne hakkerille, joka voi seuraavaksi ottaa tilisi haltuunsa.
Miksi tämän hyökkäyksen nimi on cross-site scripting? Sivustojen välinen komentosarjahyökkäys eli cross-site scripting (XSS) viittaa siihen, että hyökkäävä sivusto syöttää haittakoodia tavalliselle sivustolle, eli hyökkäyksessä on mukana kaksi sivustoa. Alkujaan eli vuosikymmeniä sitten termiä käytettiin JavaScript-komentosarjakieleen viitaten, mutta nykyisin XSS viittaa myös muihin ohjelmistoympäristöihin, kuten ActiveX, Flash, HTML ja muut.
Miten hakkerit käyttävät XSS-hyökkäystä? Hakkerit hyödyntävät tässä hyökkäyksessä käyttäjän luottamusta saastutettua sivustoa kohtaan. Hyökkääjä etsii sivustojen haavoittuvuuksia voidakseen syöttää sivustolle haittakoodia.
Erilaisia XSS-hyökkäyksen muotoja
XSS-hyökkäyksiä on useampaa laatua. Lue alta erilaisista sivustojen välisistä komentosarjahyökkäyksistä.
Heijastettu XSS. Tämä on yleisin XSS-hyökkäystyyppi, ja se käynnistyy, kun käyttäjä lähettää pyynnön verkkosivuston palvelimelle. Hakkerin syöttämä haittakoodi heijastetaan palvelimelta takaisin vastauksena pyyntöön, ja se voi näkyä esimerkiksi virheviestinä tai jopa hakutuloksina uhrin näytöllä.
Pahaa-aavistamaton uhri klikkaa sivustolla näkyvää painiketta tai linkkiä, ja käynnistää näin haittakoodin. Näin tapahtuu siksi, että uhrin selainta on huijattu uskomaan, että haittakoodi on peräisin luotettavalta palvelimelta. Kaikki luotettavalta vaikuttavalle sivustolle syötetyt tiedot lähetetään hakkerille.
Pysyvä XSS. Tätä hyökkäysmuotoa kutsutaan myös nimellä tallennettu XSS. Tästä on kyse silloin, kun sovelluksessa tai verkkosivustolla on haittakoodiohjelmisto, joka on saastuttanut kaikki sen HTTP-vastaukset.
Haittaohjelma on saatettu tallentaa esimerkiksi verkkosivuston kommenttikenttään, ja se käynnistyy, kun kenttää klikataan. Pysyvän XSS-hyökkäyksen ikävin puoli on se, että rikollinen asettaa näin ansan, eikä hänen tarvitse houkutella uhreja klikkaamaan linkkejä. Hakkeri voi siis asettaa syötin ja odotella uhrejaan kaikessa rauhassa.
Tällainen hyökkäys kuitenkin hakkerin näkökulmasta vaikeampi toteuttaa kuin heijastettu XSS-hyökkäys.
DOM-pohjainen XSS. Tässä muodossa hyödynnetään DOM-mallin (Document Object Model) haavoittuvuutta. DOM-malli luodaan heti, kun käyttäjä avaa sivuston, jolloin käyttäjä pääsee suoraan sivuston sisällön pariin eikä hänen tarvitse olla vuorovaikutuksessa palvelimin kanssa. Siksi DOM-XSS keskittyy uhrin selaimeen.
Heijastetun ja pysyvän XSS-hyökkäyksen kohdalla vaaran merkit näkyvät vastaavan sivuston HTML:ssä. DOM-XSS-hyökkäyksen vaarallisuus taas piilee siinä, että haavoittuvuus voidaan havaita vain sivuston koodia tutkimalla. Siksi sitä on erittäin vaikea välttää – harva meistä tutkii sivuston koodia ennen sivuston käyttöä.
Miten XSS-hyökkäykset toimivat?
XSS-hyökkäysten toteuttaminen vaatii sen, että hakkeri löytää sivustolta haavoittuvuuden, joka mahdollistaa haittakoodin syöttämisen. Useimmiten haavoittuva toiminto liittyy tekstikenttään. Kyseessä voi olla esimerkiksi lomake, kommenttikenttä tai hakupalkki. Itse sivusto on tässä tapauksessa vaaraton ja aito, mutta XSS-hyökkäys tekee siitä vaarallisen.
XSS-hyökkäyksen mahdollistavat haavoittuvuudet ovat yleisiä, joten XSS-hyökkäyksetkin ovat yleisiä ja niitä voidaan toteuttaa monilla eri tavoilla. Haittaa niistä on paitsi varsinaisille uhreille, myös luotettavina pidettyjen sivustojen ylläpitäjille – hyökkäys voi aiheuttaa melkoisia mainehaittoja.
XSS-hyökkäys voi alkaa esimerkiksi silloin, kun sivustolle saapunut käyttäjä siirtää hiiren osoittimen linkin päälle. Se voi myös käynnistyä automaattisesti tai sivun latautuessa. Mitä aktivoitumisesta sitten seuraa? Kuten yllä mainittiin, hyökkäyksen tarkoituksena voi olla käyttäjien kirjautumistietojen tai muiden yksityisten tietojen hankkiminen, joita sitten käytetään tihutöihin, kuten tilien kaappaamiseen. XSS-hyökkäyksiä voidaan käyttää myös sivuston sisällön muuttamiseen tai haittaohjelmien käynnistämiseen.
Lue alta tarkemmin siitä, mitä kaikkea XSS-hyökkäykset voivat saada aikaan.
XSS-hyökkäysten vaikutus
Mitä sivustojen väliset komentosarjahyökkäykset voivat käytännössä saada aikaan? Hyökkäysmuotoja on monenlaisia, ja siksi vaikutuksetkin ovat monenlaisia. Katso alta esimerkkejä:
- Haittakoodin avulla tallennetaan sivuston käyttäjien näppäinten painallukset.
- Käyttäjän selainhistorian paljastuminen hakkerille.
- Uhrin salasanan päätyminen hakkerille.
- Sivuston sisällön muuttuminen vahingollisella tavalla.
- Hyökkäyksen myötä käyttäjä voidaan ohjata vaaralliselle sivustolle, jolta voi saada haittaohjelman, tai joka voi huijata esimerkiksi käyttäjän verkkopankki- tai luottokorttitietoja.
- Jos sivustolla oleva lomake on väärennetty, uhri saattaa antaa verkkorikolliselle runsaasti tietoja, joita voidaan käyttää esimerkiksi tilien kaappaamiseen tai petoksiin.
Esimerkki XSS-hyökkäyksestä
Kuten yllä on jo kerrottu, cross-site scripting -hyökkäyksiä voidaan toteuttaa monella tavalla. Ensimmäiseksi hakkeri etsii sivuston, jolla on sopiva haavoittuvuus. Tällainen voi olla esimerkiksi kommenttiosiossa, johon voidaan upottaa HTML-tunnisteita. Kun hakkeri on tehnyt näin, HTML-tunniste käynnistää tiedoston, joka varastaa istuntoevästeitä. Tätä tiedostoa säilytetään toisella sivustolla, joten uhrin käyttämä sivusto toimii vain välikappaleena.
Mitä hyötyä istuntoevästeistä sitten on hakkerille? Hän saa pääsyn uhrin tilille ja voi kaapata uhrin tietoja. Uhri taas ei tässä vaiheessa huomaa mitään. Usein hyökkäyksen uhri havaitsee tilanteen vasta silloin, kun hakkeri on jo ehtinyt käyttää varastamiaan tietoja haitallisesti.
Miten XSS-hyökkäyksiltä voi suojautua?
Sivustojen väliset komentosarjahyökkäykset ovat salakavalia siksi, että niitä on paitsi vaikea huomata myös torjua, sillä ne eivät iske käyttäjän laitteille vaan luotettavina pidettyjen verkkosivustojen välityksellä.
Tieto on kuitenkin paras tapa suojautua haittaohjelmilta. Kun tiedät, minkälaisia haittaohjelmia ja hyökkäystapoja verkkorikolliset käyttävät, osaat huolehtia kyberturvallisuudestasi paremmin.
Miten XSS-hyökkäyksiä voi torjua? XSS-hyökkäysten varsinainen estäminen vaatii teknisiä taitoja, kuten sivuston koodin tutkimista. Käytännöllisempi tapa on huolehtia kyberturvallisuudesta ja opetella tunnistamaan esimerkiksi vaaralliset verkkosivustot ja tietojenkalasteluyritykset. Katso alta vinkkejä, jotka voivat pelastaa sinut monenlaisilta vaaroilta:
- Ole tarkkana linkkien suhteen. Jos verkkosivuston osoite vaikuttaa epäilyttävältä, älä käytä sivustoa. Vaarallisia merkkejä voivat olla esimerkiksi väärin kirjoitettu yrityksen nimi tai sivuston nimeen liittymättömät numerot.
- Älä klikkaa linkkejä, joita on esimerkiksi sivustojen kommenttiosioissa tai epäilyttävältä vaikuttavissa viesteissä, sillä ne voivat johtaa vaarallisille sivustoille.
- Siirry sivustoille kirjoittamalla niiden osoitteet selaimeen sen sijaan, että klikkaisit sivustolle johtavaa linkkiä.
- Käytä uusia selaimia, ja pidä ne päivitettyinä. Vanhemmat selaimet eivät ole yhtä turvallisia, ja nykyaikaisissa selaimissa on ominaisuuksia, jotka havaitsevat ja estävät XSS-hyökkäyksiä.
- Päivitä myös sovellukset ja ohjelmistot aina kun päivitystä tarjotaan. Päivityksissä korjataan muun muassa XSS-hyökkäykset mahdollistavia haavoittuvuuksia.
- Poista ohjelmat ja sovellukset, joita et käytä. Mitä vähemmän sovelluksia ja ohjelmia, sitä vähemmän riskejä.
- Teknisesti osaavat käyttäjät voivat perehtyä sivustojen koodiin ja katsoa, että sivustolla ei ole sinne kuulumattomia komentosarjoja.
- Suojaa toimintaasi käyttämällä NordVPN:n Threat Protection Pro -ominaisuutta: se estää sinua siirtymällä vaarallisille sivustoille ja tutkii lataamasi tiedostot haittaohjelmien varalta.
- Hoida myös perusasiat kuntoon: käytä salasanojen hallintaohjelmaa ja kaksivaiheista tunnistautumista sekä suojaa verkkoliikenteesi ja IP-osoitteesi VPN-verkolla.
Verkkoturvallisuus käynnistyy napsautuksella.
Pysy suojattuna maailman johtavan VPN:n avulla