Bármilyen online szolgáltatást is szeretnénk használni, szükségünk van egy jelszóra. Mindenki utálja őket, állandóan elfelejtődnek, ezért sokan egy jelszót használnak mindenhová, ami a lehető legrosszabb dolog amit tehetünk. De hogyan is lehet megjegyezni annyi különböző jelszót?

Kezdjük az elején: hogyan is működnek a jelszavak?

A jelszótárolás alapja az úgynevezett hash (kiejtése: hes) algoritmus. Ennek lényege, hogy bármilyen hosszúságú karaktersorozatot fix hosszúságú véletlenszerűnek tűnő karaktersorrá alakít. Érdemes megjegyezni, hogy adott bevitt szövegre mindig ugyan azt az eredményt adja és a legkisebb eltérés a bevitt szövegben teljesen más eredményt generál, valamint hogy, az eredményből lehetetlen visszafejteni az eredeti szöveget.

(Évszázadokik tartana egy szuperszámítógépnek is, nem praktikus így próbálkozni, azonban ezt jobban kifejtem a jelszó feltörése résznél).

Tehát, hogyan is tároljuk a jelszavakat?

A felhasználó beírja a jelszavát a regisztráláskor, ez azonnal, még a felhasználó gépén „hash-elésre” kerül, így a jelszó nem kerül ki az internetre „nyersen”. Ezután eltároljuk ezt a hash értéket, és ha legközelebb be akar lépni, akkor a beírt jelszó ismét hash-ként megérkezik hozzánk, mi pedig összehasonlítjuk őket. Ha megegyeznek, tudjuk, hogy csak is a jó jelszó lehetett, mert minden karaktersorozat egyedi hash-el rendelkezik.

Hogyan törik fel a jelszavainkat?

Ezek után tehát felmerül a kérdés, ha a hash visszafejthetetlen, hogyan tudják feltörni a jelszavainkat? A válasz egyszerű: Egy program segítségével végigpróbálják az összes lehetséges kombinációt.

Első lépésként egy hacker meg kell, hogy szerezze az adatbázist melyben a kódolt jelszavak vannak. Ez relatív egyszerű dolog, rengeteg cég, weboldal használ gyenge biztonsági rendszereket, elavult gépeket, elavult szoftverekkel. Vagy számtalan alkalommal egy belsős munkatárs szivárogtatja ki az adatokat. Amint a hacker megszerzi az adatbázist, egy programmal végig próbálja az összes karakter, összes lehetséges kombinációjának hash változatát, és megnézi van-e egyezés az adatbázis bármely hash-jével. Ezt „brute force” támadásnak hívjuk.

Mennyi idő alatt lehet a jelszavakat feltörni?

Aki emlékszik még matekóráról a kombinatorika témakörére annak ez ismerős lehet.

Az angol ABC 26 betűből áll (magyarok előnyben, a miénk 37, a Cs,Dz,Dzs nem számít egy karakternek) Ezt szorozzuk meg 2vel, mert lehet kis vagy nagybetű, majd adjuk hozzá a 10 lehetséges számjegyet, 10 írásjelet (a leggyakoribbakat feltételezve, tudom, hogy több van) és megkapjuk, hogy 72 különböző karakter kerülhet egy helyre. Ha egy 8 karakteres jelszót feltételezünk, ahogy azt a legtöbb oldal minimum megköveteli: 72 * 72 * 72 * 72 … Minden helyen 72 különböző érték kerülhet.

A vége: 722 204 136 308 736. Soknak tűnik, de ne feledjük, hogy egy számítógépről beszélünk, amely 40 000 000 000 kombinációt képes átnézni, másodpercenként! Tehát egy kis számolás után látjuk, hogy 5 óra alatt minden 8 karakteres jelszó megtalálható.

Ahogy az elején is írtam, a jelszavaknak van az a rossz tulajdonságuk, hogy elfelejtődnek. Még inkább, ha 12 teljesen véletlenszerű karaktert kéne megjegyezni, ráadásul minden szolgáltatáshoz mást. Ezért az emberek nem így választanak jelszót, a legtöbben valamilyen szót választanak. A nevüket, városnevet, a hobbijukhoz kötődő szót; bármit amit könnyű megjegyezni. Ezt a hackerek is tudják, ezért inkább szótáras támadást intéznek jelszavaink ellen.

