Tradicionalmente los fabricantes de videoconsolas construyen sus máquinas de forma que solo se pueda ejecutar en ellas software «autorizado». Para conseguir dicha «autorización», los fabricantes de videojuegos deben pagar una cantidad monetaria al fabricante de la consola, en concepto de licencia. De esta forma el fabricante original consigue una fuente extra de financiación y un control total a nivel de software.
Con la potencia y el bajo precio de las consolas actuales, resulta atractivo poder ejecutar programas alternativos para, por ejemplo, convertir la máquina en un servidor web o en un componente adicional en una red de «rendering» distribuido.
Habitualmente los usuarios que requieren esas funcionalidades deben recurrir a una modificación física de la consola, operación delicada, relativamente cara y, en algunos países, incluso ilegal.
Se acaba de descubrir, no obstante, un mecanismo por el que un usuario sin recursos especiales (en particular, con una videoconsola sin modificar) puede superar las barreras de seguridad y ejecutar código arbitrario en su consola PlayStation 2.
El descubridor del procedimiento aprovecha una vulnerabilidad en el código de compatibilidad PS1 en la PS2. Se requiere un disco legítimo de PlayStation 1, y una tarjeta de memoria. Cuando se enciende la consola con un disco de PS1, la consola accede a la tarjeta de memoria, buscando un archivo «mc0:/BXDATA-SYSTEM/TITLE.DB» (la X es el número de región de la consola). Las rutinas de carga de dicho fichero contienen un desbordamiento de búfer que permite la ejecución de código arbitrario en el equipo. Dicho código toma el control del proceso de arranque de la consola y puede lanzar, por ejemplo, un sistema operativo propio.
Las posibilidades que abre esta vulnerabilidad son inconmensurables. Desde arrancar una versión adaptada de Linux hasta poder ejecutar nuestros propios videojuegos, escritos por nosotros.
Más Información:
PS2 Exploit Allows Running of Unsigned Code
http://slashdot.org/article.pl?sid=03/08/16/1621211
PlayStation 2 Independence: The PS1DRV Hack
http://www.0xd6.org/ps2-independence.html
Jesús Cea Avión
jcea@hispasec.com
Noticias Hispasec
