Två attacker på mekanismen för förutsägelse av cachekanal i AMD-processorer

En grupp forskare från det tekniska universitetet i Graz (Österrike), tidigare kända för att utveckla attackmetoder MDS, NetSpectre, Kasthammare и ZombieLoad, genomförde forskning om hårdvaruoptimeringar som är specifika för AMD-processorer och har utvecklats två nya metoder för sidokanalsattacker som manipulerar dataläckor under driften av LXNUMX-cachekanalförutsägelsemekanismen för AMD-processorer. Teknikerna kan användas för att minska effektiviteten av ASLR-skydd, återställa nycklar i sårbara AES-implementationer och öka effektiviteten av Spectre-attacken.

Problem identifierades i implementeringen av kanalförutsägelsemekanismen (vägsprediktor) i CPU:ns datacache på första nivån (L1D), som används för att förutsäga vilken cachekanal som innehåller en viss minnesadress. Optimeringen som används i AMD-processorer bygger på att kontrollera μ-taggar (μTag). μTag beräknas genom att tillämpa en specifik hashfunktion på den virtuella adressen. Under drift använder kanalprediktionsmotorn μTag för att bestämma cachekanalen från tabellen. Således tillåter μTag processorn att begränsa sig till att bara komma åt en specifik kanal, utan att söka igenom alla alternativ, vilket avsevärt minskar CPU-energiförbrukningen.

Två attacker på mekanismen för förutsägelse av cachekanal i AMD-processorer

Under reverse engineering av implementeringen av kanalprediktionssystemet i olika generationer av AMD-processorer som släpptes från 2011 till 2019, identifierades två nya sidokanalsattacktekniker:

  • Collide+Probe - låter en angripare spåra minnesåtkomst för processer som körs på samma logiska CPU-kärna. Kärnan i metoden är att använda virtuella adresser som orsakar kollisioner i hashfunktionen som används för att beräkna μTag för att spåra minnesåtkomst. Till skillnad från Flush+Reload- och Prime+Probe-attackerna som används på Intel-processorer, använder Collide+Probe inte delat minne och fungerar utan kunskap om fysiska adresser.
  • Load+Reload – låter dig mycket noggrant bestämma minnesåtkomstspår på samma fysiska CPU-kärna. Metoden bygger på att en fysisk minnescell bara kan finnas i L1D-cachen en gång. De där. åtkomst till samma minnescell på en annan virtuell adress kommer att göra att cellen kastas ut från L1D-cachen, vilket gör att minnesåtkomst kan spåras. Även om attacken förlitar sig på delat minne, rensar den inte cache-rader, vilket möjliggör smygattacker som inte rensar data från den sista nivåns cache.

Baserat på Collide+Probe- och Load+Reload-teknikerna har forskare visat flera sidokanalattackscenarier:

  • Möjligheten att använda metoder för att organisera en dold indirekt kommunikationskanal mellan två processer, som tillåter dataöverföring med hastigheter på upp till 588 kB per sekund, visas.
  • Med hjälp av kollisioner i μTag var det möjligt att minska entropin för olika varianter av ASLR (Address Space Layout Randomization) och kringgå ASLR-skydd i kärnan på ett helt uppdaterat Linux-system. Möjligheten att utföra en attack för att minska ASLR-entropin både från användarapplikationer och med JavaScript-kod som körs i en sandlådemiljö och kod som körs i en annan gästmiljö visas.

    Två attacker på mekanismen för förutsägelse av cachekanal i AMD-processorer

  • Baserat på Collide+Probe-metoden implementerades en attack för att återställa krypteringsnyckeln från en sårbar implementering (baserat på T-bord) AES-kryptering.
  • Genom att använda Collide+Probe-metoden som en datainsamlingskanal kunde Spectre-attacken extrahera privata data från kärnan utan att använda delat minne.

Sårbarheten uppstår på AMD-processorer baserade på mikroarkitekturer
Bulldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ och Zen2.
AMD meddelades om problemet den 23 augusti 2019, men än så länge släppte inte rapporten med information om att blockera sårbarheten. Enligt forskarna kan problemet blockeras på mikrokoduppdateringsnivån genom att tillhandahålla MSR-bitar för att selektivt inaktivera kanalprediktionssystemet, liknande vad Intel gjorde för att kontrollera inaktiveringen av grenprediktionsmekanismer.

Två attacker på mekanismen för förutsägelse av cachekanal i AMD-processorer

Källa: opennet.ru

Lägg en kommentar