- Des milliers de passionnés de jeux vidéo acquièrent sans le savoir de l’expérience utile à l’industrie de la cybersécurité
- Leur hobby consiste à analyser les moindres détails d’un jeu, ce qui ressemble fortement au métier de chercheur en vulnérabilités.
Qu’est-ce que le speedrun ? :
- Dès la sortie d’un jeu vidéo, certains cherchent à le terminer plus vite que leurs amis
- Les jeux les plus populaires ou les plus marquants culturellement déclenchent une concurrence féroce.
- Les speedrunners rejouent des centaines, voire des milliers de fois au même jeu pour obtenir le meilleur temps sur des classements animés par la communauté
- Le speedrun "Any%" est une catégorie où toutes les règles sont ignorées, l’objectif étant de terminer le jeu le plus vite possible en exploitant volontairement ses bugs
La chasse aux glitches, c’est du reverse engineering
- Au sein des communautés de speedrun, des groupes se sont formés pour appliquer des méthodes d’ingénierie à la découverte de nouveaux glitches
- Ils ne se contentent pas d’essais répétés : ils analysent aussi le fonctionnement interne du logiciel avec des outils standard de la cybersécurité comme IDA Pro ou Ghidra
- Ils utilisent aussi des outils comme le visualiseur mémoire de Dolphin Emulator ou Cheat Engine pour l’analyse dynamique, afin de comprendre les structures de données internes du programme et la manière dont les informations y sont enregistrées
- Certaines communautés font du reverse engineering sur les formats de fichiers des jeux et développent de nouveaux outils, par exemple en créant des loaders de programmes pour Ghidra ou en réimplémentant en C du code désassemblé dans Ghidra pour l’appliquer à un fuzzer
Recherche de vulnérabilités
- Ces groupes ne font pas seulement du reverse engineering, ils mènent aussi des recherches sur les vulnérabilités
- Ils ne cherchent pas uniquement à comprendre comment le jeu fonctionne, mais aussi à le casser par tous les moyens
- Ces glitches fonctionnent de manière très similaire à des exploits de corruption mémoire, et permettent de découvrir des buffer overflows, des use-after-free ou encore des transitions incorrectes de machine à états
- Un aspect particulièrement impressionnant est qu’ils transforment ces exploits en quelque chose de réellement utilisable
- Les communautés de speedrun surmontent des contraintes très strictes pour exploiter concrètement ces glitches, ce qui ressemble beaucoup au travail des chercheurs en vulnérabilités dans l’industrie de la cybersécurité
- Certaines communautés de jeux réalisent, via le tool-assisted speedrun (TAS), des glitches d’une précision impossible à atteindre pour un humain. Elles enregistrent les entrées frame par frame pour manipuler le jeu avec un angle exact.
- Le TAS permet d’utiliser un débogueur mémoire pour produire un heap spray parfait, ou d’écrire une charge utile de shellcode dans l’inventaire du joueur.
L’existence d’une industrie
- Il est surprenant que ces personnes très compétentes techniquement soient déconnectées de l’industrie de la cybersécurité
- Les chasseurs de glitches du speedrun développent des exploits heap use-after-free et rédigent des articles techniques, mais appellent cela un glitch de « duplication d’objet »
- Ils ne réalisent pas que leur hobby est étroitement lié à la recherche de vulnérabilités dans l’industrie de la cybersécurité
- Il est regrettable que des personnes possédant ce type de compétences ne postulent pas à des métiers comme la recherche de vulnérabilités ou le reverse engineering
- La recherche de vulnérabilités exige une compréhension approfondie du fonctionnement d’un programme, ce qui est similaire à la découverte de glitches dans les jeux
- Les analyses techniques de glitches dans la communauté du speedrun sont aussi appréciées dans l’industrie de la cybersécurité. Elles explorent en profondeur l’intérieur des programmes et exploitent les vulnérabilités avec créativité.
4 commentaires
Après avoir vu plusieurs équipes QA, je me suis rendu compte d’une chose : tant qu’on ne réfléchit pas en se demandant ce qu’on ferait soi-même en tant qu’utilisateur, on ne peut pas trouver des vulnérabilités comme celles mentionnées dans l’article en se contentant de cocher une checklist.
Princesse lapinou.. ?
Avis sur Hacker News
La comparaison semble un peu exagérée pour faire du content marketing. La principale différence entre les chercheurs en vulnérabilités et la communauté du speedrun, c’est que le speedrun est très collaboratif et ouvert. Chaque jeu a son immense communauté Discord de speedrun, et avant même l’existence de Discord, beaucoup de gens essayaient de comprendre les tricks et hacks découverts par accident en regardant les parties des autres
Je me suis demandé pourquoi ces deux centres d’intérêt ne se recoupaient pas davantage. Une partie de la réponse semble être l’effet « je ne veux pas guérir le cancer. Je veux transformer les gens en dinosaures. ». Parmi ceux qui hackent des jeux, certains ne s’intéressent qu’à ce qu’il est possible de faire dans les jeux qui les passionnent. Cela ne se généralise pas forcément à un intérêt pour appliquer les mêmes compétences à tout le reste
La différence importante, c’est la motivation. Les speedrunners aiment ça parce que le jeu est amusant. Les speedrunners peuvent réellement utiliser ces vulnérabilités d’une manière significative dans leur vie, alors que les chercheurs en vulnérabilités, en général, non
C’est un fait absolument évident. Les chercheurs en vulnérabilités envient les vidéos de speedrun assistées par outils. À titre d’info, quand j’ai fait Microcorruption, les développeurs de jeux ont surclassé tout le monde sauf les chercheurs en vulnérabilités d’élite
J’ai récemment regardé le speedrun record du monde de Subnautica, et quelqu’un avait gentiment laissé en commentaire la liste de tous les bugs utilisés pour finir le jeu en 28 minutes
Article intéressant
À l’extrême, on peut obtenir des choses comme de l’exécution de code arbitraire dans Super Mario World
Ce spam de blog vient d’un « Senior Cyber Engineer ». Je me demande s’ils (a) ont honte que la publicité qu’ils ont écrite soit ridicule, ou si (b) ce n’est pas réellement un ingénieur mais un prompt engineer pour ChatGPT
Je suis speedrunner, et je suis certain que c’est bien connu et même accepté comme standard dans certaines catégories. C’est un standard tellement bien accepté que le titre ressemble presque à une légère insulte
https://reddit.com/r/comicbooks/…
zzz