Intel har under de gångna året plågats av en diger mängd sårbarheter där majoriteten är relaterade till att användarens data läcks via utnyttjande av spekulativ exekvering. Åtgärder, som består i både reviderad hårdvara och uppdaterad mikrokod och mjukvara, drabbar processorns prestanda och täcker inte alltid samtliga attackytor för sårbarheten.

Åtgärder för dessa sårbarheter är bara ett säkerhetsrelaterat område Intel arbetar på för närvarande. En befintlig säkerhetsmetod som lanseras i förbättrad version (PDF) i samband med introduktionen av Tiger Lake-generationens processorer är något som kallas Control-Flow Enforcement (CET). Det är en mjukvarubaserad metod som i samarbete med hårdvaran ska förhindra att angripare utnyttjar en angreppsmetod som kallas return-oriented programming (ROP).

Intel-CET-scaled.jpg

ROP är en metod för att läcka data som utvecklades som svar på säkerhetsmekanismen Data Execution Prevention (DEP), vilken AMD och Intel introducerade bolagens processorer under 2004 varpå stöd också introducerades i Microsoft Windows. DEP implementerar ett skydd mot vad som kallas "buffer overrun", där en angripare skriver mer data till processorns buffer-utrymme än vad denna kan hantera, varpå data "läcks" till närliggande minnesutrymme.

Nästa gång operativsystemet når det närliggande minnesutrymmet är informationen där inte den väntade, och istället har där placerats skadlig kod som exekveras. Med DEP förhindras denna typ av attacker genom att inte tillåta exekvering av kod i de delar av minnesutrymmet som är åtkomligt av användare. Angripare kringgick detta skydd med ROP-metoden där instruktioner som redan finns i minnet manipuleras på ett sätt som möjliggör exekvering av skadlig kod.

Med CET kontrar Intel i sin tur ROP-metoden genom att kapa processorns exekveringsflöde, vilket åstadkoms med hjälp av de två teknikerna shadow stack och indirect branch stacking. Med shadow stack skapas en andra version av minnesflödet vilken agerar kontrollflöde. Kontrollflödet skapar en översikt över de ursprungliga minnesadresserna och återställer dessa till deras ursprungliga värden om det upptäcks att de manipulerats inför exekvering.

Då kontrollflödet endast lagrar minnesadresser blir det extra minnesutrymmet som krävs minimalt. Den andra funktionen, indirect branch tracking, skyddar istället mot två metoder som kallas jump-oriented programming och call-oriented programming. På samma sätt som ROP försöker dessa metoder manipulera kod som utförs i sekvens, och den huvudsakliga skillnaden är att den manipulerade koden hanteras i en annan del av processorn.

Det Intel nu avtäcker är version 3.0 av CET, där den första versionen introducerades redan år 2016. I Intels ursprungliga dokumentation (PDF) runt sårbarheterna Spectre och Meltdown noterade företaget att CET "tillför rejält ökat skydd för minnesanvändning, och försvårar attacker som utnyttjar branch target injection-metoden". I Intels beskrivning av CET 3.0 hävdar företaget inte att tekniken är ett fullödigt skydd mot spekulativa attacker som Meltdown och Spectre.

Stöd för CET 3.0 finns på plats i nyligen lanserade Windows 10 version 2004. Säkerhetsmekanismen stöds där så fort processorerna i Tiger Lake-familjen lanseras, vilket sker under sommaren år 2020.

Läs mer om Intels säkerhetsbekymmer: