De onderzoekers achter Spectre en Meltdown hebben een manier gevonden om kwetsbaarheden in Intel SGX te misbruiken. Met behulp van return-oriented programming is het gelukt een bestaande applicatie kwaadaardige code te laten uitvoeren. Schadelijke code kan hierdoor in het geheugen geplaatst worden, waarna het door SGX 'beschermd' wordt. Hierdoor wordt het zelfs voor administrators verborgen en kan het niet aangepast worden.
Intel SGX is een techniek om bepaalde processen in het geheugen te beschermen voor andere processen. Hiervoor wordt een bepaald deel van het geheugen afgeschermd, zodat lezen en schrijven van deze data niet mogelijk is. In de praktijk wordt het gebruikt om processen gescheiden te houden in datacentra, de werking van cryptografie te beschermen en bij consumenten bijvoorbeeld voor de drm van een film.
Onderzoekers publiceren een white paper waarin een aanval staat beschreven die misbruik maakt van SGX maar tegelijk ook de techniek gebruiken als bescherming. Als een applicatie gebruik maakt van SGX, dan wordt een deel van het ram afgeschermd zodat alleen de applicatie die het gebruikt ermee kan praten. Om hiervan misbruik te maken zijn diverse beveiligingsmechanismen omzeild, waardoor met return-oriented programming code van een applicatie aangepast kan worden om kwaadaardige code te injecteren.
Door deze manier van werken zorgt SGX ervoor dat de kwaadaardige code alleen zichtbaar is voor de applicatie die misbruikt wordt, waardoor de rest van het systeem er geen weet van heeft. Virusscanners, administrators en andere mechanismen kunnen hierdoor niet ingrijpen, omdat de code geheel verborgen blijft. Daar komt bij dat, hoewel de geheugenenclave lokaal moet zijn, de opdracht om de exploit te starten ook een extern signaal kan zijn, wat misbruik vergemakkelijkt.
Volgens The Register is Intel op de hoogte gesteld van de ontwikkelingen. Voor zover bekend is er nog geen oplossing voor dit lek. De volledige whitepaper is hier te lezen.
Bronnen: The Register, Grax University of Technology