Allt du behöver veta om CPU-sårbarheter som Zenbleed, Downfall, Inception och mer

click fraud protection

CPU-sårbarheter har varit på modet nyligen, med Zenbleed och Downfall som två senaste. Men hur orolig ska man vara?

CPU-sårbarheter har varit in och ut ur nyheterna de senaste åren, och de kommer ofta med ett ganska skrämmande budskap när det kommer till att de avslöjas. I fallet med Zenbleed och Undergång, det var att alla program på din dator kunde komma åt minnet för alla andra program som körs under rätt omständigheter. Låter intensivt, eller hur?

Det är dock inte riktigt så illa som det verkar. Det är uppenbarligen tillräckligt betydande för att motivera ett avslöjande och en mjukvaruuppdatering för att åtgärda felen, även på bekostnad av prestanda, men vad exakt är det som orsakar dessa säkerhetsproblem? Bör du vara orolig?

Ska du vara orolig för CPU-sårbarheter som Zenbleed, Downfall och Inception?

För att vara ärlig påverkar ingen av dessa bedrifter den stora majoriteten av människor. Även om de kan läcka data från ett program till ett annat, har varje del av skadlig programvara på en konsuments maskin redan en stor åtkomstnivå som den kan missbruka. Istället där dessa attacker är särskilt oroande är i cloud computing-sammanhang.

För att förstå problemet måste du förstå att många olika molnservrar är helt enkelt datorer med mycket hästkrafter, stor nätverksbandbredd och en del annan specialiserad hårdvara om nödvändig. Många företag hyr ut vad som kallas en VPS, eller en virtuell privat server, som är virtualiserade maskiner med begränsad kraft dit dussintals andra virtuella maskiner kan köra mot.

Där detta kan vara ett problem är att en person på en virtuell maskin kan köra en av dessa sårbarheter, få insikt i vilken data som flödar genom processorn, inklusive data från andra virtuella maskiner. Detta borde inte vara möjligt och är ett stort säkerhetsbrott. Det är därför när Zenbleed avslöjades fanns det redan patchar för AMD: s Epyc-processorer, som är inriktade på serveranvändning.

De mest allvarliga CPU-sårbarheterna för närvarande

Branschstandarden för att "ranka" sårbarheter och deras svårighetsgrad är genom Common Vulnerability Scoring System (CVSS). Det ger ett kvantitativt mått på svårighetsgraden, eftersom de olika aspekterna av sårbarheten kommer att påverka poängen. Den mäter genom att ta hänsyn till följande:

  • Attackvektor: Nätverk/Angränsande/Lokalt/Fysiskt
  • Attackkomplexitet: Låg hög
  • Privilegier krävs: Ingen/Låg/Hög
  • Användarinteraktion: Inget/Obligatoriskt
  • Omfattning: Oförändrad/Ändrad
  • Sekretess: Ingen/Låg/Hög
  • Integritet: Ingen/Låg/Hög
  • Tillgänglighet: Ingen/Låg/Hög

Alla dessa klassificerar svårighetsgraden av en bugg. Till exempel, en sårbarhet som kan köras över ett nätverk med låg komplexitet, inga privilegier krävs, ingen användarinteraktion, med en ändrad omfattning, högt läckage av datakonfidentialitet, hög dataintegritetsöverträdelse och hög påverkan på tillgänglighet kommer att få perfekta 10 i CVSS 3.1, det högsta betyget möjlig.

Med det måttet kan vi bedöma skadan som Zenbleed och Downfall är kapabla till. Spoiler: De är samma, även om de påverkar olika processorer. Därför, medan de får en viss summa in I samband med sårbarheter kan de påverka olika mängder produkter, och det kommer inte att påverka deras Göra. CVSS-poäng är i huvudsak bara för triage men berättar inte hela historien.

Zenbleed: 6,5 (Medium)

  • Attackvektor: Lokalt
  • Attackkomplexitet: Låg
  • Privilegier krävs: Låg
  • Användarinteraktion: Ingen
  • Omfattning: Ändrats
  • Sekretess: Hög
  • Integritet: Ingen
  • Tillgänglighet: Ingen

