Un nou atac de tip canal lateral numit „GoFetch” afectează procesoarele Apple M1, M2 și M3 și poate fi folosit pentru a fura cheile criptografice secrete din datele din memoria cache a CPU-ului.
Atacul vizează implementările criptografice constante pe timp (constant-time) folosind prefetcher-ii dependenți de memorie a datelor (DMPs) găsiți în procesoarele moderne Apple. Acest lucru îi permite să recreeze cheile criptografice private pentru diverse algoritme, inclusiv OpenSSL Diffie-Hellman, Go RSA, CRYSTALS Kyber și Dilithium din memoria cache a CPU-ului.
GoFetch a fost dezvoltat de o echipă de șapte cercetători din diverse universități din SUA, care au raportat descoperirile lor către Apple pe 5 decembrie 2023.
Cu toate acestea, deoarece aceasta este o vulnerabilitate bazată pe hardware, nu există nicio modalitate de a o remedia în procesoarele afectate. În timp ce ar fi posibil să se atenueze defectele folosind remedieri software, aceasta ar cauza o scădere a performanței pe funcțiile criptografice ale acestor CPU-uri.
Atacul GoFetch vizează prefetcher-ii dependenți de memorie a datelor, o caracteristică a CPU-ului proiectată pentru a îmbunătăți performanța computerului la executarea codului.
Un prefetcher este antrenat de accesările anterioare la memorie atunci când recuperează date, permițându-i să prevadă ce date va avea nevoie computerul în continuare. Aceste date sunt apoi preluate în avans din părțile mai lente ale memoriei în regiunile mai rapide ale memoriei, cum ar fi memoria cache a CPU-ului.
Dacă predicția este corectă, datele sunt acum disponibile rapid, crescând performanța computerului. Dacă presupunerea a fost greșită, CPU-ul solicită pur și simplu datele corecte ca de obicei.
Atacul GoFetch se concentrează pe un prefetcher mai nou numit prefetcher dependent de memorie a datelor (DMP). Acest prefetcher poate fi de asemenea antrenat pe accesările anterioare la memorie, dar poate examina de asemenea valorile datelor din memorie pentru a determina ce ar trebui preluat în memoria cache.
DMP este disponibil în cipurile Apple silicon și în procesoarele Intel de generația a 13-a Raptor Lake. Cu toate acestea, cercetătorii spun că implementarea Intel este mai restrictivă și previne atacul.
Atacul se concentrează pe implementările criptografice care durează aceeași perioadă de timp pentru a fi executate indiferent de intrare (timp constant), care este o măsură de securitate pentru a preveni scurgerile de date sensibile.
Mai exact, cercetătorii au descoperit o defecțiune în implementarea Apple a sistemului DMP care încalcă bunele practici de timp constant.
„Am dezasamblat prefetcherii DMP pe procesoarele serii m de la Apple și am descoperit că DMP-ul activează (și încearcă să dereferenceze) date încărcate din memorie care „arată” ca un pointer,” se arată în rezumatul atacului.
„Aceasta încalcă în mod explicit o cerință a paradigmei de programare cu timp constant, care interzice amestecarea datelor și a modelelor de acces la memorie.”
Atacatorii pot crea intrări speciale care determină prefetcherul să dereferenceze date, ceea ce va apărea ca pointeri dacă anumite biți din cheia secretă sunt ghiciți corect.
Apoi, ei observă dacă DMP-ul se activează sau nu, inferând treptat biții cheii secrete. Cu destule repetiții ale procesului, întreaga cheie criptografică secretă poate fi reconstruită.
Cercetătorii au confirmat că procesoarele M1 sunt susceptibile la acest schemă, iar având în vedere că M2 și M3 au comportament similar de prefetching, este probabil ca acestea să fie vulnerabile de asemenea.
Mai multe detalii despre atacul GoFetch pot fi găsite în lucrarea tehnică publicată de cercetători, cu o exploatare a conceptului demonstrată care va fi lansată într-o dată ulterioară.
În mod nefericit, deoarece slăbiciunea face parte din implementarea prefetcherului dependent de memorie a datelor integrat direct în procesoarele Apple, nu există nicio modalitate de a atenua atacul printr-o remediere hardware.
Cercetătorii spun că este posibil să se dezactiveze DMP-ul pe anumite procesoare, cum ar fi M3, eliminând comportamentul de prefetching de care depinde GoFetch. Cu toate acestea, acest lucru nu este posibil pe M1 și M2.
Alte măsuri de apărare pentru dezvoltatori includ încetțosarea intrărilor și mascarea activării DMP, care obfuscă rezultatele intrării atacatorului la nivelul DMP-ului.
În timp ce Apple ar putea introduce soluții de atenuare în macOS printr-o actualizare de software, aceasta ar cauza scăderi de performanță, așa cum am văzut în remedierile software anterioare pentru atacuri de tip canal lateral.
Ca utilizator Apple, nu prea ai multe de făcut în afară de a practica obiceiuri sigure de calcul. Aceasta înseamnă actualizarea regulată a sistemului de operare și a software-ului și instalarea doar a software-ului din canale oficiale și surse de încredere pentru a preveni infecțiile cu malware.
Atacul GoFetch nu necesită acces fizic pentru exploatare, așa că dacă atacatorul poate rula cod pe mașina țintă, de exemplu, prin infectarea cu malware, acesta poate fi executat de la distanță.
BleepingComputer a contactat Apple pentru a solicita un comentariu cu privire la pericolul GoFetch și dacă plănuiește să lanseze actualizări de securitate, dar un purtător de cuvânt s-a limitat la partajarea unei pagini pentru dezvoltatori care descrie o soluție de atenuare.
Oracle avertizează că actualizarea macOS 14.4 afectează Java pe procesoarele Apple
Microsoft anunță eliminarea cheilor RSA de 1024 de biți în Windows
Un atac acustic nou determină tastele din modelele de tastare
Un atac acustic nou fura datele din tastele apăsate cu o precizie de 95%
Înșelătorii au încercat să păcălească Apple pentru 5.000 de iPhone-uri în valoare de peste 3 milioane de dolari
Leave a Reply