"Jučera je ukradena baza podataka lozinke. No nemojte se brinuti: zaporke su bile šifrirane. "Redovito pregledavamo takve izjave poput onih na mreži, uključujući jučer, od Yahooa. Ali, trebamo li stvarno uzeti ove uvjeravanja u nominalnoj vrijednosti?
Stvarnost je da kompromitiranje baze podataka lozinki su zabrinutost, bez obzira na to kako ga tvrtka može pokušati spinirati. Ali postoji nekoliko stvari koje možete učiniti kako biste se izolirali, bez obzira koliko su loše sigurnosne prakse neke tvrtke.
Evo kako tvrtke trebaju pohranjivati lozinke u idealnom svijetu: stvorili ste račun i unijeli zaporku. Umjesto spremanja lozinke, usluga generira "hash" iz lozinke. Ovo je jedinstven otisak prsta koji se ne može preokrenuti. Na primjer, lozinka "lozinka" može se pretvoriti u nešto što izgleda nalik "4jfh75to4sud7gh93247g ...". Kada unesete zaporku za prijavu, usluga generira hash od nje i provjerava da li vrijednost hash odgovara vrijednosti pohranjenoj u bazi podataka. Ni u kojem trenutku usluga nikad ne sprema vašu zaporku na disk.
Da bi utvrdio vašu stvarnu lozinku, napadač koji ima pristup bazi podataka morat će unaprijed izračunati hashe za uobičajene lozinke, a zatim provjeriti postoje li u bazi podataka. Napadači to čine s tablicama za pretraživanje - ogromni popisi haseva koji odgovaraju lozinkama. Ishehe se mogu usporediti s bazom podataka. Na primjer, napadač bi znao hash za "password1" i zatim provjerite koriste li neki račun u bazi podataka taj hash. Ako jesu, napadač zna da je lozinka "password1".
Kako bi to spriječili, usluge bi trebale "soliti" svoje hashe. Umjesto izrade hash-a iz same lozinke, dodaju slučajni niz prednji ili kraj zaporke prije nego što ga iskrvarimo. Drugim riječima, korisnik bi unio lozinku "lozinku" i usluga će dodati sol i hash lozinku koja izgleda više poput "password35s2dg". Svaki korisnički račun bi trebao imati svoju jedinstvenu sol, a to bi osigurala da svaki korisnički račun imali bi različite vrijednosti hash-a za svoju lozinku u bazi podataka. Čak i ako su više računa koristili zaporku "password1", imali bi različite hashe zbog različitih vrijednosti soli. To bi porazilo napadača koji je pokušao unaprijed izračunati hashe za lozinke. Umjesto da može generirati hashe koji su se primjenjivali na svaki korisnički račun u cijeloj bazi podataka odjednom, morali bi generirati jedinstvene hashe za svaki korisnički račun i njegovu jedinstvenu sol. To bi trebalo mnogo više vremena i memorije računanja.
Zbog toga se usluge često ne brinu. Usluga koja koristi odgovarajuće sigurnosne postupke trebala bi reći da upotrebljavaju slane lozinke. Ako jednostavno kažu da su lozinke "hashed", to je više zabrinjavajuće. Na primjer, LinkedIn izbrisali su svoje lozinke, ali nisu ih solili, pa je bilo velika stvar kada je LinkedIn izgubio 6.5 milijuna raspršenih lozinki tijekom 2012. godine.
To nije najteže provesti, ali mnoge web stranice i dalje uspijevaju riješiti ih na različite načine:
Tvrtke vam neće uvijek reći cijelu priču pa čak i ako kažu da je lozinka bila istaknuta (ili raspršena i slana), možda neće koristiti najbolje postupke. Uvijek pogriješite na strani opreza.
Vjerojatno je da je vrijednost soli također prisutna u bazi podataka za lozinku. To nije tako loše - ako se za svakog korisnika koristi jedinstvena vrijednost soli, napadači bi morali potrošiti ogromne količine CPU snage prekidanja svih tih lozinki.
U praksi, toliko ljudi koristi očite zaporke da bi bilo lako odrediti mnoge lozinke korisničkih računa. Na primjer, ako napadač zna vaše hashe i znaju vašu sol, lako se mogu provjeriti da li koristite neke od najčešćih zaporki.
Ako vas napadač ima za vas i želi razbiti vašu lozinku, to može učiniti silovito, sve dok znaju koliko ima soli - što vjerojatno čine. S lokalnim, izvanmrežnim pristupom bazama podataka lozinki, napadači mogu zaposliti sve napade koje su željeli.
I drugi osobni podaci vjerojatno propuštaju kada se ukrade lozinka baze podataka: korisnička imena, adrese e-pošte i još mnogo toga. U slučaju curenja Yahoo-a, također su procurila sigurnosna pitanja i odgovori - što, kako svi znamo, lakše ukrasti pristup nečijem računu.
Bez obzira na uslugu koja govori kada je ukradena baza podataka za lozinku, najbolje je pretpostaviti da je svaka usluga potpuno nesposobna i djelovati u skladu s tim.
Prvo, nemojte ponovno koristiti zaporke na više web mjesta. Upotrijebite upravitelja zaporki koja generira jedinstvene zaporke za svaku web stranicu. Ako napadač otkrije da je vaša zaporka za uslugu "43 ^ tSd% 7uho2 # 3", a tu lozinku koristite samo na određenoj web-lokaciji, nisu naučili ništa korisno. Ako upotrebljavate istu lozinku svugdje, mogli bi pristupiti vašim drugim računima. Ovo je koliko računa ljudi postaju "sjeckani".
Ako usluga postane ugrožena, svakako promijenite zaporku koju koristite tamo. Također biste trebali promijeniti lozinku na drugim web-lokacijama ako je ponovno upotrebljavate - ali to ne biste trebali raditi na prvom mjestu.
Također biste trebali koristiti autentifikaciju s dva faktora, koja će vas zaštititi čak i ako napadač uči svoju zaporku.
Najvažnija stvar nije ponovno korištenje lozinki. Kompromitirane baze podataka lozinke ne mogu vas ozlijediti ako koristite jedinstvenu lozinku svugdje - osim ako pohranjujete nešto drugo važno u bazi podataka, primjerice vašu kreditnu karticu.
Slika kredita: Marc Falardeau na Flickr, Wikimedia Commons