Miten salasanat murretaan?

Tileille murtaudutaan harvoin niin kuin elokuvissa näytetään. Käytännössä salasana saadaan selville yhdellä kolmesta tavasta. Se murretaan: selvitetään kokeilemalla ehdokkaita toisensa jälkeen, yleensä palvelusta varastettua salasanojen tiivisteiden tietokantaa vastaan. Se varastetaan: kirjoitetaan huijaussivulle tai kopioidaan haittaohjelmalla. Tai sitä käytetään uudelleen: hyökkääjät ottavat aiemmasta tietovuodosta saadun salasanan ja kokeilevat sitä muissa palveluissa luottaen siihen, että omistaja on käyttänyt sitä sielläkin. Erolla on väliä, sillä jokaista vastaan toimii eri suojauskeino. Tämä artikkeli käy läpi tärkeimmät menetelmät ja nimeää, mikä auttaa kutakin vastaan.

Tietovuodoista peräisin olevien salasanojen uudelleenkäyttö

Joka vuosi palveluihin murtaudutaan, ja niiden käyttäjätietokannat päätyvät myyntiin tai vapaaseen jakoon. Hyökkääjät ottavat yhdestä vuodosta peräisin olevat sähköpostiosoitteen ja salasanan parit ja kokeilevat niitä automaattisesti pankkeihin, sähköpostipalveluihin, verkkokauppoihin ja sosiaalisiin verkostoihin — tätä hyökkäystä kutsutaan tunnusten kokeiluksi (credential stuffing). Siinä ei arvata yhtään mitään, ja se toimii yksinkertaisesta syystä: ihmiset käyttävät samoja salasanoja uudelleen. Edes vahva salasana ei auta tässä, jos se on sama kaikkialla.

Mikä auttaa: eri salasana jokaiselle tilille, jotta vuoto yhdessä palvelussa ei avaa mitään muuta.

Verkkokalastelu

Kalastelusivu on kopio aidosta kirjautumissivusta hieman eri verkko-osoitteessa, jonne päädytään kiireelliseltä kuulostavan sähköpostin tai viestin linkistä: suljettu tili, paketti, lasku. Kaikki, mitä kirjoitat sinne, menee suoraan hyökkääjälle. Salasanan pituudella ja satunnaisuudella ei ole mitään merkitystä, koska syötät sen itse.

Mikä auttaa: avaa sivustot omista kirjanmerkeistäsi linkkien sijaan. Käytä salasanojen hallintaohjelmaa: se tarjoaa salasanan täyttämistä vain siinä osoitteessa, jota varten se on tallennettu, joten jos se ei tarjoa tallennettua salasanaa, tarkista osoite ennen kuin kirjoitat sen käsin. Ja ota käyttöön kaksivaiheinen tunnistautuminen, joka tekee pelkästä varastetusta salasanasta riittämättömän. Kertakäyttökoodeja voidaan kuitenkin kalastella samalla tavalla kuin salasanaa. Pääsyavaimia (passkeys) ja FIDO2-turva-avaimia ei voi, koska ne vastaavat vain aidolle sivustolle — tämä on ominaisuus, jota NIST kutsuu kalastelunkestävyydeksi.

Haittaohjelmat

Tiedonvarastajiksi (infostealers) kutsutut ohjelmat kopioivat selaimeen tallennetut salasanat yhdessä istuntoevästeiden kanssa ja lähettävät ne eteenpäin sekunneissa käynnistämisestä, kun taas näppäilynallentimet (keyloggers) tallentavat kaiken kirjoitetun. Varastettu istuntoeväste voi päästää hyökkääjän sisään jo kirjautuneelle tilille ilman salasanaa ja ilman toista tunnistautumistekijää. Tällaiset ohjelmat saapuvat yleensä piraattiohjelmistojen, väärennettyjen päivitysten ja sähköpostiliitteiden mukana.

Mikä auttaa: ohjelmistojen asentaminen vain virallisista lähteistä, järjestelmän ja selaimen pitäminen ajan tasalla sekä odottamattomien liitteiden pitäminen vihamielisinä — joista mikään ei ole sataprosenttinen takuu. Jos laite on saanut tartunnan, toimi toiselta laitteelta, jonka tiedät puhtaaksi: vaihda salasanat, käytä kunkin palvelun toimintoa kaikkien istuntojen päättämiseksi ja tarkista, että palautussähköposti, puhelinnumero ja kaksivaiheisen tunnistautumisen asetukset ovat yhä sinun hallinnassasi. Puhdista saastunut laite ennen kuin kirjaudut sillä uudelleen.

Arvaaminen kirjautumislomakkeella

Salasanojen kokeileminen suoraan verkkosivustoa vastaan on hidasta: hyvin rakennettu palvelu viivästyttää, estää tai kysyy captcha-vahvistusta muutaman väärän yrityksen jälkeen. Tämä tekee yksittäisen tilin pommittamisesta tehotonta, joten yleinen lähestymistapa on päinvastainen: kourallista yleisimmistä salasanoista — 123456, password, qwerty123 — kokeillaan miljoonia tilejä vastaan, mitä kutsutaan salasanojen hajautuskokeiluksi (password spraying). Kohdennettu arvaaminen toimii samalla tavalla henkilötiedoilla: lasten ja lemmikkien nimet, syntymäpäivät ja suosikkijoukkue ovat kaikki helposti löydettävissä sosiaalisesta mediasta.

