/dev : pilote anti-triche en mode noyau

Nous allons protéger les prochains jeux de Riot avec de nouveaux systèmes anti-triche.

Avertissement : cet article est assez technique et mentionne des outils anti-triche qui ne seront pas exclusifs à League of Legends. D'autres jeux (comme le projet A) seront protégés par cette mise à niveau avant LoL.

Après environ 8 ans d'une étude partenaire, subventionnée à hauteur de 20 millions de $ par l'État fédéral, d'éminents scientifiques ont pu situer l'invention de la triche, quelque part entre -3,5 milliards d'années et le 20 novembre 1985. Bien que ses origines précises demeurent encore inconnues, un fait précis a néanmoins pu être établi : les tricheurs tricheront toujours.

Ces deux dernières décennies, le développement des moyens de triche et de la technologie pour l'empêcher est passé d'un combat honorable pour le contrôle de la mémoire du client du jeu à des méthodes pour tenter de modifier le système d'exploitation sous-jacent ou même le matériel employé par un tricheur. Ces techniques peuvent empêcher un programme anti-triche de récupérer les bonnes données et cet effet est aggravé si ce programme doit fonctionner en mode utilisateur.

Qu'est-ce que le mode utilisateur ?

Il correspond à un niveau de privilège au sein d'un système d'exploitation. Il s'agit du plus restrictif au sein duquel un logiciel tiers peut fonctionner. Votre navigateur web, votre copie légale de winRAR et vos jeux favoris fonctionnent tous en mode utilisateur. Dans ce mode, une application ne peut pas voir directement « en dehors d'elle-même ». Le code doit généralement compter sur les API du système pour lire ou écrire de la mémoire qui ne fait pas partie de son processus. Pour l'expliquer avec une métaphore à peu près compréhensible : nous (en mode utilisateur) devons demander à la cuisine (Microsoft Windows) ce qui compose notre bœuf bourguignon (League of Legends).

For_Loc_Kernel_Drivers-fre.jpg

Si vous avez déjà entendu un petit génie vous dire « lol mon logiciel de triche n'est pas détecté en cercle 0 », c'est ce à quoi il faisait référence avant de se faire bannir.



Ces dernières années, les développeurs de codes de triche ont commencé à profiter de certaines vulnérabilités ou à corrompre la signature numérique de Windows pour faire fonctionner leurs applications (ou certaines parties d'entre elles) en mode noyau (kernel). Le problème survient en raison du fait qu'un code exécuté en mode noyau peut atteindre les systèmes de commande utilisés pour récupérer nos données et modifier les résultats pour paraître légitime, sans que nous puissions le détecter. Nous avons même vu des équipements spécialisés utiliser l'accès direct à la mémoire1 (DMA) pour lire et traiter la mémoire du système. Ce processus, réalisé parfaitement, peut être indétectable2 en mode utilisateur.

Même si la plupart des joueurs détestent l'idée d'une installation Windows corrompue, bon nombre de tricheurs semblent enthousiastes à l'idée de profiter du botnet d'un autre pour pouvoir faire de l'orbwalk. Ainsi, beaucoup de codes de triche fonctionnent actuellement à un plus haut niveau de privilège que notre programme anti-triche. Pour reprendre notre analogie de cuisine : lorsque nous demandons au chef si les ingrédients de notre bœuf bourguignon viennent directement du producteur, un mec lambda portant une toque dit au personnel du restaurant qu'il s'en charge, avant de nous répondre « bien sûr, bon appétit ».

1L'accès direct à la mémoire, ou DMA, est une méthode par laquelle une pièce informatique peut, comme vous l'avez sûrement compris, directement accéder à la mémoire, sans passer par l'API de Windows. Certaines de nos plus anciennes communautés de tricheurs l'ont utilisé pour transférer la mémoire vers un autre ordinateur et la traiter plus tard.

2Nous avons directement embauché la personne qui a développé la technique pour le détecter.



Pourquoi vous nous racontez ça ?

Depuis le début, votre équipe anti-triche préférée est obligée de jouer à ce petit jeu en mode utilisateur, ce qui handicape (heureusement) constamment les tricheurs. Nous n'avons pas encore eu besoin de passer à la vitesse supérieure, principalement parce que nous avons l'avantage d'un salaire stable et d'horaires de coucher flexibles. Mais même si nous aimons l'idée de faire la guerre de sécurité des applications avec des adolescents, nous allons bientôt devenir une plateforme multijeux où le temps linéaire et le manque de sommeil rendent cette stratégie intenable.

C'est pourquoi certains des futurs jeux de Riot seront protégés par un pilote en mode noyau.

Je crois que je commence à paniquer.

Il n'y a aucune raison de paniquer.

  1. Le stress peut entraîner une chute de cheveux et nous ne voulons pas que vous attrapiez froid au crâne.
  2. Nous n'aurons pas plus de capacités de surveillance. Si vous craignez pour la recette secrète du parfait plat de Noël de votre grand-mère, nous n'aurions aucun mal à l'obtenir en passant par le mode utilisateur, puis à le vendre à une chaîne de cuisine. L'objectif de cette mise à niveau est de vérifier l'intégrité du système (pour s'assurer d'avoir des données fiables) et d'empêcher les tricheurs de toucher à nos jeux (comme ça, vous n'aurez pas à blâmer les aimbots en cas d'échec).
  3. Ce n'est même pas une grande nouveauté. Plusieurs systèmes d'anti-triche tiers, comme EasyAntiCheat, Battleye et Xigncode3, utilisent déjà un pilote en mode noyau pour protéger vos AAA favoris. Nous installons juste notre propre sous-chef à la cuisine de Windows, pour être sûrs d'obtenir une réponse honnête, lorsque nous demandons si le pain est sans gluten.
  4. Il sera ainsi plus difficile de créer des codes de triche indétectables. Vous serez protégés des aimbots, nous serons protégés de Reddit, et les tricheurs seront protégés d'eux-mêmes.

Nous pensons que l'anti-triche est l'un des éléments les plus importants d'un jeu multijoueur en ligne. Nous voulons que vous puissiez vous épanouir dans un univers, sans douter des capacités de votre adversaire. Il n'existe pas de remède miracle au virus de la triche, mais nous ferons tout notre possible pour vous proposer la meilleure expérience compétitive possible.

C'est tout pour moi, mais je reviendrai dans approximativement quatre mégasecondes pour vous parler des bots dans vos ARAM, une suite très attendue de notre célèbre roman, La chasse aux tricheurs.