Mitä Heartbleed tarkoittaa netinkäyttäjälle

Lu­ke­mat­to­mat verk­ko­pal­ve­lut − niin isot kuin pie­net − ovat ol­leet alt­tii­na mm. käyt­tä­jien tie­to­jen vien­ni­lle Heart­bleed-ni­mi­sen tie­to­tur­va-au­kon ta­kia. Ne­tin­se­laa­jan­kin täy­tyy ryh­tyä ko­viin toi­men­pi­tei­siin.

Kuva: Heartbleed logo, CC0

Viime päivät ovat olleet verkkopalvelujen pyörittäjille vaikeita. Mylläkkä sai alkunsa, kun Googlen turvallisuusyksikössä työskentelevä Neel Mehta huomasi, ettei verkkoliikenteen salauksessa usein käytetty OpenSSL-ohjelmistokirjasto toimii pahasti väärin: pahantahtoinen käyttäjä voisi laatia kyselyn, jolla saisi palvelimen lähettämään hänelle ohjelmiston muistista dataa, esimerkiksi yksityisiä viestejä ja salasanoja. Haavoittuvuus sai kutsumanimekseen Heartbleed, sydänvuoto.

IT-piireissä uutinen levisi kulovalkean tavoin, ja järjestelmänvalvojat kiirehtivät paikkaamaan ohjelmistojaan. Harmi vain, että vahinko oli jo ehtinyt tapahtua: pahimmassa tapauksessa noin 80 prosenttia verkkopalveluista on ollut haavoittuvaisia viimeiset pari vuotta. Sitä, kuinka monesta palvelusta on tietoja viety, ei tiedä kukaan.

Näin äkkiseltään ei tule mieleen pahempaa tietoturva-aukkoa: voidaan sanoa, että Heartbleed-haavoittuvuus koskee jok’ikistä Internetin käyttäjää. Pahimmassa tapauksessa siis kaikkien Internet-käyttäjien tietoja on viety. Tilanne on paha ennen kaikkea käyttäjien kannalta, joten toimettomaksi ei kannata jäädä.

Heartbleed-haavoittuvuuden toimintatapa

Johtuen ohjelmointivirheestä OpenSSL-kirjastossa, voi tietynlaisella pyynnöllä saada kirjaston lukemaan muistiaan vastaukselle varatun tilan yli, ja lähettämään tuon datan paluupostissa. Vastaukselle varatun muistitilan jälkeen ohjelman muistissa voi olla mitä tahansa, ja tuota ”mitä tahansa” voidaan pyytää jopa 64 kilotavua. Hyökkääjä voi lähettää pyyntöjä yhä uudelleen ja uudelleen, saaden aina uuden siivun muistia tutkittavakseen.

Ohjelman muistissa voi olla esimerkiksi itse salaukseen käytetty yksityinen avain tai käyttäjien salasanoja, mutta myös mitä tahansa muuta. Hyökkäyksestä ei tyypillisesti jää uhripalvelimeen mitään jälkiä, joten jälkikäteen ei voida sanoa, onko palvelua vastaan hyökätty vai ei. Tietoturva-asioissa kannattaa kuitenkin lähteä pahimmasta mahdollisesta tilanteesta, eli olettaa kaiken arkaluonteisen olevan hyökkääjän tiedossa.

Haavoittuvuuden aiheuttanut OpenSSL:n ohjelmointivirhe on sittemmin korjattu, ja kaikki valveutuneet verkkopalvelujen ylläpitäjät ovat asentaneet korjauspäivityksen. Enää tietojen vienti ei siis enää ole mahdollista. Sen sijaan jo viedyt tiedot on menetetty, eikä verkkoliikenteen salauskaan ole luotettavaa, ennen kuin palvelu vaihtaa salausavaimensa.

Haavoittuvuudesta kärsineet palvelut

Kirjoitushetkellä varsin harva palvelu on julkisesti kertonut, koskettaako haavoittuvuus sitä. Tämä voi johtua muun muassa seuraavista:

  • Palvelu ei käyttänyt haavoittuvaista versiota, eikä näin näe tarvetta tiedottaa käyttäjiään.
  • Palvelun tuottaja ei tiedä, koskettaako haavoittuvuus heitä.
  • Palvelun tuottaja tietää, että palvelu on (ollut) haavoittuvainen, muttei halua tiedottaa käyttäjiään.

