AMD het die moontlike kwesbaarheid van AMD Zen 3-SVE's vir die Spectre-STL-aanval bevestig

AMD het 'n verslag gepubliseer wat die sekuriteit ontleed van die PSF (Predictive Store Forwarding)-optimeringstegnologie wat in Zen 3-reeks verwerkers geïmplementeer is. Die studie het teoreties bevestig die toepaslikheid van die Specter-STL (Spectre-v4) aanvalmetode, wat in Mei 2018 geïdentifiseer is, om PSF-tegnologie, maar in die praktyk is geen kodesjablone wat tot 'n aanval kan lei, nog gevind nie en die algehele gevaar word as onbeduidend beoordeel.

Laat ons onthou dat die Specter-v4 (Speculative Store Bypass) aanval gebaseer is op die herstel van data wat in die verwerkerkas gevestig is nadat die resultaat van spekulatiewe uitvoering van bewerkings weggegooi is wanneer afwisselende skryf- en leesbewerkings verwerk word deur indirekte adressering. Wanneer 'n leesbewerking op 'n skryfbewerking volg (bv. mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), is die afwyking van die leesadres dalk reeds bekend as gevolg van soortgelyke bewerkings wat uitgevoer word (leesbewerkings is baie meer gereeld uitgevoer en lees kan vanaf die kas uitgevoer word) en die verwerker kan spekulatief lees voor skryf uitvoer sonder om te wag dat die skryf se indireksie-afset bereken word.

Hierdie kenmerk laat 'n leesinstruksie toe om toegang tot 'n ou waarde by een of ander adres te verkry terwyl die winkelbewerking nog nie voltooi is nie. As daar 'n voorspellingsfout is, sal die onsuksesvolle spekulatiewe bewerking weggegooi word, maar spore van die uitvoering daarvan sal in die verwerkerkas bly en kan herwin word deur een van die metodes om die inhoud van die kas te bepaal gebaseer op 'n ontleding van veranderinge in toegang tyd om gekas en ongekas data.

Bygevoeg by AMD Zen 3-verwerkers, optimaliseer PSF STLF (Store-To-Load-Forwarding), wat leesbewerkings spekulatief uitvoer deur die verband tussen lees- en skryfbewerkings te voorspel. Wanneer klassieke STLF gebruik word, voer die verwerker 'n "laai"-bewerking uit op die data wat direk vanaf die vorige "stoor"-opdrag aangestuur is, sonder om te wag dat die resultaat werklik na die geheue geskryf word, maar om seker te maak dat die adresse wat in die "laai" gebruik word en "stoor" opdragte ooreenstem. Die PSF-optimering maak adreskontrolering spekulatief en voer 'n "laai"-operasie uit voordat die adresinligting bereken is as 'n stoor/laai-paar wat 'n enkele adres manipuleer, voorheen uitgevoer is. As die voorspelling misluk, word die toestand teruggerol, maar die data bly in die kas.

'n Aanval op PSF is slegs moontlik binne die raamwerk van een vlak van voorregte, dek slegs die huidige proseskonteks en word geblokkeer deur adresruimte-isolasiemetodes of hardeware-sandboxmeganismes. In hierdie geval kan sagteware-sandboxmetodes in prosesse moontlik deur die probleem geraak word. Die aanval hou 'n bedreiging in vir stelsels soos blaaiers, kode-uitvoering virtuele masjiene en JIT's wat derdeparty-kode binne 'n enkele proses uitvoer (die aanval kan onbetroubare sandbox-kode toelaat om toegang tot ander prosesdata te verkry).

AMD het 'n aantal metodes verskaf om PSF heeltemal of selektief uit te skakel, maar gegewe die geringe risiko vir die meeste toepassings, het dit aanbeveel dat hierdie optimalisering nie by verstek gedeaktiveer word nie. Om prosesse selektief te beskerm wat diegene wat onbetroubare kode uitvoer, isoleer, word voorgestel om PSF te deaktiveer deur die "SSBD" en "PSFD" MSR-bisse in te stel, insluitend vir individuele drade. Patches is voorberei vir die Linux-kern met die implementering van die "psfd" en "nopsfd" opdragreëlopsies wat beheer hoe PSF aan- en afgeskakel word.

Bron: opennet.ru

Voeg 'n opmerking