SQUIP - attack mot AMD-processorer, vilket leder till dataläckage via tredjepartskanaler

En grupp forskare från Graz University of Technology (Österrike), tidigare kända för att utveckla attackerna MDS, NetSpectre, Throwhammer och ZombieLoad, avslöjade detaljer om en ny sidokanalattack (CVE-2021-46778) på AMD-processorns schemaläggarkö. , används för att schemalägga exekveringen av instruktioner i olika exekveringsenheter av CPU:n. Attacken, som kallas SQUIP, låter dig bestämma data som används i beräkningar i en annan process eller virtuell maskin eller organisera en dold kommunikationskanal mellan processer eller virtuella maskiner som låter dig utbyta data som går förbi systemets åtkomstkontrollmekanismer.

AMD-processorer baserade på 2000:a, 5000:a och 3000:e generationens Zen-mikroarkitekturer (AMD Ryzen XNUMX-XNUMX, AMD Ryzen Threadripper, AMD Athlon XNUMX, AMD EPYC) påverkas när man använder Simultaneous Multithreading Technology (SMT). Intel-processorer är inte mottagliga för attacker, eftersom de använder en enda schemaläggarkö, medan sårbara AMD-processorer använder separata köer för varje exekveringsenhet. Som en lösning för att blockera informationsläckage rekommenderade AMD utvecklare att använda algoritmer som alltid utför matematiska beräkningar i konstant tid, oavsett vilken typ av data som bearbetas, och även undvika förgrening baserat på hemlig data.

Attacken baseras på en bedömning av nivån av konfliktförekomst (konfliktnivå) i olika schemaläggarköer och utfö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, vilket innebär att man fyller kön med en referensuppsättning värden och bestämmer förändringar genom att mäta åtkomsttiden till dem vid påfyllning.

Under experimentet kunde forskarna helt återskapa den privata 4096-bitars RSA-nyckeln som användes 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 nummer till en effektmodul. Det krävdes 50500 38 spår för att fastställa nyckeln. Den totala attacktiden tog 0.89 minuter. Attackvarianter demonstreras som ger en läcka mellan olika processer och virtuella maskiner som styrs av KVM-hypervisorn. Det visas också att metoden kan användas för att organisera hemlig dataöverföring mellan virtuella maskiner med en hastighet av 2.70 Mbit/s och mellan processer med en hastighet av 0.8 Mbit/s med en felfrekvens på mindre än XNUMX%.

Källa: opennet.ru

Lägg en kommentar