Google-onderzoekers hebben bijna een dozijn fouten gevonden in de populaire Qualcomm-software voor mobiele GPU’s

De vraag naar grafische verwerkingseenheden (GPU’s) is de afgelopen jaren explosief gestegen, omdat videoweergave en kunstmatige-intelligentiesystemen de behoefte aan verwerkingskracht vergroten. En hoewel de meeste van de meest voor de hand liggende tekortkomingen (en stijgende aandelenkoersen) te vinden zijn in hoogwaardige pc- en serverchips, zijn mobiele GPU’s de versie die iedereen met een smartphone elke dag gebruikt. Kwetsbaarheden in deze chips of de manier waarop ze worden geïmplementeerd, kunnen dus gevolgen in de echte wereld hebben. Dat is precies de reden waarom Google’s Android-kwetsbaarheidsdetectieteam zijn zinnen heeft gezet op open-sourcesoftware van chipgigant Qualcomm die veel wordt gebruikt om mobiele GPU’s te implementeren.

Op de Defcon-beveiligingsconferentie in Las Vegas op vrijdag presenteerden drie Google-onderzoekers meer dan negen kwetsbaarheden – nu gepatcht – die ze ontdekten in de Adreno GPU van Qualcomm, een softwarepakket dat wordt gebruikt om te coördineren tussen de GPU en het besturingssysteem zoals Android, aangedreven door Qualcomm. telefoons. Dergelijke “stuurprogramma’s” staan ​​centraal in de manier waarop elke computer is ontworpen en hebben diepe bevoegdheden in de kernel van het besturingssysteem om te coördineren tussen hardwarerandapparatuur en software. Aanvallers zouden de gebreken die de onderzoekers ontdekten kunnen misbruiken om de volledige controle over het apparaat over te nemen.

Jarenlang hebben zowel ingenieurs als aanvallers zich het meest geconcentreerd op potentiële kwetsbaarheden in de centrale verwerkingseenheid (CPU) van een computer en geoptimaliseerd voor efficiëntie op GPU’s, waarbij ze op hen vertrouwden voor de ruwe verwerkingskracht. Maar nu GPU’s steeds belangrijker worden voor alles wat een apparaat doet, kijken hackers aan beide kanten van het spectrum hoe de GPU-infrastructuur kan worden uitgebuit.

“We zijn een klein team vergeleken met het grote Android-ecosysteem. De reikwijdte is te groot om alles te dekken, dus we moeten uitzoeken wat de grootste impact zal hebben”, zegt Xuan Xing, manager van Google’s Android Red-team. “Dus waarom hebben we ons in dit geval op de GPU-driver geconcentreerd? Dit komt omdat er geen toestemming vereist is voor niet-vertrouwde applicaties om toegang te krijgen tot GPU-stuurprogramma’s. Dit is heel belangrijk en ik denk dat het veel aandacht van aanvallers zal trekken.”

Xing verwijst naar het feit dat apps op Android-telefoons rechtstreeks met de Adreno GPU-driver kunnen praten zonder “geen sandboxing, geen extra toestemmingscontroles”, zoals hij het stelt. Dit geeft op zichzelf geen applicaties de mogelijkheid om te crashen, maar het maakt de GPU-stuurprogramma’s een brug tussen de reguliere delen van het besturingssysteem (waar gegevens en toegang zorgvuldig worden gecontroleerd) en de systeemkernel, die volledige controle heeft over het hele apparaat inclusief zijn geheugen. “GPU-stuurprogramma’s beschikken over allerlei krachtige functies”, zegt Xing. “Die geheugentoewijzing is een krachtige primitieve aanvaller die ze willen hebben.”

De onderzoekers zeggen dat de kwetsbaarheden die ze ontdekten allemaal gebreken zijn die voortkomen uit de complexiteit en ingewikkelde onderlinge verbindingen die GPU-stuurprogramma’s moeten beheren om alles te coördineren. Om de gebreken te kunnen misbruiken, moeten aanvallers eerst toegang krijgen tot het doelapparaat, bijvoorbeeld door slachtoffers te misleiden tot aan de zijkant geladen kwaadaardige apps.

“Er zijn veel bewegende delen en er zijn geen toegangsbeperkingen, dus GPU-stuurprogramma’s zijn gemakkelijk toegankelijk voor vrijwel elke toepassing”, zegt Eugene Rodionov, technisch hoofd van het Android Red-team. “Wat de zaken hier echt problematisch maakt, is de complexiteit van de implementatie – dat is een item dat een aantal kwetsbaarheden verklaart.”

Qualcomm heeft patches voor de fouten uitgebracht aan “original apparatuurfabrikanten” (OEM’s) die de chips en software van Qualcomm gebruiken in de Android-telefoons die ze maken. “Voor de GPU-problemen die door het Android Security Red Team zijn ontdekt, zijn er in mei 2024 patches beschikbaar gesteld aan OEM’s”, vertelt een woordvoerder van Qualcomm aan WIRED. “We moedigen eindgebruikers aan om beveiligingsupdates van apparaatfabrikanten toe te passen zodra deze beschikbaar komen.”

Het Android-ecosysteem is complex en patches moeten van leveranciers als Qualcomm naar OEM’s worden verplaatst en vervolgens door elke individuele apparaatfabrikant worden verpakt en op de telefoons van gebruikers worden afgeleverd. Dit neergangsproces betekent soms dat apparaten zichtbaar kunnen blijven, maar Google heeft jarenlang geïnvesteerd in het verbeteren van deze kanalen en het stroomlijnen van de communicatie.

Toch herinneren de bevindingen er opnieuw aan dat GPU’s zelf en de software die ze ondersteunt het potentieel hebben om een ​​cruciaal slagveld in computerbeveiliging te worden.

Zoals Rodionov zegt: “de combinatie van de hoge complexiteit van de implementatie en de brede beschikbaarheid maakt het een zeer interessant doelwit voor aanvallers.