esmaspäev, 2. november 2015

Turvalistest paroolidest

Jätkaks küberhügieeni teemadel. Kui varasemalt oli juttu kahefaktorilisest autentimisest, siis seekord vaatleks autentimise esimest faktorit ehk paroole.

Kui kiirelt meelde tuletada, siis on tavalised nõuanded paroolide valimisel järgmised:
  • Paroolid peavad olema võimalikult pikad
  • Paroolid peaksid sisaldama võimalikult erinevat tüüpi sümboleid
  • Paroolid ei tohiks olla arvatavad (n. koera nimi, sünnipäev vms.) ja need ei tohiks olla üldkasutatavate paroolide nimekirjas (passw0rd, 123456 jne.)
  • Paroole peaks vahetama, mitte hoidma kasutuses igavesti
  • Paroole ei tohiks taaskasutada (st. et erinevate veebilehtede jaoks ei tohi kasutada sama parooli)
  • jne.

Keerukate reeglite eesmärk on takistada nn. brute force meetodil paroolide murdmist, kus proovitakse läbi kõik võimalikud paroolid. Analoogiks oleks 4 kohalise numbrikoodiga kohvriluku avamine – näiteks kui sellise kohvriluku avamise kood on 0345 ning proovime seda avada brute force meetodil, siis peaksime käima läbi küll 345 erinevat koodi (0000, 0001, 0002, …, 0345), kuid lõpuks saaksime selle luku ikka lahti. Nelja numbri puhul on võimalikke proovimisvariante 104 ehk 10 000, nii et kuigi kõikide variantide läbiproovimine võtab veidi aega, on see siiski igaühe poolt murtav, seega tuleks tagada, et võimalikke variante poleks mitte 10 000, vaid tunduvalt rohkem ja seda need reeglid teevadki.

Väikese entroopiaga paroolid, näiteks samuti neljakohaline SIM kaardi PIN1, on tavaliselt kaitstud katsete arvu piiranguga. Kui sisestad kolm valet PIN'i, siis pead hakkama sisestama pikemat PUK'i, ning kui ka seda on sisestatud 10 korda valesti, võib kaardi ära visata. Paroolide brute force'imise all peame seega rohkem silmas neid lahendusi, kus korduste arv pole piiratud, näiteks parooliräside varguse järel nende räside lahendamist kõikide võimaluste läbi proovimise läbi (eeldusel, et räsid pole koostatud lohakalt ning ei ole koheselt murtavad juba eksisteerivate rainbow tabelite abil).

Kui kasutame ainult väikeseid ladina tähti, on kuukohalise parooli võimalike variantide arv 266 ehk 308 915 776. Kuigi inimese jaoks on see hulk juba liiga suur, siis arvutile on veel jõukohane. Kui lisame ka numbrid, siis saame ühe suurusjärgu võrra variante juurde (366 ehk 2 176 782 336). Kui teeme vahet suur- ja väiketähtedel, saame veel ühe suurusjärgu (626 ehk 56 800 235 584, teisiti väljendudes oleks see log262*6 ≈ 36 bitti entroopiat, kus iga täiendav sümbol, eeldusel et see sümbol valitakse juhuslikult, annaks 6 bitti entroopiat juurde). Ühesõnaga, iga kord kui teeme reegleid keerulisemaks, suurendab see tublisti võimalike variantide arvu, mida brute force ründaja peaks kasutaja parooli murdmiseks läbi proovima.

Lühidalt ütleks, et kõigi nende reeglite täpne täitmine on siiski mission impossible. Kuigi idee poolest tore, ei ole inimese aju mõeldud suures koguses suvaliste sümbolijadade meelde jätmiseks ja selline lähenemine lõpeb varem või hiljem paroolidega kollasel märkmepaberil kuvari küljes. Olukorra lihtsustamiseks on välja pakutud mitmeid mnemoonilisi võtteid. Populaarne koomiks XKCD soovitab kasutada paroolina lauseidDiceware soovitab valida parooliks samuti sõnu, kuid valida need täringuheitega. Esineb ka soovitusi moodustada lauseid, aga kasutada vaid sõnade esitähti jne.

