Hvad er Spectre og Meltdown-sårbarhederne?

click fraud protection

To af de mest omtalte sårbarheder i 2010'erne var meget tæt forbundet med hinanden. I stedet for at være sikkerhedssårbarheder i software, er Spectre og Meltdown sårbarheder i det grundlæggende design af CPU'er, hvilket gør problemet sværere at løse. Selve problemerne er særligt alvorlige, hvilket giver mulighed for afsløring af hukommelse fra andre applikationer og operativsystemet.

Oversigt

CPU'er bruger utroligt avancerede designs for at opnå den højeste ydeevne, inklusive teknikker inklusive spekulativ udførelse og grenforudsigelse. Spekulativ udførelse er, hvor CPU'en begynder at køre en proces, før den ved, om den skal, i et forsøg på at spare tid, når den bestemmer, at den skal. Branch-forudsigelse er et undersæt af spekulativ eksekvering, der forsøger at forudsige resultatet af en proces og derefter begynder at beregne det næste trin baseret på den forudsagte værdi, hvilket tillader CPU'en at udføre en række instruktioner ud fra bestille.

Spectre-sårbarheden kommer fra implementeringen af ​​disse to funktioner. Det giver et program mulighed for at bryde hukommelsesisoleringsteknikkerne, der er indbygget i de fleste moderne software, hvilket tillader afsløring af hukommelse, herunder hemmeligheder som adgangskoder og krypteringsnøgler. Et af problemerne med Spectre er, at data kan fås fra applikationer, der ikke har nogen sikkerhedssårbarheder, da kun et ondsindet program er påkrævet.

Meltdown-sårbarheden er baseret på nogle hukommelsesteknikker, såvel som det spekulative eksekveringssystem, der er nævnt ovenfor. Det bruger en "race-tilstand" mellem procesudførelsen og privilegiekontrollen og tillader et ondsindet program at få adgang til hukommelsen i andre programmer og operativsystemet.

Tip: En "race-betingelse" er et problem, hvor en opgave formodes at være afhængig af en anden, men den korrekte udførelsesordre bliver ikke håndhævet. Dette kan resultere i, at den "anden" proces kører først og bruger ikke-initialiseret hukommelse, der burde have indeholdt resultatet af den "første" proces, og lækker det tidligere indhold af denne hukommelse. I dette specifikke tilfælde bør processen ikke køre, før et tilladelsestjek har bekræftet, at det er tilladt, men tilladelsestjekket kan ske for det andet på grund af ydeevneoptimeringer.

Effekter

I midten af ​​2017 opdagede og rapporterede flere teams uafhængigt af hinanden både Meltdown og Spectre privat til CPU-producenter, som udviklede patches. På grund af patches, der var rettet mod ydeevneoptimering, endte de med at reducere CPU'ernes ydeevne med op til 30 % i de værst tænkelige scenarier, hvor et præstationsfald på 2-14 % er mere repræsentativt for folks erfaringer.

Sårbarhederne påvirkede mange x86 CPU'er, IBM POWER CPU'er og nogle ARM-baserede CPU'er. Nedsmeltning påvirker den hardware, der typisk findes i personlige computere såvel som cloud-servere. Spectre påvirker personlige computere, cloud-servere og mobile enheder. Alle Intel-CPU'er fra 1995 til midten af ​​2018 var sårbare over for problemerne (med undtagelse af Itanium- og Atom-linjerne før 2013). AMD CPU'er blev ikke påvirket af Meltdown, men var sårbare over for Spectre.

Programrettelser til begrænsning af software blev udviklet og frigivet gennem udbydere af operativsystemer, der løser størstedelen af ​​problemerne. Siden midten af ​​2018 har Intel opdateret deres CPU-design til at inkludere hardware-reduktioner for problemerne.

Begge problemer kan udnyttes via ondsindede websider med udformet JavaScript, så det er virkelig vigtigt at sørg for, at sikkerhedsrettelserne er installeret på hvert system, selvom ydeevnetabet vil være alvorlig. Desværre kan problemerne ikke løses med en enkelt patch, da de er ekstremt komplekse problemer med dyb integration i hardwaren, vil sikkerhedsrettelser fortsætte med at rulle ud over tid, som nyere varianter er opdaget.