Intel har haft några besvärliga år sett till sårbarheter i företagets processorer. Under det gångna året har nya säkerhetshål varit mer regel än undantag, medan rivalen AMD stått mestadels oberörda. Alla goda ting har ett slut säger talesättet, och detta illustreras med två nyligen avtäckta säkerhetsbrister i AMD:s processorer.

amd-tested-cpus.jpg

Likt majoriteten av de sårbarheter som drabbat Intel bygger båda säkerhetsbristerna i vad som kallas spekulativ exekvering. Bristerna bygger på funktionen L1D cache way predictor som introducerades med 2011 års Bulldozer-arkitektur. Funktionen ansvarar för att förbättra energieffektivitet i exekvering av instruktioner genom att förbättra hur data hanteras av processorns interna cache.

Precis som hos Intel ligger sårbarheten i processorns spekulativa hantering av cache-data. AMD:s lösning för att göra moderna processorer mer energieffektiva har varit att begränsa hur många vägar en cache-spekulation jämförs mot en spekulationstabell. Detta gör spekuleringen mer energieffektiv, men öppnar också upp för att funktionen kan utnyttjas.

Predictor.jpg
Arkitekturer.jpg

Bristen upptäcktes av en grupp bestående av akademiker från Graz University of Technology i Österrike och Univerisity of Rennes i Frankrike vilka publicerar upptäckten i en rapport (PDF). Genom att utnyttja L1D cache way-bristen har gruppen lyckats kartlägga innehållet i L1D-cacheminnet och beräkna innehållets data baserat på detta. Sårbarheterna får namnen Collide+Probe och Load+Reload.

Dessa sårbarheter liknar de tidigare Intel-attackerna Flush+Reload och Prime+Probe, vilka AMD:s processorer inte varit sårbara för då deras hantering av cache-data skiljer sig från Intels. Med Collide+Probe utnyttjas mekanismer för märkning av virtuella minnesadresser till en logisk processorkärna.

Med Load+Reload utnyttjas en teknik där en fysisk minnesadress endast kan förekomma en gång i L1D-cacheminnet. Genom att injicera samma fysiska minnesadress med en annan virtuell minnesadress sparkas den ursprungliga virtuella minnesadressen ut ur L1D-cacheminnet. Genom att kombinera dessa två sårbarheter kan illasinnade övervaka minnesadressen och läcka små mängder metadata från applikationer.

Det som gör AMD:s sårbarheter särskilt allvarliga är dels att de påverkar många processorgenerationer, och dels att de kan utnyttjas utan att angriparen behöver ha fysisk tillgång till systemet. Gruppen bakom upptäckten meddelar att de kunnat utnyttja sårbarheterna genom Javascript-kod, och att denna kod även kunnat användas i virtuella maskiner på molntjänster.

Koden kunde dels knäcka Linuxdistributioner med de senaste säkerhetsuppdateringarna installerade, men även andra operativsystem och applikationer som kördes virtualiserat ovanpå ett värdsystem. Javascript-koden kan levereras via webbläsaren och under tester har gruppen framgångsrikt utfört attacken i webbläsarna Chrome 76.0.3809 och Firefox 68.0.2.

Gruppen menar att sårbarheterna lyckligtvis kan åtgärdas via säkerhetsuppdateringar, men konstaterar också att AMD:s svar på avslöjandet varit en besvikelse. Dels har AMD hävdat att det inte handlar om spekulativa attacker, och dels har företaget inte släppt åtgärdande säkerhetsuppdateringar eller firmware-mjukvara sedan problemet uppdagades i augusti 2019.

Samtidigt svarar en av säkerhetsforskarna på Twitter att Collide+Probe och Load+Reload inte är lika allvarliga brister som Meltdown och de olika attackerna relaterade till sårbarheten som går under paraplynamnet MDS, vilka läcker betydligt större mängder data. Dessa drabbar både AMD:s och Intels processorer, men i betydligt större utsträckning för Intel.

Läs mer om sårbarheter i processorer: