Únik dát cez kruhovú zbernicu Intel CPU

Tím výskumníkov z University of Illinois vyvinul novú techniku ​​​​útoku cez bočný kanál, ktorá manipuluje s únikom informácií cez Ring Interconnect procesorov Intel. Útok vám umožňuje zvýrazniť informácie o využití pamäte v inej aplikácii a sledovať informácie o načasovaní stlačenia klávesov. Výskumníci zverejnili nástroje na vykonávanie súvisiacich meraní a niekoľko prototypových exploitov.

Boli navrhnuté tri exploity, ktoré umožnia:

  • Obnovte jednotlivé bity šifrovacích kľúčov pri používaní implementácií RSA a EdDSA, ktoré sú citlivé na útoky postranných kanálov (ak oneskorenia výpočtu závisia od spracovávaných údajov). Napríklad únik jednotlivých bitov s informáciou o inicializačnom vektore (nonce) EdDSA stačí na použitie útokov na sekvenčnú obnovu celého súkromného kľúča. Útok je v praxi ťažko realizovateľný a možno ho uskutočniť s veľkým počtom výhrad. Napríklad úspešná operácia sa zobrazí, keď je deaktivované SMT (HyperThreading) a vyrovnávacia pamäť LLC je segmentovaná medzi jadrá CPU.
  • Definujte parametre o oneskoreniach medzi stlačeniami kláves. Oneskorenia závisia od polohy kláves a umožňujú prostredníctvom štatistickej analýzy s určitou pravdepodobnosťou znovu vytvoriť údaje zadané z klávesnice (napríklad väčšina ľudí zvyčajne píše „s“ po „a“ oveľa rýchlejšie ako „g“ po „s“).
  • Organizujte skrytý komunikačný kanál na prenos údajov medzi procesmi rýchlosťou približne 4 megabity za sekundu, ktorý nepoužíva zdieľanú pamäť, vyrovnávaciu pamäť procesora a zdroje a štruktúry procesora špecifické pre jadro CPU. Je potrebné poznamenať, že navrhovaný spôsob vytvorenia skrytého kanála je veľmi ťažké zablokovať existujúcimi metódami ochrany proti útokom z bočného kanála.

Exploity nevyžadujú zvýšené privilégiá a môžu ich používať bežní neprivilegovaní používatelia. Je potrebné poznamenať, že útok by mohol byť potenciálne prispôsobený na organizáciu úniku údajov medzi virtuálnymi strojmi, ale tento problém presahoval rámec štúdie a testovanie virtualizačných systémov nebolo vykonané. Navrhovaný kód bol testovaný na procesore Intel i7-9700 v Ubuntu 16.04. Vo všeobecnosti bola metóda útoku testovaná na stolných procesoroch z rodiny Intel Coffee Lake a Skylake a je tiež potenciálne použiteľná pre serverové procesory Xeon z rodiny Broadwell.

Technológia Ring Interconnect sa objavila v procesoroch založených na mikroarchitektúre Sandy Bridge a pozostáva z niekoľkých slučkových zberníc používaných na prepojenie výpočtových a grafických jadier, serverového mosta a vyrovnávacej pamäte. Podstatou metódy útoku je, že kvôli obmedzeniu šírky pásma kruhovej zbernice pamäťové operácie v jednom procese oneskorujú prístup do pamäte iného procesu. Identifikáciou detailov implementácie pomocou reverzného inžinierstva môže útočník vygenerovať záťaž, ktorá spôsobí oneskorenie prístupu do pamäte v inom procese a použiť tieto oneskorenia ako vedľajší kanál na získanie informácií.

Útoky na interné zbernice CPU sú brzdené nedostatkom informácií o architektúre a prevádzkových metódach zbernice, ako aj vysokou úrovňou šumu, čo sťažuje izoláciu užitočných údajov. Princípy fungovania zbernice bolo možné pochopiť pomocou reverzného inžinierstva protokolov používaných pri prenose údajov cez zbernicu. Na oddelenie užitočných informácií od šumu sa použil model klasifikácie údajov založený na metódach strojového učenia. Navrhnutý model umožnil organizovať sledovanie oneskorení pri výpočtoch v konkrétnom procese, v podmienkach, keď niekoľko procesov súčasne pristupuje k pamäti a určitá časť dát sa vracia z vyrovnávacej pamäte procesora.

Okrem toho môžeme zaznamenať identifikáciu stôp po použití exploitu pre prvý variant zraniteľnosti Spectre (CVE-2017-5753) počas útokov na systémy Linux. Využitie využíva únik informácií z bočného kanála na nájdenie superbloku v pamäti, určenie inode súboru /etc/shadow a vypočítanie adresy stránky pamäte na získanie súboru z vyrovnávacej pamäte disku.

Zdroj: opennet.ru

Pridať komentár