Jeux vidéo : et si votre anti-cheat était la plus grosse faille ?

Jeux vidéo : et si votre anti-cheat était la plus grosse faille ?
Credits : Battlefield / Electronic Arts Inc

Il y a quelques jours, la beta ouverte de Battlefield 6 était disponible.

Lors de l'installation du jeu, j'ai constaté, une fois de plus, que le programme anti triche (anti-cheat) d'EA s'installe au niveau du ring 0 (je reviendrai sur ce concept plus bas, pas de panique! 😄).

Les tricheurs étant de plus en plus prolifiques, les éditeurs de jeux vidéos ont du trouver de nouvelles parades pour identifier et bloquer le plus rapidement les nouvelles manières de tricher en jeu.

Protection ring

Pour comprendre comment fonctionnent certains anti-cheats, et pourquoi ils posent problème, il me faut d’abord expliquer le principe des protection rings.

Protection ring (Source : Wikipedia)

De manière imagée, il faut penser votre système comme un oignon : plusieurs couches concentriques, du plus protégé au plus exposé.

  • Ring 0 : le noyau du système. Il a un accès total à tout le matériel et à la mémoire.
  • Ring 3 : les applications. Elles ne peuvent pas modifier directement le noyau et passent par des interfaces contrôlées.

Par défaut, un programme qui tourne en Ring 3 ne peut pas « descendre » en Ring 0. C’est ce qui empêche, par exemple, une application malveillante de modifier directement votre système.

Le Secure Boot, lui, intervient encore plus tôt : il s’assure que tous les composants critiques du démarrage (firmware, bootloader, noyau) sont signés et n’ont pas été modifiés. C’est ce qui garantit que le Ring 0 démarre dans un état sain, avant que quoi que ce soit d’autre ne s’exécute.

C’est ce principe qui permet à la plupart des systèmes d’exploitation et antivirus modernes de garantir un haut niveau d’intégrité.

La lutte anti-cheat devient du Ring 0

Comme je le disais en introduction, les tricheurs trouvent toujours des moyens plus inventifs pour déployer leurs outils :

  • Drivers modifiés pour altérer l’affichage (ex. masquer la fumée d’une grenade).
  • Périphériques externes simulant des actions humaines.
  • Programmes qui lisent ou modifient directement la mémoire du jeu.

C’est le jeu classique du chat et de la souris en cybersécurité : chaque avancée d’un camp entraîne une contre-mesure de l’autre.

Ces dernières années, certains éditeurs de jeux ont choisi de descendre encore plus bas dans la pile système, en exploitant Secure Boot pour charger leur anti-cheat dès la phase de démarrage, avant même le noyau. Techniquement, on atteint alors un niveau comparable à celui des hyperviseurs (Ring -1), avec une visibilité totale sur le système.

À ce stade, l’anti-cheat se retrouve au même niveau technique que des solutions de sécurité avancées comme Bitdefender, SentinelOne ou Microsoft Defender ATP, qui s’installent également très tôt dans le processus de boot pour mieux détecter les menaces.

La différence ? Les antivirus et EDR sont conçus pour protéger tout le système, sont soumis à des audits, certifications et réglementations strictes… alors qu’un anti-cheat, lui, reste un logiciel propriétaire, non audité, dont l’objectif unique est de protéger un jeu. Pourtant, il obtient le même niveau de privilège qu’une solution de cybersécurité professionnelle.

La menace de la supply chain

Ces niveaux de privilèges élevés impliquent aussi de nouveaux risques.

Si je vous parle d'APT41, ca vous dit quelque chose ?

Il s'agit d'un groupe de hacker extrêmement prolifique qui à sévi il y a quelques années, et qui a réussi à s'infiltrer et compromettre certaines mises à jour de programmes, et notamment de jeux vidéos, comme par exemple :

  • League of legends (Décembre 2014)
  • Path of exile (Décembre 2014)
  • FIFA Online 3 (Décembre 2014)
  • Infestation (Juillet 2018)

Pour plus d'info sur ce groupe de hacker, je vous recommande l'excellente vidéo de Sylvqin qui couvre ce sujet.

Pourquoi je vous parle de ça ?

Parce qu’avec les modules anti-triche modernes, ce qui était autrefois un risque relativement identifiable et détectable devient une menace bien plus critique.

Un attaquant qui réussirait à se déployer via un anti-cheat aurait les mêmes privilèges qu’un EDR ou un antivirus : accès complet au système, possibilité de désactiver ou d’altérer les solutions de sécurité… tout en restant pratiquement invisible.

Menace sur la stabilité du système

L’autre problème majeur, selon moi, ce sont les risques que ces anti-cheats font peser sur la stabilité du système.

Vous vous souvenez peut-être de l’incident CrowdStrike de 2024 ? Une mise à jour défectueuse d’un composant de sécurité a provoqué, en quelques heures, des pannes massives à travers le monde.

2024 CrowdStrike-related IT outages - Wikipedia

Le souci avec Secure Boot et les drivers chargés très tôt, c’est que la moindre erreur, même minime, peut littéralement empêcher votre système de démarrer. Et dans ce cas, même une réinstallation complète peut devenir compliquée : le système n’a même pas le temps de charger les outils nécessaires pour réparer le problème.

Et ce n’est pas tout : ces programmes peuvent aussi entrer en conflit entre eux. Il n’est pas rare qu’un anti-cheat empêche un autre de fonctionner, ou qu’il bloque le lancement d’un jeu concurrent.

Source : Reddit - r/Battlefield - u/AnAveragePlayer

A noter qu'un attaquant pourrait aussi exploiter ces outils pour juste rendre complétement HS des milliers, voire des millions d'ordinateurs!

Conclusion

L'escalade des solutions techniques des deux côtés mène aujourd'hui à un point qui me semble très dangereux.

On se retrouve avec des programmes arbitraires, créé par des entreprises dont la sécurité n'est pas le cœur de métier, qui peuvent opérer au même niveau de privilèges qu'un EDR!

Le secure boot doit rester une zone extrêmement restreinte où seules les applications les plus critiques ont le droit d'opérer, et je ne classifierais pas vraiment les anti-cheat dans cette catégorie...

Permettre à des jeux vidéos d'imposer ce genre de fonctionnement est pour moi une dérive dangereuse, tant en sécurité que du point de vue de la vie privée. En effet, sous prétexte de protéger les joueurs des raclures tricheurs, on a aujourd'hui des entreprises qui lisent, analysent et envoient des données en temps réel sur l'utilisation de votre ordinateur.

Mais quelles alternatives a-t-on vraiment ?

  • Cloud Gaming pour mieux contrôler au niveau du système, mais pour moi ça signifie surtout une perte sur la propriété réelle d'un jeu
  • Sandboxing au lancement du jeu pour l'isoler du système au maximum, au détriment des performances