„Tegnap ellopták a jelszó adatbázisunkat. De ne aggódjon: a jelszavait titkosították. " Rendszeresen látunk online ilyen nyilatkozatokat, tegnapig is, a Yahoo-tól . De vajon valóban ezeket a biztosítékokat névértékben kell-e venni?
A valóság az, hogy a jelszó adatbázis kompromisszumot köt vannak aggodalomra ad okot, függetlenül attól, hogy egy vállalat megpróbálja megpörgetni. De néhány dolgot megtehetsz, hogy szigeteld magad, bármennyire is rossz a vállalat biztonsági gyakorlata.
Hogyan kell tárolni a jelszavakat
A vállalatoknak így kell tárolniuk a jelszavakat egy ideális világban: Ön létrehoz egy fiókot és megad egy jelszót. A szolgáltatás nem maga a jelszó tárolása, hanem a kivonat létrehozása is. Ez egy egyedi ujjlenyomat, amelyet nem lehet megfordítani. Például a „jelszó” jelszó olyanra válhat, amely inkább a „4jfh75to4sud7gh93247g…” kifejezésre hasonlít. Amikor a bejelentkezéshez megadja a jelszavát, a szolgáltatás kivonatot készít belőle, és ellenőrzi, hogy a kivonat értéke megegyezik-e az adatbázisban tárolt értékkel. A szolgáltatás soha nem menti a jelszavát lemezre.
A tényleges jelszó meghatározásához az adatbázishoz hozzáférő támadónak előre ki kell számolnia a kivonatokat a közös jelszavakra, majd ellenőriznie kell, hogy léteznek-e az adatbázisban. A támadók ezt keresőtáblákkal teszik meg - hatalmas jelszavakkal rendelkező hashek listája. A hasheket ezután össze lehet hasonlítani az adatbázissal. Például a támadó ismeri a „password1” kivonatát, majd megnézi, hogy az adatbázis bármelyik fiókja használja-e ezt a kivonatot. Ha igen, akkor a támadó tudja, hogy jelszavuk „password1”.
Ennek megakadályozása érdekében a szolgálatoknak „sózniuk” kell a hash-kat. Ahelyett, hogy hasht hozna létre magából a jelszóból, véletlenszerű karakterláncot adnak a jelszó elejéhez vagy végéhez, mielőtt kivonatolják. Más szavakkal, a felhasználó megadná a „jelszó” jelszót, a szolgáltatás pedig hozzáadná a sót és a kivonatot egy olyan jelszóval, amely inkább a „password35s2dg” kifejezésre hasonlít. Minden felhasználói fióknak meg kell lennie a saját egyedi sójának, és ez biztosítaná, hogy minden felhasználói fiók más és más hash értékkel rendelkezzen az adatbázis jelszavához. Még akkor is, ha több fiók használta a „jelszó1” jelszót, a különböző sóértékek miatt különböző hash-ékkal rendelkeznének. Ez legyőzné egy támadót, aki megpróbálta előre kiszámolni a jelszavak kivonatát. Ahelyett, hogy a teljes adatbázis minden felhasználói fiókjára alkalmazott kivonatokat egyszerre tudnának létrehozni, egyedi hasheket kell létrehozniuk minden felhasználói fiókhoz és annak egyedi sójához. Ez sokkal több számítási időt és memóriát igényelne.
Ezért a szolgáltatások gyakran azt mondják, hogy ne aggódjanak. A megfelelő biztonsági eljárásokat használó szolgáltatásnak azt kell mondania, hogy sózott jelszó-kivonatokat használtak. Ha egyszerűen azt mondják, hogy a jelszavak "kivonatolódnak", az aggasztóbb. A LinkedIn például kivonatolta a jelszavakat, de nem sózta meg őket - így nagy baj volt amikor a LinkedIn 6,5 millió hash jelszót veszített el 2012-ben .
Rossz jelszó gyakorlatok
Ezt nem a legnehezebb megvalósítani, de sok webhelynek mégis sokféleképpen sikerül elrontania:
- Jelszavak tárolása egyszerű szövegben : A legrosszabb elkövetők ahelyett, hogy a hash-zal foglalkoznának, a szöveges formátumú jelszavakat egyszerűen egy adatbázisba dobhatják. Ha egy ilyen adatbázis sérül, akkor a jelszavai nyilvánvalóan sérülnek. Nem számít, milyen erősek voltak.
- A jelszavak hasítása anélkül, hogy megsóznánk őket : Egyes szolgáltatások eloszthatják a jelszavakat, és feladhatják a sók használatát. Az ilyen jelszó-adatbázisok nagyon kiszolgáltatottak lennének a keresőtáblák számára. A támadó sok jelszó számára előállíthatja a kivonatokat, majd ellenőrizheti, hogy léteznek-e az adatbázisban - ezt minden fiókhoz egyszerre megtehetik, ha nem használnak sót.
- A sók újrafelhasználása : Egyes szolgáltatások használhatnak sót, de ugyanazt a sót használhatják fel minden felhasználói fiók jelszavához. Ez értelmetlen - ha minden felhasználónál ugyanazt a sót használnák, két azonos jelszóval rendelkező felhasználónak ugyanaz a kivonata lenne.
- Rövid sók használata : Ha csak néhány számjegyből álló sókat használunk, akkor lehetőség nyílik olyan keresési táblázatok létrehozására, amelyek minden lehetséges sót tartalmaznak. Például, ha egyetlen számjegyet használnak sóként, a támadó könnyedén létrehozhat egy olyan hash-listát, amely minden lehetséges sót tartalmaz.
A vállalatok nem mindig mondják el neked az egész történetet, így még akkor is, ha azt mondják, hogy egy jelszót hasítottak (vagy hasítottak és sóztak meg), nem biztos, hogy a legjobb gyakorlatokat alkalmazzák. Mindig tévedjen az óvatosság mellett.
Egyéb aggodalmak
Valószínű, hogy a sóérték is szerepel a jelszó adatbázisban. Ez nem is olyan rossz - ha minden felhasználóhoz egyedi sóértéket használnának, a támadóknak hatalmas mennyiségű CPU-energiát kellene elköltenie az összes jelszó megsértésével.
A gyakorlatban olyan sokan használnak nyilvánvaló jelszavakat, hogy valószínűleg könnyű meghatározni sok felhasználói fiók jelszavát. Például, ha a támadó ismeri a kivonatát és a sót, akkor könnyen ellenőrizheti, hogy a leggyakoribb jelszavakat használja-e.
ÖSSZEFÜGGŐ: Hogyan is támadók valójában "feltörik a számlákat" online és hogyan védekezhet
Ha egy támadónak megvan az Ön számára, és feltörni akarja a jelszavát, akkor azt nyers erővel megteheti, amennyiben ismeri a sóértéket - amit valószínűleg meg is tesz. Helyi, offline hozzáféréssel a jelszó adatbázisokhoz a támadók minden nyerset alkalmazhatnak erőszakos támadások akarják.
Valószínűleg más személyes adatok is kiszivárognak, ha ellopnak egy jelszó-adatbázist: felhasználónevek, e-mail címek és egyebek. A Yahoo szivárgása esetén biztonsági kérdések és válaszok is kiszivárogtak - amelyek, mint mindannyian tudjuk, megkönnyítik a hozzáférést valakinek a fiókjához.
Segítség, mit tegyek?
Bármit is mondjon egy szolgáltatás a jelszó adatbázisának ellopásakor, a legjobb azt feltételezni, hogy minden szolgáltatás teljesen alkalmatlan, és ennek megfelelően jár el.
Először ne használja újra a jelszavakat több webhelyen. Használjon jelszókezelőt, amely minden webhelyhez egyedi jelszavakat állít elő . Ha egy támadónak sikerül kiderítenie, hogy a szolgáltatáshoz tartozó jelszó „43 ^ tSd% 7uho2 # 3”, és ezt a jelszót csak az adott webhelyen használja, akkor semmi hasznosat nem tudtak meg. Ha mindenhol ugyanazt a jelszót használja, akkor hozzáférhetnek a többi fiókjához. Ez hány ember számlája lesz „feltört”.
Ha a szolgáltatás mégis veszélybe kerül, mindenképpen változtassa meg az ott használt jelszót. Meg kell változtatnia a jelszót más webhelyeken is, ha ott újrafelhasználja - de először nem ezt kellene tennie.
Fontolja meg azt is kétfaktoros hitelesítést használ , amely akkor is védelmet nyújt, ha a támadó megtanulja a jelszavát.
ÖSSZEFÜGGŐ: Miért érdemes használni a Jelszókezelőt, és az első lépések
A legfontosabb dolog a jelszavak újrafelhasználása. A veszélyeztetett jelszó-adatbázisok nem árthatnak neked, ha mindenhol egyedi jelszót használsz - hacsak nem tárolnak valami más fontosat az adatbázisban, például a hitelkártyád számát.
Kép jóváírása: Marc Falardeau a Flickr-en , Wikimedia Commons