If-Koubou

De ce trebuie să vă îngrijorați de fiecare dată când o bază de date a parolei unui serviciu este scursă

De ce trebuie să vă îngrijorați de fiecare dată când o bază de date a parolei unui serviciu este scursă (Cum să)

"Baza de date a parolei a fost furată ieri. Dar nu vă faceți griji: parolele dvs. au fost criptate. "În mod regulat vedem declarații ca aceasta online, inclusiv ieri, de la Yahoo. Dar ar trebui să luăm cu adevărat aceste garanții la valoarea nominală?

Realitatea este că compromisurile bazei de date pentru parole sunteți o preocupare, indiferent de modul în care o companie poate încerca să-l rotească. Dar există câteva lucruri pe care le puteți face pentru a vă izola, indiferent cât de rău sunt practicile de securitate ale unei companii.

Cum ar trebui să fie stocate parolele

Iată cum companiile ar trebui să stocheze parole într-o lume ideală: Creați un cont și furnizați o parolă. În loc să stocheze parola în sine, serviciul generează o "hash" din parolă. Aceasta este o amprentă unică care nu poate fi inversată. De exemplu, parola "parola" se poate transforma în ceva care arată mai mult ca "4jfh75to4sud7gh93247g ...". Când introduceți parola pentru a vă conecta, serviciul generează un hash din acesta și verifică dacă valoarea hash corespunde valorii stocate în baza de date. În nici un moment serviciul nu vă salvează parola pe disc.

Pentru a determina parola actuală, un atacator care are acces la baza de date va trebui să precompună setările pentru parole comune și apoi să verifice dacă acestea există în baza de date. Atacatorii fac acest lucru cu tabelele de căutare - liste uriașe de hashes care se potrivesc cu parolele. Chestiile pot fi apoi comparate cu baza de date. De exemplu, un atacator ar cunoaște hash-ul pentru "password1" și apoi va vedea dacă orice conturi din baza de date utilizează acel hash. Dacă sunt, atacatorul știe că parola lor este "parola1".

Pentru a preveni acest lucru, serviciile ar trebui să "sare" culesele lor. În loc să creați un hash din parola în sine, ele adaugă un șir aleatoriu în fața sau la sfârșitul parolei înainte de a-l șterge. Cu alte cuvinte, un utilizator va introduce parola "parola" și serviciul ar adăuga sarea și hash-ul o parolă care ar părea mai degrabă "password35s2dg." Fiecare cont de utilizator ar trebui să aibă sare unică proprie și acest lucru ar asigura că fiecare cont de utilizator ar avea o valoare hash diferită pentru parola lor în baza de date. Chiar dacă mai multe conturi au folosit parola "password1", vor avea diferite hash-uri din cauza diferitelor valori ale sarei. Acest lucru ar învinge un atacator care a încercat să pre-calcula hashes pentru parole. În loc să fie capabili să genereze hash-uri care se aplică fiecărui cont de utilizator dintr-o dată în întreaga bază de date, aceștia ar trebui să genereze hashes-uri unice pentru fiecare cont de utilizator și sarea sa unică. Acest lucru ar necesita mult mai mult timp de calcul și memorie.

Acesta este motivul pentru care serviciile adesea spun că nu vă faceți griji. Un serviciu care utilizează proceduri de securitate adecvate ar trebui să spună că utilizează hashes de parole sărate. Dacă ei spun pur și simplu că parolele sunt "hashed", asta e mai îngrijorător. LinkedIn și-a hărțuit parolele, de exemplu, dar nu le sare - deci a fost o afacere mare când LinkedIn a pierdut 6,5 milioane de parole rulate în 2012.

Metode de parole greșite

