Scoreboard |
Forum |
VACnet, le petit frère du système VAC
Saviez-vous que 3 456 processeurs travaillent dans l'ombre pour Valve, étudiant minutieusement tous les joueurs pour déterminer si l'un d'entre eux est suspect et mérite d'être envoyé en Overwatch ? Depuis maintenant plus d'un an, la société mère de CS:GO a déployé un nouveau système de détection des tricheurs : VACnet. Revenons sur les différentes méthodes de détection de tricheurs mises en place par Gabe Newell et ses équipes.
Un fameux wallhack
Les tricheurs ont toujours été un problème sur CS:GO. Le jeu étant le dixième sorti sous le moteur Source, la communauté avait déjà acquis un savoir-faire en terme de triche avec par exemple le mode Deathmatch de Half Life 2. La moindre assistance illégale donne un avantage certain au joueur concerné : wallhack ou aimhack sont des mots qui ne doivent pas vous être inconnus. Quand le premier permet de localiser ses ennemis à travers les murs, le second aide le tricheur à viser la tête de ses ennemis.
Pour contrer ces aides extérieures, Valve avait d'abord mis en place le système Valve Anti-Cheat, plus connu sous l'acronyme VAC. Disponible sur plusieurs jeux (listés ici), VAC détecte les modifications apportées au jeu et détermine celles qui donnent un avantage à un joueur par rapport aux autres, ce qui amène à une interdiction d'accès aux serveurs sécurisés. Le système est, comme vous le savez, moyennement efficace : beaucoup de logiciels de triche passent entre les mailles du filet, les développeurs de cheat trouvant toujours de nouveaux moyens de le contourner.
VAC assurait la sécurité seul depuis 2002 avec comme premier client Counter-Strike 1.4, mais le 10 mai 2015, Valve sort de sa bêta l'Overwatch, un nouveau système qui place la communauté au centre de la détection anti-triche. Le principe est simple : un joueur est dit suspect s'il est signalé un trop grand nombre de fois ; il est alors envoyé à une sélection d'investigateurs qui délibéreront de son cas en regardant une sélection de huit rounds suspects. Les investigateurs sont choisis en fonction de leur expérience en jeu, de l'âge de leur compte... Chacun se verra attribuer un score destiné à déterminer la légitimité d'un verdict donné, calculé en fonction de la véracité des verdicts précédents et à l'aide d'affaires de test.
Evolution du nombre de VAC Bans (en bleu) en 2017/2018 (Source : Steamdb)
Toujours en parallèle de ces deux systèmes, Valve met en place les comptes Prime en septembre 2017. L'objectif est de séparer les nouveaux comptes des anciens, et ainsi de dissuader les tricheurs déjà bannis d'acheter un nouveau compte. Pour avoir un compte vérifié, il faut être au minimum niveau 21, ce qui demande une cinquantaine d'heures de jeu, et lier un numéro de téléphone unique au compte en question. La communauté a été divisée par ce nouvel ajout, ce qui motive Valve à trouver une nouvelle solution plus récente : le Trust Factor.
Le trust factor est un score calculé à partir de nombreux facteurs allant du nombre de personnes nous ayant report au temps passé sur d'autres jeux que CS:GO. Valve reste discret sur les différents critères, l'objectif étant que le Trust Factor soit au plus près de la réalité et ne soit pas manipulé par les joueurs. Le système a déjà été testé et il semble fonctionner comme l'atteste le nombre de reports qui diminue, et ce quelque soit le statut Prime des joueurs.
Tout ça nous amène finalement au fameux VACnet qui a fait surface discrétement en début d'année dernière. Le projet, qui a demandé pas moins d'un an de travail, travaille de pair avec l'Overwatch. Malgré le nom trompeur, VACnet n'est pas une évolution de VAC. Quand le VAC se contente de regarder ce qui était présent sur le disque dur étudié, VACnet s'arrête lui sur les mouvements et réactions des joueurs, qu'il étudie à l'aide du deep learning.
Le deep learning, ou apprentissage profond dans la langue de Molière, est "un ensemble de méthodes d'apprentissage automatique tentant de modéliser avec un haut niveau d’abstraction des données grâce à des architectures articulées de différentes transformations non linéaires" (merci Wikipedia). Plus simplement, l'idée est d'entraîner un réseau neuronal informatique à traiter intelligement les informations données. Un exemple d'utilisation du deep learning serait le logiciel de reconnaissance d'image de google : le Google Cloud Vision. Il est capable de détecter les objets et visages dans les photos soumises à l'étude.
Exemple d'utilisation du deep learning. Le système déduit de lui-même qu'il y a un soleil et un bâteau sur l'image analysée
L'idée est donc d'entraîner le VACnet à comprendre comment joue un cheater. Quels signes permettent à un humain (un joueur) de suspecter un adversaire de triche ? Quels mouvements de souris sont réellement suspects et méritent que l'on s'attarde dessus ? Dans un premier temps, Valve se concentre sur la détection d'aimbot, pour la simple raison que l'utilisation de ce genre de cheat se voit à un moment bien précis : quand le tricheur tire.
John MacDonald, programmeur chez Valve, explique plus en détail le fonctionnement de ce nouveau système à l'occasion d'une Game Developers Conference à San Francisco. VACnet étudie plusieurs informations comme la position du viseur, l'arme utilisée, le résultat du tir, la distance du tir à la demi-seconde avant le tir et au quart de seconde qui le précède. Cet ensemble de données est appelé un "atome". Juger sur un seul atome, donc un seul tir, serait un peu hâtif, mais le logiciel ne peut pas non plus étudier tous les tirs des 600 000 matchs compétitifs quotidiens ! C'est pourquoi Valve se concentre sur 140 atomes par match et par joueur pour se poser la question : "si on montrait ces 140 tirs à un juge humain, que dirait-il ?". Un joueur suspect est envoyé en Overwatch, les autres continuent leur vie tranquillement.
Le réseau neuronal de Valve se base sur les jugements en Overwatch des humains. On obtient alors un cercle de fonctionnement infini :
A partir de la pastille de gauche : les humains déterminent si un joueur est coupable à partir de l'Overwatch ; VACnet récupère les cas jugés positifs et les étudie ; VACnet va ensuite analyser d'autres matchs ; VACnet déduit, à partir de son apprentissage, les joueurs suspects, et les soumet à l'Overwatch et au jugement humain ; et le cercle recommence.
(crédit photo : pcgamers)
Le système fait déjà ses preuves : d'après John MacDonal, 80-95% des affaires envoyées en Overwatch par le VACnet se terminent avec la condamnation du joueur, pour seulement 15-30% des affaires envoyées par les humains. Mais il a aussi un coût ! 600 000 matchs en 5v5 quotidiens sont à étudier, et chaque match demanderait environ 4 minutes de calcul, soit 2,4 millions de minutes de calcul chaque jour. 1 700 processeurs étaient nécessaires pour mener à bien ces opérations. Valve en a acheté le double pour "avoir de la marge de manoeuvre", l'objectif étant d'étendre VACnet à d'autres jeux.
Source : PCGamers - Blog CS:GO - gdconf.com