Onderzoekers hebben een Spectre-sidechannelaanval op Intels Software Guard Extensions beschreven waarmee het geheugen van beschermde SGX-enclaves uitgelezen kan worden. Intel komt met een patch voor de sdk.

 

De onderzoekers beschrijven hun aanval in een paper met de titel SgxPectre Attacks: Leaking Enclave Secrets via Speculative Execution en Intel verklaart tegen ZDNet dat op 16 maart een nieuwe SGX-toolkitmet patch verschijnt. De sidechannelaanval maakt een einde aan de vertrouwelijkheid die SGX moet bieden en volgens de onderzoekers lijkt het erop dat elk programma dat gebruikmaakt van SGX-enclaves kwetsbaar is voor SgxPectre.

Software Guard Extensions is instructiecode voor recente Intel-processors die voor enclaves zorgt: afgeschermde delen van het geheugen voor gevoelige code, waar zelfs het besturingssysteem of hypervisors niet direct bij mogen. Met behulp van de SGX-sdk kunnen ontwikkelaars applicaties maken die code in de enclaves kunnen laten draaien.

De aanvallers ontdekten fouten in de implementatie van branche prediction, een eigenschap van alle moderne cpu's om de werking te versnellen: code van buiten de enclave bleek gebruikt te kunnen worden om de code binnen de enclave waar de branche prediction zich op richt, te manipuleren. Bovendien bleken veranderingen in de cachestaat te achterhalen te zijn, wat uit te buiten is voor een geslaagde aanval.

Om branch target injection-aanvallen zoals Spectre tegen te gaan heeft Intel microcode voor processors uitgebracht, met de technieken Indirect Branch Restricted Speculation, Single Thread Indirect Branch Predictors en Indirect Branch Predictor Barrier. De gaan ook SgxPectre-aanvallen tegen, maar applicaties die gebruikmaken van SGX gaan standaard niet na of de processor de laatste versie van de micocode draait. In theorie zou een aanvaller de patches van Intel kunnen terugdraaien om een SgxPectre-aanval te doen slagen.

De onderzoekers hebben een scanningtool uitgebracht om kwetsbare code in enclave-programma's te vinden. Ze zijn van plan om exploits op een later moment vrij te geven. Intel raadt ontwikkelaars aan de sdk-toolkit te gebruiken die 16 maart verschijnt en die applicaties bestand maakt tegen de beschreven aanval.

Reacties mogelijk gemaakt door CComment