Dataläcka genom Intel CPU-ringbuss

Ett team av forskare från University of Illinois har utvecklat en ny sidokanalattackteknik som manipulerar informationsläckage genom Ring Interconnect av Intel-processorer. Attacken låter dig markera information om minnesanvändning i en annan applikation och spåra information om tangenttryckningar. Forskarna publicerade verktyg för att utföra relaterade mätningar och flera prototyper.

Tre exploateringar har föreslagits som tillåter:

  • Återställ enskilda bitar av krypteringsnycklar när du använder RSA- och EdDSA-implementeringar som är sårbara för sidokanalsattacker (om beräkningsfördröjningar beror på den data som bearbetas). Till exempel är läckaget av enskilda bitar med information om initieringsvektorn (nonce) av EdDSA tillräckligt för att använda attacker för att sekventiellt återställa hela den privata nyckeln. Attacken är svår att genomföra i praktiken och kan genomföras med ett stort antal reservationer. Till exempel visas framgångsrik operation när SMT (HyperThreading) är inaktiverat och LLC-cachen är segmenterad mellan CPU-kärnor.
  • Definiera parametrar om fördröjningar mellan tangenttryckningar. Fördröjningarna beror på tangenternas position och gör det möjligt att genom statistisk analys återskapa data som matas in från tangentbordet med en viss sannolikhet (de flesta brukar till exempel skriva "s" efter "a" mycket snabbare än "g" efter "s").
  • Organisera en dold kommunikationskanal för att överföra data mellan processer med en hastighet av cirka 4 megabit per sekund, som inte använder delat minne, processorcache och CPU-kärnspecifika resurser och processorstrukturer. Det noteras att den föreslagna metoden för att skapa en hemlig kanal är mycket svår att blockera med befintliga metoder för skydd mot sidokanalattacker.

Exploater kräver inte förhöjda privilegier och kan användas av vanliga, oprivilegierade användare. Det noteras att attacken potentiellt skulle kunna anpassas för att organisera dataläckage mellan virtuella maskiner, men detta problem låg utanför studiens ram och testning av virtualiseringssystem utfördes inte. Den föreslagna koden testades på en Intel i7-9700 CPU i Ubuntu 16.04. I allmänhet har attackmetoden testats på stationära processorer från Intel Coffee Lake- och Skylake-familjen, och är även potentiellt tillämpbar på Xeon-serverprocessorer från Broadwell-familjen.

Ring Interconnect-tekniken dök upp i processorer baserade på Sandy Bridge-mikroarkitekturen och består av flera loopade bussar som används för att koppla samman dator- och grafikkärnor, en serverbrygga och cache. Kärnan i attackmetoden är att, på grund av ringbussens bandbreddsbegränsning, fördröjer minnesoperationer i en process åtkomst till en annan processs minne. Genom att identifiera implementeringsdetaljer genom omvänd ingenjörskonst, kan en angripare generera en belastning som orsakar minnesåtkomstfördröjningar i en annan process och använda dessa fördröjningar som en sidokanal för att få information.

Attacker på interna CPU-bussar hämmas av brist på information om bussens arkitektur och driftmetoder, samt en hög nivå av brus, vilket gör det svårt att isolera användbar data. Det var möjligt att förstå bussens funktionsprinciper genom omvänd konstruktion av de protokoll som användes vid överföring av data genom bussen. En dataklassificeringsmodell baserad på maskininlärningsmetoder användes för att separera användbar information från brus. Den föreslagna modellen gjorde det möjligt att organisera övervakning av förseningar under beräkningar i en specifik process, under förhållanden då flera processer samtidigt kommer åt minne och en viss del av datan returneras från processorcacher.

Dessutom kan vi notera identifieringen av spår av användningen av en exploatering för den första varianten av Spectre-sårbarheten (CVE-2017-5753) under attacker på Linux-system. Exploateringen använder sidokanalsinformationsläckage för att hitta ett superblock i minnet, bestämma inoden för filen /etc/shadow och beräkna minnessidans adress för att hämta filen från diskcachen.

Källa: opennet.ru

Lägg en kommentar