Les chercheurs de Google ont découvert près d’une douzaine de failles dans les logiciels Qualcomm populaires pour les GPU mobiles.
La demande de processeurs graphiques ou GPUs a explosé au cours des dernières années alors que le rendu vidéo et les systèmes d’intelligence artificielle ont accru le besoin de puissance de traitement. Alors que la plupart des pénuries les plus visibles (et la hausse des prix des actions) concernent les puces PC et serveur haut de gamme, les processeurs graphiques mobiles sont la version que tout le monde utilise au quotidien avec son smartphone. Ainsi, les vulnérabilités dans ces puces ou dans leur implémentation peuvent avoir des conséquences réelles. C’est précisément pourquoi l’équipe de chasse aux vulnérabilités Android de Google a mis le cap sur le logiciel open-source du géant des puces Qualcomm largement utilisé pour implémenter les GPUs mobiles.
Lors de la conférence sur la sécurité Defcon à Las Vegas le vendredi dernier, trois chercheurs de Google ont présenté plus de neuf vulnérabilités – désormais corrigées – qu’ils ont découvertes dans le GPU Adreno de Qualcomm, un ensemble de logiciels utilisé pour coordonner entre les GPUs et un système d’exploitation comme Android sur les téléphones alimentés par Qualcomm. Ces « pilotes » sont cruciaux pour la conception de tout ordinateur et bénéficient de privilèges étendus dans le noyau d’un système d’exploitation pour coordonner entre les périphériques matériels et logiciels. Les attaquants pourraient exploiter les failles trouvées par les chercheurs pour prendre le contrôle total d’un appareil.
Pendant des années, ingénieurs et attaquants se sont surtout concentrés sur les vulnérabilités potentielles dans l’unité centrale de traitement (CPU) d’un ordinateur et ont optimisé pour l’efficacité sur les GPUs, en comptant sur eux pour leur puissance de traitement brute. Mais à mesure que les GPUs deviennent de plus en plus centraux dans tout ce qu’un appareil fait tout le temps, les pirates des deux extrémités du spectre examinent comment l’infrastructure des GPUs pourrait être exploitée.
« Nous sommes une petite équipe par rapport au grand écosystème Android – la portée est trop importante pour que nous puissions tout couvrir, nous devons donc déterminer ce qui aura le plus d’impact », déclare Xuan Xing, responsable de l’équipe Android Red de Google. « Alors pourquoi nous sommes-nous concentrés sur un pilote GPU pour ce cas ? C’est parce que aucune autorisation n’est requise pour que les applications non fiables accèdent aux pilotes GPU. C’est très important, et je pense que cela attirera beaucoup l’attention des attaquants ».
Xing fait référence au fait que les applications sur les téléphones Android peuvent dialoguer directement avec le pilote Adreno GPU sans « bac à sable, sans vérifications d’autorisation supplémentaires », comme il le dit. Cela ne donne pas aux applications la capacité d’agir de manière malveillante en soi, mais cela fait des pilotes GPU un pont entre les parties régulières du système d’exploitation (où les données et les accès sont soigneusement contrôlés) et le noyau du système, qui a un contrôle total sur l’appareil entier, y compris sa mémoire. « Les pilotes GPU ont toutes sortes de fonctions puissantes », déclare Xing. « Ce mappage en mémoire est un primitive puissante que les attaquants veulent avoir ».
Les chercheurs affirment que les vulnérabilités qu’ils ont découvertes sont toutes des failles découlant des intricacités et des interconnexions complexes que les pilotes de GPU doivent naviguer pour coordonner tout. Pour exploiter les failles, les attaquants devraient d’abord obtenir un accès à un appareil cible, peut-être en trompant les victimes pour qu’elles chargent des applications malveillantes.
« Il y a beaucoup d’éléments en mouvement et aucune restriction d’accès, donc les pilotes de GPU sont facilement accessibles à peu près à toutes les applications », explique Eugene Rodionov, responsable technique de l’équipe Red Android. « Ce qui rend les choses vraiment problématiques ici est la complexité de la mise en œuvre – c’est un élément qui explique un certain nombre de vulnérabilités ».
Qualcomm a publié des correctifs pour les failles aux « fabricants d’équipement d’origine » (OEM) qui utilisent des puces et des logiciels Qualcomm dans les téléphones Android qu’ils fabriquent. « Concernant les problèmes de GPU divulgués par l’équipe de sécurité Android Red, des correctifs ont été mis à la disposition des OEM en mai 2024 », a déclaré un porte-parole de Qualcomm à WIRED. « Nous encourageons les utilisateurs finaux à appliquer les mises à jour de sécurité fournies par les fabricants de dispositifs dès qu’elles sont disponibles ».
L’écosystème Android est complexe et les correctifs doivent passer d’un fournisseur comme Qualcomm aux OEM, puis être emballés par chaque fabricant de dispositifs individuel et être livrés aux téléphones des utilisateurs. Ce processus de redistribution signifie parfois que des dispositifs peuvent rester exposés, mais Google a passé des années à investir pour améliorer ces pipelines et rationaliser la communication.
Néanmoins, les résultats sont un autre rappel que les GPUs eux-mêmes et les logiciels qui les supportent ont le potentiel de devenir un champ de bataille critique en matière de sécurité informatique.
Comme le dit Rodionov : « combiner la grande complexité de la mise en œuvre avec une large accessibilité en fait une cible très intéressante pour les attaquants ».