Onko järjestelmäsi helppo hakkeroida?

Miten salasanojen vahventaminen tekee järjestelmästä turvallisemman?

Kirjoittaja: Eija Paajanen
Päivämäärä: maaliskuu 29, 2016
Lukuaika: 3 Minuuttia

Salasanojen varkaustapaukset nousevat aina vain otsikoihin. Me kaikki muistamme uskottomuussivusto Ashley Madisonin tietomurron. Hakkerit keräsivät valtavan määrän sivuston käyttäjien yksityistietoja.  He myivät tiedot ja myöhemmin julkaisivat ne kaikkien nähtäviksi.

Näin olisi voinut käydä mille tahansa yritykselle, miltä tahansa tomialalta. Henkilötiedot ovat näet yksi kyberrikollisten suosikkikohteista. Yksityiskohtaiset henkilötietomme saattavat olla kaupan rikollisten käyttämissä verkkopalveluissa  (Dark Web) niinkin pienellä summalla kuin yhdellä dollarilla.

Salasanat ovat otsikoissa Apple iPhone -tapauksen vuoksi. FBI haastoi Applen oikeuteen pakottaakseen yhtiön murtamaan terrorismista epäillyn henkilön puhelimen suojaukset. Applen tapaus herätti kuuman keskustelun takaporteista. Pitäisikö yritysten suunnitella salaukset sellaisiksi, että viranomaiset voivat ne ohittaa.

FBI:n vaatimus takaportista selvän terrorismitapauksen ratkaisemiseksi tuntuu alkuun aivan kohtuulliselta. Tarkemmin ajatellen ajatus takaportista on pelottava. Entä jos hakkeri löytää takaportin? Takaportti on tahallinen tietoturvan heikennys, jonka kautta monenlaiset hakkerit ja rikolliset voivat murtautua laitteisiin ja tietoihin. Salaus ei silti ole piilopaikka rikollisille.

Apple iPhonen oletussalaus on niin voimakas, ettei FBI pysty täysin avaamaan laitteeseen tallennettuja tietoja.

Aivan varmasti haluat estää salasanojen varkaudet. Sillä tokkopa haluat yritystäsi otsikkoihin siksi, että yrityksen salaisuuksia tai työntekijöiden, kumppaneiden ja asiakkaiden yksityistietoja päätyy vääriin käsiin ja julkisuuteen. Haluat myös, että voit rehellisesti sanoa, että sinulla ei ole keinoja murtaa salasanasuojausta.  Kaikki pitää silloin tehdä oikein alusta pitäen eli jo järjestelmän vaatimuksia määriteltäessä.

Miten salasanoja pitäisi lähestyä

Meillä on valitettavasti taipumus luoda salasanoja, jotka on aika helppo murtaa sopivilla välineillä ja laskentavoimalla. Salasanan vahventaminen (Keyword Stretching) salaustekniikkaan perustuvalla hajautusfunktiolla (hash) parantaa turvallisuutta järjestelmätasolla. Salasana tarvitsee varmentaa vain samalla vauhdilla kuin käyttäjä sen syöttää, mikä helpottaa laskentaan kulutettavalle ajalle asetettavia vaatimuksia.

F-Securen tutkimusyksikön johtava tutkija Jarno Niemelä selostaa:

Raakaan voimaan tukeutuva hyökkääjä tekee kymmeniä miljardeja salasana-arvauksia sekunnissa. Esimerkiksi vuonna 2012 grafiikkakortteja hyödyntävä demonstraatiojärjestelmä laski 68 miljardia SHA1-arvausta (Secure Hash Algorithm) sekunnissa. Uusimmilla korteilla vauhti olisi moninkertainen. Nykyään laskentahirmua ei tosin tarvitse rakentaa itse. Laskentakapasiteetin voi yksinkertaisesti ostaa Amazonin pilvipalveluista. Jos käytät tavallista salasanan vahvennusta, vähennät tarvittavien yritysten määrän miljardeista kymmeniin tuhansiin. Esimerkiksi 25 grafiikkakortin ryväs laski vuonna 2012 63 miljardia SHA1-yritystä sekunnissa, mutta vain 71 000 yritystä sekunnissa, kun käytettiin Bcrypt-funktiolla luotuja salasanoja.

Jarno NiemelaJarno on kirjoittanut kaksi mielenkiintoista artikkelia salasanojen ja avaimien hajautuksesta ja ”suolauksesta” (hashing and salting). Lue tai jaa IT-ylläpidolle (“Are you sure SHA-1+salt is enough for passwords?” ja “No, Heavy Salting of Passwords is Not Enough, Use CUDA Accelerated PBKDF2.
Jarno tähdentää näissä teksteissä, että pelkästään hajautus ja ”suolaus” eivät riitä. Syötettävien salasanojen määrää on rajoitettava tietokoneelta laskenta-aikaa vaativilla kehittyneillä matemaattisilla algoritmeilla, joita ei voi ohittaa. Rajoittaminen pelkästään esimerkiksi yhdeksi yritykseksi sekunnissa ei kelpaa.  Suojan parantamiseksi kannattaa harkita myös kahta muuta algoritmia. Toinen estää ohittamisen suojaamalla muistin ja toinen estää käyttämästä tehokkaampaa laskentaa.

Jarnon oma suosikki on yhdistää Bcrypt tai PBKDF2 ja Scrypt niin, että Bcrypt tai PBKDF2 käyttävät puolet laskenta-ajasta ja toisen puolikkaan Scrypt. Scrypt tarjoaa erittäin vahvan suojan grafiikkakiihdyttimiä (GPU, CUDA) hyödyntäviä murtojärjestelmiä vastaan. Jos Scrypt-funktiosta paljastuu heikkous, turvallisuus on silti taattu Bcrypt- ja PBKDF2-funktioiden ansiosta.

Jarno tiivistää:

On ratkaisevan tärkeää pyörittää salasanan vahvennusfunktioilla riittävän monta iteraatiokierrosta.  Valitse iteraatioiden määrä sen mukaan, kuinka paljon aikaa voidaan käyttää salasanan varmentamiseen. Esimerkiksi 500 millisekuntia mobiililaitteelle ja pc:lle ja 1-10 millisekuntia palvelimelle.


Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s