La demande en processeurs graphiques (GPU) a explosé ces dernières années, les systèmes de rendu vidéo et d'intelligence artificielle ayant accru les besoins en puissance de traitement. Et si la plupart des pénuries les plus visibles (et la flambée des cours boursiers) concernent les puces pour PC et serveurs haut de gamme, les processeurs graphiques mobiles sont la version que tout le monde utilise au quotidien avec un smartphone. Les vulnérabilités de ces puces ou la manière dont elles sont implémentées peuvent donc avoir des conséquences concrètes. C'est exactement la raison pour laquelle l'équipe de recherche de vulnérabilités Android de Google a jeté son dévolu sur les logiciels open source du géant des puces Qualcomm, largement utilisés pour implémenter les GPU mobiles.
Vendredi dernier, lors de la conférence sur la sécurité Defcon à Las Vegas, 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, une suite de logiciels utilisée pour coordonner les GPU et un système d'exploitation comme Android sur les téléphones équipés de Qualcomm. Ces « pilotes » sont essentiels à la conception de tout ordinateur et disposent de privilèges profonds dans le noyau d'un système d'exploitation pour coordonner les périphériques matériels et les logiciels. Les attaquants pourraient exploiter les failles découvertes par les chercheurs pour prendre le contrôle total d'un appareil.
Pendant des années, les ingénieurs et les pirates informatiques se sont concentrés sur les vulnérabilités potentielles du processeur central (CPU) d'un ordinateur et ont optimisé l'efficacité des GPU, en s'appuyant sur eux pour la puissance de traitement brute. Mais à mesure que les GPU deviennent de plus en plus essentiels à tout ce qu'un appareil fait en permanence, les pirates informatiques des deux extrémités du spectre cherchent à savoir comment l'infrastructure GPU pourrait être exploitée.
« Nous sommes une petite équipe par rapport au grand écosystème Android. Le champ d'action est trop vaste pour que nous puissions tout couvrir, nous devons donc déterminer ce qui aura le plus d'impact », explique Xuan Xing, responsable de l'Android Red Team de Google. « Alors pourquoi avons-nous choisi un pilote GPU pour ce cas ? C'est parce qu'aucune autorisation n'est requise pour que les applications non fiables puissent accéder aux pilotes GPU. C'est très important et je pense que cela attirera l'attention de nombreux attaquants. »
Xing fait ici référence au fait que les applications sur les téléphones Android peuvent communiquer directement avec le pilote GPU Adreno sans « sandboxing » ni vérifications d’autorisation supplémentaires, comme il le dit. Cela ne donne pas en soi aux applications la possibilité de devenir malveillantes, mais cela fait des pilotes GPU un pont entre les parties normales du système d’exploitation (où les données et l’accès sont soigneusement contrôlés) et le noyau du système, qui a le contrôle total sur l’ensemble de l’appareil, y compris sa mémoire. « Les pilotes GPU ont toutes sortes de fonctions puissantes », explique Xing. « Ce mappage en mémoire est une primitive puissante que les attaquants veulent avoir. »
Les chercheurs affirment que les vulnérabilités qu'ils ont découvertes sont toutes des défauts qui proviennent des subtilités et des interconnexions complexes que les pilotes GPU doivent gérer pour coordonner le tout. Pour exploiter ces failles, les attaquants devraient d'abord établir l'accès à un appareil cible, peut-être en incitant les victimes à télécharger des applications malveillantes.
« Il y a beaucoup de pièces mobiles et aucune restriction d’accès, donc les pilotes GPU sont facilement accessibles pour presque toutes les applications », explique Eugene Rodionov, responsable technique de l’équipe Android Red. « Ce qui rend vraiment les choses problématiques ici, c’est la complexité de la mise en œuvre, un élément qui est à l’origine d’un certain nombre de vulnérabilités. »
Qualcomm a publié des correctifs pour les failles auprès des « 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 révélés par l’Android Security Red Team, 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é des fabricants d’appareils dès qu’elles sont disponibles. »
L'écosystème Android est complexe et les correctifs doivent être transférés d'un fournisseur comme Qualcomm vers les OEM, puis être conditionnés par chaque fabricant d'appareils et livrés sur les téléphones des utilisateurs. Ce processus de diffusion signifie parfois que les appareils peuvent rester exposés, mais Google a consacré des années à investir pour améliorer ces pipelines et rationaliser la communication.
Ces résultats rappellent néanmoins une fois de plus que les GPU eux-mêmes et les logiciels qui les prennent en charge ont le potentiel de devenir un champ de bataille critique en matière de sécurité informatique.
Comme le dit Rodionov, « la combinaison d’une grande complexité de mise en œuvre avec une large accessibilité en fait une cible très intéressante pour les attaquants ».