Digitalisering
Så skapades säkerhetshålen Meltdown och Spectre
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.
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.