În criptanaliză și securitatea computerului , cracarea parolei (în limba engleză: password cracking ) este procesul de recuperare a parolelor din datele stocate sau transmise de un sistem informatic. O abordare comună, cunoscut ca un atac de forta bruta , este de a încerca mai multe parole potențiale și să compare lor criptografică hash hash criptografic al parolei dorite.
Scopul ruperii unei parole este
Există multe software-uri de cracare a parolelor, cele mai populare sunt Aircrack , Cain & Abel , John the Ripper , Ophcrack , Konboot , Hashcat (en) , Hydra , DaveGrohl (en) și ElcomSoft (en) .
Multe programe de calculator criminalistice includ o funcție de cracare a parolei. Majoritatea acestui software utilizează o combinație de strategii, inclusiv atacuri de forță brută și atacuri de dicționar .
Disponibilitatea puterii de calcul și software-ul automat ușor de utilizat de cracare a parolelor permite utilizarea acestor programe de către scripturi .
Timpul necesar pentru a sparge o parolă depinde de
Majoritatea metodelor de cracare a parolelor necesită ca computerul să genereze multe parole candidate și să le verifice una câte una. O metodă simplă este atacul cu forță brută , în care un computer încearcă toate permutările posibile ale caracterelor până când găsește parola.
Metode mai rapide, cum ar fi atacurile de dicționar , încearcă să reducă numărul de încercări necesare pentru a sparge o parolă. Aceste metode vor fi utilizate în general înainte de forța brută. Creșterea puterii parolei crește numărul de parole candidate care trebuie verificate pentru a sparge parola și scade probabilitatea ca parola să fie găsită într-un dicționar de cracking.
Timpul necesar pentru a sparge o parolă utilizând programe pentru computer depinde, de asemenea, de numărul de parole care pot fi verificate pe secundă. Dacă atacatorul are hashul criptografic al parolei țintă, numărul de verificări pe secundă poate fi de ordinul unui miliard, deoarece este posibil un atac offline. O altă situație în care este posibil să testați rapid un număr mare de parole este atunci când parola este utilizată pentru a forma o cheie criptografică . În acest caz, un atacator poate verifica rapid dacă o parolă candidată decodează cu succes datele criptate. Dacă atacatorul nu are niciunul dintre cele două ajutoare anterioare, numărul de verificări pe secundă depinde de software-ul de autentificare care limitează frecvența cu care o parolă poate fi verificată sau de timpul de procesare a parolei, prin CAPTCHA sau blocări forțate după o un anumit număr de încercări nereușite.
Pentru unele tipuri de hashuri de parole, desktopurile obișnuite pot testa peste o sută de milioane de parole pe secundă folosind instrumente de cracare care rulează pe un procesor standard și miliarde de parole pe secundă, folosind instrumente bazate pe un procesor grafic . Numărul de parole potențial testate pe secundă depinde în mare măsură de funcția hash criptografică utilizată de sistem pentru a genera hashurile parolelor. O funcție hash adecvată, cum ar fi bcrypt , este un ordin de mărime preferabil unei funcții naive, cum ar fi MD5 simplu sau SHA . Potrivit Institutului Național de Standarde și Tehnologie (NIST), o parolă de opt caractere care include numere, litere mari, litere mici și simboluri, și cu excepția parolelor selectate în mod obișnuit și a cuvintelor din dicționar, are o putere de 30 de biți. Deoarece 2 30 reprezintă doar un miliard de permutări, o astfel de parolă va fi, prin urmare, întreruptă în câteva secunde dacă funcția hash este naivă. Când desktopurile obișnuite sunt combinate într-un efort de cracare, așa cum se poate face cu botnet-urile , capacitățile de cracare a parolelor sunt mult crescute. În 2002, Distributed.net a reușit să găsească o cheie RC5 pe 64 de biți în patru ani, grupând peste 300.000 de computere diferite uneori și testând în medie peste 12 miliarde de chei pe secundă.
Cele GPU - urile pot accelera parola de cracare cu un factor de 50 până la 100 de procesoare peste standard. Din 2011, produsele comerciale au pretins capacitatea de a testa până la 2.800.000.000 de parole pe secundă pe un computer desktop standard utilizând un procesor grafic high-end. Un astfel de dispozitiv poate sparge o parolă de 10 litere cu o singură pauză într-o singură zi. Munca poate fi răspândită pe multe computere pentru o accelerație suplimentară proporțională cu numărul de computere disponibile.
În ciuda capacităților lor, procesoarele desktop sunt mai lente în spargerea parolelor decât mașinile proiectate special în acest scop. În 1998, Electronic Frontier Foundation (EFF) a dezvoltat un dispozitiv dedicat de cracare a parolei folosind ASIC-uri , spre deosebire de procesoarele de uz general. Mașina lor, Deep Crack , a rupt o cheie DES de 56 de biți în 56 de ore, testând peste 90 de miliarde de taste pe secundă. În 2010, Georgia Tech Research Institute (ro) a dezvoltat o metodă de utilizare a GPGPU pentru spargerea parolelor. Rezultatele obținute i-au determinat să recomande o lungime minimă de 12 caractere pentru securizarea parolelor.
Cea mai bună metodă pentru a preveni ruperea parolei este să vă asigurați că atacatorii nu pot accesa nici măcar parola hash. De exemplu, pe sistemul de operare Unix, parolele hash au fost inițial stocate într-un fișier / etc / passwd acces public. Dezavantaje, pe sistemele Unix moderne (și similare), acestea sunt stocate în fișierul de parolă shadow / etc / shadow, care este accesibil doar pentru programele care au privilegii pentru administratorul de sistem ). Acest lucru face mai dificil pentru un utilizator rău intenționat să obțină parolele hash, dar multe fișiere hash de parole au fost furate în ciuda acestei protecții. O altă abordare eficientă este asocierea unei chei secrete specifice site-ului cu hash-ul parolei. Acest lucru previne recuperarea parolei chiar dacă valorile hash sunt furate.
Există și alte tehnici pentru obținerea unei parole, de exemplu: