Suomalaisten salasanoja väärissä käsissä

Tietomurto – todennäköisesti SQL-
injektio – aiheutti suomalaisen H-Townin
verkkosivujen käyttäjien tietojen vuotamisen.
Kuva: Davide Restivo: A Modern Hacker #1
CC-By-SA 2.0

IT-viikko uutisoi tänään, että suomalainen H-Town on joutunut tietomurron kohteeksi. Kohteena olivat yhtiön Pelaaja-, Anime- ja WoW-lehti -verkkosivujen käyttäjien käyttäjätunnukset ja salasanat. Yhtiö on ajanut verkkopalvelunsa alas ja laatinut oman tiedotteen asiasta.

Jos olet edellä mainittujen lehtien verkkosivujen rekisteröitynyt käyttäjä, lue postaukseni lopusta toimintaohjeet tietojesi suojaamiseen.

IT-viikon uutisesta voidaan päätellä, että kyseessä olisi ollut nimenomaan verkkosivujen käyttäjätunnuksiin liittyvä murto, ja näin ollen todennäköinen hyökkäystapa olisi ollut SQL-injektio.

Huom: Tähän kirjoitukseen liittyen olen julkaissut tarkennuksen omana kirjoituksenaan.

Käyttäjätietojen tallennus ja suojaus verkkopalveluissa

Useat verkkopalvelut vaativat esim. foorumia tai rajattua sisältöä varten luomaan käyttäjätunnuksen ja salasanan. Tässä tapauksessa käyttäjätunnuksena lisäksi on vaadittu sähköpostiosoitetta. Kun käyttäjä rekisteröityy palveluun, palvelu tallentaa kirjautumistiedot tietokantaan, josta se niitä tarkistaa käyttäjän kirjautuessa.

Salasana voidaan tallentaa tietokantaan usealla tavalla. Yksinkertaisinta ja vaarallisinta on tallentaa salasana sellaisenaan. Tällöin tietokantaan murtautumalla saadaan suoraan käyttäjätunnus ja salasana.

Salasanat voidaan suolata tieto-
murrosta aiheutuvien vahinkojen
pienentämiseksi.

Kuva: Riku Eskelinen/ Salasanan
suolaus. PD/CC-0

Rikollista käyttöä voidaan vaikeuttaa tallentamalla salasanasta vain sen tarkastussumma, jota ei voida suoraan muuttaa takaisin salasanaksi. Tällöin jos tiedot joutuvat vääriin käsiin, salasanan saanti vaikeutuu, muttei muutu mahdottomaksi: rikollinen voi omalla järjestelmällään kokeilla silmänräpäyksessä tuhansia variaatioita, ja ennen pitkää oikea salasana löytyy.

Yleisesti käytössä oleva tapa on ”suolata” salasana palvelimen tuntemalla sisällöllä: salasanaan sekoitetaan palvelimen tietämällä tavalla palvelimen tietämä vakiosuttu, ja tämän jälkeen koko sisällöstä lasketaan tarkastussumma. Kun tietomurto kohdistuu vain tietokantaan, tätä erillään säilytettävää ”suolaa” ei saada käyttöön, ja tietovarkaan on huomattavasti vaikeampi – joskaan ei täysin mahdoton – saada salasanaa tietoonsa.

Tätä kirjoittaessa ei ole tiedossa, millä tavoin salasana oli suojattu. Tiedustelen asiaa H-Townilta, ja päivitän postaustani vastauksen mukaan.

H-Town kertoi, että salasanat olivat MD5-tarkastussummattuja ja suolattuja. Lisäksi yhtiön kertoman mukaan hyökkäys oli todennäköisemmin kohdistettu palvelinta kuin käyttäjätietoja vastaan. Yhtiö toimi kuitenkin vastuullisesti ottaessaan käyttäjätietojen vuotamisenkin huomioon.

Kuinka tietokannasta sitten saadaan tietoja?