Esimerkiksi Mashable on koonnut luetteloa palveluista, jotka ovat varmuudella olleet uhattuna. Listalla ovat mm. Pinterest, Tumblr, Google ja Yahoo.

Uskon, että monet edellä mainittuja pienemmät toimijat (mm. kotimaiset verkkokaupat, yliopistot, hosting-yritykset…) ovat niin ikään käyttäneet reikäistä OpenSSL-versiota.

Ohjeita käyttäjälle (eli kaikille)

Kannattaa seurata sähköpostia ja verkkosivujen tiedotteita, ja vaihtaa salasana heti, jos verkkopalvelun ylläpito niin suosittelee. Verkkokauppojen asiakkaiden kannattaa myös seurata tiliotteitaan, ja mitätöidä maksukortti, jos outoja maksutapahtumia ilmestyy.

Salasanaansa ei kannata vielä vaihtaa joka paikkaan, sillä kaikki palvelut eivät vielä ole päivittäneet ohjelmistojaan − muuten riskinä on, että uusikin salasana joutuu ulkopuolisten käsiin. Jos verkkopalvelu ei aiemmin pyydä niin tekemään, suosittelen vaihtamaan kaikkien verkkopalvelujen salasanat huhtikuun viimeisellä viikolla.

Mitään sellaista verkkopalvelua2 ei pidä käyttää, jolle seuraavat kriteerit täyttyvät:

  • palvelu vaatii käyttäjätunnuksen tai muun tunnistautumisen, ja
  • palvelu on ollut haavoittuvainen tai haavoittuvaisuustilanne ei ole tiedossa, ja
  • palvelun varmenne1 on julkaistu aiemmin kuin 9.4.2014.

Palvelua voi käyttää, kun varmenne on korvattu uudella. Tällöin kannattaa ensi töikseen vaihtaa salasanansa. Sanomattakin lie selvää, ettei samaa salasanaa kannata käyttää eri paikoissa.


1) Varmenteen tietoja pääsee useimmissa selaimissa katsomaan klikkaamalla salauksesta kertovaa lukonkuvaa ja sitten sopivia painikkeita painelemalla.
2) Joo, netin käytöstä tuli juuri aika paljon ikävämpää. Tai sitten vetelet riskillä ja toivot parasta.

Uusia tietomurtoja suomalaisille sivustoille – oletko listalla?

Setan ja Over­drive.fi:n käyt­tä­jä­tie­to­kan­nat pyö­ri­vät ne­tis­sä. Voit tar­kis­taa pal­ve­lu­ni avul­la, ovat­ko tie­to­si jul­kais­tuil­la lis­toil­la.

Kuva: Davide Restivo: A Modern Hacker #1
CC-By-SA 2.0

Setan keskustelupalstan ja Overdrive.fi-sivuston käyttäjätietokannat on murrettu, ja ne on julkaistu Internetissä. Yhteensä puhutaan reilusta 45 000 käyttäjätunnuksesta. Molemmissa tapauksissa listat sisältävät käyttäjätunnuksen, salasanan tiivisteen ja sähköpostiosoitteen. Ainakin Overdrive.fi:n osalta vaikuttaa siltä, että salasanoja ei ollut suolattu, sillä eräällä listalla reilusti yli puolet palvelun tunnusten salasanoista oli saatu laskettua auki.

Viimeksi suomalaispalvelujen vuodettuja tunnuksia julkaistiin Internetissä viime vuoden lopulla, jolloin perustin palvelun, jossa voi tarkistaa, löytyykö omia tietoja julkaistuilta listoilta. Nyt palvelu toimii myös Seta- ja Overdrive-vuotojen osalta.

Itse palvelu ei kerää mitään käyttäjätietoja, eikä sellaisia järjestelmässä ole, vaan palvelu muuntaa sille annetut arvot SHA512-tiivisteiksi ja vertaa tiivisteitä vuodettujen listojen pohjalta tehtyihin tiivisteisiin. Tarkemmin käytetty tekniikka kuvataan itse palvelussa.

