Cum sunt sparte parolele?

Conturile sunt rareori sparte așa cum arată filmele. În practică, o parolă este obținută în unul dintre trei moduri. Este spartă: aflată prin încercarea unui candidat după altul, de obicei pe o bază de date cu hash-uri de parole furată de la un serviciu. Este furată: tastată pe o pagină falsă sau copiată de un malware. Sau este reutilizată: atacatorii iau o parolă dintr-o scurgere anterioară și o încearcă pe alte servicii, mizând pe faptul că proprietarul a folosit-o și acolo. Diferența contează, pentru că fiecare caz este contracarat de altceva. Acest articol trece prin principalele metode și spune ce ajută împotriva fiecăreia.

Parole reutilizate din scurgeri de date

În fiecare an sunt compromise servicii, iar bazele lor de date cu utilizatori ajung la vânzare sau sunt distribuite liber. Atacatorii iau perechile de adresă de e-mail și parolă dintr-o scurgere și le încearcă automat la bănci, furnizori de e-mail, magazine și rețele sociale — un atac numit credential stuffing. Nu implică nicio ghicire și funcționează dintr-un motiv simplu: oamenii își reutilizează parolele. Nici o parolă puternică nu ajută aici dacă este aceeași peste tot.

Ce ajută: o parolă diferită pentru fiecare cont, astfel încât o scurgere de la un serviciu să nu deschidă nimic altceva.

Phishing

O pagină de phishing este o copie a unei pagini reale de autentificare, la o adresă puțin diferită, la care ajungi printr-un link dintr-un e-mail sau dintr-un mesaj care sună urgent: un cont blocat, un colet, o factură. Orice tastezi acolo ajunge direct la atacator. Lungimea și caracterul aleatoriu al parolei nu contează, pentru că o introduci chiar tu.

Ce ajută: deschide site-urile din propriile marcaje, nu din linkuri. Folosește un manager de parole: el se oferă să completeze o parolă doar la adresa pentru care a fost salvată, așa că, dacă nu îți oferă parola salvată, verifică adresa înainte s-o tastezi de mână. Și activează autentificarea în doi pași, care face ca o parolă furată să nu fie suficientă singură. Totuși, codurile de unică folosință pot fi obținute prin phishing la fel ca parola. Cheile de acces (passkeys) și cheile de securitate FIDO2 nu pot, pentru că răspund doar site-ului autentic — distincția pe care NIST o numește rezistență la phishing.

Malware

Programele cunoscute ca infostealers copiază parolele salvate în browser, împreună cu cookie-urile de sesiune, și le trimit în câteva secunde de la pornire, iar keyloggerele înregistrează ce se tastează. Un cookie de sesiune furat poate lăsa un atacator să intre într-un cont deja conectat, fără parolă și fără al doilea factor. Astfel de programe vin de obicei cu software piratat, actualizări false și atașamente de e-mail.

Ce ajută: instalarea programelor doar din sursa lor oficială, actualizarea sistemului și a browserului și tratarea oricărui atașament neașteptat ca ostil — niciuna dintre acestea nu este o garanție. Dacă un dispozitiv a fost infectat, acționează de pe alt dispozitiv despre care știi că e curat: schimbă parolele, folosește opțiunea fiecărui serviciu de a te deconecta din toate sesiunile și verifică dacă adresa de e-mail de recuperare, numărul de telefon și setările autentificării în doi pași sunt tot ale tale. Curăță dispozitivul infectat înainte să te conectezi din nou de pe el.

Ghicirea în formularul de autentificare

Încercarea parolelor direct pe un site este lentă: un serviciu bine construit întârzie, blochează sau cere un captcha după câteva încercări greșite. Asta face ineficient atacul repetat asupra unui singur cont, așa că o abordare obișnuită este cea opusă: câteva dintre cele mai comune parole — 123456, password, qwerty123 — încercate pe milioane de conturi, ceea ce se numește password spraying. Ghicirea țintită funcționează la fel, cu detalii personale: numele copiilor și ale animalelor de companie, zile de naștere, o echipă preferată, toate ușor de găsit pe rețelele sociale.

Ce ajută: orice parolă care nu este nici comună, nici construită din informații despre tine — vezi cum să creezi o parolă puternică.

