Beveiligingsonderzoekers hebben de details bekendgemaakt van kwetsbaarheden in moderne processors, waarover in de afgelopen dagen werd gespeculeerd. De zogenaamde Spectre- en Meltdown-aanvallen geven toegang tot gevoelige gegevens in het geheugen van systemen.
De onderzoekers hebben hun bevindingen gepubliceerd in de vorm van een website en papers over Meltdown en Spectre. De eerste aanval heeft gevolgen voor Intel-cpu's vanaf 1995 en maakt gebruik van de optimalisatietechniek speculative execution om kernelgeheugen uit te lezen op x86-systemen. Dat is mogelijk met behulp van processen die in userspace draaien. Dat betekent dat de aanval geheugenisolatie omzeilt. Meltdown is niet afhankelijk van een lek in software en werkt daarom onafhankelijk van het besturingssysteem van de gebruiker.
Een van de ontdekkers van de kwetsbaarheid, Michael Schwartz van de Technische Universiteit Graz, toont een toepassing van Meltdown om wachtwoorden in real time te stelen. Voor cloudproviders betekent de aanval dat isolatie tussen verschillende gastsystemen op dezelfde host omzeild kan worden, aldus de onderzoekers. Dat geldt niet voor volledig gevirtualiseerde systemen, maar voor containers met gedeelde kernel. Een aanval zou moeilijk te detecteren zijn en geen sporen achterlaten.

De tweede bug, Spectre, is breder dan Meltdown en treft dan ook een groter aantal cpu-fabrikanten, zoals AMD, Intel en ARM. Deze maakt het mogelijk voor een applicatie in userland om het geheugen van een ander proces uit te lezen. In de bijbehorende paper beschrijven de onderzoekers een Spectre-proof-of-concept-implementatie in JavaScript, die ze hebben getest in de Chrome-browser van Google. De code maakt het mogelijk om het geheugen van het proces waarin deze wordt uitgevoerd, uit te lezen. Spectre maakt eveneens misbruik van speculative execution. Het succes van de aanval is volgens de ontdekkers voornamelijk afhankelijk van het feit of de aanvaller code kan uitvoeren op dezelfde cpu als het doelwit.
Voor Meltdown is het mogelijk om een oplossing te bieden in de vorm van patches voor onder meer Windows, macOS en Linux. Microsoft meldt dat de patches van 3 januari afhankelijk zijn van de aanwezige antivirussoftware van de gebruiker, waardoor systemen met incompatibele software de patches niet ontvangen. Voor Spectre is het moeilijker om een omvattende oplossing te bieden en systemen te beveiligen. De onderzoekers stellen dat een oplossing in veel gevallen gezocht moet worden in aanpassingen van processorontwerpen en updates voor isa's.
Spectre wordt ook wel aangeduid als CVE-2017-5753 en CVE-2017-5715, terwijl Meltdown alleen bekendstaat als CVE-2017-5754. Onderzoekers van Googles beveiligingsproject hebben een blogpost aan de kwetsbaarheden gewijd, waarin ze verschillende proof-of-concepts bespreken van verschillende aanvalsvarianten. AMD heeft een bericht op zijn website gepubliceerd, waarin het ingaat op die varianten en de kwetsbaarheid van zijn processors. Daarin claimt de fabrikant niet of nauwelijks vatbaar te zijn voor de CVE's eindigend op 5754 en 5715, die toebehoren aan Meltdown en een van de Spectre-kwetsbaarheden. Over CVE-2017-5753 zegt AMD alleen dat dit verholpen kan worden met patches. De Project Zero-onderzoekers zeggen dat ze een proof-of-concept van die zogenaamde bounds check bypass met succes op AMD-processors hebben uitgevoerd. In het eerder genoemde Spectre-paper lukte het om de aanval op een Ryzen-cpu uit te voeren. Voor ARM is er ook een advisory gepubliceerd.