17Aug
"A jelszó adatbázisunkat ellopták tegnap. De ne aggódj: a jelszavad titkosítva volt. "Az ilyen kimutatásokat rendszeresen látjuk online, beleértve a tegnapi Yahoo-t is. De vajon tényleg ezeket a biztosítékokat vesszük névértéken?
A valóság az, hogy az -re vonatkozó jelszóadatbázisok aggodalomra adnak 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: Hozzon létre egy fiókot és jelszót. 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.
Az aktuális jelszó meghatározásához az adatbázis hozzáféréssel rendelkező támadónak előzetesen kiszámolja a közös jelszavakat tartalmazó hash-okat, majd ellenőrizze, hogy léteznek-e az adatbázisban. A támadók ezt csinálják a keresési táblázatokkal - hatalmas listákat találtak a jelszavakkal összeegyeztethető hasokról. A hasokat az adatbázisba lehet hasonlítani. Például egy támadó ismeri a "password1" hash-ot, és megvizsgálja, hogy az adatbázisban lévő fiókok használják-e a hashot. Ha igen, akkor a támadó tudja, hogy a jelszó "password1".
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 el is szúrta. 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ókaz 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 a szolgáltatások gyakran azt mondják, hogy nem kell aggódnia. 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 szétszórta a jelszavát, de nem sózták meg őket - így nagy ügy volt, amikor a LinkedIn 2012-ben 6,5 millió megtapasztott jelszót elvesztett.
Bad Password Practices
Ez nem a legnehezebb megvalósítani,még mindig sikerül összetörni többféleképpen:
- Jelszavak tárolása egyszerű szövegben : A legrosszabb elkövetők közül nem csak a hasmenés zavarja, hanem a jelszavakat egyszerű szöveges formában adatbázisba bontva. 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örlése anélkül, hogy sózaná őket : Egyes szolgáltatások megszakíthatják a jelszavakat, és felhagyhatnak 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 egyszerre megtehetnék, ha sót nem használtak.
- A sók újrafelhasználása : Egyes szolgáltatások sót használhatnak, 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őség nyílik arra, hogy olyan keresési táblázatokat hozzunk létre, amelyek tartalmazzák az összes lehetséges sót. 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, tehát még akkor is, ha azt mondják, hogy a jelszót meg is szedték( vagy hasítva és sózva), 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 számos felhasználói fiók 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ó megvan az Ön számára, és meg akarja szakítani a jelszavát, 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.
Egyéb személyes adatok valószínűleg szivárognak, amikor a jelszó adatbázisát ellopták: Felhasználónevek, e-mail címek és egyebek. 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, a legjobb feltételezni, hogy minden szolgáltatás teljesen inkompetens, és ennek megfelelően jár el.
Először ne használja újra a 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 "megtámadják".
Ha egy szolgáltatás veszélybe kerül, győződjön meg róla, hogy megváltoztatja az ott használt jelszót. Akkor is meg kell változtatnia a jelszót más oldalakon, ha újra felhaszná azt - de ezt ne tegye meg először.
Tekintse meg a kétütemű hitelesítés használatát is, amely megvédi Önt akkor is, 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.
Image Credit: Marc Falardeau a Flickr-en, Wikimedia Commons