Intel och andra processortillverkare bygger sedan många år tillbaks in dedikerade hårdvarufunktioner för kryptering av mjukvara. Syftet med funktionerna är att hålla känslig information skyddad på hårdvarunivå där den inte kan manipuleras på mjukvarunivå.

Intels skydd på hårdvarunivå kallas Software Guard Extensions (SGX), vilket är en dedikerad del av processorn som skyddas med instruktioner för just kryptering. SGX introducerades 2015 i samband med sjätte generationens Core-processorer på Skylake-arkitekturen. Säkerhetsforskare avtäcker nu att SGX är sårbar för en form av attack som kan läcka kryptografiska nycklar och potentiellt leda till allvarliga minnesfel.

Plundervolt1.jpg
Plundervolt2.jpg

SGX ska säkerställa att otillbörlig mjukvara inte kan lura till sig högre åtkomsträttigheter i systemet. Den nya sårbarheten heter Plundervolt och lyckas som namnet antyder manipulera SGX-funktionen så att den läcker de kryptografiska nycklar som krävs för att få tillgång till högre åtkomsträttigheter i systemet.

Angreppet bygger på manipulering av processorns spänningsskalning, funktionen som kontrollerar spänningsmängden som matas till processorn. Justering av spänningsskalning är samma funktion som används vid överklockning av processorn. Gruppen som avtäckt sårbarheten lyfter också fram att attacken kan introducera minnesfel som har potentialen att användas i andra ännu inte identifierade sårbarheter.

Given a pair of correct and faulty ciphertext on the same plaintext, this attack is able to recover the full 128-bit AES key with a computational complexity of only 232+256 encryptions on average. We have run this attack in practice and it only took a couple of minutes to extract the full AES key from the enclave, including both fault injection and key computation phases.

Sårbarheten kräver att angriparen kan exekvera kod med höjda åtkomsträttigheter på systemet, men kräver inte fysisk åtkomst till datorn vilket öppnar upp för fjärrattacker. Säkerhetsforskarna som upptäckte sårbarheten rapporterade den till Intel inför det officiella avtäckandet. Intel har publicerat uppdaterad mikrokod och BIOS-uppdateringar som mildrar, men inte fullt åtgärdar, sårbarheten.

While there is a long line of work on dismantling SGX's confidentiality guarantees as well as exploiting classical memory safety vulnerabilities in enclaves, Plundervolt represents the first attack that directly violates SGX's integrity guarantees for functionally correct enclave software. By directly breaking ISA-level processor semantics, Plundervolt ultimately undermines even relaxed "transparent enclaved execution" paradigms that solely require integrity of enclave computations while assuming unbounded side-channel leakage.

Sårbarheter relaterade till manipulering av processorers hårdvarukryptering existerar sedan tidigare, men Plundervolt är signifikant i det att det är den första sårbarheten som helt avlägsnar de skyddsmekanismer som säkrar den data processorn bearbetar. Med Plundervolt som bas kan mer allvarliga attacker utformas i framtiden.

Intel förbereder uppdateringar för processorer i Core- och Xeon-familjerna med uppdateringsnumret INTEL-SA-00289 som ska göras tillgänglig inom kort. Intel betecknar här allvarlighetsgraden som hög. Sårbarhetens säkerhetsbeteckning är CVE-2019-11157.

För de allra flesta är sårbarheten i SGX dock ett icke-problem då funktionen som standard är avstängd och aktiveras genom ändringar i BIOS. Att angripare också måste få höjda åtkomsträttigheter är en annan hög tröskel som i sig kräver att systemet är angripet sedan tidigare.

Läs mer om Intels sårbarheter: