TSM - Simțul fals de securitate sau înțelegerea parolelor și a vulnerabilităților lor

Csaba Kovacs - Engineering Manager @ Freelancer

Parolele sunt cel mai frecvent folosite metode de autentificare. Chiar dacă există alte metode mult mai elaborate și mai moderne de identificare și autentificare, ușurința lor de utilizare face parolele de neegalat în domeniul securității. Fiecare dintre noi a trebuit să creeze mai multe parole pe parcursul vieții, dar câți dintre noi au depus efort să reflecteze asupra acestora, dincolo de cerințele minime pentru a fi acceptate?

În zilele noastre există o imensă putere de calcul la îndemâna fiecăruia dintre noi, care ar putea fi folosită în scopuri ilicite, precum spargerea unei parole. Un exemplu elocvent în acest sens este fenomenul cripto, care lasă cantități uriașe de unități de procesare grafică fără sarcina rentabilă.

Este important de conștientizat că nu este suficient să folosim caractere speciale, numere și majuscule în parole, ci trebuie să înțelegem de ce este nevoie să facem acest lucru. Astfel putem identifica vulnerabilitățile într-un mod care ne determină să ne gândim la o soluție mai bună pentru parola noastră.

Vulnerabilitățile comune ale autentificării bazate pe parole

Faptul că parola este cea mai utilizată metodă de autentificare înseamnă și că este ținta celor mai multe atacuri cibernetice. Dezvoltatorii folosesc soluții criptografice din ce în ce mai complexe pentru a face parolele sigure, dar securitatea informațiilor nu poate fi considerată doar o provocare tehnică, ci trebuie privită și ca o problemă comportamentală care implică utilizatorii.

Autentificarea bazată pe parole are mai multe vulnerabilități care pot compromite securitatea sistemelor:

Spargerea parolelor

Există două scenarii principale pentru spargerea parolelor: online și offline. În primul scenariu, atacatorul încearcă să obțină acces la un sistem online pentru un utilizator activ. Atacatorul nu poate obține o versiune criptată a parolei, ceea ce înseamnă că trebuie să emuleze complet interacțiunea utilizatorului cu software-ul și să se autentifice în aceeași interfață ca utilizatorii obișnuiți.

Pe de altă parte, un atac offline începe după ce atacatorul obține o versiune criptată a parolei. Parolele sunt de obicei criptate, hashuite, însă acești algoritmi de hash sunt concepuți mai degrabă pentru a face atacul mai lent și mai greu din punct de vedere computațional, decât pentru a face o parolă imposibil de spart.

Atacuri de Brute Force

Un atac brute force este o metodă de spargere a parolelor sau criptărilor prin încercarea sistematică a tuturor combinațiilor posibile de caractere, până când se găsește cea corectă. Funcționează prin încercarea fiecărei parole sau chei de criptare posibile până când se descoperă o potrivire.

În timp ce această tehnică este garantată să spargă parola.Nu este fezabilă pentru parole lungi din cauza limitărilor de timp și resurse. În general, este utilizată doar ca o ultimă soluție.

Atacuri Dictionary

Atacurile Dictionary sunt o versiune mai rafinată a atacului brute force. În acest caz, în loc de epuizarea întregului spațiu de căutare a parolei de lungime completă și de încercarea tuturor combinațiile posibile de caractere, atenția este doar pe cuvintele care au sens.

Un dicționar extrem de eficient poate fi obținut din parolele divulgate, deoarece este cunoscut faptul că utilizatorii au tendința de a-și reutiliza parolele pentru mai multe conturi.

Strategia de atac offline

Un atac de spargere a parolei în mod offline are trei pași de bază care se repetă:

  1. Alegerea unui candidat de parolă;

  2. Rulează algoritmul de criptare pentru pasul 1;

  3. Compară rezultatul din pasul 2 cu hashul capturat de la posibila victimă

Din acești pași, al doilea este de cea mai lungă durată. Din acest motiv, atacatorii au nevoie de o soluție pentru a aplica în paralel același algoritm la mai mulți candidați de parole. Există o soluție magică: utilizarea unităților de procesare grafică (GPU). Acestea favorizează throughputul paralel în defavoarea latenței.

Există o multitudine de instrumente pentru recuperarea parolelor, dar vă vom prezenta preferatul nostru, oclHashcat, considerat cel mai rapid spargător multi-hash bazat pe GPGPU din lume.

Hashcat este un instrument open-source pentru recuperarea parolelor. A fost creat de Jens "Atom" Steube în 2005 pentru a îmbunătăți instrumentele existente de spargere a parolelor. Acum suportă o gamă largă de tipuri de hash, cum ar fi MD5, SHA-1, SHA-256, bcrypt și altele. Funcționează și pe diferite platforme precum Windows, Linux și macOS. Din 2009, Hashcat a fost rescris și a devenit oclHashcat, valorificând puterea GPU-urilor și CPU-urilor prin utilizarea limbajului OpenCL, aceasta a fost introdus inițial de AMD, dar este adoptat în prezent de toți marii jucători din industria semiconductorilor.

În tabelul următor sunt prezentați timpii necesari pentru un atac de tip brute force pe o placă video relativ performantă, precum RTX 3080, folosind ultima versiune a oclHashcat pentru calculul timpilor a fost folosit criptarea WPA2 pentru securizarea rețelelor wireless.

Concluzie

Alegerea unei parole perfecte este o artă de a găsi echilibrul între entropia sau siguranța parolei și ușurința de memorare a acesteia. Ideal ar fi să putem folosi cât mai multe caractere aleatorii, maximul cât ne permite sistemul. Din păcate, nu există niciun om care să considere un asemenea șir de caractere ușor de memorat sau chiar de introdus de mai multe ori pe zi.

Putem concluziona că securitatea cibernetică este o temă semnificativă. Principala problemă a parolelor este cauzată de ignoranța sau reticența umană de a urma recomandările pentru crearea și stocarea acestora.

Fiecare utilizator ar trebui să depună tot efortul necesar pentru a minimiza rata de succes a unui atac cibernetic, folosind toate mijloacele la îndemână. O înțelegere mai bună a modului în care funcționează parolele ne face mai conștienți de practicile greșite comune în domeniul definirii lor și ne ajută să le evităm, contribuind astfel la crearea unui mediu mai sigur din perspectiva securității cibernetice.