Ennek a lényege, hogy a program nem a különböző karakterek véletlenszerű kombinációjával, hanem a támadni kívánt nyelvben leggyakrabban használt szavak bizonyos szabályokkal történő manipulált verzióját keresi az adatbázisban. Ezekben a listákban gyakori jelszavak, már máshol feltört jelszavak szavai, illetve gyakori nevek és mindennapi szavak találhatóak, általában 10-20 ezer szó, és folyamatosan bővül. Egy 20 ezer szavas listán végigmenni nem hosszú idő, viszont nem is fog túl sok jelszót megtalálni.

A trükk a szabályokban rejlik. A program ugyanis végigmegy ezen a 20 ezer szón újra és újra, de mindig valamit módosít. Pl.: a első betű nagy, a többi kicsi; vagy mögé biggyeszt egy számot 2018-ig (leggyakrabban évszámot használunk).

Az ilyen szótáras támadásoknál ugyan lelassul a számítási sebesség, de még igy is könnyen kiszámolható, hogy ha 20 000 szót kell 1 000 000-szor átpörgetni, 10 000 millió művelet per másodperc sebességgel, kb. 2 másodperc alatt végzünk. Ami egy meglehetősen ijesztő adat.

Mit is tehetünk ez ellen? Hogyan válaszunk jó jelszót?

A fent leírtakból tehát leszűrhető, hogy a régi hiedelem már elavult, nem a karakterek száma, ami számít, hanem az összefűzöt szavak száma. Viszont nem kell megijedni, nincs szükség négy szót megjegyezni (még ez sem tökéletes védelem, 4 szó összefűzve 180 nap alatt feltörhető, ami sok, de nem lehetetlen)!

A megoldás tehát: 3 szó, amit meg tudunk jegyezni, és legalább az egyik szót meg kell szakítani egy speciális karakterrel vagy számmal.

Ezáltal a megszakított szó nem lesz felismerhető. A 3 szó azért kell, hogy kitoljuk a keresendő tartományt. Ne csak 20 000 szót keressünk, hanem 20 000 a harmadikon, azaz 8 000 000 000 000. A szó megszakítása pedig a szabályrendszerbe zavar bele, ugyanis az szavak előtt és után keres lehetséges számokat és speciális karaktereket, de ha a szót szakítjuk meg, esélytelen miden karakter-t végig próbálni. A karakterhelyettesítés nem jó ötlet, például egy „a” betű helyett „@” vagy „i” helyett „!”. Ezekre vannak szabályok, ezt túl sokan használják és ez nem ad elég számú variációt, hogy lassítsa a keresést.

Extra tippek, példák:

Hogyan is jegyezzük meg ezeket a jelszavakat, ha sehol sem használhatom ugyan azt?

Érdemes a 3 szót úgy megválasztani, hogy abból 2 legyen állandó, valami amit a munkánk vagy hobbink miatt úgy is tudunk és legyen 1 változó szó, ami utal az adott weboldalra és könnyen eszünkbe tud jutni. Pl: buksilevélKut!yám egy jó jelszó lehet az email fiókhoz, buksifaceKut!yám a facebookra és így tovább. Ha a hacker nem célzottan minket támad, csupán egy kiszivárgott adatbázist próbál feltörni ezt a jelszót szinte esélytelen feltörni.

Hogyan legyünk extra gonoszak, avagy szívassuk a kedves Orosz hackereket:

Ha tényleg biztosra akarunk menni, akkor érdemes 2 nyelvet és 4 szót használni. A 4 szóból az egyik legalább legyen egy idegen nyelv. A hackerek többsége az angolra fókuszál, de ha Magyar szolgáltatói lista kerül ki, akkor persze elsődlegesen magyar szavakat fognak keresni. Egy idegennyelv beiktatásával effektív megdupláztuk a keresendő szavak számát, és ha 3 szóból áll a jelszavunk ez exponenciálisan sokszorozza a lehetőségek számát.

Soha ne használjunk csak egy jelszót mindenhová!

Lehet akármennyire is feltörhetetlen, elég ha egy oldal nem biztonságosan kezeli és máris minden bukott! Ajánlott minden oldalra külön jelszót adni, de ha túl nehézkes őket mind megjegyezni, akkor legalább az e-mail fióknak legyen különböző a jelszava!

Hogyan legyen feltörhetetlen jelszavunk?
Cimke:         

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük