El juego 'Fatal Core Dump' es una innovadora propuesta que combina un misterio de asesinato con la depuración de un 'core dump', un archivo que contiene el estado de un programa en el momento de su fallo. El objetivo es enseñar una habilidad informática poco común de una manera atractiva y lúdica, siguiendo la línea de otros 'murder mysteries' educativos que utilizan CLI, SQL o incluso Deadlock Empire.
Un 'core dump' es esencialmente una instantánea de la memoria de un programa cuando este se bloquea inesperadamente. Contiene información valiosa como el estado de las variables, la pila de llamadas y el registro del procesador. Depurar un 'core dump' implica analizar esta información para determinar la causa del fallo. En este juego, el jugador debe usar estas habilidades para descubrir quién asesinó a un personaje en una estación espacial, utilizando el 'core dump' del controlador de una esclusa de aire como principal evidencia.
El autor, axlan, desarrolló un controlador de esclusa de aire en C, deliberadamente minimalista, para simular el programa que generó el 'core dump'. Para crear un escenario de asesinato plausible, se introdujo una vulnerabilidad de desbordamiento de búfer (buffer overflow) que, al ser explotada, activaba la esclusa de aire. La complejidad radica en que esta vulnerabilidad está oculta, requiriendo al jugador analizar el 'core dump' para encontrar pistas sobre cómo se activó. El juego incluye bibliotecas de interfaz simuladas (SDN) para imitar la comunicación con sensores y servidores, permitiendo un control preciso sobre el estado del programa en el momento del fallo. La creación del 'core dump' se logró manipulando la configuración del programa y codificando secuencias de mensajes SDN directamente en el código C. El autor experimentó con técnicas como el código auto-modificable y ROP (Return-Oriented Programming), pero finalmente optó por una técnica más realista que involucraba la corrupción de un puntero de callback en el heap.
Este juego es ideal para desarrolladores, ingenieros de seguridad y cualquier persona interesada en aprender sobre depuración de bajo nivel y seguridad informática. Aunque el juego presenta un escenario de ciencia ficción, los conceptos y técnicas demostrados son aplicables a sistemas reales. Una limitación es la necesidad de un conocimiento básico de C y depuración. Alternativas podrían incluir juegos más sencillos centrados en conceptos básicos de programación o tutoriales más guiados sobre la depuración de 'core dumps'. Es importante tener en cuenta que el juego contiene 'spoilers' si se juega sin antes explorar la versión interactiva.
