7 puntos por GN⁺ 2025-03-04 | 4 comentarios | Compartir por WhatsApp
  • Miles de aficionados a los videojuegos están acumulando experiencia en la industria de la ciberseguridad sin darse cuenta.
  • Tienen el pasatiempo de analizar los detalles de los juegos, algo muy parecido a convertirse en investigadores de vulnerabilidades.

¿Qué es un speedrun? :

  • Desde que se lanzaron los videojuegos, la gente ha intentado terminarlos más rápido que sus amigos.
  • Los juegos más populares o culturalmente importantes provocan una competencia feroz.
  • Los speedrunners repiten un juego cientos o miles de veces para registrar el tiempo más rápido en tablas de clasificación impulsadas por la comunidad.
  • Un speedrun "Any%" es una categoría en la que se ignoran todas las reglas, y el objetivo es terminar el juego rápidamente aprovechando intencionalmente sus bugs.

La caza de glitches es ingeniería inversa

  • Dentro de la comunidad de speedrun de los juegos, se forman grupos que aplican ingeniería para descubrir nuevos glitches.
  • No solo hacen intentos repetitivos, sino que también usan herramientas estándar de la industria de ciberseguridad, como IDA Pro o Ghidra, para analizar el funcionamiento interno del software.
  • También aprovechan herramientas como el visor de memoria de Dolphin Emulator o Cheat Engine para análisis dinámico y así entender las estructuras internas de datos del programa y cómo registra la información.
  • Algunas comunidades hacen ingeniería inversa de los formatos de archivo del juego y desarrollan nuevas herramientas, como crear un cargador de programas para Ghidra o reimplementar en C el código desensamblado en Ghidra para aplicarlo a un fuzzer.

Investigación de vulnerabilidades

  • Estos grupos no solo realizan ingeniería inversa, también hacen investigación de vulnerabilidades.
  • No se limitan a entender cómo funciona el juego, sino que intentan romperlo de cualquier forma posible.
  • Estos glitches funcionan de una manera muy similar a los exploits de corrupción de memoria, y descubren buffer overflows, use-after-free y transiciones incorrectas de máquinas de estado.
  • Algo especialmente impresionante es que convierten los exploits en algo utilizable en la práctica.
  • La comunidad de speedrun supera restricciones muy severas para aprovechar realmente estos glitches, algo similar a lo que hacen los investigadores de vulnerabilidades en la industria de ciberseguridad.
  • Algunas comunidades de juegos realizan glitches de precisión imposible para un humano mediante tool-assisted speedruns (TAS). Registran entradas cuadro por cuadro y manipulan con ángulos exactos.
  • El TAS usa depuradores de memoria para crear heap sprays perfectos o escribir payloads de shellcode en el inventario del jugador.

La existencia de una industria

  • Resulta sorprendente que estas personas con tanta capacidad técnica estén desconectadas de la industria de ciberseguridad.
  • Los cazadores de glitches de speedrun desarrollan exploits de heap use-after-free y escriben textos técnicos, pero los llaman glitches de “guardar ítems”.
  • No reconocen que su pasatiempo está estrechamente relacionado con la investigación de vulnerabilidades en la industria de ciberseguridad.
  • Es una lástima que personas con estas habilidades no postulen a trabajos como investigación de vulnerabilidades o ingeniería inversa.
  • La investigación de vulnerabilidades exige una comprensión profunda de cómo funciona un programa, algo similar a descubrir glitches en juegos.
  • El análisis técnico de glitches en la comunidad de speedrun también es popular en la industria de ciberseguridad. Estas personas exploran a fondo el interior de los programas y aprovechan vulnerabilidades de manera creativa.

4 comentarios

 
firea32 2025-03-10

Después de ver varios equipos de QA, me di cuenta de algo: al final, si no tienes la mentalidad de pensar qué haría yo si fuera el usuario, con solo ir marcando una checklist no vas a encontrar vulnerabilidades como la que menciona el artículo.

 
rlaehdus2003 2025-03-04

