Únik dat přes kruhovou sběrnici CPU Intel

Tým výzkumníků z University of Illinois vyvinul novou techniku ​​útoku postranním kanálem, která manipuluje s únikem informací přes Ring Interconnect procesorů Intel. Útok vám umožňuje zvýraznit informace o využití paměti v jiné aplikaci a sledovat informace o načasování stisku kláves. Výzkumníci zveřejnili nástroje pro provádění souvisejících měření a několik prototypových exploitů.

Byly navrženy tři exploity, které umožní:

  • Obnovte jednotlivé bity šifrovacích klíčů při používání implementací RSA a EdDSA, které jsou zranitelné vůči útokům postranním kanálem (pokud zpoždění výpočtu závisí na zpracovávaných datech). Například únik jednotlivých bitů s informací o inicializačním vektoru (nonce) EdDSA stačí k použití útoků k sekvenční obnově celého privátního klíče. Útok je v praxi obtížně realizovatelný a lze jej provést s velkým počtem výhrad. Například úspěšná operace je zobrazena, když je zakázáno SMT (HyperThreading) a mezipaměť LLC je rozdělena mezi jádra CPU.
  • Definujte parametry o zpoždění mezi stisky kláves. Zpoždění závisí na poloze kláves a umožňuje prostřednictvím statistické analýzy znovu vytvořit data zadaná z klávesnice s určitou pravděpodobností (například většina lidí obvykle píše „s“ po „a“ mnohem rychleji než „g“ po "s").
  • Uspořádejte skrytý komunikační kanál pro přenos dat mezi procesy rychlostí přibližně 4 megabity za sekundu, který nepoužívá sdílenou paměť, mezipaměť procesoru a prostředky a struktury procesoru specifické pro jádro CPU. Je třeba poznamenat, že navrhovaný způsob vytvoření skrytého kanálu je velmi obtížné zablokovat stávajícími způsoby ochrany proti útokům z postranního kanálu.

Exploity nevyžadují zvýšená oprávnění a mohou je používat běžní, neprivilegovaní uživatelé. Je třeba poznamenat, že útok by mohl být potenciálně přizpůsoben k organizaci úniku dat mezi virtuálními stroji, ale tento problém byl nad rámec studie a testování virtualizačních systémů nebylo provedeno. Navrhovaný kód byl testován na procesoru Intel i7-9700 v Ubuntu 16.04. Obecně byla metoda útoku testována na stolních procesorech z rodiny Intel Coffee Lake a Skylake a je také potenciálně použitelná pro serverové procesory Xeon z rodiny Broadwell.

Technologie Ring Interconnect se objevila v procesorech založených na mikroarchitektuře Sandy Bridge a skládá se z několika smyčkových sběrnic používaných k propojení výpočetních a grafických jader, serverového mostu a mezipaměti. Podstatou metody útoku je, že kvůli omezení šířky pásma kruhové sběrnice paměťové operace v jednom procesu zpožďují přístup do paměti jiného procesu. Identifikací podrobností implementace pomocí reverzního inženýrství může útočník generovat zátěž, která způsobí zpoždění přístupu do paměti v jiném procesu, a použít tato zpoždění jako vedlejší kanál k získání informací.

Útoky na interní sběrnice CPU jsou brzděny nedostatkem informací o architektuře a provozních metodách sběrnice a také vysokou úrovní šumu, což ztěžuje izolaci užitečných dat. Principy fungování sběrnice bylo možné pochopit pomocí reverzního inženýrství protokolů používaných při přenosu dat po sběrnici. K oddělení užitečných informací od šumu byl použit model klasifikace dat založený na metodách strojového učení. Navržený model umožnil organizovat sledování zpoždění při výpočtech v konkrétním procesu v podmínkách, kdy několik procesů současně přistupuje k paměti a určitá část dat se vrací z mezipaměti procesoru.

Kromě toho můžeme zaznamenat identifikaci stop použití exploitu pro první variantu zranitelnosti Spectre (CVE-2017-5753) během útoků na systémy Linux. Exploit využívá únik informací z postranního kanálu k nalezení superbloku v paměti, určení inode souboru /etc/shadow a výpočtu adresy stránky paměti pro načtení souboru z diskové mezipaměti.

Zdroj: opennet.ru

Přidat komentář