În era computingului în cloud, protecțiile integrate în cipurile de la Intel, AMD și alții sunt vitale pentru a asigura confidențialitatea datelor și protecția operațiunilor sensibile împotriva atacurilor care ar putea compromite serverele din centrele de date. Aceste protecții, care funcționează prin stocarea anumitor date și procese în enclave criptate cunoscute sub numele de TEEs (Trusted Execution Enclaves), sunt esențiale pentru securizarea secretelor stocate în cloud de aplicații precum Signal Messenger și WhatsApp. Toți furnizorii majori de servicii cloud recomandă utilizarea acestora. Intel denumește această protecție SGX, iar AMD o numește SEV-SNP.
De-a lungul anilor, cercetătorii au demonstrat în repetate rânduri că promisiunile de securitate și confidențialitate făcute de Intel și AMD referitoare la aceste protecții nu sunt întotdeauna solide. Marți, cercetătorii au publicat independent două lucrări care descriu atacuri separate, evidențiind limitările SGX și SEV-SNP. Un atac, numit Battering RAM, eludează ambele protecții, permițând atacatorilor nu doar să vizualizeze datele criptate, ci și să le manipuleze activ pentru a introduce backdoor-uri software sau pentru a corupe datele. Un alt atac, cunoscut sub numele de Wiretap, poate decripta pasiv datele sensibile protejate de SGX și să rămână invizibil în permanență.
Ambele atacuri utilizează un mic dispozitiv hardware, cunoscut sub numele de interposer, plasat între siliciul CPU și modulul de memorie. Poziția sa îi permite să observe datele pe măsură ce sunt transferate dintr-una în alta. Aceste atacuri exploatează folosirea de către Intel și AMD a criptării deterministe, care produce același text criptat de fiecare dată când același text clar este criptat cu aceeași cheie. În SGX și SEV-SNP, acest lucru înseamnă că același text clar scris la aceeași adresă de memorie produce întotdeauna același text criptat.
Criptarea deterministă este potrivită pentru anumite utilizări, cum ar fi criptarea completă a discurilor, unde datele protejate nu se schimbă odată ce obiectul protejat (în acest caz, unitatea de stocare) ajunge în mâinile unui atacator. Totuși, acest tip de criptare este suboptimal pentru protecția datelor care circulă între un procesor CPU și un cip de memorie, deoarece adversarii pot observa textul criptat de fiecare dată când textul clar se schimbă, deschizând sistemul atacurilor de replay și altor tehnici de exploatare bine cunoscute. Criptarea probabilistică, în contrast, rezistă unor asemenea atacuri deoarece același text clar poate fi criptat într-o gamă largă de texte criptate care sunt alese aleatoriu în timpul procesului de criptare.
“Fundamental, [utilizarea criptării deterministe] este un compromis de design”, a scris Jesse De Meulemeester, autorul principal al lucrării Battering RAM, într-un interviu online. “Intel și AMD au optat pentru criptarea deterministă fără integritate sau prospețime pentru a menține criptarea scalabilă (adică pentru a proteja întreaga gamă de memorie) și pentru a reduce suprasarcina. Această alegere facilitează atacuri fizice cu costuri reduse, precum ale noastre. Singura modalitate de a rezolva acest lucru necesită probabil modificări hardware,”