A valóság az, hogy a jelszó-adatbázis kompromisszumot jelent vannak aggodalomra ad okot, függetlenül attól, hogy egy vállalat megpróbálja megforgatni. De van néhány dolog, amit megtehetsz, hogy megvédje magát, bármennyire is rossz a vállalat biztonsági gyakorlatai.
Hogyan kell a jelszavakat tárolni?
A vállalatoknak a jelszavakat az ideális világban kell tárolniuk: fiókot hoz létre és jelszót ad meg. Ahelyett, hogy magát a jelszót tárolná, a szolgáltatás "hash" -ot generál a jelszóból. Ez egy egyedülálló ujjlenyomat, amelyet nem lehet megfordítani. Például a "jelszó" jelszó olyan alakulhat ki, amely inkább úgy néz ki, mint a "4jfh75to4sud7gh93247g …". Amikor beírja a jelszavát a bejelentkezéshez, a szolgáltatás egy hash-ot generál, és ellenőrzi, hogy a hash érték megegyezik-e az adatbázisban tárolt értékkel. A szolgáltatás semmilyen esetben sem mentette el a jelszavát a lemezre.
Ennek megakadályozása érdekében a szolgáltatásoknak "sót" kell készíteniük. Ahelyett, hogy a jelszóból hash-et hozna létre, egy véletlenszerű karakterláncot hozzáad a jelszó elülső vagy végéig, mielőtt törölné. Más szóval a felhasználó beírja a "jelszó" jelszavát, és a szolgáltatás hozzáadja a sót, és törli a jelszót, amely jobban hasonlít a "password35s2dg" -re. Minden felhasználói fióknak saját sójával kell rendelkeznie, és ez biztosítaná, hogy minden egyes felhasználói fiók az adatbázisban külön jelszóval rendelkeznek. Még ha több fiók is használta a "password1" jelszót, a különböző sóértékek miatt különböző hasok voltak. Ez meghiúsítaná egy támadót, aki megpróbálta előzetesen kiszámolni a jelszavakat. Ahelyett, hogy egyszerre létrehoznák a teljes adatbázisban lévő minden felhasználói fiókra kiterjedő hashajtókat, egyedi felhasználói fiókokat és egyedi sóikat kell létrehozniuk. Ez sokkal több számítási időt és memóriát igényel.
Ezért mondják gyakran, hogy a szolgáltatások nem aggódnak. A megfelelő biztonsági eljárásokat használó szolgáltatásnak azt kell mondania, hogy sós jelszó-hasistákat használtak. Ha egyszerűen csak azt mondják, hogy a jelszavak "hasednek", ez aggasztóbb. A LinkedIn például elhagyták a jelszavukat, de nem sózták meg őket - így nagy ügy volt, amikor a LinkedIn 2012-ben 6.5 millió megtapasztott jelszót elvesztett.
Rossz jelszó gyakorlat
- Jelszavak tárolása egyszerű szövegben: Ahelyett, hogy zavarja a hasmenést, a legrosszabb elkövetők közül néhány egyszerűen csak üres szöveges formában bocsátja ki a jelszavakat egy adatbázisba. Ha egy ilyen adatbázis sérül, a jelszavait nyilvánvalóan veszélyezteti. Nem számít, milyen erősek voltak.
- A jelszavak tördelése nélkül sózva: Egyes szolgáltatások elhanyagolhatják a jelszavakat, és feladhatják ott, és nem használhatják a sókat. Az ilyen jelszó-adatbázisok nagyon érzékenyek lennének a keresési táblázatokra. A támadó sok jelszót generálhat a hashhoz, majd ellenőrizheti, hogy léteznek-e az adatbázisban - mindegyik számlára azonnal megtehetnék, ha sót nem használtak.
- A sók újrafelhasználása: Egyes szolgáltatások használhatnak sót, de ugyanazt a sót használhatják minden felhasználói fiók jelszóra. Ez értelmetlen - ha ugyanazt a sót használtuk minden felhasználónak, két azonos jelszóval rendelkező felhasználónak ugyanaz a hashja lenne.
- Rövid sók használata: Ha csak néhány számjegyű sókat használunk, akkor lehetõvé válik olyan keresõasztalok létrehozása, amelyek minden lehetséges sót tartalmaznak. Például, ha egyetlen számot használtak sónak, akkor a támadó könnyen létrehozhat olyan listákat, amelyek minden lehetséges sót tartalmaztak.
A vállalatok nem mindig fogják elmondani az egész történetet, ezért még akkor is, ha azt mondják, hogy a jelszót meg is szedték (vagy hasították és sóztak), nem használhatják a legjobb gyakorlatokat. Mindig hibás az óvatosság oldalán.
Egyéb aggodalmak
Valószínű, hogy a só értéke a jelszó adatbázisban is megtalálható. Ez nem olyan rossz - ha egy egyedi sóértéket használnak minden felhasználó számára, akkor a támadóknak hatalmas mennyiségű CPU teljesítményt kell eltölteniük, amely megtöri az összes jelszót.
A gyakorlatban sokan használnak nyilvánvaló jelszavakat, hogy valószínűleg könnyű meghatározni a felhasználói fiókok jelszavát. Például ha egy támadó ismeri a hashát és ismerik a sóját, könnyen ellenőrizhetik, hogy a leggyakoribb jelszavakat használják-e.
Ha egy támadó kiszabadítja az Ön számára, és meg akarja szakítani a jelszavát, akkor bruttó erővel megcsinálhatja mindaddig, amíg ismerik a só értékét - amit valószínűleg csinálnak.A helyi, offline hozzáféréssel a jelszóadatbázisokhoz a támadók alkalmazhatják az általuk kívánt brute force támadások alkalmazását.
Más személyi adatok is valószínűleg szivárognak, amikor a jelszó adatbázisát ellopták: Felhasználónevek, e-mail címek stb. A Yahoo-szivárgás esetében biztonsági kérdések és válaszok is szivárogtak - ami mindannyian tudjuk, megkönnyíti a hozzáférést valaki fiókjához.
Segítség, Mit tegyek?
Bármi legyen is egy szolgáltatás, amikor a jelszóadatbázisát ellopták, legjobb feltételezni, hogy minden szolgáltatás teljesen inkompetens, és ennek megfelelően jár el.
Először is, ne használja többszöri jelszavakat több webhelyen. Olyan jelszókezelőt használjon, amely minden egyes webhelyhez egyedi jelszavakat generál. Ha egy támadó felfedezi, hogy egy szolgáltatáshoz tartozó jelszó "43 ^ tSd% 7uho2 # 3", és csak egy adott webhelyen használja ezt a jelszót, akkor semmit sem tanultak hasznosnak. Ha mindenhol ugyanazt a jelszót használja, elérheti a többi fiókot. Ez az, hogy hány ember fiókjait "feltörte".
Fontolja meg a kétütemű hitelesítés használatát is, amely akkor is védi Önt, ha a támadó megtudja a jelszavát.
A legfontosabb dolog nem a jelszavak újrafelhasználása. A kompromisszumos jelszó adatbázisok nem bántanak, ha mindenhol egyedi jelszót használnak - hacsak nem tárolnak más fontos adatokat az adatbázisban, például a hitelkártya számát.