6.4. Azonosítók kompromittálása

Az azonosítók fizikailag sérülhetnek vagy megsemmisülhetnek, esetleg ellophatják őket. A tudás alapú azonosítók, különösen a jelszavak azonban más módon is illetéktelen kezekbe juthatnak. A 3.3.2.2 fejezetben foglalkoztunk olyan trójaiakkal, amelyek a számítógépre települve figyelik a billentyűzetet, és ha azt tapasztalják, hogy a felhasználó egy jelszót gépel be, akkor azt megjegyzik és továbbítják a trójai üzemeltetőjének.

Jelszavakat azonban másképp is ki lehet találni. A 6.3.1 fejezetben rámutattunk, hogy ma általánosan elterjedt, hogy a szolgáltató adatbázisában a jelszavakat egyirányú függvénnyel kódolva tárolják. Az azonosítás a szerveren történő egyirányú kódolással kiegészítve biztonságos akkor, ha az azonosító elegendően hosszú bináris jelsorozat, például biometrikus azonosító, de a jelszavas eljárás még így sem felel meg a nagy biztonságot követelő rendszereknél.

Jól ismert ugyanis, hogy ellene a szótáras támadás eredményes lehet. A kódolásnál használt egyirányú függvény ugyanis egy adott alkalmazásnál szabványos és leírása a dokumentációban megtalálható. A támadó tehát ismeri, és könnyen le tudja kódolni a hash függvényt. Ezek után elkészít a feltételezett jelszavakból egy bőséges listát, amelynek minden elemére kiszámítja a függvény értékét. A lista elkészítésénél igénybe veszi a social engineering felismeréseit. A felhasználó érdeke, hogy megjegyezze a jelszavát, ezért olyan szót választ, amelyet könnyen fel tud idézni. Természetes módon adódnak a családi vagy tulajdonnevek, állatnevek, autó vagy kozmetikai márkák, népszerű együttesek neve, stb. Érdemes felhasználni a célba vett nyelv szavainak minél bővebb szótárát, valamint egy nagy lexikon szócikkeit. Az internetről ma már nem kunszt bőséges szótárt összeállítani. A szótárt ki kell egészíteni értelmetlen szavakkal is. Ezek egy része a nyelv ABC-jének betűivel leírható összes legfeljebb öt-hat karakterből álló jelsorozat, és az alapszótár szavainak módosításával előálló karaktersorozatok. Módosítás lehet például, ha kis betűk helyett nagy betűket vagy számokat írunk.

Az angol ABC-ben 26 betű, a magyarban 35 betű van a kettős betűket nem számítva. A kis- és nagybetűket a számítógép eltérő módon tárolja, ha tehát még ezeket is figyelembe vesszük, akkor 52 betűvel számolhatunk angol, 70-nel magyar szövegek esetén. A 0-9 számjegyeket is megengedve további tízzel nő a különböző karakterek száma. A 6.1 táblázatban bemutatja, hogy ezekből hányféle értelmes és értelmetlen öt - nyolc betűből álló szót lehet alkotni. A táblázat adatait könnyű kiszámítani, hiszen jól tudjuk, hogy n betűből pontosan nk darab különböző k hosszúságú karaktersorozat képezhető.

6.1 táblázat

A szótár elkészítése után fordítsuk le a benne található szavakat a hash értékükre, azaz minden szóra alkalmazzuk az ismert hash függvényt. Így rendelkezésére áll a feltételezett jelszavakból és azok „fordításából” álló szótár. Annak elkészítése a technológia mai színvonalán legfeljebb néhány napot vesz igénybe.

Ezek után, ha a hacker valamilyen módon hozzáfér az éles rendszer felhasználóinak adatbázisához vagy egy felhasználó hashelt jelszavához, akkor a kódolt jelszavakat megkeresi a saját szótárában, és ha egyezést talál, akkor már rendelkezésére is áll a kódolatlan jelszó is. Ehhez a felhasználói nevet már a felhasználói adatbázisban keresi vissza. A módszer nagyon hatékony, saját kísérleteinkben a felhasználók 25-30 %-ának a jelszavát is ki tudtuk így deríteni. Az irodalomban ettől nagyobb sikerrátával is találkoztunk. Nick Breese10 2007 novemberében számolt be egy konferencián arról, hogy a PlayStation játékkonzol processzorát használva 8 karakterből álló jelszavakat is meg tudott fejteni egy órán belül.

A fentiekből következik, hogy rövid, könnyen kitalálható jelszavakat nem szabad használni. A jelszavak legalább 7 karakterből álljanak és tartalmazzanak kis- és nagybetűket valamint különleges karaktereket (számok, írásjelek, stb.). Ezek már a mindennapi életben megfelelő biztonságot nyújtanak.

A következő két táblázaban összefoglaljuk a biztonsági osztályok és a hozzájuk tartozó azonosító valamint jogosultságkezelővel szemben támasztott követelményeket.