Jos palvelun kirjautumislomakkeen syötteentarkastus on huonosti ohjelmoitu, on mahdollista, että pahantahtoinen käyttäjä voi syöttää esim. salasanakenttään tietokannalle tarkoitettuja komentoja. Sopivasti muotoilemalla on mahdollista näin muotoilla sellainen käyttäjätunnus tai salasana, joka saa palvelimen paljastamaan tietokannan sisällön. Tällaista hyökkäystä kutsutaan SQL-injektioksi, johon viittasin kirjoituksen alussa.

Huonosti käyttäjän syöttämien tietojen tarkistava
sivusto on altis väärinkäytöille SQL-injektioiden
kautta. Kuvakaappaus ei ole todellisesta verkko-
palvelusta.

Kuva: Kuvakaappaus (ei ylittäne teoskynnystä).

Tällaisilta hyökkäyksiltä on mahdollista suojautua tarkistamalla kaikki käyttäjän syötteet, ja poistaa turvallisuutta uhkaava sisältö. Nämä keinot ovat hyvin tunnettuja, ja yleisesti turvallisena pidettyjä.

Tätä kirjoittaessa en voi varmaksi sanoa, onko hyökkäys ollut SQL-injektiotyyppinen, mutta uskoisin näin IT-viikon uutisen ja H-Townin tiedotteen perusteella. Tiedustelen tätäkin asiaa H-Townilta.

H-Townin vastauksesta ei käynyt ilmi hyökkäystapaa, mutta vastauksessa kerrottiin, että ”– ennen kuin tarkempaa tietoa on, on varminta olettaa, että murtautujat ovat päässeet käsiksi kaikkeen mitä serverillä on.”

Miksi näin käy?

Vaikka suojautumismenetelmät ovat helposti käyttöönotettavissa ja hyvin tiedossa, ihminen on kuitenkin viime kädessä vastuussa palvelun tuotannosta. En tiedä, käyttikö H-Town omaa vai jonkun muun tuottamaa ohjelmistoa, mutta ohjelmiston kehittäjä on jostain syystä unohtanut tarkistaa tämän nimenomaisen syötteen.

Vaikka ohjelmoija on todennäköisesti ollut alan ammattilainen, tapahtuu silloin tällöin kuitenkin huolimattomuusvirheitä. Useimmiten tällaiset virheet ovat varsin huomaamattomia (jos ne olisivat selkeitä, ne korjattaisiin jo ennen käyttöönottoa), ja äärimmäisissä tapauksissa ne vaarantavat ihmisten tietosuojaa ja yksityisyyttä.

Olenko vaarassa? Mitä pitäisi tehdä?

Jos olet rekisteröitynyt käyttäjä H-Townin verkkosivuilla, salasanasi on saattanut joutua vääriin käsiin ja tietosi ovat vaarassa. H-Town ohjeistaa seuraavaa:

Jos käytät samaa käyttäjätunnusta ja salasanaa muissa kuin H-Townin verkkopalveluissa, suosittelemme varatoimenpiteenä vaihtamaan salasananne välittömästi. Kaiken varalta olisi suotavaa myös vaihtaa H-Townin sivustoilla käytetyt salasanat palveluiden tullessa takaisin linjoille. 

Jos siis olet toiminut fiksusti, etkä käytä samaa salasanaa muualla, voit olla levollisin mielin – kunhan muistat vaihtaa salasanasi¹ sitten kun H-Town saa palautettua verkkopalvelunsa.

Jos käytät samaa salasanaa muuallakin (erityisesti rekisteröitymiseen käyttämässä sähköpostissasi), on tärkeää vaihtaa kaikkien näiden palvelujen salasanat saman tien. Tehtävä saattaa tuntua työläältä, mutta yksityisyytesi kannalta se on välttämätöntä.

