Ze identificeerden een nieuw type aanval dat invloed heeft op Intel- en AMD-processors

Bug Inside-logo Intel

Een groep Onderzoekers van de Universiteit van Virginia en Californië hebben een nieuw type aanval gepresenteerd aan de microarchitectuurstructuren van de processors Intel en AMD.

De voorgestelde aanvalsmethode wordt geassocieerd met het gebruik van een tussenliggende cache van microbewerkingen (micro-op cache) in processors, die kunnen worden gebruikt om informatie te extraheren die is opgelost tijdens speculatieve uitvoering van instructies.

Opgemerkt wordt dat nieuwe methode presteert aanzienlijk beter dan Spectre attack v1 in termen van prestaties maakt het het moeilijk om de aanval te detecteren en wordt het niet geblokkeerd door bestaande beschermingsmethoden tegen aanvallen via zijkanalen die zijn ontworpen om kwetsbaarheden te blokkeren die worden veroorzaakt door de speculatieve uitvoering van instructies.

Het gebruik van de LFENCE-verklaring blokkeert bijvoorbeeld lekkage in de latere stadia van speculatieve uitvoering, maar biedt geen bescherming tegen lekkage door microarchitecturale structuren.

De methode is van invloed op Intel- en AMD-processormodellen die sinds 2011 zijn uitgebracht, inclusief Intel Skylake en AMD Zen-serie. Moderne CPU's splitsen complexe processorinstructies op in eenvoudigere RISC-achtige microoperaties, die in een aparte cache worden bewaard.

Deze cache verschilt fundamenteel van caches op het hoogste niveau, is niet direct toegankelijk en fungeert als een stroombuffer om snel toegang te krijgen tot de resultaten van het decoderen van CISC-instructies in een RISC-micro-instructie.

Echter, de onderzoekers een manier hebben gevonden om de voorwaarden te creëren die zich voordoen tijdens een cachetoegangsconflict en het mogelijk maken om de inhoud van de cache van de microbewerkingen te beoordelen door de verschillen in de uitvoeringstijd van bepaalde acties te analyseren.

De micro-op-cache op Intel-processors is gesegmenteerd ten opzichte van CPU-threads (Hyper-Threading), terwijl de processors AMD Zen gebruikt een gedeelde cache, die voorwaarden creëert voor het lekken van gegevens, niet alleen binnen één uitvoeringsdraad, maar ook tussen verschillende threads in SMT (datalek is mogelijk tussen code die op verschillende logische CPU-kernen wordt uitgevoerd).

De onderzoekers stelden een basismethode voor om veranderingen in de cache van micro-ops en verschillende aanvalsscenario's te detecteren die het mogelijk maken om geheime datatransmissiekanalen te creëren en kwetsbare code te gebruiken om vertrouwelijke gegevens te filteren, beide binnen een enkel proces (bijvoorbeeld om een ​​datalekproces te organiseren bij het uitvoeren van een derde -party code in JIT-engines en virtuele machines) en tussen de kernel en processen in gebruikersruimte.

Door een variant van de Spectre-aanval te ensceneren met behulp van de micro-op cache, slaagden de onderzoekers erin om een ​​verwerkingscapaciteit te behalen van 965.59 Kbps met een foutpercentage van 0.22% en 785.56 Kbps bij gebruik van foutcorrectie, in het geval van een lek in hetzelfde geheugen. spatie adressen. en privilege-niveau.

Met een lek dat verschillende bevoegdheidsniveaus besloeg (tussen kernel en gebruikersruimte), was de doorvoersnelheid 85,2 Kbps met toegevoegde foutcorrectie en 110,96 Kbps met een foutenpercentage van 4%.

Bij het aanvallen van AMD Zen-processors, waardoor een lek ontstaat tussen verschillende logische CPU-kernen, was de doorvoersnelheid 250 Kbps met een foutpercentage van 5,59% en 168,58 Kbps met foutcorrectie. Vergeleken met de klassieke Spectre v1-methode bleek de nieuwe aanval 2,6 keer sneller te zijn.

Het verzachten van een micro-op cache-aanval zal naar verwachting meer prestatieverlagende veranderingen vereisen dan wanneer de Spectre-verdediging was ingeschakeld.

Als een optimaal compromis wordt voorgesteld om dergelijke aanvallen niet te blokkeren door caching uit te schakelen, maar op het niveau van het monitoren van afwijkingen en het bepalen van typische cachestatus van aanvallen.

Net als bij de Spectre-aanvallen, het organiseren van een lek van de kernel of andere processen vereist de uitvoering van een bepaald script (gadgets) aan de kant van de processen van het slachtoffer, wat leidt tot speculatieve uitvoering van instructies.

Ongeveer 100 van dergelijke apparaten zijn gevonden in de Linux-kernel, die zullen worden verwijderd, maar er worden periodiek oplossingen gevonden om ze te genereren, bijvoorbeeld die voor het starten van speciaal vervaardigde BPF-programma's in de kernel.

Eindelijk als u er meer over wilt weten, kunt u de details bekijken In de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.