Nuwe aanval op mikroargitektoniese strukture van Intel- en AMD-verwerkers

'n Groep navorsers van die Universiteit van Virginia en die Universiteit van Kalifornië het 'n nuwe soort aanval op die mikroargitektoniese strukture van Intel- en AMD-verwerkers aangebied, wat tydens omgekeerde ingenieurswese van ongedokumenteerde SVE-vermoëns geïdentifiseer is. Die voorgestelde aanvalmetode behels die gebruik van 'n intermediêre mikro-operasie-kas in verwerkers, wat gebruik kan word om inligting wat opgehoop is tydens spekulatiewe uitvoering van instruksies te herwin.

Vir optimeringsdoeleindes begin die verwerker om sommige instruksies in spekulatiewe modus uit te voer, sonder om te wag vir vorige berekeninge om te voltooi, en as dit dan bepaal dat die voorspelling nie geregverdig was nie, rol dit die bewerking terug na sy oorspronklike toestand, maar die data wat tydens spekulatiewe uitvoering word in 'n kas gedeponeer, waarvan die inhoud bepaal kan word.

Daar word opgemerk dat die nuwe metode aansienlik beter presteer as die Spectre v1-aanval, dit moeilik maak om die aanval op te spoor en nie geblokkeer word deur bestaande metodes van beskerming teen sykanaalaanvalle wat ontwerp is om kwesbaarhede wat veroorsaak word deur spekulatiewe uitvoering van instruksies te blokkeer nie (byvoorbeeld die gebruik van die LFENCE-instruksie blokkeer lekkasies in die laaste stadiums van spekulatiewe uitvoering, maar beskerm nie teen lekkasie deur mikroargitektoniese strukture nie).

Die metode raak Intel- en AMD-verwerkermodelle wat sedert 2011 vrygestel is, insluitend die Intel Skylake- en AMD Zen-reeks. Moderne SVE's breek komplekse verwerkerinstruksies op in eenvoudiger RISC-agtige mikro-operasies, wat in 'n aparte kas gestoor word. Hierdie kas is fundamenteel anders as hoërvlakkas, is nie direk toeganklik nie en dien as 'n stroombuffer vir vinnige toegang tot die resultate van die dekodering van CISC-instruksies in RISC-mikro-instruksies. Navorsers het egter 'n manier gevind om toestande te skep wat ontstaan ​​wanneer kastoegang bots en 'n mens toelaat om die inhoud van die mikro-operasie-kas te beoordeel deur verskille in die uitvoeringstyd van sekere aksies te analiseer.

Nuwe aanval op mikroargitektoniese strukture van Intel- en AMD-verwerkers

Die mikro-operasie-kas in Intel-verwerkers is gesegmenteer in verhouding tot SVE-drade (Hyper-Threading), terwyl AMD Zen-verwerkers 'n gedeelde kas gebruik, wat toestande skep vir datalekkasie nie net binne een uitvoeringdraad nie, maar ook tussen verskillende drade in SBS (moontlike datalekkasie tussen kode wat op verskillende logiese SVE-kerne loop).

Navorsers het 'n basiese metode voorgestel vir die opsporing van veranderinge in die mikro-operasie-kas en verskeie aanvalscenario's wat dit moontlik maak om verborge data-oordragkanale te skep en kwesbare kode te gebruik om vertroulike data te lek, beide binne 'n enkele proses (byvoorbeeld om prosesdata uit te lek wanneer dit uitgevoer word derdeparty-kode in enjins met JIT en in virtuele masjiene), en tussen die kern en prosesse in gebruikersruimte.

Wanneer 'n variant van die Spectre-aanval met behulp van 'n mikro-operasie-kas georganiseer is, kon navorsers prestasie van 965.59 Kbps behaal met 'n foutkoers van 0.22% en 785.56 Kbps wanneer foutkorreksie gebruik word, in die geval van 'n lekkasie binne dieselfde adres ruimte en voorreg vlak. Met 'n lekkasie wat oor verskillende voorregtevlakke (tussen kern en gebruikersruimte) strek, was werkverrigting 85.2 Kbps met foutkorreksie bygevoeg en 110.96 Kbps met 'n foutkoers van 4%. Wanneer AMD Zen-verwerkers aangeval word, wat 'n lek tussen verskillende logiese SVE-kerns geskep het, was die werkverrigting 250 Kbps met 'n foutkoers van 5.59% en 168.58 Kbps met foutkorreksie. In vergelyking met die klassieke Spectre v1-metode, was die nuwe aanval 2.6 keer vinniger.

Daar word verwag dat beskerming teen 'n mikro-op-kasaanval veranderinge sal vereis wat werkverrigting meer sal verminder as wanneer jy Spectre-aanvalbeskerming geaktiveer het. As 'n optimale kompromie word voorgestel om sulke aanvalle te blokkeer, nie deur kasgeheue te deaktiveer nie, maar op die vlak van monitering van anomalieë en identifisering van kastoestande wat tipies is vir aanvalle.

Soos in Spectre-aanvalle, vereis die organisering van 'n lek uit die kern of ander prosesse die uitvoering van 'n sekere volgorde van opdragte (gadgets) aan die kant van die slagofferprosesse, wat lei tot spekulatiewe uitvoering van instruksies. Ongeveer 100 soortgelyke toestelle is in die Linux-kern gevind, wat verwyder sal word, maar oplossings vir hul generasie word van tyd tot tyd gevind, byvoorbeeld, wat verband hou met die gebruik van spesiaal ontwerpte BPF-programme in die kern.

Bron: opennet.ru

Voeg 'n opmerking