Malvér môže využiť novú chybu v procesoroch Intel na spustenie útokov na postranný kanál

Nový výskum priniesol ďalší spôsob krádeže citlivých údajov využívaním prvého útoku na postranný kanál „na čipe, krížového jadra“ zameraného na prepojenie kruhov používané v procesoroch Intel Coffee Lake a Skylake.

Očakáva sa, že zistenia, ktoré zverejnila skupina akademikov z University of Illinois v Urbana-Champaign, budú prezentované na bezpečnostnom sympóziu USENIX, ktoré sa uskutoční tento august.

Zatiaľ čo sa predtým preukázalo, že útoky na únik informácií zamerané na mikroarchitektúru CPU prelomili izoláciu medzi používateľskými aplikáciami a operačným systémom, čo umožnilo škodlivému programu získať prístup k pamäti používanej inými programami (napr. Meltdown a Spectre), nový útok využíva spor o kruhové prepojenie.

Prepojenie SoC Ring je on-die zbernica usporiadaná do kruhovej topológie, ktorá umožňuje vnútroprocesovú komunikáciu medzi rôznymi komponentmi (aka agentmi), ako sú jadrá, vyrovnávacia pamäť poslednej úrovne (LLC), grafická jednotka a systémový agent. umiestnené vo vnútri CPU. Každý agent zvonenia komunikuje s prsteňom prostredníctvom toho, čo sa nazýva zastavenie zvonenia.

Na otestovanie svojej hypotézy výskumníci reverzne skonštruovali protokoly prepojenia kruhov, aby odhalili podmienky pre dva alebo viac procesov, ktoré by spôsobili spor o kruh, a následne ich použili na vybudovanie skrytého kanála s kapacitou 40,18 Mbps, čo je podľa vedcov doteraz najväčšie pre medzijadrové kanály, ktoré sa nespoliehajú na zdieľanú pamäť, na rozdiel od Flush+Flush alebo Flush+Reload.

„Dôležité je, že na rozdiel od predchádzajúcich útokov sa naše útoky nespoliehajú na zdieľanie pamäte, vyrovnávacích množín, základných súkromných zdrojov alebo akýchkoľvek špecifických vedľajších štruktúr,“ povedal Riccardo Paccagnella, jeden z autorov štúdie. “V dôsledku toho je ťažké ich zmierniť pomocou existujúcich techník ‘izolácie domén’.”

Vedci pozorovali, že zastávka na kruhu vždy uprednostňuje premávku, ktorá je už na kruhu, pred novou premávkou vstupujúcou z jej agentov, a uviedli, že spor nastáva vtedy, keď existujúca premávka na kruhu oneskoruje zavedenie novej kruhovej premávky.

Vyzbrojený týmito informáciami môže protivník zmerať oneskorenie v prístupe do pamäte spojené so škodlivým procesom v dôsledku nasýtenia kapacity šírky pásma spôsobeného prístupmi do pamäte procesu obete. To si však vyžaduje, aby špionážny proces neustále chýbal vo svojich súkromných vyrovnávacích pamätiach (L1-L2) a vykonával načítania z cieľového segmentu LLC.

Opakovaná latencia pri zaťažení pamäte z LLC v dôsledku sporu o kruh môže útočníkovi umožniť použiť merania ako bočný kanál na únik kľúčových bitov zo zraniteľných implementácií EdDSA a RSA, ako aj na rekonštrukciu hesiel extrahovaním presného načasovania. stlačenia klávesov zadaných používateľom, ktorý je obeťou.

Konkrétne „útočník so znalosťou nášho úsilia o reverzné inžinierstvo sa môže nastaviť tak, že jeho zaťaženie bude zaručene zápasiť so záťažou prvého procesu, […] zneužíva zmierňovacie opatrenia na preventívne plánovanie útokov na vyrovnávaciu pamäť, aby spôsobili vynechanie záťaže obete vo vyrovnávacej pamäti, monitoruje kruhový spor, zatiaľ čo obeť pracuje na počítači, a využíva štandardný klasifikátor strojového učenia na odstránenie šumu zo stôp a únikov bitov.“

Štúdia je tiež prvým prípadom, kedy bol mikroarchitektonický kanál založený na sporoch využitý na útoky na načasovanie stlačenia klávesov na odvodenie citlivých údajov zadaných obeťou.

V reakcii na zverejnené informácie Intel kategorizoval útoky ako „tradičný vedľajší kanál“, čo sa vzťahuje na triedu vešteckých útokov, ktoré zvyčajne využívajú rozdiely v načasovaní vykonávania na vyvodenie tajomstiev.

Pokyny výrobcu čipov na zabránenie útokom na časovanie proti kryptografickým implementáciám odporúčajú dodržiavať princípy programovania konštantného času tým, že zabezpečia, aby —

  • Runtime je nezávislé od tajných hodnôt
  • Poradie, v ktorom sa inštrukcie vykonávajú (aka kódové prístupové vzory) sú nezávislé od tajných hodnôt a
  • Poradie, v ktorom sa načítavajú a ukladajú pamäťové operandy (známe aj ako vzory prístupu k údajom), sú nezávislé od tajných hodnôt

Ďalšie usmernenie o bezpečných postupoch vývoja na zmiernenie tradičných útokov na postranných kanáloch nájdete tu. Zdrojový kód na reprodukciu experimentálneho nastavenia podrobne popísaného v článku je dostupný tu.