Spargerea offline a hash-urilor furate

Un serviciu construit corect nu stochează parolele într-o formă care poate fi citită. Stochează hash-uri — rezultatul unei funcții unidirecționale din care parola nu poate fi calculată înapoi. Când o astfel de bază de date se scurge, atacatorii testează parole posibile: calculează hash-urile candidaților pe propriul hardware și compară rezultatele. Niciun formular de autentificare nu îi încetinește, iar viteza depinde de funcția de hash aleasă de serviciu și de setările ei. Pentru funcții rapide și învechite, precum MD5, o singură placă video modernă testează zeci de miliarde de candidați pe secundă. Funcțiile concepute pentru stocarea parolelor — Argon2id sau, în sistemele mai vechi, bcrypt — sunt intenționat lente și reduc această rată cu multe ordine de mărime, motiv pentru care recomandările actuale le numesc.

Atacuri de dicționar

Candidații nu sunt aleatorii. Instrumentele de spargere încep cu liste de parole reale din scurgeri anterioare și cu dicționare de cuvinte și nume, apoi aplică reguli care imită obiceiurile oamenilor: o primă literă mare, un an sau un semn de exclamare la sfârșit, o literă înlocuită cu un simbol asemănător. O parolă precum Summer2024! pare complexă și se află printre primii candidați încercați. Sărarea (salting) — adăugarea unei valori aleatorii unice la fiecare parolă înainte de calcularea hash-ului — îi împiedică pe atacatori să folosească tabele precalculate, cunoscute ca rainbow tables, și să spargă deodată toate parolele identice, dar nu face o parolă previzibilă mai puțin previzibilă.

Forța brută

Când dicționarele s-au epuizat, rămâne încercarea fiecărei combinații, iar pentru o parolă generată aleatoriu lungimea este cea care decide rezultatul. Ca ilustrare, să luăm o funcție de hash rapidă și o parolă în care fiecare caracter este ales independent, cu probabilitate egală, dintre cele 94 de caractere ASCII imprimabile, fără spațiu. Există aproximativ 6 × 1015 astfel de parole de 8 caractere; la zece miliarde de încercări pe secundă, încercarea tuturor durează aproximativ o săptămână, iar în medie cea corectă apare în jumătate din acest timp. Pentru 12 caractere, încercarea tuturor pe același hardware ar dura aproximativ 1,5 milioane de ani, iar pentru 16 cifra depășește orice comparație cu sens. Acesta este tot argumentul pentru parolele lungi și aleatorii: dicționarele sunt de puțin folos împotriva lor, iar în aceste condiții încercarea tuturor combinațiilor nu este practică. Generatorul nostru de parole puternice le creează în browserul tău și arată pentru fiecare o estimare a entropiei în biți.

Ce ajută: o parolă lungă, fără niciun tipar uman, ceea ce în practică înseamnă una generată. Nu poți controla cum îți stochează un serviciu parola, așa că pornește de la ce e mai rău și alege una care rezistă la ghicire chiar și când este stocată cu o funcție de hash rapidă.

Privitul peste umăr și cererea directă

Cele mai vechi metode nu au nevoie de tehnologie. O parolă este citită peste umăr, de pe un bilețel lipit pe monitor sau de pe un ecran partajat într-un apel video; ori atacatorul pur și simplu o cere, dându-se drept angajat de suport sau coleg — ceea ce se numește inginerie socială. Niciun serviciu legitim nu îți va cere vreodată parola prin telefon, e-mail sau chat.

Ce ajută: să nu spui și să nu trimiți niciodată parola nimănui și să n-o ții acolo unde o pot vedea alții.

Ce rezultă de aici

Atacuri diferite sunt contracarate de obiceiuri diferite, iar trei dintre ele fac cea mai mare parte din treabă: o parolă unică pentru fiecare cont, generată în loc să fie inventată, cu autentificare în doi pași pe deasupra — sau o cheie de acces (passkey) în locul parolei, acolo unde serviciul o oferă. Ele nu acoperă totul — o sesiune furată, de exemplu —, de aceea contează și sfaturile despre malware de mai sus. Mai multe articole sunt adunate în materialele despre parole.