Jos olet rekisteröitynyt Setan tai Overdrive.fi:n palveluihin, on tietosi ehkä vaarantuneet. Ja vaikket olisi kyseisiä verkkopalveluita käyttänyt, suosittelen kuitenkin lämpimästi syöttämään käyttäjätunnuksen, salasanan ja sähköpostiosoitteen palvelun läpi siltä varalta, että tunnuksesi oli jollain aiemmin julkaistulla listalla.

Sertifikaatti palveluun on itseallekirjoitettu, ja sen MD5-tunniste on 47:cf:52:5f:ac:1f:79:30:0d:81:32:74:95:2d:af:2a .

Siirry palveluun »

Millainen on hyvä salasana – ja miksi?

Hyvä salasana on pitkä ja sisältää
mitä erilaisimpia näppäimistön
anteja.

Kuva: Keyboard, cafenut,
CC-BY-NC-SA-2.0

Viestintäviraston tietoturvaan keskittynyt CERT-FI -osasto julkaisi – viimeaikaisiin tietomurtoihin liittyen – jokin aika sitten ohjeen hyvästä salasanasta. Kuinka sitten keksiä sopiva salasana, kun joka palveluun tarvittaisiin oma, vähintään 15 kirjainta, numeroa ja muuta merkkiä sisältävä rimpsu, jota ei saisi kirjoittaa paperillekaan?

Lähdetään liikkeelle siitä, miten salasanat oikeastaan murretaan. Oion tässä yksikertaisuuden nimissä: esimerkiksi suolausta ei ole otettu huomioon, kuten ei myöskään sitä, että jotkut verkkosivut tallentavat salasanat selväkielisinä, kuten vastikään murtunut Netcar.fi.

Hyökkääjä-Heikki, korkattuaan käyttäjätietokannan ja saatuaan salasanatiivisteet käyttöönsä, voi nykyaikaisella tietokoneella laskea satojatuhansia tiivisteitä sekunnissa ja vertailla niitä salasanatiivisteitä vastaan: tässä kirjoituksessa on lähdetty siitä, että hyökkääjä laskee 500 000 tiivistettä sekunnissa. Tämä tarkoittaa sitä, että hyökkääjä voi käydä kaikki ne salasanat, joissa on 6 pientä kirjainta, läpi alle kahdessakymmenessä minuutissa. Koska erilaisten salasanojen määrä voidaan laskea kaavalla salasanat=merkkivalikoimapituus, on jo kahdeksankirjaimista salasanaa huomattavasti vaikeampi murtaa: 298≈5,002×1011.

Heikki ei kuitenkaan ole rajoittunut vain tuollaiseen brute-force -hyökkäykseen. Hän todennäköisesti alottaisi sateenkaaritaulukolla vertaillen valmiiksi laskettuja tiivisteitä rikollisesti hankittuja salasanatiivisteitä vastaan. Kun siitä on selvitty, siirtyisi hän sanakirjahyökkäykseen: kokeillen yleisiä salasanoja, sanakirjasanoja sekä sanojen ja numeroiden yhdistelmiä. Tässä vaiheessa jo hyvin moni salasana olisi auennut, sillä Heikin ei tarvitse murtaa salasanaa kerrallaan, vaan hän voi kokeilla saatuja tiivisteitä kaikkien salasanojen tiivisteitä vasten yhtä aikaa. Viimeisenä keinona hän sitten kokeilisi brute forcea, joka on tehokas lähinnä 1-8 merkkiä pitkien salasanojen murtamiseen.

Jos murtomies pääsee käsiksi käyttäjätietoi-
hin, on hänellä monia keinoja salasanan sel-
vittämiseksi.

Kuva: Davide Restivo: A Modern Hacker #1
CC-By-SA 2.0

Kun Heikillä on kasa käyttäjätunnuksia ja mahdollisesti muita henkilötietoja salasanoineen, hän voi käyttää hyväksi sitä, että monet käyttävät samaa salasanaa eri paikoissa, ennen kaikkea sähköpostissa. Jos Heikki pääsee saamallaan salasanalla käsiksi myös uhrin sähköpostitiliin (tai jos hyökkäys kohdistui siihen), voi hän vallata uhrin muita käyttäjätilejä palveluiden ”Unohdin salasanani” -toiminnoilla, jotka tavallisesti lähettävät uuden salasanan tai linkin sen luontiin sähköpostina.

