Rebleed: En ny spekulativ exekutionsattack som träffar Intel och AMD

Nyheten avslöjade det nyligenEn grupp forskare från ETH Zürich har identifierat en ny attack till den spekulativa exekveringsmekanismen för indirekta hopp i CPU:n, som gör det möjligt att extrahera information från kärnminnet eller organisera en attack mot värdsystemet från virtuella maskiner.

Sårbarheterna fick kodnamnet Retbleed (redan katalogiserad under CVE-2022-29900, CVE-2022-29901) och liknar Spectre-v2-attacker till sin natur.

Skillnaden handlar om att organisera den spekulativa exekveringen av godtycklig kod genom att bearbeta "retur" (retur)-instruktionen, som hämtar adressen för att hoppa från stacken, snarare än att indirekt hoppa med hjälp av "jmp"-instruktionen, ladda adressen från minnet eller ett CPU-register.

Om den nya attacken nämns att en angripare kan skapa förutsättningar för en gaffelförutsägelse felaktiga och organisera ett avsiktligt spekulativt hopp till ett kodblock som inte är avsett med programmets exekveringslogik.

I slutändan, processorn kommer att fastställa att grenförutsägelsen inte var motiverad och kommer att återställa operationen till sitt ursprungliga tillstånd, men de bearbetade uppgifterna Under spekulativt utförande de kommer att sitta i cachen och mikroarkitektoniska buffertar. Om ett felaktigt exekverat block utför en minnesåtkomst, kommer dess spekulativa exekvering att leda till installation i den allmänna cachen och läsning av data från minnet.

För att fastställa vilka data som finns kvar i cachen efter spekulativt genomförande av operationer, kan angriparen använda metoder för att bestämma restdata via tredjepartskanaler, till exempel genom att analysera ändringar i cachad dataåtkomsttid och inte cachad.

För avsiktlig extrahering av information från områden på en annan behörighetsnivå (till exempel från kärnminne) används "enheter": skript som finns i kärnan, lämpliga för spekulativ läsning av data från minnet, beroende på yttre förhållanden kan det påverkas av en angripare.

För att skydda mot klassiska Spectre-klassattacker, som använder indirekta och villkorade greninstruktioner, använder de flesta operativsystem "retpoline"-tekniken, som bygger på att ersätta indirekta grenoperationer med "ret"-instruktionen, för vilken en separat stacktillståndsförutsägelse krävs enheten används i processorer, använder inte ett grenprediktionsblock.

Vid introduktionen av retpoline 2018, ansågs Spectre-liknande adressmanipulation vara opraktisk för spekulativ forking med "ret"-instruktionen.

Forskarna som utvecklade attackmetoden Rebleed visade möjligheten att skapa mikroarkitektoniska förhållanden att initiera en spekulativ övergång med hjälp av "ret"-instruktionen och släppte en färdig verktygslåda för att identifiera lämpliga instruktionssekvenser (prylar) för att utnyttja sårbarheten i Linux-kärnan där sådana förhållanden uppträder.

Under studiens gång, en fungerande bedrift förbereddes som tillåter, på system med Intel-processorer, från en oprivilegierad process i användarutrymmet att extrahera godtyckliga data från kärnminnet med en hastighet av 219 byte per sekund och med 98 % noggrannhet.

En processorerna AMD, effektiviteten av exploateringen är mycket högre, eftersom läckagehastigheten är 3,9 KB per sekund. Som ett praktiskt exempel visas hur man använder den föreslagna exploateringen för att bestämma innehållet i filen /etc/shadow. På system med Intel-processorer utfördes en attack för att fastställa hash för root-lösenordet på 28 minuter och på system med AMD-processorer på 6 minuter.

Attacken bekräftades för 6-8 generationer av Intel-processorer som släpptes före Q2019 1 (inklusive Skylake), och AMD-processorer baserade på Zen 1, Zen 2+ och Zen 2021 mikroarkitekturer som släpptes före QXNUMX XNUMX. På nyare processormodeller, såsom AMD Zen3 och Intel Alder Lake, samt ARM-processorer, problemet blockeras av befintliga skyddsmekanismer. Till exempel hjälper användningen av IBRS-instruktioner (Indirect Branch Restricted Speculation) till att skydda mot en attack.

Förberedde en uppsättning ändringar för Linux-kärnan och Xen-hypervisorn, som blockerar problemet programmatiskt på äldre processorer. Den föreslagna Linux-kärnpatchen ändrar 68 filer, lägger till 1783 rader och tar bort 387 rader.

Tyvärr medför skyddet betydande omkostnader: i texter gjorda på AMD- och Intel-processorer uppskattas prestandaförsämringen till mellan 14 % och 39 %. Det är mer att föredra att använda skydd baserat på IBRS-instruktioner, tillgängligt på nyare generationer av Intel-processorer och stöds sedan Linux-kärnan 4.19.

Slutligen, om du är intresserad av att veta mer om det, kan du konsultera detaljer i följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.