Acest lucru nu este cel mai greu de implementat, dar multe site-uri reușesc încă să o provoace într-o varietate de moduri:

  • Stocarea parolelor în text simplu: Mai degrabă decât să deranjeze cu hash, unii dintre cei mai răi infractori pot să arunce parolele în formă de text simplu într-o bază de date. Dacă o astfel de bază de date este compromisă, parolele dvs. sunt în mod evident compromise. Nu contează cât de puternici sunt.
  • Eliminarea parolelor fără să le saltezi: Unele servicii pot rupe parolele și pot renunța acolo, optând să nu folosească săruri. Aceste baze de date de parole ar fi foarte vulnerabile la tabelele de căutare. Un atacator ar putea genera hash-urile pentru mai multe parole și apoi verifica dacă acestea există în baza de date - ar putea face acest lucru pentru fiecare cont simultan dacă nu s-ar folosi sare.
  • Reutilizarea sărurilor: Unele servicii pot utiliza o sare, dar pot reutiliza aceeași sare pentru fiecare parolă pentru contul de utilizator. Acest lucru este inutil - dacă aceeași sare ar fi fost utilizată pentru fiecare utilizator, doi utilizatori cu aceeași parolă ar avea același hash.
  • Folosirea sarelor scurte: Dacă se folosesc săruri cu doar câteva cifre, ar fi posibil să se genereze tabele de căutare care încorporează orice sare posibilă. De exemplu, dacă o singură cifră a fost utilizată ca o sare, atacatorul ar putea genera cu ușurință liste de hashes care încorporează orice sare posibilă.

Companiile nu vă vor spune mereu întreaga poveste, deci chiar dacă spun că o parolă a fost spartă (sau hashed și sărat), este posibil ca acestea să nu folosească cele mai bune practici. Mereu erori pe partea de precauție.

Alte preocupări

Probabil că valoarea sarei este prezentă și în baza de date a parolei. Nu este chiar așa de rău - dacă ar fi fost folosită o valoare unică de sare pentru fiecare utilizator, atacatorii ar fi trebuit să cheltuiască cantități masive de putere CPU care ar sparge toate aceste parole.

În practică, atât de mulți utilizatori folosesc parole evidente, încât ar fi ușor să determinați parolele mai multor conturi de utilizatori. De exemplu, dacă un atacator știe hash-ul dvs. și știu sarea dvs., ei pot verifica cu ușurință pentru a vedea dacă utilizați unele dintre cele mai comune parole.

Dacă un atacator o are pentru dvs. și dorește să vă spargă parola, o pot face cu forță bruta atâta timp cât știu valoarea sarei pe care probabil o fac. Cu acces local, offline la bazele de date cu parole, atacatorii pot folosi toate atacurile de forță brute pe care le doresc.

Alte date cu caracter personal sunt, probabil, scurgeri atunci când o bază de date de parolă este furat: nume de utilizator, adrese de e-mail și multe altele. În cazul scurgerilor Yahoo, s-au scurs și întrebări de securitate și răspunsuri - care, după cum știm cu toții, ușurează accesul la contul cuiva.

Ajutor, ce ar trebui să fac?

Oricare ar spune un serviciu atunci când baza de date pentru parole este furată, este mai bine să presupunem că fiecare serviciu este complet incompetent și acționează în consecință.

În primul rând, nu reutilizați parolele pe mai multe site-uri web. Utilizați un manager de parole care generează parole unice pentru fiecare site web. Dacă un atacator reușește să descopere că parola dvs. pentru un serviciu este "43 ^ tSd% 7uho2 # 3" și folosiți această parolă doar pe acel site specific, nu au învățat nimic util. Dacă utilizați aceeași parolă peste tot, ei ar putea accesa celelalte conturi. Acesta este modul în care multe conturi ale oamenilor devin "hacked".

Dacă un serviciu devine compromis, asigurați-vă că schimbați parola pe care o utilizați acolo. De asemenea, ar trebui să schimbați parola pe alte site-uri dacă o reutilizați acolo - dar nu ar trebui să faceți asta în primul rând.

Ar trebui să luați în considerare utilizarea autentificării cu două factori, care vă va proteja chiar dacă un atacator vă învață parola.

Cel mai important lucru nu este reutilizarea parolelor. Bazele de date parola compromise nu vă pot face rău dacă folosiți o parolă unică peste tot - cu excepția cazului în care stochează altceva important în baza de date, cum ar fi numărul cărții dvs. de credit.

Credit de imagine: Marc Falardeau pe Flickr, Wikimedia Commons