Luigi Auriemma et Donato Ferrante, deux chercheurs du cabinet de conseil en sécurité ReVuln, basé à Malte, ont identifié de sérieuses vulnérabilités dans les moteurs de plusieurs jeux FPS (first-person shooter) populaires qui pourraient permettre à un attaquant de compromettre les serveurs en ligne de ces jeux et les ordinateurs des joueurs qui y accèdent. Ils ont ainsi repéré des problèmes de corruption de mémoire et de débordement de buffer (buffer-overflow) sur « CryEngine 3 », « Unreal Engine 3 », « Hydrogen Engine » et « id Tech 4 ». Ces derniers sont des moteurs utilisés dans des jeux vidéo comme « Quake 4 », « Crysis 2 », « Homefront », « Brink », « Monday Night Combat », « Enemy Territory : Quake Wars », « Sanctum », « Breach », « Nexuiz » et bien d'autres encore. Selon les chercheurs maltais, ces vulnérabilités peuvent être mises à profit pour exécuter du code à distance ou mener des attaques par déni de service (DDoS) contre les serveurs de jeux et contre les logiciels clients qui s'y connectent (game clients).

Luigi Auriemma et Donato Ferrante ont présenté eux-mêmes leurs conclusions vendredi lors de la conférence sur la sécurité NoSuchCon qui s'est tenue à Paris (15-17 mai) et ils ont montré dans une vidéo des attaques proof-of-concept contre les serveurs des jeux en ligne Crysis 2 et Quake 4. Ils ont également livré plus de détails sur ces vulnérabilités dans un document de recherche publié lundi. « Ces dernières vulnérabilités n'ont pas encore été signalées aux éditeurs des jeux concernés et n'ont pas été corrigées », ont prévenu les deux chercheurs mardi par courriel, conformément à la politique de ReVuln, qui n'alerte pas les vendeurs sur les vulnérabilités. Le cabinet vend ces informations à des sociétés tierces et des organismes gouvernementaux, abonnés à leur service.

Les failles exploitables sans interaction avec le joueur

« Parmi les vulnérabilités identifiées dans les moteurs de jeu décrites dans le document, certaines peuvent être exploitées pour attaquer les serveurs de jeu, tandis que d'autres, comme celles de CryEngine 3, peuvent être utilisées pour attaquer les logiciels clients », ont précisé les chercheurs. « Les attaques ne nécessitent aucune interaction avec l'utilisateur, ni aucune procédure supplémentaire ». Un attaquant pourrait, par exemple, mettre en place un serveur pirate pour l'un des jeux concernés et le lister sur un serveur maître - une base de données des serveurs de jeux disponibles interrogée par les clients. Cela lui permettrait de compromettre les ordinateurs de tout joueur qui se connecterait à son serveur pirate, en exploitant l'une des vulnérabilités d'exécution de code à distance identifiées dans le moteur de jeu. Selon les chercheurs, « dans certains cas, ces vulnérabilités peuvent être exploitées même quand les joueurs demandent plus d'informations sur le serveur pirate dans le menu multi joueurs du jeu client ».

Les attaquants peuvent également compromettre les serveurs ou les faire planter en leur envoyant des paquets malveillants à partir d'un client. Si un attaquant veut perturber une grande communauté de joueurs, il peut récupérer la liste des serveurs de jeux délivrés par un serveur maître et les faire planter à intervalles réguliers en exploitant l'une des failles de déni de service. Les serveurs de jeu sont souvent au coeur de batailles que se livrent différents clans de joueurs, ou sont la cible de tricheurs qui veulent augmenter artificiellement leur classement ou encore pour mettre les serveurs de jeux hôtes à l'épreuve. « En général, les sociétés de jeux sont plus concernées par les solutions anti fraudes que par la sécurité des jeux », ont déclaré les chercheurs au cours de leur intervention. « En d'autres termes, ils se préoccupent davantage des tricheurs que des personnes qui exploitent les vulnérabilités des systèmes de leurs utilisateurs ».

« Les vulnérabilités pourraient aussi être utilisées pour compromettre les ordinateurs de personnes ou d'organisations précises dans des attaques ciblées », ont ajouté les deux chercheurs. En effet, « les jeux en ligne n'attirent pas uniquement des enfants et des adolescents, mais des gens de tous âges et de tous milieux sociaux-professionnels», ont-ils déclaré, soulignant qu'on peut très bien trouver parmi les joueurs un technicien d'une centrale électrique, un personnage politique, ou un individu qui, dans son métier, a accès à des données sensibles. « Quand les gens jouent à des jeux, ils sont moins vigilants. Or les jeux sont vulnérables et ne protègent par leur ordinateur des attaquants. Souvent, les technologies d'atténuation des attaques de Windows comme le DEP (Data Execution Prevention) et l'ASLR (Address space layout randomization) ne sont même pas activées, ont-ils déclaré.