Förklaring: Attackvektorn kräver lokal åtkomst till maskinen (som i, den körs på maskinen) samtidigt som den inte påverkar integriteten hos data på maskinen eller dess tillgänglighet. Den ändrar dock omfattning (vilket innebär att den påverkar resurser utöver dess privilegier) och attackens komplexitet, och de privilegier som krävs för att köra är låga. Det bryter också totalt mot sekretessen för information på maskinen.

Nedgång: 6,5 (Medium)

  • Attackvektor: Lokalt
  • Attackkomplexitet: Låg
  • Privilegier krävs: Låg
  • Användarinteraktion: Ingen
  • Omfattning: Ändrats
  • Sekretess: Hög
  • Integritet: Ingen
  • Tillgänglighet: Ingen

Förklaring: Attackvektorn kräver lokal åtkomst till maskinen (som i, den körs på maskinen) samtidigt som den inte påverkar integriteten hos data på maskinen eller dess tillgänglighet. Den ändrar dock omfattning (vilket innebär att den påverkar resurser utöver dess privilegier) och attackens komplexitet, och de privilegier som krävs för att köra är låga. Det bryter också totalt mot sekretessen för information på maskinen.

Start: 5,6 (Medium)

  • Attackvektor: Lokalt
  • Attackkomplexitet: Hög
  • Privilegier krävs: Låg
  • Användarinteraktion: Ingen
  • Omfattning: Ändrats
  • Sekretess: Hög
  • Integritet: Ingen
  • Tillgänglighet: Ingen

Förklaring: Attackvektorn kräver lokal åtkomst till maskinen (som i, den körs på maskinen) samtidigt som den inte påverkar integriteten hos data på maskinen eller dess tillgänglighet. Den ändrar dock omfattning (vilket innebär att den påverkar resurser utöver dess privilegier), attackkomplexiteten är hög och privilegierna som krävs för att köra är låga. Det bryter också totalt mot sekretessen för information på maskinen.

Spectre: 5,6 (Medium) (Lättad)

Spectre, trots att det är ett mer utbrett fenomen, gör faktiskt poäng mindre än Zenbleed och Downfall. Det är tack vare det faktum att attackkomplexiteten döptes till "Hög", vilket tappade poängen.

  • Attackvektor: Lokalt
  • Attackkomplexitet: Hög
  • Privilegier krävs: Låg
  • Användarinteraktion: Ingen
  • Omfattning: Ändrats
  • Sekretess: Hög
  • Integritet: Ingen
  • Tillgänglighet: Ingen

Förklaring: Attackvektorn kräver lokal åtkomst till maskinen (som i, den körs på maskinen) samtidigt som den inte påverkar integriteten hos data på maskinen eller dess tillgänglighet. Den ändrar dock omfattning (vilket innebär att den påverkar resurser utöver dess privilegier), attackkomplexiteten är hög och privilegierna som krävs för att köra är låga. Det bryter också totalt mot sekretessen för information på maskinen.

Nedsmältning: 5,6 (Medium) (Lättad)

Precis som Spectre får Meltdown lägre poäng än Zenbleed och Downfall, på grund av den större attackkomplexiteten som krävs.

  • Attackvektor: Lokalt
  • Attackkomplexitet: Hög
  • Privilegier krävs: Låg
  • Användarinteraktion: Ingen
  • Omfattning: Ändrats
  • Sekretess: Hög
  • Integritet: Ingen
  • Tillgänglighet: Ingen

Förklaring: Attackvektorn kräver lokal åtkomst till maskinen (som i, den körs på maskinen) samtidigt som den inte påverkar integriteten hos data på maskinen eller dess tillgänglighet. Den ändrar dock omfattning (vilket innebär att den påverkar resurser utöver dess privilegier), attackkomplexiteten är hög och privilegierna som krävs för att köra är låga. Det bryter också totalt mot sekretessen för information på maskinen.

