Dataprosessorer har en enorm designfeil, og alle prøver å ordne det. Bare ett av de to sikkerhetshullene kan lappes, og oppdateringene vil gjøre PC-er (og Mac-maskiner) med Intel-brikker tregere.
Oppdater : En tidligere versjon av denne artikkelen uttalte at denne feilen var spesifikk for Intel-chips, men det er ikke hele historien. Det er faktisk to store sårbarheter her, nå kalt “Meltdown” og “Spectre”. Meltdown er i stor grad spesifikk for Intel-prosessorer, og påvirker alle CPU-modeller fra de siste tiårene. Vi har lagt til mer informasjon om disse to feilene, og forskjellen mellom dem, i artikkelen nedenfor.
Hva er smelting og spekter?
Spectre er en "grunnleggende designfeil" som finnes i alle CPUer på markedet - inkludert de fra AMD og ARM, så vel som Intel. Det er foreløpig ingen programvarefiksing, og det vil sannsynligvis kreve et komplett maskinvaredesign for CPUer over hele linja - men heldigvis er det ganske vanskelig å utnytte, ifølge sikkerhetsforskere. Det er mulig å beskytte mot spesifikke Spectre-angrep, og utviklere jobber med det, men den beste løsningen vil være et redesign av CPU-maskinvare for alle fremtidige brikker.
Meltdown gjør Spectre i utgangspunktet verre ved å gjøre den underliggende feilen mye lettere å utnytte. Det er egentlig en ekstra feil som påvirker alle Intel-prosessorer som er laget de siste tiårene. Det påvirker også noen avanserte ARM Cortex-A-prosessorer, men det påvirker ikke AMD-brikker. Meltdown blir lappet i operativsystemer i dag.
Men hvordan fungerer disse feilene?
I SLEKT: Hva er Linux-kjernen og hva gjør den?
Programmer som kjører på datamaskinen din kjører med forskjellige nivåer av sikkerhetstillatelser. De operativsystemkjernen —For eksempel Windows-kjernen eller Linux-kjernen — har det høyeste tillatelsesnivået fordi den kjører showet. Desktop-programmer har færre tillatelser, og kjernen begrenser hva de kan gjøre. Kjernen bruker prosessorens maskinvarefunksjoner for å håndheve noen av disse begrensningene, fordi det er raskere å gjøre det med maskinvare enn programvare.
Problemet her er med “spekulativ utførelse”. Av ytelsesårsaker kjører moderne prosessorer automatisk instruksjoner som de tror de måtte trenge å kjøre, og hvis de ikke gjør det, kan de ganske enkelt spole tilbake og returnere systemet til dets forrige tilstand. Imidlertid tillater en feil i Intel og noen ARM-prosessorer at prosesser kjører operasjoner som de normalt ikke ville kunne kjøre, ettersom operasjonen utføres før prosessoren gidder å kontrollere om den skal ha tillatelse til å kjøre den eller ikke. Det er Meltdown bug.
Kjerneproblemet med både Meltdown og Spectre ligger i CPU-cachen. Et program kan prøve å lese minne, og hvis det leser noe i hurtigbufferen, vil operasjonen fullføres raskere. Hvis den prøver å lese noe som ikke er i hurtigbufferen, vil det fullføre tregere. Applikasjonen kan se om noe fullføres raskt eller sakte, og mens alt annet under spekulativ utførelse blir ryddet opp og slettet, kan ikke tiden det tok å utføre operasjonen skjules. Den kan deretter bruke denne informasjonen til å lage et kart over hva som helst i datamaskinens minne, en om gangen. Cachingen setter fart på ting, men disse angrepene utnytter optimaliseringen og gjør den til en sikkerhetsfeil.
I SLEKT: Hva er Microsoft Azure, uansett?
Så i verste fall kan JavaScript-kode som kjøres i nettleseren din effektivt lese minne den ikke burde ha tilgang til, for eksempel privat informasjon i andre applikasjoner. Skyleverandører som Microsoft Azure eller Amazon Web Services som er vert for flere forskjellige selskapets programvare på forskjellige virtuelle maskiner på samme maskinvare, er spesielt utsatt. En persons programvare kan i teorien spionere på ting i et annet selskaps virtuelle maskin. Det er en oversikt over skillet mellom applikasjoner. Lappene for Meltdown betyr at dette angrepet ikke vil være like lett å trekke ut. Dessverre betyr å sette disse ekstra kontrollene på plass at noen operasjoner vil være tregere på berørt maskinvare.
Utviklere jobber med programvareoppdateringer som gjør Spectre-angrep vanskeligere å utføre. For eksempel Googles Chrome nye Site Isolation-funksjon bidrar til å beskytte mot dette, og Mozilla har allerede laget noen raske endringer i Firefox . Microsoft gjorde også noen endringer for å beskytte Edge og Internet Explorer i Windows Update som nå er tilgjengelig.
Hvis du er interessert i de dype detaljene på lavt nivå om både Meltdown og Spectre, kan du lese den tekniske forklaringen fra Googles Project Zero teamet, som oppdaget feilene i fjor. Mer informasjon er også tilgjengelig på MeltdownAttack.com nettsted.
Hvor mye tregere vil PC-en min være?
Oppdater : 9. januar ga Microsoft ut noen informasjon om ytelsen til lappen . I følge Microsoft viser Windows 10 på PC-er fra 2016 med Skylake, Kabylake eller nyere Intel-prosessorer "ensifrede avmatninger" de fleste brukere ikke burde legge merke til. Windows 10 på PC-er fra 2015-årene med Haswell eller en eldre CPU kan se større nedgangstider, og Microsoft "forventer at noen brukere vil merke en reduksjon i systemytelsen".
Windows 7 og 8 brukere er ikke like heldige. Microsoft sier at de "forventer at de fleste brukere vil merke en reduksjon i systemytelsen" når de bruker Windows 7 eller 8 på en PC fra 2015 med Haswell eller en eldre CPU. Ikke bare bruker Windows 7 og 8 eldre CPUer som ikke kan kjøre oppdateringen like effektivt, men "Windows 7 og Windows 8 har flere overganger mellom brukerkjerne på grunn av eldre designbeslutninger, for eksempel all gjengivelse av font som skjer i kjernen" , og dette bremser også ting.
Microsoft planlegger å utføre sine egne referanser og gi ut flere detaljer i fremtiden, men vi vet ikke nøyaktig hvor mye Meltdown-oppdateringen vil påvirke den daglige PC-bruken ennå. Dave Hansen, en Linux-kjerneutvikler som jobber hos Intel, skrev opprinnelig at endringene som gjøres i Linux-kjernen, vil påvirke alt. Ifølge ham ser de fleste arbeidsbelastningene en ensifret nedgang, med omtrent 5% nedgang å være typisk. Det verste tilfellet var en nedgang på 30% på en nettverkstest, men det varierer fra oppgave til oppgave. Dette er imidlertid tall for Linux, så de gjelder ikke nødvendigvis for Windows. Løsningen bremser systemanrop, så oppgaver med mange systemanrop, for eksempel kompilering av programvare og kjøring av virtuelle maskiner, vil trolig redusere mest. Men hver programvare bruker noen systemanrop.
Oppdater : Fra 5. januar, TechSpot og Guru3D har utført noen referanser for Windows. Begge sidene konkluderte med at stasjonære brukere ikke har mye å bekymre seg for. Noen PC-spill ser en liten nedgang på 2% med oppdateringen, som ligger innenfor feilmarginen, mens andre ser ut til å utføre identisk. 3D-gjengivelse, produktivitetsprogramvare, filkomprimeringsverktøy og krypteringsverktøy virker upåvirket. Imidlertid viser referanser for filer som leses og skrives merkbare forskjeller. Hastigheten til raskt å lese en stor mengde små filer falt rundt 23% i Techspots referanser, og Guru3D fant noe lignende. På den andre siden, Tom's Hardware fant bare et gjennomsnittlig fall på 3,21% i ytelsen med en lagringstest for forbrukerapplikasjoner, og hevdet at de "syntetiske referanseverdiene" som viser mer signifikante fall i hastighet, ikke representerer bruk i den virkelige verden.
Datamaskiner med en Intel Haswell-prosessor eller nyere har en PCID (Process-Context Identifiers) -funksjon som hjelper oppdateringen til å fungere bra. Datamaskiner med eldre Intel-prosessorer kan se en større hastighetsnedgang. Ovennevnte referanser ble utført på moderne Intel-prosessorer med PCID, så det er uklart hvordan eldre Intel-prosessorer vil prestere.
Intel sier at avmatningen "ikke burde være betydelig" for den gjennomsnittlige databrukeren, og så langt ser det sant ut, men visse operasjoner ser en avmatning. For skyen, Google , Amazon , og Microsoft alle sa i utgangspunktet det samme: For de fleste arbeidsmengder har de ikke sett noen meningsfylt ytelsespåvirkning etter å ha rullet ut lappene. Microsoft sa at "et lite sett med [Microsoft Azure] kunder kan oppleve en viss påvirkning på nettverksytelsen." Disse uttalelsene gir rom for noen arbeidsbelastninger for å se betydelige avmatninger. Episke spill beskyldte Meltdown-oppdateringen for å forårsake serverproblemer med spillet Fortnite og la ut en graf som viser en enorm økning i CPU-bruken på skyserverne etter at oppdateringen ble installert.
Men en ting er klar: Datamaskinen din blir definitivt ikke raskere med denne oppdateringen. Hvis du har en Intel-prosessor, kan den bare bli tregere - selv om den er litt.
Hva må jeg gjøre?
I SLEKT: Hvordan sjekke om PCen eller telefonen din er beskyttet mot smelting og spekter
Noen oppdateringer for å fikse Meltdown-problemet er allerede tilgjengelige. Microsoft har utstedt en nødoppdatering til støttede versjoner av Windows via Windows Update 3. januar 2018, men det har ikke gjort det til alle PCer ennå. Windows Update som løser Meltdown og legger til noen beskyttelser mot Spectre heter CP 4056892 .
Apple allerede lappet problemet med macOS 10.13.2, utgitt 6. desember 2017. Chromebooks med Chrome OS 63, som ble utgitt i midten av desember, er allerede beskyttet. Oppdateringer er også tilgjengelige for Linux-kjernen.
I tillegg, sjekk om PCen din har BIOS / UEFI-oppdateringer tilgjengelig . Mens Windows-oppdateringen løste Meltdown-problemet, er CPU-mikrocodeoppdateringer fra Intel levert via en UEFI- eller BIOS-oppdatering nødvendig for å fullstendig muliggjøre beskyttelse mot et av Spectre-angrepene. Du bør også oppdatere nettleseren din - som vanlig - ettersom nettlesere også legger til noen beskyttelser mot Spectre.
Oppdater : 22. januar, Intel kunngjorde at brukere skal slutte å distribuere de første UEFI-firmwareoppdateringene på grunn av "høyere omstart enn forventet og annen uforutsigbar systematferd". Intel sa at du burde vente på en endelig UEFI-firmwareoppdatering som er riktig testet og ikke vil forårsake systemproblemer. Per 20. februar har Intel gjort det utgitt stabile mikrokodeoppdateringer for Skylake, Kaby Lake og Coffee Lake - det er 6., 7. og 8. generasjons Intel Core-plattformer. PC-produsenter bør snart lansere nye UEFI-firmwareoppdateringer.
Selv om en ytelseshit høres dårlig ut, anbefaler vi på det sterkeste å installere disse oppdateringene uansett. Operativsystemutviklere ville ikke gjøre så store endringer med mindre dette var en veldig dårlig feil med alvorlige konsekvenser.
Programvaren oppdateringen vil løse Meltdown feilen, og noen programvareoppdateringer kan bidra til å redusere Spectre feilen. Men Spectre vil sannsynligvis fortsette å påvirke alle moderne CPUer - i det minste i en eller annen form - til ny maskinvare blir utgitt for å fikse det. Det er uklart hvordan produsenter vil håndtere dette, men i mellomtiden er alt du kan gjøre å fortsette å bruke datamaskinen din - og trøste deg med at Spectre er vanskeligere å utnytte, og noe mer bekymringsfullt for cloud computing enn sluttbrukere med stasjonære PC-er.