Nok en spekulativ funksjonsfeil: Intel avslører nytt sidekanalsangrep, anbefaler at du deaktiverer hypertråd under 8., 9. gen-CPUer



Ouch doesn't even begin to describe how much that headline hurt. As far as speculative execution goes, it's been well covered by now, but here's a refresher. Speculative execution essentially means that your CPU tries to think ahead of time on what data may or may not be needed, and processes it before it knows it's needed. The objective is to take advantage of concurrency in the CPU design, keeping processing units that would otherwise be left idle to process and deliver results on the off-chance that they are indeed required by the system: and when they are called for, the CPU saves time by not having to process them on the fly and already having them available.

Manglene er kunngjort av Intel i koordinering med det østerrikske universitetet TU Graz, Vrije Universiteit Amsterdam, University of Michigan, University of Adelaide, KU Leuven i Belgia, Worcester Polytechnic Institute, Saarland University i Tyskland og sikkerhetsfirmaene Cyberus, BitDefender, Qihoo360 og Oracle. Mens noen av de involverte partene har navngitt de fire identifiserte feilene med navn som 'ZombieLoad', 'Fallout' og RIDL, eller 'Rogue In-Flight Data Load', bruker Intel PEGI-13 'Microarchitectural Data Sampling (MDS) )' Navn. Oppdater 15. mai: Intel har gitt ut referanseporteføljer som viser ytelseseffekten av MDS-begrensningene.
Oppdater 16. mai: Tilsynelatende prøvde Intel å sveipe saken under teppet med en sjenerøs donasjon til forskerne.

Problemet som foreligger her, definert av Intels ganske tamme MDS, er at i likhet med andre sidekanalangrep, kan utnyttelse tillate hackere å skaffe informasjon som ellers ble ansett som sikker, hvis den ikke hadde blitt kjørt gjennom CPU's spekulative utførelsesprosesser. Mens Meltdown leste sensitiv informasjon som ble lagret i minnet på grunn av de spekulative utførelsesfunksjonene på Intels CPUer, leste MDS-angrep dataene på CPU-en forskjellige buffere - mellom tråder, langs veien til CPU-cachen, og andre. Forskerne sier at denne feilen kan brukes til å sifre data fra CPU med en hastighet som kan nærme seg sanntid, og kan brukes til å selektivt trekke hvilken informasjon som anses som viktig: enten det er passord eller hvilke nettsteder brukeren besøker på øyeblikket av angrepet, det er alt bra spill.


Intel sier at det vil være behov for betydelige programvareendringer for å herde systemer mot denne utnyttelsen, ikke bare fra seg selv, men fra operativsystemleverandører og tredjeparts appskapere. En av de foreslåtte løsningene er at hver gang en prosessor bytter fra en tredjepartsapp til en annen, fra en Windows-prosess til en tredjepartsapp, eller til og med fra mindre pålitelige Windows-prosesser til mer pålitelige, må bufferne være tømt eller overskrevet. Dette betyr en helt ny syklus av datainnsamling og skriving vesener hver gang du kaller opp en annen prosess - og du satser på at det har en ytelsesstraff, som Intel setter på et 'minimalt' opp til 9%.

Intel detaljert sårbarheten i whitepaper og innrømmet at deaktivering av HT kan være berettiget som en beskyttelse mot MDS-angrep - og du kan forestille deg hvor mye selskapet må ha avsky for å publisere noe slikt. Intels HT har blitt hardt rammet av gjentatte spekulative utførelsesfeil som ble funnet på Intel-prosessorer, og avbøtninger koster vanligvis en slags ytelse på Intels samtidig prosesseringsteknologi. Intel sier at ingeniørene oppdaget MDS-sikkerhetsproblemene i fjor, og at de nå har gitt ut rettelser for feilen i både maskinvare og programvare. Selv om det åpenbart må programvareoppdateringene distribueres enten på mikrokodeoppdateringer, eller må implementeres av alle operativsystemer, virtualiseringsleverandører og andre programvareprodusenter.

Intel sa også at dens 8. og 9. generasjons prosessorer allerede inkluderer maskinvareforringelser som beseirer utnyttelsen av MDS, men tidligere arkitekturer tilbake til Nehalem er sårbare. Men hvorfor spille det på forventningene: du kan ta en test som har blitt publisert av forskerne her.

CVE-kodene for sårbarhetene er som sådan:
  • CVE-2018-12126 Microarchitectural Store Buffer Data Sampling (MSBDS)
  • CVE-2018-12130 Microarchitectural Fill Buffer Data Sampling (MFBDS)
  • CVE-2018-12127 Microarchitectural Load Port Data Sampling (MLPDS)
  • CVE-2019-11091 Microarchitectural Data Sampling Uncacheable Memory (MDSUM)
Sources: Wired, MDS Attacks Test