Den största orsaken: Branch-förutsägelse

Källa: AMD

Förutsägelse av grenar och spekulativ exekvering avser i stort sett när din dator utför operationer som inte behövs för tillfället men som kommer att ske i efterföljande cykler. Det görs ofta i tider när ditt system har lediga resurser eftersom det påskyndar den totala bearbetningen när instruktioner eller data annars inte skulle vara redo för CPU: n. Om det utförda arbetet inte behövs kasseras det vanligtvis och processorn kan hoppa tillbaka dit den behöver för att utföra nästa korrekta instruktion. När den gör detta kallas detta en grenfelförutsägelse.

För en mer djupgående förståelse av förgreningsprediktorer, föreställ dig ett scenario där ett program konsekvent lägger till samma två siffror i sin körning. I något skede kan processorn känna igen detta mönster och förbereda nästa steg om metoden där de två numren läggs till skulle anropas igen. Om det resultatet ändras någon gång, även om processorn planerade att samma två nummer skulle vara desamma, kommer gissningen att kastas ut och ersättas av det faktiska exekveringsflödet. Men för den tid som dessa siffror är samma sak, då kan processorn hoppa igenom dessa instruktioner snabbt.

Det finns dock många problem när det kommer till spekulativt utförande, och sårbarheter som Spectre, Zenbleed, Downfall och fler är ett resultat. Det är en kraftfull funktion som vi är skyldiga mycket av dagens CPU-prestanda, men det är ett stort mål när forskare letar efter sårbarheter i CPU: er.

Dämpning: En prestationshämmare

Att mildra dessa sårbarheter är av yttersta vikt, men problemet är att dessa begränsningar ofta belastar prestanda. I fallet med AMD: s senaste Zenbleed kan begränsningen se massiva prestandakostnader.

Anledningen till detta är att den enda verkliga vägen runt det är att inaktivera eller ändra beteendet hos grenprediktorn i den påverkade processorn. Samma prestandaträff kan hittas i begränsningarna för Intels undergång, med tidiga rapporter som tyder på resultateffekter på upp till 39 %. Episka spel en gång berömt delad CPU-användningsgrafer när Meltdown-sårbarheten avslöjades och hur stor inverkan dessa begränsningar hade på företagets CPU-användning. Det var en stor ökning i CPU-användning, som man kan förvänta sig. Där saker och ting blir läskiga är med fixen för AMD: s Inception, prestanda visade sig sjunka med upp till 54 %.

Eftersom sårbarheter som denna påverkar funktioner som är grundläggande för processorn, är det svårt att verkligen åtgärda dem förutom att inaktivera eller allvarligt lemlästa kärnfunktionerna. Spekulativa avrättningar är oerhört viktigt, och dessa begränsningar kommer att kännas av många människor. Spelprestanda är mindre förutsägbar, så om din dators primära användning är spel kan du vara det okej eftersom din dator inte kan göra så många förutsägelser, men dessa problem skalar upp i mycket större system.

Påverkas framtida processorer?

Tack och lov, i fallet med både Intel Downfall och Zenbleed, påverkar dessa utnyttjande äldre processorer. Nyare processorer från båda företagen är säkra, och det finns inget att oroa sig för just nu. En betydande omdesign är vanligtvis det som löser dessa problem. Spectre påverkade till exempel Intels åttonde och nionde generationens processorer, men den nionde generationen inkorporerade en hårdvaruversion av mjukvarufixarna som implementerades, komplett med prestationshiten. Intels tionde generation var fortfarande säker men hade inte längre någon prestandapåverkan från dessa begränsningsåtgärder.

Som ett resultat, med tanke på att både Downfall och Zenbleed redan var fixade i de senaste versionerna av sina respektive processorer, har användarna inte mycket att oroa sig för. Naturligtvis kan det alltid upptäckas fler sårbarheter, men vid denna tidpunkt är du säker.