Nieuwe “GoFetch”-kwetsbaarheid in chips uit de Apple M-serie lekt geheime coderingssleutels

Een nieuwe tekortkoming in de beveiliging die is ontdekt in chips uit de Apple M-serie zou kunnen worden misbruikt om geheime sleutels te extraheren die worden gebruikt tijdens cryptografische bewerkingen.

Nagesynchroniseerd Ga halenHet beveiligingslek heeft betrekking op een microarchitecturale zijkanaalaanval die gebruik maakt van een functie die bekend staat als data memory-dependent prefetcher (DMP) om zich te richten op cryptografische implementaties in constante tijd en gevoelige gegevens uit de CPU-cache vast te leggen. Apple werd in december 2023 op de hoogte gebracht van de bevindingen.

Prefetchers zijn een hardware-optimalisatietechniek die voorspelt welke geheugenadressen een momenteel actief programma in de nabije toekomst zal gebruiken en de gegevens dienovereenkomstig uit het hoofdgeheugen in de cache haalt. Het doel van deze aanpak is om de latentie van de geheugentoegang van het programma te verminderen.

DMP is een type prefetcher dat rekening houdt met de inhoud van het geheugen op basis van eerder waargenomen toegangspatronen bij het bepalen wat er vooraf moet worden opgehaald. Dit gedrag maakt het rijp voor op cache gebaseerde aanvallen die de prefetcher ertoe verleiden de inhoud te onthullen die verband houdt met een slachtofferproces, die anders ontoegankelijk zou zijn.

GoFetch bouwt ook voort op de fundamenten van een andere microarchitecturale aanval genaamd Augury, die DMP gebruikt om speculatief gegevens te lekken.

“DMP activeert (en probeert te derefereren) gegevens die uit het geheugen zijn geladen en die 'eruitzien' als een aanwijzer', zegt een team van zeven academici van de University of Illinois Urbana-Champaign, University of Texas, Georgia Institute of Technology, University of California, Berkeley , zeiden de Universiteit van Washington en de Carnegie Mellon Universiteit.

Cyberbeveiliging

“Dit is expliciet in strijd met een vereiste van het constant-time programmeerparadigma, dat het mixen van gegevens en geheugentoegangspatronen verbiedt.”

Net als bij andere soortgelijke aanvallen vereist de opzet dat het slachtoffer en de aanvaller twee verschillende processen op dezelfde machine en op hetzelfde CPU-cluster hebben. Concreet zou de bedreigingsacteur een doelwit kunnen verleiden een kwaadaardige app te downloaden die GoFetch exploiteert.

Bovendien kan de aanvaller, hoewel de aanvaller en het slachtoffer geen geheugen delen, alle beschikbare microarchitecturale zijkanalen monitoren, bijvoorbeeld de cachelatentie.

GoFetch laat in een notendop zien dat “zelfs als een slachtoffer gegevens correct van adressen scheidt door het constante-tijdparadigma te volgen, de DMP namens het slachtoffer geheimafhankelijke geheugentoegang zal genereren”, waardoor het vatbaar wordt voor aanvallen met sleutelextractie.

Met andere woorden: een aanvaller zou de prefetcher kunnen inzetten om de gegevens die vooraf worden opgehaald te beïnvloeden, waardoor de deur wordt geopend voor toegang tot gevoelige gegevens. De kwetsbaarheid heeft ernstige gevolgen omdat het de beveiligingsbescherming die door constant-time programmering tegen getimede zijkanaalaanvallen wordt geboden, volledig teniet doet.

“GoFetch laat zien dat de DMP aanzienlijk agressiever is dan eerder werd gedacht en dus een veel groter veiligheidsrisico met zich meebrengt”, merkten de onderzoekers op.

De fundamentele aard van de fout betekent dat deze niet kan worden opgelost in bestaande Apple CPU's, waardoor ontwikkelaars van cryptografische bibliotheken stappen moeten ondernemen om omstandigheden te voorkomen die GoFetch in staat stellen te slagen, iets dat ook een prestatieverlies zou kunnen veroorzaken. Gebruikers worden daarentegen aangespoord om hun systemen up-to-date te houden.

Op Apple M3-chips is echter gebleken dat het inschakelen van data-onafhankelijke timing (DIT) DMP uitschakelt. Dit is niet mogelijk op M1- en M2-processors.

“Apple Silicon biedt data-onafhankelijke timing (DIT), waarbij de processor bepaalde instructies in een constante hoeveelheid tijd voltooit”, merkt Apple op in zijn documentatie. “Als DIT is ingeschakeld, gebruikt de processor de langere, in het slechtste geval mogelijke tijd om de instructie te voltooien, ongeacht de invoergegevens.”

De iPhone-maker benadrukte ook dat, hoewel het inschakelen van DIT op timing gebaseerde lekkage voorkomt, ontwikkelaars wordt aanbevolen om zich te houden aan “voorwaardelijke vertakkingen en geheugentoegangslocaties op basis van de waarde van de geheime gegevens” om effectief te voorkomen dat een tegenstander geheimen kan afleiden door het in de gaten houden van de microarchitecturale staat van de processor.

Cyberbeveiliging

De ontwikkeling komt nadat een andere groep onderzoekers van de Technische Universiteit van Graz in Oostenrijk en de Universiteit van Rennes in Frankrijk een nieuwe aanval op de grafische verwerkingseenheid (GPU) heeft gedemonstreerd die populaire browsers en grafische kaarten treft, waarbij speciaal vervaardigde JavaScript-code in een website wordt gebruikt om af te leiden gevoelige informatie zoals wachtwoorden.

De techniek, die geen gebruikersinteractie vereist, wordt beschreven als de eerste GPU-cache side-channel aanval vanuit de browser.

“Omdat GPU-computing ook voordelen kan bieden voor berekeningen binnen websites, hebben browserleveranciers besloten om de GPU bloot te stellen aan JavaScript via API's zoals WebGL en de komende WebGPU-standaard”, aldus de onderzoekers.

“Ondanks de inherente beperkingen van de JavaScript- en WebGPU-omgeving, construeren we nieuwe aanvalsprimitieven die cache side-channel-aanvallen mogelijk maken met een effectiviteit die vergelijkbaar is met traditionele CPU-gebaseerde aanvallen.”

Een bedreigingsacteur zou het kunnen bewapenen door middel van een drive-by-aanval, waardoor de extractie van AES-sleutels of het minen van cryptocurrencies mogelijk wordt terwijl gebruikers op internet surfen. Het heeft invloed op alle besturingssystemen en browsers die de WebGPU-standaard implementeren, evenals op een breed scala aan GPU-apparaten.

Als tegenmaatregelen stellen de onderzoekers voor om de toegang tot de grafische kaart van het hostsysteem via de browser te behandelen als een gevoelige bron, waarbij websites vóór gebruik om toestemming van de gebruiker moeten vragen (zoals in het geval van een camera of microfoon).

Thijs Van der Does