SQUIP, egy új támadás, amely az AMD processzorokat érinti, és adatszivárgáshoz vezet

egy csoport iA Grazi Műszaki Egyetem kutatói (Ausztria), amely korábban az MDS, NetSpectre, Throwhammer és ZombieLoad támadások fejlesztéséről volt ismert, új oldalcsatornás támadást tárt fel (CVE-2021-46778) az AMD processzor ütemező sorában, amely az utasítások végrehajtásának ütemezésére szolgál a CPU különböző végrehajtási egységeiben.

A támadás, ún SQUIP, lehetővé teszi a számításokhoz használt adatok meghatározását egy másik folyamatban vagy virtuális gépet, vagy rejtett kommunikációs csatornát szervezhet a folyamatok vagy virtuális gépek között, amely lehetővé teszi az adatok cseréjét anélkül, hogy átmenne a rendszer hozzáférés-vezérlési mechanizmusain.

az 1., 2. és 3. Zen mikroarchitektúrán alapuló AMD CPU-k generációs (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) Érint ha szimultán többszálú (SMT) technológiát használnak.

A modern CPU-k szuperskaláris kialakítást alkalmaznak, ahol több utasítást hajtanak végre egyszerre a teljesítmény maximalizálása érdekében. Ezek a CPU-k egy folyamatban dolgozzák fel az utasításokat több szakaszon keresztül: (1) lekérés, (2) dekódolás, (3) program/végrehajtás és (4) lehívás.

A támadás a vita előfordulási szintjének értékelésén alapul (versenyszint) különböző ütemezősorokban, és a késések mérésével történik, amikor ugyanazon a fizikai CPU-n egy másik SMT-szálban végrehajtott ellenőrzési műveleteket indítanak el. A tartalom elemzéséhez a Prime+Probe módszert alkalmaztuk, 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érjük a hozzáférési időt az újratöltéskor.

A program/végrehajtási szakasz nem a sorrendben tudja feldolgozni az utasításokat, hogy maximalizálja az utasításszintű párhuzamosságot. Röviden leírjuk az egyes szakaszokat:

-Keresés. A CPU az L1i gyorsítótárból keresi a következő végrehajtási utasítást. 
-Dekódolni. A hatékony végrehajtás érdekében a kapott utasításokat (makróműveleteket) egy vagy több egyszerűbb mikroműveletté (µops) dekódoljuk, és egy µop sorba helyezzük. Ezek a µop-ok a háttérbe kerülnek, ahol ütemezik és végrehajtják őket.
- Ütemezés/Futtatás. Az ütemező(k) nyomon követik, hogy mely µop-ok állnak készen a végrehajtásra (rendelkezésre álló bemenetekkel rendelkeznek), és dinamikusan ütemezik (renden kívül) az elérhető végrehajtási egységekhez. Egy CPU mag több végrehajtási egységgel rendelkezik, és több aritmetikai és logikai egységgel (ALU), elágazó végrehajtási egységgel (BRU), címgeneráló egységgel (AGU) is rendelkezhet.

A kísérlet során a kutatóknak sikerült teljesen újra létrehozniuk a 4096 bites privát RSA-kulcsot digitális aláírások létrehozására használják az mbedTLS 3.0 kriptográfiai könyvtár használatával, amely a Montgomery algoritmust használja egy szám teljesítménymodulusra emelésére. A kulcs meghatározásához 50.500 XNUMX nyomra volt szükség.

A teljes támadási idő 38 percet vett igénybe. Bemutatják azokat a támadásváltozatokat, amelyek szivárgást biztosítanak a különböző folyamatok és a KVM hypervisor által vezérelt virtuális gépek között. Az is látható, hogy a módszerrel virtuális gépek között 0,89 Mbit/s sebességgel, folyamatok között pedig 2,70 Mbit/s sebességgel, 0,8, XNUMX%-nál kisebb hibaarány mellett irányítható a titkos adatátvitel.

A CPU mag több logikai magra vagy szálra van osztva, amelyek független utasításfolyamokat hajtanak végre, de megosztják az erőforrásokat, például az L1i gyorsítótárat. E szálak µop-ai dinamikusan is megosztják a végrehajtási egységeket, hogy nagyobb összkihasználást tesznek lehetővé. A kernel különböző részeinek partíciója.
Versenyképes cserén keresztül történik. Az AMD Zen architektúrák két szálat tesznek lehetővé
magonként. Ezek a szálak származhatnak egyetlen programból vagy az operációs rendszer által kezelt különböző programokból.

Az Intel processzorok nem érzékenyek támadást, mert egyetlen ütemezési 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ára szolgáló megoldásként AMD ajánlott hogy a fejlesztők olyan algoritmusokat használjon, amelyek mindig állandó időben végzik a matematikai számításokat, függetlenül a kezelt adatok jellegétől, és megakadályozza a titkos adatokon alapuló elágazást is.

Végül, ha többet szeretne megtudni róla, tájékozódhat a részletekről a alábbi linkre.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.