Jos et pysty kirjautumaan johonkin palveluun, ja epäilet, että pahantahtoinen käyttäjä on muuttanut kirjautumistietojasi, ota yhteys palvelun palveluntarjoajaan. Yleensä palveluntarjoajat pitävät kirjaa siitä, mistä palveluun on milloinkin kirjauduttu, ja on mahdollista vielä pelastaa tilisi. Lisäksi jos käyttäjätunnuksiasi käytetään väärin, on kyseessä rikos, ja sinulla saattaa olla mahdollisuus yhteistyössä poliisin kanssa saattaa väärinkäyttäjä edesvastuuseen.

Yhteenvetoa

H-Townin verkkopalveluiden kirjautumistietoja on siis viety. Tässä vaiheessa en tiedä, miten hyökkäys tehtiin ja minkä muotoisena salasanat vietiin. Tiedustelen tätä asiaa H-Townilta ja päivitän postausta, kun lisää tietoa tulee saataville.

H-Townilta kerrottiin, että palvelimelle murtauduttiin, ja että saattaa olla mahdollista, että tietoja on viety, vaikka hyökkäys vaikuttikin kohdistuvan palvelinta, eikä käyttäjätietoja, vastaan.

Disclaimerina kerrottakoon, että tässä postauksessa kertomani tilannearviot ovat omiani, ja perustuvat vahvasti tekemiini oletuksiin yleiseen IT-alan ja verkkopalvelujen tuntemukseeni pohjautuen. Mikäli kirjoituksessani on puutteita tai virheitä, jätä kommenttia. Myös muutenkin kommentointi on luonnollisesti sallittua.

1) Itse olisin palvelujen palauttamisen aikaan yksinkertaisesti pakottanut jokaisen käyttäjän vaihtamaan salasanansa.

Edit 8.7.11 17.02: Älä hämäänny linkin osoitteesta. Google keksii osoitteet puolestani, ja tällä kertaa se on tuollainen. 

Edit 14.7.11 18.08: Tietoja päivitetty H-Townilta saamieni lisätietojen perusteella. Lue lisäksi kirjoittamani päivitys.

Pitihän se arvata

No pitihän se arvata että minkä takia Sampo Pankin sivut kusevat. Tekijänä on ah-niin-taidokas TietoEnator (lähde), tai tarkemmin ottaen sen tytäryhtiö mutta kuitenkin.

Saman talon sisällä on ollut ongelmia mm. yhteishakuun käytetyn kouluta.fi -sivuston toteuttamisessa. Tänään se oli järjettömän tukossa, kun käyttelin sitä. Muutenkaan en ole hirveän mairittelevaa palautetta siitä kuullut: kaikki toiminnallisuudet eivät toimi, käyttöliittymä on sekava ja käyttäjäroolit (joita on varmaankin jotakuinkin 20-30 erilaista) arpovat hyvin erilaisia tuloksia hakijoista.

Tulikin tässä mieleeni, että luin tänään siitä, että Eduskunnan nettisivuilla on ollut haavoittuvuus, joka on mahdollistanut sivujen muokkaamisen käyttäen oikeanlaisia hakukyselyitä (haiskahtaa SQL Injectionilta). Sivuston toteuttajan nimi kuulostaa tutulta. Ah, nyt muistankin: TietoEnator.

Muistattekos muuten, kuka toimittaa suomalaisille sähköisen äänestysjärjestelmän, jonka auditoijilla on salassapitovelvollisuus ongelmista ja jonka toiminta on liikesalaisuus? Oikein, TietoEnatorhan se taas siellä.

Itse ei vapaaehtoisesti TietoEnatorin paskoihin koskisi pitkällä tikullakaan, kun siellä näyttäisi olevan 20 juopunutta apinaa hakkaamassa näppäimistöjä päähän, tai sitten Insinööri® on miettinyt liikaa hienoja teknisiä kikkailuja ja unohtanut käytettävyyden, vakauden ja turvallisuuden. Suosittelenkin TietoEnatoria vaihtamaan nimensä kuvaavammaksi, kuten vaikka EpicFailure:ksi. Hyvää illanjatkoa.