SQUIP - útok na procesory AMD, ktorý vedie k úniku dát cez kanály tretích strán

Skupina výskumníkov z Technickej univerzity v Grazi (Rakúsko), ktorá bola predtým známa vývojom útokov MDS, NetSpectre, Throwhammer a ZombieLoad, zverejnila podrobnosti o novom útoku na postranný kanál (CVE-2021-46778) na frontu plánovačov procesorov AMD. , ktorý sa používa na plánovanie vykonávania pokynov v rôznych vykonávacích jednotkách CPU. Útok nazývaný SQUIP vám umožňuje určiť údaje použité vo výpočtoch v inom procese alebo virtuálnom stroji alebo zorganizovať skrytý komunikačný kanál medzi procesmi alebo virtuálnymi strojmi, ktorý vám umožní vymieňať si údaje a obísť mechanizmy riadenia prístupu k systému.

Procesory AMD založené na mikroarchitektúrach Zen 2000., 5000. a 3000. generácie (AMD Ryzen XNUMX-XNUMX, AMD Ryzen Threadripper, AMD Athlon XNUMX, AMD EPYC) sú ovplyvnené používaním technológie Simultaneous Multithreading Technology (SMT). Procesory Intel nie sú náchylné na útok, pretože používajú jeden plánovací rad, zatiaľ čo zraniteľné procesory AMD používajú samostatné fronty pre každú vykonávaciu jednotku. Ako riešenie na blokovanie úniku informácií spoločnosť AMD odporučila, aby vývojári používali algoritmy, ktoré vždy vykonávajú matematické výpočty v konštantnom čase, bez ohľadu na povahu spracovávaných údajov, a tiež sa vyhýbali vetveniu založenému na tajných údajoch.

Útok je založený na hodnotení úrovne výskytu konfliktu (úroveň konfliktu) v rôznych frontoch plánovača a vykonáva sa prostredníctvom merania oneskorení pri spustení kontrolných operácií vykonávaných v inom vlákne SMT na rovnakom fyzickom CPU. Na analýzu obsahu bola použitá metóda Prime+Probe, čo znamená naplnenie frontu referenčným súborom hodnôt a určenie zmien meraním času prístupu k nim pri dopĺňaní.

Počas experimentu boli vedci schopní úplne obnoviť súkromný 4096-bitový kľúč RSA používaný na vytváranie digitálnych podpisov pomocou kryptografickej knižnice mbedTLS 3.0, ktorá využíva Montgomeryho algoritmus na zvýšenie čísla na modul výkonu. Na určenie kľúča bolo potrebných 50500 38 stôp. Celkový čas útoku trval 0.89 minút. Sú demonštrované varianty útoku, ktoré poskytujú únik medzi rôznymi procesmi a virtuálnymi strojmi riadenými hypervízorom KVM. Ukazuje sa tiež, že túto metódu možno použiť na organizáciu skrytého prenosu dát medzi virtuálnymi strojmi rýchlosťou 2.70 Mbit/sa medzi procesmi rýchlosťou 0.8 Mbit/s s chybovosťou menšou ako XNUMX %.

Zdroj: opennet.ru

Pridať komentár