martes, enero 11, 2011

It only does everything

¿Por qué no había sido crackeada la PS3? La mayoría de los hackers están interesados en lograr cosas como instalar Linux (o NetBSD) en cualquier procesador. Por eso es que hay Linux para Wii, Gamecube, PS2 y PSX. Sony ejecutó un movimiento maestro al incluir la instalación de Linux oficialmente, manteniendo a los hackers alejados de las tripas de la consola.

Pero el año pasado olvidaron la maestría detrás de la función OtherOS y decidieron desactivarla. Entonces los hackers buscaron y encontraron un error totalmente absurdo y totalmente grave.

Básicamente un programador decidió meter en el proceso de firma de código una constante numérica en lugar de un número aleatorio. ¿Por qué? Quizá por flojera. Quizá el programa sí tiene un generador de números aleatorios pero pusieron la constante para hacer pruebas y se olvidaron de quitarla. Quizá se dieron cuenta cuando ya habían fabricado algo y creyeron que nadie lo notaría. Es un error que se habría arreglado con un par de líneas de código y la inclusión de una librería.

Si Sony tiene más firmas entonces es cuestión de descontinuar la que ha sido comprometida. Lo más seguro es que sólo hicieron una. Que está grabada "en piedra" dentro de la PS3. Tienen las siguientes opciones:

  1. llamar a reparación todas las consolas para actualizarles el ROM que tiene la firma
  2. crear un nuevo ROM con más firmas y firmar por duplicado todo el software a partir de ya: las consolas viejas correrán piratería, pero las nuevas requerirán una segunda firma, bien hecha
  3. ignorar a las consolas viejas y simplemente firmar con una firma nueva: si quieres jugar LBP2 tendrás que comprar una PS3 nueva
  4. sacar la nueva PlayStation 4 que sería una PS3 con todas las características que ha perdido: reproducción de SACD, OtherOS, compatibilidad con PS2, más puertos USB, lectora de tarjetas… y esta vez hacer bien el rollo de las firmas

Yo creo que optarán por la 2. Espero que Sony, Microsoft y Nintendo publiquen una firma para homebrew en sus próximas consolas, ahorrándose estos bochornosos ratos.

A continuación les dejo un texto que es mi traducción del regalo de reyes que presentó BBC News. Disfruten.

La seguridad de la PlayStation 3 ha sido penetrada por hackers, permitiendo que en potencia cualquiera corra cualquier software —incluyendo juegos piratas— en la consola.

Un colectivo hacker mostró recientemente un método que puede forzar al sistema a revelar claves secretas usadas para cargar software en la máquina.

Un hacker americano que ganó notoriedad por desbloquear el Apple iPhone ha usado un método similar para extraer la clave maestra de la PS3 y la ha publicado.

Sony no ofreció comentarios al respecto.

"La consola está totalmente expuesta – no hay marcha atrás de esto", dijo pytey, miembro del grupo hacker fail0verflow, quien reveló el ataque inicial en el Chaos Communication Congress en Berlin en diciembre.

"No puede ser peor – alguien está en serios problemas en Sony ahora mismo".

El grupo, que previamente hackeó el Nintendo Wii y se declara vehementemente en contra de la piratería, dijo que desarrolló este hack para poder instalar otros sistemas operativos y software original de la comunidad —llamado homebrew— en la poderosa máquina.

"Los detalles que dimos y la información y técnicas que revelamos serían suficientes para instalar Linux", dijo. "No nos interesa la piratería".

Luego de la presentación, el hacker americano George Hotz, quien previamente hackeó partes de la consola, usó una técnica afín para extraer la clave maestra. Ahora la ha publicado en su blog.

Following the presentation, US hacker George Hotz, who has previously hacked parts of the console, used a similar technique to extract the master key. He has now published it on his blog.

Este número antes secreto se usa para "firmar" todos los juegos y programas del sistema, certificando que son genuinos y aprobados por Sony.

Pero si la clave es pública, puede usarse para firmar cualquier cosa — incluyendo software y juegos no oficiales.

"Detesto que permita la piratería", dijo Hotz. "La publicación de la clave es principalmente académica".

El número también funciona para la portátil de Sony, PlayStation Portable, dijo Hotz.