Nyt, kun tiedetään miten salasanoja murretaan ja mitä niiden avulla voidaan tehdä, voidaan lähteä miettimään tehokasta vastatoimea. Unohdetaan saman salasanan käyttäminen useissa paikoissa, ja valitaan sellaisia salasanoja, joita ei kenellekään muulle tulisi mieleenkään. Internet on pullollaan palveluita, jotka kehittävät pyydetynpituisia ja -tyyppisiä salasanoja (kuten Wolfram Alpha), mutta nämä ovat usein hankalasti muistettavia.

Kuvitellaan salasana vaikka musiikkiaiheiselle keskustelufoorumille: otetaan sen päässä jatkuvasti soivan lempikappaleen kertosäe, ja käytetään sitä salasanan muistisääntönä. Kertosäkeestä voi sitten oman maun mukaan poimia kirjaimia, numeroita ja muita merkkejä, kunnes pituus on 15 merkkiä. Sellaisenaan kertosäettä ei kannata käyttää, sillä nokkela hyökkääjä keksii kokeilla myös sitä. Samalla tapaa voidaan luoda yksilöllisiä salasanoja, joihin on olemassa aina sopiva muistisääntö, ja jotka eivät teemansa takia sekoitu toisiinsa.

Hyvä salasana ei kuitenkaan vielä täysin ratkaise ongelmaa. Palveluissa on usein salasanan palauttamiseksi valittavissa myös salainen kysymys -vaihtoehto. Jos mahdollista, tällaiset kysymykset kannattaa poistaa käytöstä, tai vastata kysymykseen pupulla. Ventovieraskin hyökkääjä voi nimittäin esimerkiksi sosiaalisen median, kuten Facebookin, avulla saada selville äidin tyttönimen tai lempiruoan. Jos hyökkääjä tuntee uhrin entuudestaan, on tietojen selvittäminen vielä helpompaa.

Lisäksi kannattaa tarkkaan miettiä, kannattaako palveluun todella rekisteröityä. Jokainen palveluun rekisteröityminen lisää riskiä sille, että käyttäjätietojasi – muutakin kuin salasanasi – joutuu vääriin käsiin. Pohdintaansa voi alustaa vaikka sillä ajatuksella, että mitä palveluun syöttämillä tiedoilla voitaisiin tehdä niiden joutuessa vääriin käsiin.

Salasana kannattaa myös vaihtaa aika ajoin, vaikkapa vuosittain. Tällöinkään salasanoja ei pidä kierrättää, vaan keksiä uusia. Ja jos uusi salasana ei muuten uppoa päähän, voi sen hetkeksi kirjoittaa esimerkiksi paperille, ja pitää paperin visusti tallessa. Jos palveluun kirjautuu monia kertoja, jossain vaiheessa pidempikin salasana jää päähän. Jos toisaalta kirjautumiskertoja on kovin vähän, kannattaa miettiä, onko käyttäjätili kyseisessä palvelussa kovin tarpeellinen muutenkaan.

Selaimen salasananmuistamis-
toimintoa kannattaa käyttää, jos
salasanat eivät muuten pysy mie-
lessä.
Kuva: Kuvakaappaus Firefox 7:sta.

CERT-FI neuvoo ohjeessaan käyttämään tarvittaessa apuohjelmia salasanojen muistamiseen, mutta pitäisin itse sitä viimesijaisena keinona. Selainten oma Muista salasana -toiminto on yleensä kaikki, mitä tarvitaan. Nämä tiedot kannattaa tietenkin varmuuskopioida offline-medialle (kuten CD- tai DVD-levylle, tai muistitikulle), eikä esimerkiksi sähköpostin tai PayPalin kirjautumistietoja kannata tallentaa edes sinne: ne on turvallisinta opetella sovinnolla ulkoa.

Lopuksi pari linkkiä. Splashdata julkaisi vuosittaisen 25 huonointa salasanaa -listansa, josta salasanojaan ei välttämättä kannata poimia. Toisena linkkinä tarjoan mahdollisuutta tekemässäni palvelussa tarkistaa, onko viimeaikaisilla nettiin vuodetuilla listoilla sinun tietojasi. Sertifikaatti on itseallekirjoitettu, ja sen MD5-summa on 634CE8C0950751A7E3C7FE71FFFE8D3C.