Selliste soovituste probleemiks on tihti võlts-turvalisustunne.  Kui parooli moodustamise meetodist teavad "tavainimesed," siis päris kindlasti on sellega juba kursis ka kõik paroolikräkkerid. Paroolikräkkerid reeglina ei proovi läbi kõiki paroole vahemikus "aaa…" kuni "zzz…", kuna see võtaks liiga kaua aega, selle asemel alustavad nad ikka enim tõenäolistest variantidest. Tuntud turvauurija Bruce Schneier väidabki, et XKCD pakutud lahendus ei ole selle tõttu täna enam turvaline. Kui võtta puhtalt kasutatud sümbolite arvu järgi, siis oleks "correct horse battery stable" tõesti eeskujulik parool, probleemiks on, et tegu on nn. tavaliste sõnadega, mille arv on üsna piiratud. Muidugi saab nii luua tõeliselt turvalisi paroole, kuid ise "juhuslikult" sõnu valides võib tegelik saada olevate sõnade ring olla ikka üsna väike. Punast haamrit mäletab veel keegi? Veidi aitab eestikeelsete sõnade, eriti täpitähtedega sõnade vähene tuntus, neid tõenäoliselt esimeses järjekorras siiski ei proovita.

Lavale astub paroolihaldur

Paroolidega seotud riskide maandamiseks kasutabki iga turvalisuse pärast muretsev inimene paroolihaldamise tarkvara, selmet tegeleda triviaalsustega nagu uute keeruliste paroolide välja mõtlemine ja nende pähe tuupimine.

Paroolihalduri korral tuleb meeles pidada vaid üht parooli ehk paroolihalduri ülemparooli paroolifailile ligipääsuks. See võiks tõesti vastata kõikidele nendele eelpool kirjeldatud reeglitele, sest kõigest ühe keerulise parooli meeles pidamine ei tohiks siiski olla üle võimete. Kui paroolihaldur seda võimaldab, tuleks autentimiseks kindlasti kasutada ka teist faktorit.

Paroolihaldurite tarkvara võib laias laastus jagada kolme kategooriasse:

  1. Tarkvara, mis töötab ainult kasutaja arvutis ning sellest paroolide kätte saamiseks tuleb kasutada Copy-Paste meetodit. Sellised on näiteks PasswordSafe ja KeePass. Kuigi tegu on kõige turvalisema variandiga, võib selline pidev käsitsi paroolide ringi tõstmine olla üsna ebamugav.
  2. Tarkvara, mis salvestab paroolid kasutaja arvutis, kuid on integreeritud muu tarkvaraga (brauseri pluginad võimaldavad veebilehtede paroolivälju automaatselt täita, DropBoxi integratsioon võimaldab paroolifaili sünkroniseerida eri seadmete vahel jmt.). Selline on näiteks 1Password. See on samuti üsna turvaline kuna paroolifail on kasutaja kontrolli all, kuid liidestus brauseriga tekitab omad riskid.
  3. Tarkvara, mis salvestab paroolifaili "pilves" (tavaliselt küll krüpteeritud kujul, nii et paroolifaili avamine toimub alati kasutaja arvutis ning teenusepakkuja väidetavalt nendele andmetele ligi ei pääse) ja on samuti integreeritud muu tarkvaraga brauseri pluginate jms. abil. Selline on näiteks LastPass. Teoorias turvaline (de/krüpteerimine toimub kasutaja arvutis), praktikas jääb igaühe oma hinnata, kas usaldab oma teenusepakkujat või mitte.

