Hva er Spectre og Meltdown-sårbarhetene?

To av de mest publiserte sårbarhetene på 2010-tallet var svært nært knyttet til hverandre. I stedet for å være sikkerhetssårbarheter i programvare, er Spectre og Meltdown sårbarheter i den grunnleggende utformingen av CPUer som gjør problemet vanskeligere å løse. Problemene i seg selv er spesielt alvorlige, og åpner for minneavsløring fra andre applikasjoner og operativsystemet.

Oversikt

CPUer bruker utrolig avansert design for å oppnå den høyeste ytelsen, inkludert teknikker inkludert spekulativ utførelse og grenprediksjon. Spekulativ utførelse er der CPU-en begynner å kjøre en prosess før den vet om den trenger det, i et forsøk på å spare tid når den bestemmer at den må. Branch prediksjon er et undersett av spekulativ utførelse som prøver å forutsi resultatet av en prosess og deretter begynner å beregne neste trinn basert på den forutsagte verdien som lar CPUen utføre en rekke instruksjoner fra rekkefølge.

Spectre-sårbarheten kommer fra implementeringen av disse to funksjonene. Den lar en applikasjon bryte teknikkene for minneisolering som er innebygd i de fleste moderne programvarer som tillater avsløring av minne, inkludert hemmeligheter som passord og krypteringsnøkler. Et av problemene med Spectre er at data kan fås fra applikasjoner som ikke har noen sikkerhetssårbarheter, da kun et skadelig program kreves.

Meltdown-sårbarheten er basert på noen minneteknikker, så vel som det spekulative utførelsessystemet nevnt ovenfor. Den bruker en "rasebetingelse" mellom prosesskjøringen og rettighetskontrollen og lar et skadelig program få tilgang til minnet til andre applikasjoner og operativsystemet.

Tips: En "rasebetingelse" er et problem der en oppgave er ment å stole på en annen, men den riktige utførelsesordren blir ikke håndhevet. Dette kan resultere i at den "andre" prosessen kjører først og bruker uinitialisert minne som burde ha inneholdt resultatet av den "første" prosessen, og lekket det forrige innholdet i det minnet. I dette spesifikke tilfellet skal ikke prosessen kjøres før en tillatelsessjekk har bekreftet at den er tillatt, men tillatelsessjekken kan skje som andre på grunn av ytelsesoptimaliseringer.

Effekter

I midten av 2017 oppdaget og rapporterte flere team uavhengig av hverandre både Meltdown og Spectre privat til CPU-produsenter som utviklet patcher. På grunn av oppdateringene rettet mot ytelsesoptimalisering, endte de opp med å redusere ytelsen til CPUer med opptil 30 % i verste fall, med en ytelsesreduksjon på 2–14 % som er mer representativt for folks opplevelser.

Sikkerhetene påvirket mange x86-prosessorer, IBM POWER-prosessorer og noen ARM-baserte prosessorer. Nedsmelting påvirker maskinvaren som vanligvis finnes på personlige datamaskiner så vel som skyservere. Spectre påvirker personlige datamaskiner, skyservere og mobile enheter. Alle Intel-CPU-er fra 1995 til midten av 2018 var sårbare for problemene (med unntak av Itanium- og Atom-linjene før 2013). AMD CPUer ble ikke påvirket av Meltdown, men var sårbare for Spectre.

Programvarereduksjonsoppdateringer ble utviklet og utgitt gjennom operativsystemleverandører som løser de fleste problemene. Siden midten av 2018 har Intel oppdatert CPU-designet for å inkludere maskinvarebegrensninger for problemene.

Begge problemene kan utnyttes via ondsinnede nettsider med laget JavaScript, så det er veldig viktig å gjøre det sørg for at sikkerhetsoppdateringene er installert på hvert system, selv om ytelsestapet blir alvorlig. Dessverre kan ikke problemene løses med en enkelt oppdatering, siden de er ekstremt komplekse problemer med dyp integrering i maskinvaren, vil sikkerhetsoppdateringer fortsette å rulle ut over tid som nyere varianter oppdaget.