Mikä auttaa: mikä tahansa salasana, joka ei ole yleinen eikä muodostettu sinua koskevista tiedoista — katso miten luoda vahva salasana.

Salasanojen arvaaminen varastetuista tiivisteistä offline-tilassa

Oikein rakennettu palvelu ei tallenna salasanoja selväkielisenä. Se tallentaa tiivisteitä (hash) — yksisuuntaisen funktion tuloksia, joista salasanaa ei voi laskea takaisin. Kun tällainen tietokanta vuotaa, hyökkääjät testaavat mahdollisia salasanoja: he laskevat ehdokkaiden tiivisteet omilla laitteillaan ja vertaavat tuloksia. Mikään kirjautumislomake ei hidasta heitä, ja nopeus riippuu palvelun valitsemasta tiivistefunktiosta ja sen asetuksista. Nopeille, vanhentuneille funktioille, kuten MD5, yksi moderni näytönohjain testaa kymmeniä miljardeja ehdokkaita sekunnissa. Salasanojen tallentamiseen suunnitellut funktiot — Argon2id tai vanhemmissa järjestelmissä bcrypt — ovat tarkoituksellisen hitaita ja leikkaavat tätä nopeutta useilla kertaluokilla, minkä vuoksi nykyiset suositukset nimeävät ne.

Sanakirjahyökkäykset

Kokeiltavat ehdokkaat eivät ole satunnaisia. Murtotyökalut aloittavat aiemmista vuodoista saaduilla todellisilla salasanalistoilla sekä sanojen ja nimien sanakirjoilla, ja soveltavat sitten inhimillisiä tapoja jäljitteleviä sääntöjä: iso alkukirjain, vuosiluku tai huutomerkki lopussa tai kirjaimen korvaaminen samankaltaisella merkillä. Salasana kuten Summer2024! näyttää monimutkaiselta, mutta se on ensimmäisten kokeiltavien ehdokkaiden joukossa. Suolaus (salting) — yksilöllisen satunnaisen arvon lisääminen kuhunkin salasanaan ennen tiivistämistä — estää hyökkääjiä käyttämästä esilaskettuja taulukoita (rainbow tables) ja murtamasta kaikkia identtisiä salasanoja kerralla, mutta se ei tee ennalta arvattavasta salasanasta yhtään vähemmän ennustettavaa.

Raaka voima

Kun sanakirjat on käyty läpi, jäljelle jää jokaisen yhdistelmän kokeileminen, ja satunnaisesti luodun salasanan kohdalla pituus ratkaisee lopputuloksen. Havainnollistuksena oletetaan nopea tiiviste ja salasana, jonka jokainen merkki valitaan toisistaan riippumattomasti ja yhtä suurella todennäköisyydellä 94 tulostettavasta ASCII-merkistä välilyöntiä lukuun ottamatta. Tällaisia 8 merkin salasanoja on noin 6 × 1015 kappaletta; kymmenen miljardin arvauksen sekuntinopeudella niiden kaikkien kokeileminen vie noin viikon, ja keskimäärin oikea löytyy puolessa tästä ajasta. Jos merkkejä on 12, kaikkien kokeileminen samoilla laitteilla kestäisi noin 1,5 miljoonaa vuotta, ja 16 merkin kohdalla luku on minkä tahansa mielekkään vertailun ulkopuolella. Tämä on koko peruste pitkille satunnaisille salasanoille: sanakirjoista ei ole juuri hyötyä niitä vastaan, ja näillä oletuksilla kaikkien yhdistelmien kokeileminen ei ole käytännössä mahdollista. Vahvojen salasanojen generaattorimme luo ne selaimessasi ja näyttää jokaiselle entropia-arvion bitteinä.

Mikä auttaa: pitkä salasana, jossa ei ole inhimillistä kaavaa, mikä tarkoittaa käytännössä generoitua salasanaa. Et voi vaikuttaa siihen, miten palvelu tallentaa salasanasi, joten varaudu pahimpaan ja valitse salasana, joka kestää arvaamisen silloinkin, kun se on tallennettu nopealla tiivistefunktiolla.

Olkapään yli kurkkiminen ja sosiaalinen manipulointi

Vanhimmat menetelmät eivät tarvitse teknologiaa. Salasana luetaan olkapään yli, näytöllä olevasta tarrasta tai videopuhelussa jaetulta näytöltä; tai hyökkääjä yksinkertaisesti pyytää sitä tekeytyen tukihenkilöksi tai työkaveriksi — mitä kutsutaan sosiaaliseksi manipuloinniksi (social engineering). Mikään luotettava palvelu ei koskaan kysy salasanaasi puhelimitse, sähköpostitse tai chatissa.

Mikä auttaa: älä koskaan sano tai lähetä salasanaasi kenellekään, äläkä säilytä sitä paikassa, jossa muut voivat nähdä sen.

Yhteenveto

Eri hyökkäyksiä torjutaan eri tavoilla, ja kolme sääntöä auttaa eniten: yksilöllinen salasana jokaiselle tilille, generoitu sen sijaan että se olisi itse keksitty, ja lisäksi kaksivaiheinen tunnistautuminen — tai pääsyavain salasanan sijaan siellä, missä palvelu sitä tarjoaa. Nämä eivät kata aivan kaikkea — kuten varastettua istuntoa — minkä vuoksi edellä annetut ohjeet haittaohjelmia vastaan ovat myös tärkeitä. Lisää artikkeleita on koottu salasanaoppaisiin.