Realita je kompromisy databázy hesiel sú obavy, bez ohľadu na to, ako sa spoločnosť môže pokúsiť točiť. Existuje však niekoľko vecí, ktoré môžete urobiť, aby ste sa izolovali, bez ohľadu na to, aké zlé sú bezpečnostné postupy spoločnosti.
Ako majú byť uložené heslá
Tu je postup, ako by spoločnosti mali ukladať heslá do ideálneho sveta: Vytvoríte si účet a zadáte heslo. Namiesto samotného uloženia hesla služba generuje z hesla "hash". Jedná sa o jedinečný odtlačok prsta, ktorý sa nedá zvrátiť. Napríklad heslo "heslo" sa môže zmeniť na niečo, čo vyzerá viac ako "4jfh75to4sud7gh93247g …". Keď zadáte svoje heslo na prihlásenie, služba generuje hash z neho a skontroluje, či hodnota hash zodpovedá hodnote uloženej v databáze. V žiadnom okamihu služba nikdy neuloží heslo na disk.
Aby sa tomu zabránilo, služby by mali "soľ" ich hash. Namiesto vytvorenia hash z samotného hesla pridá pred nábehom hesla náhodný reťazec do prednej alebo koncovej časti hesla. Inými slovami, používateľ by zadal heslo "heslo" a služba by pridala soľ a hash heslo, ktoré vyzerá skôr ako "password35s2dg." Každý užívateľský účet by mal mať svoju vlastnú unikátnu soľ a to by zabezpečilo, že každý užívateľský účet by mala inú hodnotu hash pre svoje heslo v databáze. Aj keď viaceré účty používali heslo "heslo1", mali by mať rôzne hash kvôli rôznym hodnotám soli. Toto by porazilo útočníka, ktorý sa pokúsil predbežne vypočítať heslá pre heslá. Namiesto toho, aby dokázali generovať hash, ktorý by sa vzťahoval na každý užívateľský účet v celej databáze naraz, museli vytvoriť jedinečné hash pre každý užívateľský účet a jeho jedinečnú soľ. Toto by vyžadovalo oveľa viac výpočtového času a pamäte.
To je dôvod, prečo sa služby často nezaujímajú. Služba, ktorá používa správne bezpečnostné postupy, by mala povedať, že používajú solené heslá. Ak jednoducho hovoria, že heslá sú "hashed", je to viac znepokojujúce. LinkedIn napríklad obsahovali svoje heslá, ale nekomplikovali ich - takže to bolo veľké riešenie, keď LinkedIn v roku 2012 stratil 6,5 milióna hesiel.
Zlé heslo postupy
- Ukladanie hesiel v bežnom texte: Skôr než sa obťažovať hašovaním, niektorí z najhorších páchateľov môžu jednoducho vyzdvihnúť heslá vo forme obyčajného textu do databázy. Ak je takáto databáza ohrozená, vaše heslá sú zjavne ohrozené. Nezáleží na tom, aké silné boli.
- Hashing hesiel bez ich osolovania: Niektoré služby môžu rozoslať heslá a dať sa tam, pričom sa rozhodnú nepoužívať soli. Takéto databázy hesiel by boli veľmi náchylné na vyhľadávacie tabuľky. Útočník by mohol vygenerovať hash pre mnoho hesiel a potom skontrolovať, či existujú v databáze - mohli by to urobiť pre každý účet naraz, ak sa nepoužila žiadna soľ.
- Opätovné použitie soli: Niektoré služby môžu používať soľ, ale môžu znova použiť rovnakú soľ pre každé heslo účtu používateľa. To je zbytočné - ak by bola rovnaká soľ použitá pre každého používateľa, dvaja používatelia s rovnakým heslom by mali rovnaký hash.
- Používanie krátkych solí: Ak sa použijú iba pár čísel, bolo by možné vytvoriť vyhľadávacie tabuľky, ktoré obsahujú každú možnú soľ. Napríklad, ak bola použitá jediná číslica ako soľ, útočník by mohol ľahko vytvoriť zoznamy hashov, ktoré zahŕňajú každú možnú soľ.
Firmy vám nie vždy povedia celý príbeh, takže aj keď hovoria, že heslo bolo rušené (alebo hashed a solené), nemusí používať osvedčené postupy. Vždy sa chyťte na strane opatrnosti.
Ďalšie obavy
Je pravdepodobné, že hodnota soli je súčasťou databázy hesiel. Nie je to tak zlé - ak by sa pre každého používateľa použila jedinečná hodnota soli, útočníci by museli minúť obrovské množstvo výkonu procesora, ktoré by porušilo všetky tieto heslá.
V praxi toľko ľudí používa zrejmé heslá, že by bolo pravdepodobne ľahké určiť heslá mnohých používateľských účtov. Napríklad, ak útočník pozná vašu hash a pozná vašu soľ, môže ľahko skontrolovať, či používate niektoré z najbežnejších hesiel.
Ak to má útočník za vás a chcú vaše heslo vykopnúť, môžu to robiť s hrubou silou, pokiaľ vedia hodnotu soli - čo pravdepodobne robia.Pri lokálnom, offline prístupu k databázam hesiel môžu útočníci použiť všetky útoky hrubej silou, ktoré chcú.
Ostatné osobné údaje tiež pravdepodobne uniknú pri odcudzení databázy hesiel: používateľské mená, e-mailové adresy a ďalšie. V prípade úniku Yahoo boli bezpečnostné otázky a odpovede tiež vynechané - čo, ako všetci vieme, uľahčuje ukradnutie prístupu k účtu niekoho.
Pomoc, čo mám robiť?
Bez ohľadu na to, čo služba hovorí, keď je ukradnutá databáza hesiel, je najlepšie predpokladať, že každá služba je úplne nekompetentná a koná podľa toho.
Najprv nepoužívajte heslá na viacerých webových stránkach. Použite správcu hesiel, ktorý generuje unikátne heslá pre každú webovú stránku. Ak sa útočník podarí zistiť, že vaše heslo pre službu je "43 ^ tSd% 7uho2 # 3" a používate toto heslo iba na jednom konkrétnom webe, nenašli sa nič užitočné. Ak používate rovnaké heslo všade, mohli sa dostať do vašich ostatných účtov. To je, koľko účtov mnohých ľudí sa stane "napadnutým".
Mali by ste tiež zvážiť použitie dvojfaktorovej autentifikácie, ktorá vás ochráni, aj keď sa útočník naučí vaše heslo.
Najdôležitejšia vec nie je opätovné používanie hesiel. Kompromitované databázy hesiel vám nemôžu ublížiť, ak používate jedinečné heslo všade - pokiaľ nie sú v databáze uložené niečo iné, napríklad číslo vašej kreditnej karty.