Criptanaliza acustică este un tip de atac pasiv pe canal lateral care vizează obținerea de informații din sunetele produse de computere sau alte dispozitive de criptare . Inițial, acest atac a fost folosit pentru a sparge mașinile de criptare electromecanică și imprimante de impact . Cu toate acestea, în criptoanaliza acustică modernă , accentul principal este pus pe zgomotul generat de tastatură sau de componentele interne ale computerului.
În 1974, Victor Marchetti ( ing. Victor Marcetti ) și John D. Marks au reușit să declasifice utilizarea utilizării de către CIA a sunetelor interceptate la tipărirea unei mașini de cifrare cu text simplu . [1] Această metodă a devenit posibilă odată cu apariția dispozitivelor destul de ieftine care implementează transformarea rapidă Fourier , care în acest caz s-a întâmplat la sfârșitul anilor 1960 - mijlocul anilor 1970.
Cu toate acestea, atacuri acustice similare folosind metode mai primitive erau deja efectuate la mijlocul anilor 1950. Fostul agent MI5 Peter Wright descrie utilizarea criptoanalizei împotriva mașinilor egiptene de cifrare Hagelin cartea sa Spycatcher . Această operațiune a primit numele de cod „ENGULF”. [2]
În timpul operațiunii din 1956, în Ambasada Egiptului din Londra au fost amplasate dispozitive de ascultare , care a interceptat zgomotele emise de mașinile de cifrat. Acest lucru a permis ofițerilor britanici de informații să obțină informații clasificate, care au afectat poziția britanică în criza de la Suez .
MI5 a folosit cu succes această metodă și în Operațiunea STOCKADE pentru a asculta ambasada Franței din Londra. [2]
În 2004, Dmitry Asonov și Rakesh Agrawal, care au lucrat la Centrul de Cercetare Almaden, IBM , au anunțat că tastaturile computerelor, telefonului și ATM-urilor sunt vulnerabile la atacurile cu apăsarea tastei . Analizând înregistrarea audio folosind o rețea neuronală , aceștia au putut recrea textul tastat pe alt computer. Această metodă permite atacatorilor să învețe parole, coduri PIN și alte informații introduse de la tastatură.
În 2005, un grup de oameni de știință de la Universitatea din California din Berkeley a efectuat o serie de experimente practice, confirmând posibilitatea atacului propus de Asonov și Agrawal. [3]
Multe părți ale computerului emit sunet de înaltă frecvență în timpul funcționării. Cu toate acestea, acesta nu este doar zgomot - din acesta puteți obține date despre programele care rulează și, în special, informații protejate despre calculele sistemului de securitate.
În 2004, Adi Shamir și Eran Tromer au demonstrat fezabilitatea unui atac temporizat de analiză a canalului lateral asupra unui procesor care efectuează operațiuni criptografice. În același timp, nu radiația electromagnetică a computerului sau zgomotul perceptibil al sistemului de răcire au fost analizate , ci ultrasunetele emise de condensatori și inductori de pe placa de bază în circuitele de alimentare ale procesorului. [patru]
RSA a fost ales ca algoritm de criptare în implementarea GnuPG . Experimentul a fost realizat atât cu echipamente ieftine accesibile publicului, cât și cu mai sensibile, dar scumpe. În primul caz, un microfon ieftin a fost amplasat la o distanță de 20 cm de o carcasă deschisă, cu ventilatoarele oprite. În cel de-al doilea caz, condițiile erau aproape reale - computerul piratat era situat la o distanță de 1-2 metri și se afla într-o stare asamblată. În ambele cazuri s-au obținut rezultate similare.
În echipă cu Daniel Genkin, Adi Shamir și Eran Tromer au continuat să exploreze problema. Drept urmare, au implementat cu succes acest atac și au publicat un articol cu rezultatele în decembrie 2013. [5]
Datorită muncii depuse, au reușit să îmbunătățească semnificativ atacul. Această metodă poate extrage întreaga cheie RSA de 4096 de biți de pe laptopul victimei în 1 oră de lucru . Pentru a face acest lucru, trebuie doar să puneți telefonul mobil lângă laptop. Un microfon mai sensibil poate fi instalat la o distanta de 4 metri de calculator.
Cum funcționeazăDe obicei , atacurile pe canal lateral necesită măsurători cu o rezoluție în timp apropiată de timpul de execuție al unei singure operații. Dar la computere, operațiunile sunt mult mai rapide (de ordinul GHz) decât frecvența microfoanelor de recepție (până la 20 kHz pentru microfoanele convenționale și până la câteva sute de kHz pentru microfoanele cu ultrasunete). [6] Cu toate acestea, chiar și cu ajutorul unor astfel de măsurători, extragerea completă a cheii este posibilă.
Cercetările au descoperit că operația de criptare RSA (a pachetului GnuPG) are un spectru de frecvență caracteristic . În plus, spectrul în multe cazuri prezintă dependență de cheie, adică diferite chei produc sunete diferite.
Procesul de extragere a cheilor se bazează pe un atac cu text cifrat ales adaptiv . Datorită particularităților implementării algoritmului de criptare, în ciclul algoritmului apare o serie de zerouri. O trecere prin buclă este prea rapidă pentru ca microfonul să poată fi captat. Dar când acest eveniment se repetă pentru câteva mii de treceri, scurgerea prin canalul acustic devine semnificativă, permițând obținerea de informații bit cu bit despre cheie.
Timpul de execuție al atacului și succesul acestuia depind de mulți parametri - poziția microfonului, zgomotul extern, acustica camerei, modelul mașinii atacate și chiar temperatura ambiantă. În medie, timpul de atac pe un laptop Lenovo ThinkPad T61 în condiții normale de birou cu un microfon portabil a durat 1 oră. [7]
UtilizarePe lângă atacul acustic, cercetătorii au propus o metodă similară de hacking cu fluctuații potențiale . Un atacator poate măsura modificările potențiale la capătul unui cablu conectat la un computer (de exemplu, Ethernet ) și, astfel, poate efectua un atac cu succes.
Este posibilă și o metodă futuristă de hacking one-touch - atacatorul atinge carcasa computerului / laptopului și obține informațiile necesare prin măsurarea potențialului propriului său corp. [5]
OpozițieCercetătorii au făcut ca dezvoltatorii GnuPG și furnizorii importanți să conștientizeze vulnerabilitatea și au sugerat posibile contramăsuri. [8] Concomitent cu publicarea articolului (decembrie 2013), au fost lansate actualizări pentru GnuPG 1.x, GnuPG 2.x și libcrypt, care au implementat aceste contramăsuri. Cu toate acestea, merită remarcat faptul că acest lucru nu protejează complet împotriva acestui atac acustic (de exemplu, o cheie RSA poate fi încă distinsă de alta).
Interesant este că protecția împotriva atacurilor pe canale laterale care au apărut în GnuPG înainte de aceasta, nu numai că nu a protejat împotriva acestui atac, dar a și făcut mai ușor recunoașterea cheii. [5]
În ciuda faptului că atacul este fizic, în acest caz, protecția la nivel de software este mai eficientă datorită costurilor ridicate cu beneficii reduse. Orice radiație reziduală poate fi adesea amplificată la un nivel acceptabil, în timp ce cea mai mare parte a zgomotului nu conține nicio informație. Protecția la nivel de software poate asigura că informațiile scurse vor fi inutile pentru un atacator.
Pentru a vă proteja împotriva interceptării sunetelor apăsate de tastele de la tastatură, puteți reda sunete de aceeași frecvență și formă. Redând sunete de apăsare a tastei în ordine aleatorie, puteți reduce semnificativ probabilitatea executării cu succes a acestui tip de atac. Este de dorit să folosiți cel puțin 5 intrări diferite pentru fiecare buton pentru a reduce riscul de recunoaștere folosind transformarea Fourier rapidă . [9] Alternativ, zgomotul alb de volum suficient (care este mai ușor de implementat din punct de vedere tehnic) poate ascunde sunetele apăsărilor de butoane.
Împotriva atacurilor care folosesc zgomotul componentelor de lucru, puteți folosi carcase speciale de anulare a zgomotului care pot înăbuși sunetele emise de o frecvență caracteristică. Puteți folosi și un generator de zgomot alb, dar această metodă poate să nu fie atractivă din punct de vedere ergonomic . În plus, utilizarea componentelor radio de înaltă calitate și a circuitelor electrice special concepute poate ajuta la reducerea amplitudinii zgomotului emis.
De asemenea, puteți implementa protecție la nivel de software prin modificarea software-ului. Modificările aduse modului în care funcționează algoritmul pot limita utilitatea informațiilor pe care un atacator le poate intercepta. Aceste modificări afectează de obicei performanța, dar permit comportamentului algoritmului criptografic să fie independent de intrare. [patru]