Twee aanvalle op die kaskanaalvoorspellingsmeganisme in AMD-verwerkers

’n Groep navorsers van die Tegniese Universiteit van Graz (Oostenryk), voorheen bekend vir die ontwikkeling van aanvalsmetodes MDS, NetSpectre, Gooihamer и ZombieLoad, het navorsing gedoen oor hardeware-optimalisasies spesifiek vir AMD-verwerkers en ontwikkel het twee nuwe metodes van sykanaalaanvalle wat datalekkasies manipuleer tydens die werking van die LXNUMX-kaskanaalvoorspellingsmeganisme van AMD-verwerkers. Die tegnieke kan gebruik word om die doeltreffendheid van ASLR-beskerming te verminder, sleutels in kwesbare AES-implementerings te herstel en die doeltreffendheid van die Spectre-aanval te verhoog.

Probleme is geïdentifiseer in die implementering van die kanaalvoorspellingsmeganisme (wegvoorspeller) in die SVE se eerstevlakdatakas (L1D), wat gebruik word om te voorspel watter kaskanaal 'n sekere geheueadres bevat. Die optimalisering wat in AMD-verwerkers gebruik word, is gebaseer op die nagaan van μ-tags (μTag). μTag word bereken deur 'n spesifieke hash-funksie op die virtuele adres toe te pas. Tydens werking gebruik die kanaalvoorspellingsenjin μTag om die kaskanaal vanaf die tabel te bepaal. Dus, μTag laat die verwerker toe om homself te beperk tot toegang tot slegs 'n spesifieke kanaal, sonder om deur alle opsies te soek, wat die SVE-energieverbruik aansienlik verminder.

Twee aanvalle op die kaskanaalvoorspellingsmeganisme in AMD-verwerkers

Tydens omgekeerde ingenieurswese van die implementering van die kanaalvoorspellingstelsel in verskeie generasies AMD-verwerkers wat van 2011 tot 2019 vrygestel is, is twee nuwe sykanaalaanvaltegnieke geïdentifiseer:

  • Collide+Probe - laat 'n aanvaller toe om geheuetoegang op te spoor vir prosesse wat op dieselfde logiese SVE-kern loop. Die essensie van die metode is om virtuele adresse te gebruik wat botsings veroorsaak in die hash-funksie wat gebruik word om μTag te bereken om geheuetoegang op te spoor. Anders as die Flush+Reload- en Prime+Probe-aanvalle wat op Intel-verwerkers gebruik word, gebruik Collide+Probe nie gedeelde geheue nie en werk dit sonder kennis van fisiese adresse.
  • Laai + Herlaai - laat jou toe om geheuetoegangspore op dieselfde fisiese SVE-kern baie akkuraat te bepaal. Die metode is gebaseer op die feit dat 'n fisiese geheuesel slegs een keer in die L1D-kas kan wees. Dié. toegang tot dieselfde geheuesel by 'n ander virtuele adres sal veroorsaak dat die sel uit die L1D-kas verwyder word, sodat geheuetoegang nagespoor kan word. Alhoewel die aanval op gedeelde geheue staatmaak, spoel dit nie kaslyne uit nie, wat voorsiening maak vir stealth-aanvalle wat nie data uit die laaste vlak kas verwyder nie.

Gebaseer op die Collide+Probe en Load+Reload tegnieke, het navorsers verskeie sykanaalaanvalscenario's gedemonstreer:

  • Die moontlikheid om metodes te gebruik om 'n versteekte indirekte kommunikasiekanaal tussen twee prosesse te organiseer, wat data-oordrag moontlik maak teen snelhede van tot 588 kB per sekonde, word getoon.
  • Deur botsings in μTag te gebruik, was dit moontlik om entropie vir verskillende variante van ASLR (Address Space Layout Randomization) te verminder en ASLR-beskerming in die kern op 'n volledig opgedateerde Linux-stelsel te omseil. Die moontlikheid om 'n aanval uit te voer om ASLR-entropie te verminder, beide vanaf gebruikerstoepassings en die gebruik van JavaScript-kode wat in 'n sandbox-omgewing uitgevoer word en kode wat in 'n ander gasomgewing loop, word gewys.

    Twee aanvalle op die kaskanaalvoorspellingsmeganisme in AMD-verwerkers

  • Gebaseer op die Collide+Probe-metode, is 'n aanval geïmplementeer om die enkripsiesleutel van 'n kwesbare implementering (gebaseer op T-tafel) AES-enkripsie.
  • Deur die Collide+Probe-metode as 'n data-verkrygingskanaal te gebruik, kon die Spectre-aanval private data uit die kern onttrek sonder om gedeelde geheue te gebruik.

Die kwesbaarheid kom voor op AMD-verwerkers gebaseer op mikroargitekture
Bulldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ en Zen2.
AMD is op 23 Augustus 2019 van die probleem in kennis gestel, maar tot dusver het nie die verslag vrygestel nie met inligting oor die blokkering van die kwesbaarheid. Volgens die navorsers kan die probleem op die mikrokode-opdateringsvlak geblokkeer word deur MSR-bisse te verskaf om die kanaalvoorspellingstelsel selektief te deaktiveer, soortgelyk aan wat Intel gedoen het om die deaktivering van takvoorspellingsmeganismes te beheer.

Twee aanvalle op die kaskanaalvoorspellingsmeganisme in AMD-verwerkers

Bron: opennet.ru

Voeg 'n opmerking