Egy számítógép másodpercenként több mint 100 000 000 000 000 jelszót képes kitalálni. Még mindig azt hiszi, hogy a sajátja biztonságos?

A jelszavakat évezredek óta használjuk arra, hogy azonosítsuk magunkat másokkal és újabban a számítógépekkel szemben. Ez egy egyszerű koncepció – egy megosztott információ, amelyet titokban tartanak az egyének, és amelyet a személyazonosság “bizonyítására” használnak.

A jelszavak informatikai kontextusban az 1960-as években jelentek meg a nagyszámítógépekkel – nagy, központilag működtetett számítógépekkel, amelyekhez a felhasználók távoli “terminálokon” férhettek hozzá. Ma már mindenre használják őket, kezdve a bankautomatánál megadott PIN-kódtól a számítógépünkbe és a különböző weboldalakra való bejelentkezésig.

De miért kell “bizonyítanunk” a személyazonosságunkat a rendszereknek, amelyekhez hozzáférünk? És miért olyan nehéz jól eltalálni a jelszavakat?

Mitől lesz jó a jelszó?

A közelmúltig a jó jelszó egy hat-nyolc karakterből álló szó vagy kifejezés lehetett. De ma már vannak minimális hosszra vonatkozó irányelvek. Ennek oka az “entrópia”.

A jelszavakról szólva az entrópia a kiszámíthatóság mértékegysége. A mögötte álló matematika nem bonyolult, de vizsgáljuk meg egy még egyszerűbb mérőszámmal: a lehetséges jelszavak számával, amelyet néha “jelszótérnek” neveznek.

Ha egy egykarakteres jelszó csak egy kisbetűt tartalmaz, akkor csak 26 lehetséges jelszó van (“a”-tól “z”-ig). Ha nagybetűket is használunk, akkor a jelszótér 52 lehetséges jelszóra nő.

A jelszótér a hosszúság növelésével és más karaktertípusok hozzáadásával tovább bővül.

A jelszó hosszabbá vagy összetettebbé tétele jelentősen növeli a potenciális “jelszóteret”. A nagyobb jelszótér biztonságosabb jelszót jelent.

A fenti számokat nézve könnyen megérthetjük, hogy miért ösztönöznek minket hosszú, nagy- és kisbetűket, számokat és szimbólumokat tartalmazó jelszavak használatára. Minél összetettebb a jelszó, annál több próbálkozásra van szükség a kitalálásához.

A jelszó összetettségétől való függéssel azonban az a probléma, hogy a számítógépek rendkívül hatékonyak a feladatok ismétlésében – beleértve a jelszavak kitalálását is.

Múlt évben rekordot állítottak fel azzal, hogy egy számítógép minden elképzelhető jelszót megpróbált generálni. Másodpercenként több mint 100 000 000 000 000 kitalálást ért el.

Ezt a számítási teljesítményt kihasználva a kiberbűnözők úgy törhetnek be a rendszerekbe, hogy a lehető legtöbb jelszó-kombinációval bombázzák azokat, az úgynevezett brute force támadások során.

A felhőalapú technológiával pedig egy nyolc karakterből álló jelszó kitalálása mindössze 12 perc alatt megoldható, és mindössze 25 dollárba kerül.

Amellett, mivel a jelszavakkal szinte mindig hozzáférést biztosítanak érzékeny adatokhoz vagy fontos rendszerekhez, ez arra ösztönzi a kiberbűnözőket, hogy aktívan keressék ezeket. Ez egy jövedelmező online piacot is megmozgat, ahol jelszavakat árulnak, amelyek közül néhányhoz e-mail címek és/vagy felhasználónevek is tartoznak.

Majdnem 600 millió jelszót vásárolhat online mindössze 14 ausztrál dollárért!

Hogyan tárolják a jelszavakat a webhelyeken?

A webhelyek jelszavait általában védett módon, egy hashingnek nevezett matematikai algoritmus segítségével tárolják. A hashelt jelszó felismerhetetlen, és nem alakítható vissza jelszóvá (ez egy visszafordíthatatlan folyamat).

