Eerder deze week schreven we dat de Spectre-beveiligingsbug nog uitgevoerd kan worden in sommige gevallen. Google schrijft op zijn beveiligingsblog over een proof-of-concept van een nieuwe Spectre-aanval dat gebruikmaakt van een browser.
De beschrijving is ook op GitHub te vinden, en Google heeft een website opgezet dat het probleem kan demonsteren. Het laat zien dat de browser-based side channel attack data uit het werkgeheugen kan onttrekken met een snelheid van 1 kilobit per seconde met behulp van Chrome 88 en een Intel Core i7 6500U (Skylake). Speculative execution is een processorfunctie waarmee de cpu een taak uitvoert omdat het waarschijnlijk is dat de resultaten nodig zijn. Soms is het uitvoeren dus niet nuttig, maar het laat wel sporen achter.
Een aanvaller kan met de kwaadaardige code de cache timing-eigenschappen onderzoeken, oftewel de verschillen in toegangstijden van delen van de L1- en L2-cache. Nadat dit bekend is kan de hacker een 'Spectre gadget' gebruiken waarmee de eigenschappen van de data in het cachegeheugen kunnen worden achterhaald, doordat het bekend is hoe snel bepaalde gebieden in de cache kan worden opgevraagd. Hierna kunnen cryptografische sleutels worden onttrokken, waar de aanvaller delen van het systeem verder mee zou kunnen ontsleutelen.
Ook zijn er verschillen tussen de verschillende inzetbare timers. Zo kan een timer met 1 milliseconde of langzamer met 60 bits per seconde data ontfrutselen, terwijl een minder stabiele timer met de performance.now()-api op 5 microseconden met een doorvoersnelheid van 8 kilobit per seconde te werk kan gaan.
Er is weliswaar een Intel Skylake-processor gebruikt die in het verleden al voor een groot aantal bugs kwetsbaar was, maar het zou ook op andersoortige processors mogelijk zijn. De onderzoekers noemen bijvoorbeeld Apple's M1-soc, die de arm-instructieset gebruikt.
Bronnen: Google Security Blog, GitHub, Informatiesite aanval, Google (via YouTube)