SQUIP, en ny attack som påverkar AMD-processorer och leder till dataläckage

en grupp av iForskare från Graz tekniska universitet (Österrike), tidigare känt för att utveckla attackerna MDS, NetSpectre, Throwhammer och ZombieLoad, har avslöjat en ny sidokanalattack (CVE-2021-46778) i AMD-processorns schemaläggarkö som används för att schemalägga exekveringen av instruktioner i olika exekveringsenheter i CPU:n.

Attacken, kallad SQUIP, gör det möjligt att bestämma data som används i beräkningarna i en annan process eller virtuell maskin eller organisera en dold kommunikationskanal mellan processer eller virtuella maskiner som gör att data kan utbytas utan att gå igenom systemets åtkomstkontrollmekanismer.

den AMD-processorer baserade på 1:a, 2:a och 3:e Zen-mikroarkitektur generation (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) Är påverkade när Simultaneous Multithreading (SMT)-teknik används.

Moderna processorer använder en superskalär design, där flera instruktioner exekveras samtidigt för att maximera prestanda. Dessa CPU:er bearbetar instruktioner i en pipeline genom flera steg: (1) hämta, (2) avkoda, (3) programmera/köra och (4) hämta.

Attacken baseras på att utvärdera nivån på förekomsten av konflikter (innehållsnivå) i olika schemaläggarköer och görs genom mätning av fördröjningar vid start av kontrolloperationer utförda i en annan SMT-tråd på samma fysiska CPU. För att analysera innehållet användes Prime+Probe-metoden, som går ut på att fylla kön med en uppsättning referensvärden och bestämma ändringarna genom att mäta åtkomsttiden till dem vid tidpunkten för omladdning.

Program-/exekveringssteget kan bearbeta instruktioner ur funktion för att maximera instruktionsnivåparallelliteten. Vi beskriver kort var och en av dessa steg:

-Sök. CPU letar efter nästa instruktion som ska köras från L1i-cachen. 
-Avkoda. För att möjliggöra effektiv exekvering avkodas de erhållna instruktionerna (makrooperationer) till en eller flera enklare mikrooperationer (µops) och placeras i en µop-kö. Dessa µops matas in i backend, där de schemaläggs och exekveras.
-Schemalägg/kör. Schemaläggaren/planerna håller reda på vilka µops som är redo för exekvering (har tillgängliga ingångar) och schemalägger dem dynamiskt (ur funktion) till de tillgängliga exekveringsenheterna. En CPU-kärna har flera exekveringsenheter och kan ha flera aritmetiska och logiska enheter (ALUs), branch execution units (BRUs), adressgenereringsenheter (AGUs).

Under experimentet forskare kunde helt återskapa den 4096-bitars privata RSA-nyckeln används för att skapa digitala signaturer med hjälp av det kryptografiska biblioteket mbedTLS 3.0, som använder Montgomery-algoritmen för att höja ett tal till en effektmodul. 50.500 XNUMX spår behövdes för att fastställa nyckeln.

Total attacktid tog 38 minuter. Attackvarianter som ger en läcka mellan olika processer och virtuella maskiner som styrs av KVM-hypervisorn demonstreras. Det visas också att metoden kan användas för att orkestrera hemlig dataöverföring mellan virtuella maskiner med en hastighet av 0,89 Mbit/s och mellan processer med en hastighet av 2,70 Mbit/s med en felfrekvens på mindre än 0,8, XNUMX%.

CPU-kärnan är uppdelad i flera logiska kärnor, eller trådar, som exekverar oberoende instruktionsströmmar men delar resurser som L1i-cachen. µops av dessa trådar delar också exekveringsenheter dynamiskt för att möjliggöra högre total användning. Partitionen av olika delar av kärnan.
Det görs genom konkurrensutbyte. AMD Zen-arkitekturer tillåter två trådar
per kärna. Dessa trådar kan vara från ett enda program eller från olika program, som hanteras av operativsystemet.

Intel-processorer är inte mottagliga attack eftersom de använder en enda schemaläggningskö, medan sårbara AMD-processorer använder separata köer för varje exekveringsenhet.

Som en lösning för att blockera informationsläckage, AMD rekommenderas att utvecklare använda algoritmer som alltid utför matematiska beräkningar i konstant tid, oavsett vilken typ av uppgifter som behandlas, och även förhindra forking baserat på hemliga uppgifter.

Slutligen, om du är intresserad av att kunna veta mer om det, kan du konsultera detaljerna 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 uppgifterna: Miguel Ángel Gatón
  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.