7 points par GN⁺ 2025-03-04 | 4 commentaires | Partager sur WhatsApp
  • 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

 
firea32 2025-03-10

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.

 
rlaehdus2003 2025-03-04

Princesse lapinou.. ?

 
GN⁺ 2025-03-04
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

    • Nintendo se soucie généralement peu du fait que des gens découvrent de l’ACE dans de vieux jeux et publient sur GitHub des versions décompilées du jeu. Mais les chercheurs en vulnérabilités ne peuvent pas faire ça s’ils veulent éviter des problèmes juridiques
    • Les personnes activement impliquées dans la communauté du speedrun savent probablement déjà très bien tout cela. Comme exemple supplémentaire amusant, on voit souvent des TAS'ers parler d’exécution de code arbitraire. Le légendaire run d’OoT à la GDQ, utilisant une fin alternative de TASBot, était absolument incroyable
  • 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

    • Hacker des jeux vieux de 20 à 30 ans est bien plus facile que du logiciel moderne. C’est parce que ces jeux n’ont aucune mesure de mitigation. Pour les jeux populaires, on s’appuie aussi sur des décennies de reverse engineering, au lieu de partir (potentiellement) de zéro. Et il y a de meilleurs outils disponibles (save states, etc.)
    • Le grand facteur que ce billet de blog essaie d’aborder, c’est que la plupart des gens ne connaissent tout simplement rien au secteur de la recherche de vulnérabilités. Ce n’est pas quelque chose qui attire l’attention, contrairement aux speedruns diffusés pour des œuvres caritatives devant des millions de spectateurs
  • 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

    • Observation générale sur la cybersécurité : la chasse aux bugs et le reverse engineering demandent bien plus de persévérance que l’écriture de logiciel et d’autres domaines de l’IT. Il est difficile de faire naître cette persévérance quand le salaire est la seule motivation, que le logiciel ciblé est intrinsèquement ennuyeux, et qu’on sait qu’on sera payé qu’on trouve un bug ou 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

    • C’était vraiment stupéfiant. En jouant au jeu, je n’avais presque jamais rencontré de bug ou de glitch et je le trouvais assez bien poli. Pourtant, en réalité, il restait des centaines de bugs même des années après la sortie du jeu et après de nombreuses mises à jour
  • Article intéressant

    • C’est dommage que la cybersécurité ne soit pas intrinsèquement aussi amusante et intéressante que les jeux vidéo pour beaucoup de speedrunners. Une grande raison pour laquelle les speedrunners peuvent passer autant de temps à chercher des glitches et des hacks dans ces jeux, c’est qu’ils y prennent énormément de plaisir. De plus, hacker des glitches dans des jeux vieux de plusieurs décennies est généralement très accessible et n’a pas une barrière à l’entrée aussi élevée que la cybersécurité
  • À l’extrême, on peut obtenir des choses comme de l’exécution de code arbitraire dans Super Mario World

    • Édit : il aurait dû y avoir un lien ici. Lien
  • 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

    • Dans l’univers du jeu, les comportements logiciels non définis sont essentiels à ce genre de choses. On le voit en particulier dans les hacks légendaires découverts dans les speedruns d’Ocarina of Time
    • Dans Super Mario World, SethBling a manuellement exécuté une version de Flappy Bird via injection de code. Sans save states. Cela a pris longtemps, et le processus était vraiment fascinant. Lien
    • Je speedrun aussi des choses hors jeu vidéo. Donc, en généralisant, nous ne sommes pas seulement des chercheurs en sécurité, mais des gens qui apprennent extrêmement bien la « forme » des choses, puis utilisent cette forme pour apprendre à passer d’un état de cette forme à un autre
    • En conclusion, oui, cela peut être aussi simple que de la recherche en sécurité. Mais la joie et la beauté du speedrun sont bien plus grandes et plus belles que cela. Bien sûr, cela peut en être une conséquence