Mikor megpróbál bejelentkezni, a megadott jelszót ugyanezzel az eljárással zanzásítják, és összehasonlítják a webhelyen tárolt verzióval. Ez a folyamat minden bejelentkezéskor megismétlődik.

A “Pa$$w0rd” jelszó például az SHA1 hashing algoritmus segítségével kiszámítva a “02726d40f378e716981c4321d60ba3a325ed6a4c” értéket kapja. Próbálja ki maga.

Ha egy hashelt jelszavakkal teli fájlt kapunk, akkor egy nyers erővel végrehajtott támadást alkalmazhatunk, amely során a jelszóhosszúságok tartományában minden karakterkombinációt kipróbálunk. Ez olyannyira elterjedt gyakorlattá vált, hogy vannak olyan weboldalak, amelyek a gyakori jelszavakat a (számított) hashed-értékükkel együtt listázzák. Egyszerűen rákereshet a hash-értékre, hogy felfedje a megfelelő jelszót.

Ez a képernyőkép a “02726d40f378e716981c4321d60ba3a325ed6a4c” SHA-hashed jelszó értékének Google-keresési eredményéről megmutatja az eredeti jelszót: “Pa$$w0rd”.

A jelszólisták ellopása és értékesítése ma már annyira elterjedt, hogy egy külön erre a célra létrehozott weboldal – a haveibeenpwned.com – segít a felhasználóknak ellenőrizni, hogy fiókjaik “vadon” vannak-e. Ez már több mint 10 milliárd fiókadatot tartalmaz.

Ha az e-mail címe szerepel ezen az oldalon, akkor mindenképpen változtassa meg az észlelt jelszót, valamint minden más olyan webhelyen is, ahol ugyanazokat a hitelesítő adatokat használja.

A több összetettség a megoldás?

Az ember azt gondolná, hogy ennyi naponta előforduló jelszófeltörés mellett már javítottunk volna a jelszóválasztási gyakorlatunkon. Sajnos a SplashData tavalyi éves jelszófelmérése öt év alatt kevés változást mutatott.

A SplashData 2019-es éves jelszófelmérése feltárta a leggyakoribb jelszavakat 2015 és 2019 között.

A számítási képességek növekedésével úgy tűnik, a megoldás a komplexitás növelése. Emberként azonban nem vagyunk képzettek (és nem is motiváltak) a rendkívül összetett jelszavak megjegyzésére.

Azt a pontot is átléptük, amikor már csak két-három olyan rendszert használunk, amelyekhez jelszóra van szükség. Ma már gyakori, hogy számos webhelyre lépünk be, és mindegyikhez jelszóra van szükség (gyakran különböző hosszúságú és összetettségű). Egy nemrégiben készült felmérés szerint átlagosan 70-80 jelszó jut egy emberre.

A jó hír, hogy vannak eszközök, amelyekkel kezelhetők ezek a problémák. A legtöbb számítógép ma már támogatja a jelszavak tárolását akár az operációs rendszerben, akár a webböngészőben, általában a tárolt információk több eszközön történő megosztásának lehetőségével.

Példa erre az Apple iCloud Keychain, valamint a jelszavak mentésének lehetősége az Internet Explorerben, a Chrome-ban és a Firefoxban (bár kevésbé megbízhatóan).

A jelszókezelők, például a KeePassXC segíthetnek a felhasználóknak hosszú, összetett jelszavak létrehozásában és biztonságos helyen történő tárolásában, amikor szükség van rájuk.

Míg ezt a helyet továbbra is védeni kell (általában egy hosszú “főjelszóval”), a jelszókezelő használata lehetővé teszi, hogy minden meglátogatott webhelyhez egyedi, összetett jelszó álljon rendelkezésre.

Ez nem akadályozza meg, hogy a jelszót ellopják egy sebezhető webhelyről. De ha ellopják, nem kell aggódnia amiatt, hogy ugyanazt a jelszót kell megváltoztatnia az összes többi webhelyen.

Ezekben a megoldásokban is vannak persze sebezhetőségek, de ez talán egy másik nap története.