SQUIP – támadás az AMD processzorok ellen, ami harmadik fél csatornáin keresztüli adatszivárgáshoz vezet

A Grazi Műszaki Egyetem (Ausztria) kutatóinak egy csoportja, akik korábban az MDS-, NetSpectre-, Throwhammer- és ZombieLoad-támadások fejlesztéséről ismertek, nyilvánosságra hozta az AMD processzorütemező-sorát érintő új oldalcsatornás támadás (CVE-2021-46778) részleteit. , az utasítások végrehajtásának ütemezésére szolgál a CPU különböző végrehajtási egységeiben. Az SQUIP nevű támadás lehetővé teszi a számításokhoz használt adatok meghatározását egy másik folyamatban vagy virtuális gépben, vagy egy rejtett kommunikációs csatorna megszervezését a folyamatok vagy virtuális gépek között, amely lehetővé teszi az adatok cseréjét a rendszer hozzáférés-vezérlési mechanizmusait megkerülve.

Az 2000., 5000. és 3000. generációs Zen mikroarchitektúrán (AMD Ryzen XNUMX-XNUMX, AMD Ryzen Threadripper, AMD Athlon XNUMX, AMD EPYC) alapuló AMD CPU-kat érinti a szimultán többszálú technológia (SMT) használata. Az Intel processzorok nem érzékenyek a támadásokra, mivel egyetlen ütemezősort használnak, míg a sebezhető AMD processzorok külön sorokat használnak minden egyes végrehajtási egységhez. Az információszivárgás megakadályozásának megoldásaként az AMD olyan algoritmusok alkalmazását javasolta a fejlesztőknek, amelyek mindig állandó időben végzik a matematikai számításokat, függetlenül a feldolgozott adatok természetétől, és elkerülik a titkos adatokon alapuló elágazást is.

A támadás a versengés előfordulási szintjének (contention level) értékelésén alapul a különböző ütemezősorokban, és az ugyanazon a fizikai CPU-n egy másik SMT-szálon végrehajtott ellenőrzési műveletek indításakor jelentkező késések mérésén keresztül történik. A tartalom elemzéséhez a Prime + Probe módszert alkalmazták, amely magában foglalja a sor feltöltését egy referenciaérték-készlettel, és a változások meghatározását úgy, hogy megméri a hozzáférési időt az újratöltéskor.

A kísérlet során a kutatóknak sikerült teljesen újra létrehozniuk a digitális aláírások létrehozásához használt privát 4096 bites RSA-kulcsot az mbedTLS 3.0 kriptográfiai könyvtár segítségével, amely a Montgomery-algoritmus segítségével egy számot teljesítménymodulra emel. 50500 38 nyomra volt szükség a kulcs meghatározásához. A teljes támadási idő 0.89 percet vett igénybe. Bemutatták azokat a támadási változatokat, amelyek szivárgást biztosítanak a különböző folyamatok és a KVM hipervizor által vezérelt virtuális gépek között. Kimutatták azt is, hogy a módszerrel virtuális gépek között 2.70 Mbit/s sebességgel, folyamatok között pedig 0.8 Mbit/s sebességgel, XNUMX%-nál kisebb hibaarány mellett megszervezhető rejtett adatátvitel.

Forrás: opennet.ru

Hozzászólás