Så skapades säkerhetshålen Meltdown och Spectre

2018-01-16 06:00  

Tekniken gör våra datorer, servrar och telefoner snabbare. Men en allvarlig designmiss i moderna processorer får dem att läcka hemlig information – och i princip alla datorer är drabbade. Så här fungerar buggarna Meltdown och Spectre.

Teknikbranscher har ett ständigt sug efter snabbare datorer, och chiptillverkarna sliter hårt för att leverera. Det är en av de här åtgärderna för att öka prestandan som ligger bakom de allvarliga buggarna Meltdown och Spectre som avslöjades nyligen.

Säkerhetshålen finns i processorn, den komponent i en dator eller telefon som kör all kod. Det kanske är lätt att tro att processorn kör all kod i den ordning den matas in, men så är inte fallet. Moderna processorer vill gärna ligga steget före.

- Man vill få processor att gå så snabbt de bara kan. För att gå snabbt vill man att så många av kretsarna det går används hela tiden, säger Mads Dam som är professor i teoretisk datalogi vid KTH.

Därför använder dagens processorer en teknik som kallas för "spekulativ exekvering". En processor med flera kärnor har ofta kretsar som ligger och väntar och därmed beräkningskraft över som inte används. Den kan istället utnyttjas för att försöka gissa vilken kod som det är mest troligt att programmet kommer att köra härnäst.

Gissar processorn rätt går processen snäppet snabbare. Gissar den fel slänger processorn spekulationerna och går vidare.

Problemet är att de här spekulationerna inte genomgår någon säkerhetskontroll. Hårdvaran i datorn är annars bra på att se till att ett program bara får läsa den data som det har behörighet att läsa. Men processorn gissningar kontrolleras först om de körs.

Läs mer: Säkerhetmiss gör det busenkelt att knäcka lösenordet på datorn

Så de kodrader som slängs utsätts aldrig för någon kontroll, och kan därmed läsa data som de normalt sett inte skulle ha kommit åt utan att datorn reagerar. Tanken från tillverkarna verkar vara att det inte fanns någon anledning att göra en säkerhetskontroll, eftersom kodraderna ändå slopades.

Det är här Meltdown och Spectre kommer in i bilden. De visar på två brister i systemet. Dels att det visst går att snappa upp de slopade kodraderna. Dels att det går att manipulera processorns "gissningar" så att de medvetet försöker hämta data från andra program.

Om det finns ett skadeprogram på datorn eller mobilen som drar nytta av buggarna skulle det kunna spionera på allt som händer i alla andra program. Det skulle vara möjligt att stjäla dina lösenord, se vad du knappar in för kreditkortsnummer eller skapa kopior av bilderna du visar.

Spekulativ exekvering används av i princip samtliga avancerade processorer på marknaden. Intel, den överlägset största tillverkaren, har använt den på i stort sett alla processorer som släppts sedan 1995.

Men även konkurrenter som AMD, Arm och IBM använder versioner av tekniken. Utan att överdriva går det att säga att det rör sig om merparten av alla datorer, servrar och telefoner som tillverkats de senaste decennierna.

Att så många olika teknikföretag gjort samma misstag i sina processorer visar att det rör sig om en grundläggande miss i designen. Det säger säkerhetsexperten Patrik Fältström som är forsknings- och utvecklingschef på Netnod.

- Olika leverantörer har i olika implementeringar av samma idé och har råkat olika illa ut, men det är ett designproblem, säger Patrik Fältström.

Buggarna upptäcktes av flera forskarlag sommaren 2017, och teknikbolagen har i det tysta arbetat hårt med att åtgärda dem.

Det finns redan uppdateringar som åtminstone delvis åtgärdar felen. Men det kommer att dröja innan det finns nya processorer på marknaden som inte har buggarna inbyggda.

- För vanliga användare är det precis som med vanliga buggar som uppträder i programvara att man måste uppgradera. Problemet blir när leverantörer börjar komma med processorer som är korrekta. Det finns fortfarande miljarder processorer på marknaden som är felaktiga, och då blir det svårt för köpare att veta att de köper en processor av den nya generationen. Det blir viktigt att tillverkarna markerar att produkterna innehåller en ny design, menar Patrik Fältström.

I vissa fall kan uppdateringarna dessutom påverka datorns prestanda. I värsta fall kan det handla om datorer som arbetar 30 procent långsammare, men för merparten verkar påverkan vara betydligt blygsammare.

Det påverkas både av vilken processor som sitter i datorn och vilket operativsystem som körs, men för de flesta konsumenter handlar det om en minskning på någon procent.

Så skyddar du dig mot Meltdown och Spectre

Det enskilt viktigaste är att hålla mobiler och datorer uppdaterade med den senaste versionen av operativsystemet och andra program. Det gäller oavsett om du använder Mac OS, Linux eller Windows på datorn och Android eller IOS på mobiltelefonen eller surfplattan.

Spekulativ exekvering är inbyggt i själva hårdvaran, så även en helt ny dator har buggarna. Det kommer att krävas en ny generation av processorer där funktionen designas om.

Simon Campanello

Kommentarer

Välkommen att säga din mening på Ny Teknik.

Principen för våra regler är enkel: visa respekt för de personer vi skriver om och andra läsare som kommenterar artiklarna. Alla kommentarer modereras efter publiceringen av Ny Teknik eller av oss anlitad personal.

  Kommentarer

Debatt