Conejita princesa..?

 
GN⁺ 2025-03-04
Opiniones de Hacker News
  • La analogía se siente un poco exagerada para marketing de contenido. La principal diferencia entre los investigadores de vulnerabilidades y la comunidad de speedrunning es que el speedrunning es muy colaborativo y abierto. Cada juego tiene una enorme comunidad de speedrunning en Discord, y aun antes de que existiera Discord, mucha gente veía las partidas de otros para intentar entender trucos y hacks descubiertos de manera accidental

    • A Nintendo normalmente no le importa que la gente descubra ACE en juegos viejos y publique en GitHub versiones decompiladas de los juegos. Pero los investigadores de vulnerabilidades no pueden hacer eso si quieren evitar problemas legales
    • Quienes participan activamente en la comunidad de speedrunning probablemente ya saben muy bien esto. Como ejemplo adicional interesante, a menudo verás a los TAS'ers hablar sobre ejecución arbitraria de código. La legendaria run de OoT en GDQ usando el final alternativo de TASBot fue realmente impresionante
  • Me preguntaba por qué estos dos intereses no se traslapan. Parte de ello parece ser el efecto de “no quiero curar el cáncer; quiero convertir a la gente en dinosaurios”. Algunas personas que hackean juegos solo están interesadas en lo que pueden hacer dentro del juego que les interesa. Eso no se generaliza en un interés por aplicar las mismas habilidades a todo lo demás

    • Hackear juegos de hace 20 o 30 años es mucho más fácil que software moderno. Eso se debe a que los juegos no tienen mitigaciones en absoluto. En el caso de juegos populares, además, se parte de décadas de trabajo de ingeniería inversa y no (potencialmente) desde cero. Y hay un mejor conjunto de herramientas disponibles, como save states
    • Un factor importante que este post intenta abordar es que la mayoría de la gente no sabe absolutamente nada sobre la industria de investigación de vulnerabilidades. No llama la atención como una speedrun transmitida para caridad ante millones de espectadores
  • La diferencia importante es la motivación. Los speedrunners lo disfrutan porque el juego es divertido. Los speedrunners sí pueden usar estas vulnerabilidades de una forma realmente significativa en sus vidas, pero los investigadores de vulnerabilidades por lo general no

    • Es una observación general sobre ciberseguridad. La caza de bugs y la ingeniería inversa requieren mucha más perseverancia que escribir software y que otras áreas de IT. Es difícil sacar esa perseverancia cuando el sueldo es tu única motivación, el software objetivo es intrínsecamente aburrido y sabes que te pagarán encuentres bugs o no
  • Esto es absolutamente obvio. Los investigadores de vulnerabilidades envidian los videos de speedruns asistidas por herramientas. Como referencia, cuando hice Microcorruption, los desarrolladores de juegos superaban a todos excepto a los investigadores de vulnerabilidades de élite

  • Hace poco vi la speedrun récord mundial de Subnautica, y alguien amablemente dejó en los comentarios la lista de todos los bugs que usó para terminar el juego en 28 minutos

    • Fue realmente asombroso. Al jugarlo, casi no me topé con bugs o glitches y pensé que estaba bastante pulido. Pero en realidad todavía quedaban cientos de bugs, incluso años después del lanzamiento y tras múltiples actualizaciones
  • Artículo interesante

    • Es una lástima que la ciberseguridad no sea tan inherentemente divertida e interesante para muchos speedrunners como lo son los videojuegos. Una gran razón por la que los speedrunners pueden pasar tiempo buscando glitches y hacks en estos juegos es que se divierten muchísimo haciéndolo. Además, hackear glitches en juegos de décadas de antigüedad suele ser accesible y no tiene una barrera de entrada tan alta como la ciberseguridad
  • En el extremo, puedes conseguir cosas como ejecución arbitraria de código en Super Mario World

    • Edit: aquí debió haber un enlace. Enlace
  • Este spam de blog fue escrito por un “Senior Cyber Engineer”. Me pregunto si (a) le da vergüenza lo ridículo que es el anuncio que escribió, o si (b) en realidad ni siquiera es ingeniero sino un prompter de ChatGPT

  • Soy speedrunner, y estoy bastante seguro de que esto es bien conocido y aceptado como estándar en algunas categorías. Es un estándar tan aceptado que el título casi suena como un insulto menor

    • En el mundo de los juegos, el comportamiento indefinido del software es importante para estas cosas. Puede verse especialmente en los legendarios hacks descubiertos en la speedrun de Ocarina of Time
    • En Super Mario World, SethBling ejecutó manualmente una versión de Flappy Bird mediante inyección de código. Sin save states. Tomó mucho tiempo y el proceso fue realmente fascinante. Enlace
    • Yo también hago speedruns de cosas fuera de los juegos. Así que la generalización es que no solo somos investigadores de seguridad, sino personas que aprenden muy bien la “forma” de las cosas, y usan esa forma para aprender cómo pasar de un estado de esa forma a otro
    • En conclusión, sí, puede ser algo tan simple como investigación de seguridad. Pero la alegría y la belleza del speedrunning son mucho más grandes y hermosas que eso. Claro, ese puede ser uno de los resultados