LastPass abil Zone.ee lehele sisselogimine. Kasutajanime lahtrisse tekib lisanupp, millele vajutades avaneb selle saidi jaoks salvestatud kasutajate nimekiri. Nimel klikkides täidetaksegi autentimisväljad valitud kasutaja andmetega.
Paremate võimalustega paroolihaldur võib maksta küll veidi raha, kuid kui üldse oma raha mingi tarkvara alla panna, siis võiks see just olla paroolihalduri tarkvara. See muidugi ei tähenda, et tasuta poleks võimalik – suur osa paroolihalduritest ongi täiesti tasuta või siis osaliselt tasuta. Tasulised versioonid pakuvad lihtsalt mugavamaid või paremaid võimalusi. Näiteks LastPass lubab tasulisel kontol kasutada autentimise teiseks faktoriks Yubikey võtmeid, 1Password pro-mobiiliäpp võimaldab hallata ka TOTP koode jne. Enne ostu tasuks muidugi võrrelda tasuta ja tasulise pakkumise erinevust, võibolla tasuline variant ei annagi midagi vajalikku juurde, kõik sõltub konkreetsest kasutajast.

Korralik paroolihaldur töötab ka mobiilis. Siin on näha kuidas Zone.ee lehel iOS brauseri lisamenüüs on ka LastPass valik. Sellel vajutades avaneb salvestatud kasutajate nimekiri ning seejärel sobivale nimele vajutades täidetaksegi autentimisväljad salvestatud kasutaja andmetega.
Paroolihaldur on selles suhtes üsna anomaalne lahendus – ühest küljest teeb see kasutaja paroolid turvalisemaks ja raskemini murtavaks, mis võiks nagu tähendada ka lisandunud keerukust, teisest küljest aga muudab elu hoopis mugavamaks, kuna pole vaja enam paroole ise trükkida, selle töö teeb edaspidi ära seesama paroolihaldur. Moodsates brauserites on paroolide salvestamine ja täitmine samuti sisse ehitatud, kuid paroolihaldur töötab brauserite ja platvormiüleselt. Sama lahendus töötab nii töölaual brauseris X, kui ka mobiilis brauseris Y.

Kas on ka miinuseid?

Jah, on üks suur miinus, nimelt konsolideeritud paroolifail. Kui ründaja saab kätte paroolifaili ja mõistatab/varastab ülemparooli paroolifaili avamiseks, siis on kõik ligipääsud ründajal käes. Isegi kui ülemparool ei ole teada, võib paroolifaili sisu saada kätte kasutaja arvuti mälust. Absoluutselt kõike ei tasu seega sinna jätta, näiteks ID-kaardi PIN koodid võiksid olla siiski peas, mitte paroolihalduris. Samas, täielik ligipääs kasutaja arvutile paroolifaili kättesaamiseks on siiski tunduvalt vähem tõenäolisem, kui see et rogue veebileht salvestab kasutaja parooli ja proovib sama kasutajanime ja parooli kombinatsiooni hiljem ka kõikidel muudel võimalikel veebisaitidel, kus kasutajal võiks konto olla. Seetõttu kuulemegi üsna tihti inimestest, kes Gmaili kaudu "kojusõiduks rahapalveid" laiali saadavad, aga ei kuule nendest, kelle paroolihaldur oleks ära häkitud ja sellest paroolid kätte saadud. Pealegi, paroolihalduriga seotud riske saab maandada ka teise faktori kasutuselevõtuga.

Lõppude lõpuks on turvalisus alati kompromiss. Suure tahtmise korral oleks siiski võimalik paroolid pähe õppida või vähemalt kirjutada kuskile märkmikku, mis asub salajases kohas saja luku taga, kuid tavakäitumises on mugavus siiski väga oluline. Kui me peaksime iga parooli sisestamiseks minema salajasest šeifist salajast märkmikku tooma, et sealt trükkida käsitsi ümber 50 kohaline sümbolite rägastik, siis lõppeks see üsna kiirelt mõne kavala, kuid turvalisuse nulli viiva "parandusega," näiteks sellega, et autentimine lülitatakse hoopis välja.



Lugemist


Kommentaare ei ole: