martes, 24 de abril de 2018

Todas las Nintendo Switch son vulnerables: descubren un exploit imparcheable


Nintendo Switch lleva poco más de un año en el mercado, y está cosechando unas muy buenas cifras de ventas gracias a mezclar el concepto de consola portátil y de sobremesa. Además de haber dos emuladores en desarrollo (RyujiNX y Yuzu), un nuevo exploit en el procesador Tegra X1 de NVIDIA podría hacer que todas las Switch actuales sean pirateables, y sólo se podría arreglar por hardware.

Grave vulnerabilidad en el procesador NVIDIA Tegra X1 de la Nintendo Switch


Es decir: que todas las Nintendo Switch del mercado podrían ser pirateadas en los próximos meses. La vulnerabilidad está relacionada con un método imposible de parchear que permite ejecutar código arbitrario en la Switch. Este proceso, que sus descubridores han bautizado como Fusée Gelée, ha sido anunciado junto con una prueba de concepto que demuestra su funcionamiento.

El fallo se encuentra en una vulnerabilidad del modo recovery del Tegra X1, el cual permite saltarse la protección del bootROM mandando un código que busque saturar mediante un overflow la memoria del bootROM. A partir de ahí ya se puede ejecutar el código que el usuario quiera.

La parte más complicada de este método es forzar que el sistema vaya al modo recovery. Para ello, es necesario provocar un corto en un pin concreto del conector del Joy-Con derecho. Para ello, habrá una pieza que lo permite hacer con facilidad, e incluso con cualquier cable de cobre o doblando el pin se podrá hacer.
El problema que esto presenta para NVIDIA y Nintendo es que el exploit no se puede arreglar con un simple parche, ya que el bootROM no se puede modificar una vez el procesador sale de la fábrica. Por ello, las 14.8 millones de Switch que ya se han vendido son vulnerables, y será necesario un rediseño del chip por parte de NVIDIA para arreglarlo (en el caso de que decidan hacerlo).

Se lanzará un bootloader personalizado y se podrá cargar código desde la SD


Con esto, es cuestión de meses que se pueda piratear Nintendo Switch, aunque Nintendo podrá detectar con facilidad las consolas pirateadas si llegan a iniciarse sesión en sus servidores. De momento, el método es una prueba de concepto, con un programa escrito en Python que puede mostrar información sobre las instrucciones de arranque de Switch que normalmente está protegida y no son accesibles por el usuario. Además, también se permitirá crear backups de datos del usuario en la consola, incluyendo las partidas guardadas.

Actualmente el método de carga del código es por USB desde el PC, pero llegará otro que permitirá cargar herramientas desde una tarjeta SD. La guía de utilización será publicada el 15 de junio, y actualmente están trabajando en un bootloader personalizado llamado Atmosphère. Esto abre la puerta también a la emulación de Nintendo Switch en PC, facilitando el camino a los modders para entender mejor el funcionamiento de la consola.

Los descubridores del exploit avisaron a NVIDIA y a Nintendo con 90 días de antelación para que pudieran intentar arreglar el fallo, pero por mucho tiempo que dieran es imposible que puedan arreglarlo. Han decidido publicarlo ahora para que la gente sea consciente del fallo, y así evitar que haya delincuentes que puedan aprovechar el fallo con fines maliciosos. Además, al parecer hay otros grupos que también la habían descubierto e iban a publicarlo antes que ellos.