Datorprocessorer har en massiv designfel, och alla försöker fixa det. Endast ett av de två säkerhetshålen kan lappas, och patcharna gör datorer (och Mac) med Intel-chips långsammare.
Uppdatering : En tidigare version av den här artikeln uppgav att denna brist var specifik för Intel-chips, men det är inte hela historien. Det finns faktiskt två stora sårbarheter här, nu kallad "Meltdown" och "Spectre". Meltdown är till stor del specifikt för Intel-processorer och påverkar alla CPU-modeller från de senaste decennierna. Vi har lagt till mer information om dessa två buggar och skillnaden mellan dem i artikeln nedan.
Vad är smältning och spektrum?
Spectre är en "grundläggande designfel" som finns i alla processorer på marknaden - inklusive de från AMD och ARM samt Intel. Det finns för närvarande ingen programvarukorrigering, och det kommer sannolikt att kräva en fullständig maskinvarudesign för processorer över hela linjen - men tack och lov är det ganska svårt att utnyttja, enligt säkerhetsforskare. Det är möjligt att skydda mot specifika Spectre-attacker, och utvecklare arbetar med det, men den bästa lösningen är en redesign av CPU-hårdvara för alla framtida chips.
Meltdown gör Spectre i grund och botten värre genom att göra kärnans underliggande fel mycket lättare att utnyttja. Det är i grunden en ytterligare brist som påverkar alla Intel-processorer som tillverkats under de senaste decennierna. Det påverkar också vissa avancerade ARM Cortex-A-processorer, men det påverkar inte AMD-chips. Meltdown lagras i operativsystem idag.
Men hur fungerar dessa brister?
RELATERAD: Vad är Linux-kärnan och vad gör den?
Program som körs på din dator körs med olika säkerhetsnivåer. De operativsystemets kärna — Till exempel Windows-kärnan eller Linux-kärnan — har den högsta behörighetsnivån eftersom den kör showen. Skrivbordsprogram har färre behörigheter och kärnan begränsar vad de kan göra. Kärnan använder processorns hårdvarufunktioner för att tillämpa några av dessa begränsningar, eftersom det är snabbare att göra det med hårdvara än programvara.
Problemet här är med ”spekulativt utförande”. Av prestationsskäl kör moderna processorer automatiskt instruktioner som de tror att de kan behöva köra och, om de inte gör det, kan de helt enkelt spola tillbaka och återställa systemet till sitt tidigare tillstånd. En brist i Intel och vissa ARM-processorer gör det dock möjligt för processer att köra operationer som de normalt inte skulle kunna köra, eftersom operationen utförs innan processorn stör för att kontrollera om den ska ha tillstånd att köra den eller inte. Det är Meltdown-buggen.
Kärnproblemet med både Meltdown och Spectre ligger i processorns cache. Ett program kan försöka läsa minne och, om det läser något i cachen, kommer operationen att slutföras snabbare. Om den försöker läsa något som inte finns i cachen slutförs det långsammare. Applikationen kan se om något slutförts snabbt eller långsamt, och medan allt annat under spekulativ exekvering rensas upp och raderas, kan inte tiden det tog att utföra operationen döljas. Den kan sedan använda den här informationen för att bygga en karta över vad som helst i datorns minne, en i taget. Cachningen snabbar upp saker, men dessa attacker utnyttjar den optimeringen och gör den till en säkerhetsfel.
RELATERAD: Vad är Microsoft Azure, hur som helst?
I värsta fall kan JavaScript-kod som körs i din webbläsare effektivt läsa minne som den inte borde ha tillgång till, till exempel privat information som finns i andra applikationer. Molnleverantörer som Microsoft Azure eller Amazon Web Services , som är värd för flera olika företags programvara i olika virtuella maskiner på samma hårdvara, är särskilt utsatta. En persons programvara kan i teorin spionera på saker i ett annat företags virtuella maskin. Det är en uppdelning i separationen mellan applikationer. Uppdateringarna för Meltdown betyder att denna attack inte blir lika lätt att dra av. Tyvärr innebär att dessa extra kontroller på plats innebär att vissa åtgärder kommer att gå långsammare på hårdvaran som påverkas.
Utvecklare arbetar med programvarupatcher som gör Spectre-attacker svårare att utföra. Till exempel Googles Chrome nya Funktion för webbplatsisolering hjälper till att skydda mot detta, och Mozilla har redan gjort några snabba ändringar av Firefox . Microsoft gjorde också några ändringar för att skydda Edge och Internet Explorer i Windows Update som nu är tillgänglig.
Om du är intresserad av de djupa detaljerna på låg nivå om både Meltdown och Spectre, läs den tekniska förklaringen från Google’s Project Zero team som upptäckte buggarna förra året. Mer information finns också på MeltdownAttack.com hemsida.
Hur mycket långsammare blir min dator?
Uppdatering : Den 9 januari släppte Microsoft några information om patchens prestanda . Enligt Microsoft visar Windows 10 på datorer från 2016 med Skylake, Kabylake eller nyare Intel-processorer "ensiffriga avmattningar" som de flesta användare inte skulle märka. Windows 10 på 2015-era datorer med Haswell eller en äldre CPU kan se större avmattningar och Microsoft "förväntar sig att vissa användare kommer att märka en minskning av systemets prestanda".
Windows 7- och 8-användare har inte lika tur. Microsoft säger att de "förväntar sig att de flesta användare märker en minskning av systemets prestanda" när de använder Windows 7 eller 8 på en PC från 2015 med Haswell eller en äldre CPU. Windows 7 och 8 använder inte bara äldre processorer som inte kan köra plåstret lika effektivt, men "Windows 7 och Windows 8 har fler övergångar av användarkärnor på grund av äldre designbeslut, till exempel all teckensnittsåtergivning som sker i kärnan" , och detta saktar också ner saker.
Microsoft planerar att utföra sina egna riktmärken och släppa mer information i framtiden, men vi vet inte exakt hur mycket Meltdowns patch kommer att påverka den dagliga PC-användningen ännu. Dave Hansen, en Linux-kärnutvecklare som arbetar på Intel, skrev ursprungligen att de förändringar som görs i Linux-kärnan kommer att påverka allt. Enligt honom ser de flesta arbetsbelastningar en ensiffrig avmattning, med en ungefär 5% avmattning att vara typisk. Det värsta fallet var dock en avmattning på 30% på ett nätverkstest, så det varierar från uppgift till uppgift. Dessa är dock siffror för Linux, så de gäller inte nödvändigtvis för Windows. Korrigeringen saktar ner systemanrop, så uppgifter med många systemanrop, som att kompilera programvara och köra virtuella maskiner, kommer sannolikt att sakta ner mest. Men varje programvara använder vissa systemanrop.
Uppdatering : Från och med 5 januari TechSpot och Guru3D har utfört några riktmärken för Windows. Båda webbplatserna drog slutsatsen att stationära användare inte har mycket att oroa sig för. Vissa PC-spel ser en liten avmattning på 2% med korrigeringsfilen, vilket ligger inom felmarginalen, medan andra verkar fungera identiskt. 3D-rendering, produktivitetsprogramvara, filkomprimeringsverktyg och krypteringsverktyg verkar opåverkade. Emellertid visar riktmärken för filläsning och skrivning märkbara skillnader. Hastigheten för att snabbt läsa en stor mängd små filer sjönk cirka 23% i Techspots riktmärken, och Guru3D hittade något liknande. Å andra sidan, Tom's Hardware fann bara en genomsnittlig minskning av prestanda på 3,21% med ett test för lagring av konsumentapplikationer och hävdade att de "syntetiska riktmärkena" som visar mer betydande minskningar i hastighet inte representerar verklig användning.
Datorer med en Intel Haswell-processor eller nyare har en PCID (Process-Context Identifiers) -funktion som hjälper plåstret att fungera bra. Datorer med äldre Intel-processorer kan se en högre hastighetsminskning. Ovanstående riktmärken utfördes på moderna Intel-processorer med PCID, så det är oklart hur äldre Intel-processorer kommer att prestera.
Intel säger att avmattningen "inte borde vara betydande" för den genomsnittliga datoranvändaren, och hittills ser det sant ut, men vissa operationer ser en avmattning. För molnet, Google , Amazon och Microsoft alla sa i princip samma sak: För de flesta arbetsbelastningar har de inte sett någon betydande prestandapåverkan efter att de har rullats ut. Microsoft sa att "en liten uppsättning [Microsoft Azure] kunder kan uppleva en viss påverkan på nätverksprestanda." Dessa uttalanden ger utrymme för vissa arbetsbelastningar för att se betydande avmattningar. Episka spel skyllde Meltdown-patch för att orsaka serverproblem med sitt spel Fortnite och publicerade en graf som visar en enorm ökning av CPU-användningen på sina molnservrar efter att korrigeringsfilen installerats.
Men en sak är klart: Din dator blir definitivt inte snabbare med den här korrigeringsfilen. Om du har en Intel-processor kan den bara bli långsammare - även om det är lite.
Vad behöver jag göra?
RELATERAD: Hur man kontrollerar om din dator eller telefon är skyddad mot smältning och spöke
Vissa uppdateringar för att åtgärda Meltdown-problemet är redan tillgängliga. Microsoft har utfärdat en nöduppdatering till versioner av Windows som stöds via Windows Update den 3 januari 2018, men det har inte gjort det till alla datorer än. Windows Update som löser Meltdown och lägger till några skydd mot Spectre heter CP 4056892 .
Apple redan lappat problemet med macOS 10.13.2, släppt den 6 december 2017. Chromebooks med Chrome OS 63, som släpptes i mitten av december, är redan skyddade. Korrigeringar finns också för Linux-kärnan.
Dessutom, kontrollera om din dator har BIOS / UEFI-uppdateringar tillgängliga . Medan Windows-uppdateringen fixade Meltdown-problemet, behövs CPU-mikrokoduppdateringar från Intel levererade via en UEFI- eller BIOS-uppdatering för att fullt ut möjliggöra skydd mot en av Spectre-attackerna. Du bör också uppdatera din webbläsare - som vanligt - eftersom webbläsare också lägger till skydd mot Spectre.
Uppdatering : 22 januari Intel meddelade att användare ska sluta distribuera de första UEFI-firmwareuppdateringarna på grund av "högre omstart än förväntat och annat oförutsägbart systembeteende". Intel sa att du borde vänta på en slutlig UEFI-firmware-patch som har testats ordentligt och inte kommer att orsaka systemproblem. Från och med den 20 februari har Intel gjort det släppte stabila mikrokoduppdateringar för Skylake, Kaby Lake och Coffee Lake - det är 6: e, 7: e och 8: e generationens Intel Core-plattformar. PC-tillverkare bör börja lansera nya UEFI-firmwareuppdateringar snart.
Även om en prestationshit låter dåligt rekommenderar vi starkt att du installerar dessa korrigeringar ändå. Operativsystemutvecklare skulle inte göra så stora förändringar om det inte var ett mycket dåligt fel med allvarliga konsekvenser.
Programvarupatchen i fråga kommer att fixa Meltdown-felet, och vissa programvarupatcher kan hjälpa till att mildra Spectre-felet. Men Spectre kommer sannolikt att fortsätta att påverka alla moderna processorer - åtminstone i någon form - tills ny hårdvara släpps för att fixa den. Det är oklart hur tillverkare kommer att hantera detta, men under tiden är allt du kan göra att fortsätta använda din dator - och ta tröst i det faktum att Spectre är svårare att utnyttja, och något mer bekymmer för cloud computing än slutanvändare med stationära datorer.