Los desarrolladores ya están liberando herramientas para crear nuevo software para la PS3 usando estos hacks.

Blanco válido

La PS3 — otrora considerada la consola más segura, y la única sin ser permanentemente crackeada — ha estado bajo creciente escrutinio de los hackers en los últimos 12 meses.

En enero de 2010 Hotz dijo haber crackeado la consola.

Luego de este anuncio Sony liberó una actualización deshabilitando una función llamada OtherOS que permitía a los jugadores instalar una versión de Linux en sus máquinas, suponiendo que había sido atacada por Hotz.

Muchos lo vieron como un golpe preventivo para protegerse de la piratería.

Hotz nunca liberó la vulnerabilidad y declaró públicamente haber dejado de trabajar en la consola.

Pero la remoción de OtherOS de parte de Sony llamó a otros hackers a mirar más de cerca el sistema.

"Se convirtió en blanco válido" dijo pytey a BBC News. "Esa fue nuestra motivación para hackearla".

Dijo que el equipo pasó "meses" tratando de penetrar el sistema.

"No fue trivial lograrlo", dijo.

Al final el error que les permitió crackear el sistema fue un error criptográfico básico que les permitió calcular la clave privada que está en manos de Sony, dijo.

"Sony usa una clave privada, normalmente en una bóveda en las oficinas de la compañía, para marcar el firmware como válido e intacto, y la PS3 sólo necesita la clave pública para comprobar que la firma proviene de Sony.

"Si se usa correctamente, nos tomaría miles de millones de años derivar la clave privada a partir de la pública, o falsificar la firma sin saber la clave privada, aún teniendo todo el poder computacional en el mundo a la orden".

Pero el equipo descubrió que Sony cometió un "error crítico" en su implementación de la seguridad.

"La receta de la firma requiere un número aleatorio como parte del cálculo, con el detalle de que dicho número debe ser totalmente aleatorio, impredecible de cualquier forma", dijo el equipo.

"Sin embargo, Sony escribió su propio software para la firma, que usa una constante cada vez". (N. del T.: FAIL!!!!!!!)

Esto le permitió al equipo usar "simple álgebra" para revelar la clave secreta de Sony sin tener acceso a ella.

"Esto debería ser el secreto de los secretos — las joyas de la corona", dijo pytey.

El equipo decidió publicar el método pero no las claves.

Luego de que revelaron su hack, Hotz dijo que se renovó su deseo de trabajar en el sistema.

"¿Qué diversión hay en una carrera si nadie compite?", dijo. "fail0verflow hicieron un gran trabajo — un nivel más arriba".

Usando una técnica similar él fue capaz de extraer la clave maestra del sistema, que luego publicó online junto con una demostración en acción.

Sin embargo, no reveló su método para obtener la clave.

"No hay motivo para hacerlo", dijo.

A pesar de ello, dijo que podría liberar un software que permita a la gente firmar su propio software y juegos caseros —llamados también homebrew— en la consola.

"Tengo un programa que corre, pero pienso una buena forma de liberarlo", dijo.

Como fail0verflow, dijo que no condona la piratería de juegos.

"No quiero que pueda firmar programas oficiales de Sony. Quisiera que sólo pueda firmar homebrew".

fail0verflow dijo que "no concuerda" con la decisión de Hotz de liberar la clave, diciendo que "facilita la piratería sin cumplir algo intrínsecamente útil".

Preocupaciones legales

Sony tiene un mal concepto de la gente que hackea su sistema.

El año pasado un equipo liberó un conector USB llamado PSjailbreak que contenía software que permitía jugar juegos caseros y piratas en la PlayStation 3.

Sony actualizó sus consolas para bloquear el software y tomó acción legal contra sus distribuidores en varios países.

Pero, según pytey, no será tan fácil arreglar el problema esta vez.

"La única forma de corregir esto es liberar nuevo hardware", dijo. "Sony tendrá que aceptarlo".

Dijo que cree que su grupo está en terreno legal con su trabajo.

"No he robado nada", dijo. "Es mi propio hardware, corro lo que yo quiera en él".

Hotz también defiende sus acciones, aunque admite estár "asustado de que le caiga una demanda".

"Confío en que ganaría porque lo que liberé fue sólo un número obtenido corriendo software en la PS3 que compré".