Las claves de la PlayStation 3

Por Arturo Quirantes, el 21 febrero, 2013. Categoría(s): Criptografia ✎ 1

[Ahora que Sony ha presentado a bombo y platillo la nueva PlayStation 4, no es mala idea echar la vista atrás un poquito. ¿Será la nueva consola tan «segura» como sus predecesoras? ¿Aprovechará Sony para hacer las paces con la comunidad hacker? Considerando la forma en que la PS4 apuesta por la Nube y los sistemas multijugador, creo que es mejor una pizca de precaución. He aquí un extracto de mi libro Cuando la criptografía falla, con referencias incluidas]

Uno de los puntos de fricción más activos en la eterna pugna entre usuarios contra fabricantes compete a las videoconsolas.  Los grandes fabricantes parecen desear que los usuarios se limiten a comprar el aparato, comprar los juegos y callarse.  Sin embargo, una Wii, una Xbox360 o una PS3 tienen tanta potencia de cómputo como un ordenador.  Y hay por ahí mucha gente con conocimientos técnicos, que piensan que usar una consola solamente para jugar es un desperdicio.  Puede sonar raro a algunos que alguien quiera instalar Linux en una consola de juegos, ya que no están diseñadas para eso.  Pero si puede hacerse, ¿por qué no hacerlo?

La PlayStation3 ha sido la videoconsola más resistente a «usos no autorizados,» pero incluso ella sucumbió, y llegó el momento en que se le pudieron introducir chips modificados para poder realizar operaciones prohibidas, como por ejemplo jugar con juegos piratas o instalar Linux en ellas.  El problema para los fabricantes es que, al menos en España, eso no es legal.  La ley prohíbe la fabricación, venta o uso de medios técnicos diseñados específicamente para neutralizar protecciones informáticas, pero el énfasis está en la palabra «específicamente».  Los jueces han dictaminado en repetidas ocasiones que usar un dispositivo que tenga también otros fines legítimos es legal. Recomiendo a los interesados en el aspecto legal la excelente web de Bufet Almeida [www.bufetalmeida.com].  Lean las últimas sentencias sobre el asunto.

En el fondo, se trata del viejo asunto de quién controla la consola: ¿el fabricante o el usuario?  El primero la vende para ganar pasta, y pretende que el segundo la use de forma limitada y controlada; pero el usuario no es tonto, y piensa que si la consola es suya, debería poder hacer con ella lo que quiera. Y no es solamente una tontería de cuatro frikis con demasiado tiempo libre.  Una consola de juegos moderna es un ordenador por derecho propio, y si los usuarios pudiesen usarlo como ordenador, el propio mercado informático podría cambiar sustancialmente.

Ya en 2000, la prensa digital afirmó que Sadam Hussein había comprado hasta 4.000 consolas PlayStation 2, con posibles aplicaciones militares como controlar aviones no tripulados cargados de armas químicas, calcular trayectorias para misiles balísticos o incluso diseñar armas nucleares [“Why Iraq´s buying un Sony PlayStation 2s”]. Nunca se encontraron esas máquinas en Irak, así que o bien las consolas nunca llegaron a su destino, o bien la noticia era un bulo desde el principio; o acabaron en el mismo lugar que las misteriosas armas de destrucción masiva de Sadam.

Pero la idea era factible, y se aplicó en la siguiente generación de consolas de Sony. En 2007, un equipo de la Universidad de Massachusetts instaló una versión del sistema operativo Linux en ocho máquinas PlayStation 3, creando con ello un “cluster” con aplicaciones en astrofísica computacional a un precio muy inferior al de un superordenador de potencia equivalente [“Astrophysicist Replaces Supercomputer with Eight PlayStation 3s”]. La Fuerza Aérea de EEUU llevó esta idea al límite, y compró nada menos que 1.760 máquinas PS3. El resultado fue el Condor Cluster, un sistema con una velocidad de cálculo de 500 teraflops diseñado para procesar la información que envían los sistemas de vigilancia aérea.

Las posibilidades solamente estaban limitadas por la imaginación … y por Sony.  En este punto, y antes de continuar, es interesante resaltar que la PlayStation 3 tuvo en un principio la capacidad de ejecutar Linux y otros sistemas operativos desde su disco duro.  La propia Sony se aprovechó de esta capacidad y la usó como argumento de ventas desde 2000, cuando la PS2 era su videoconsola estrella. Se convertía así en la reina de las consolas, un instrumento tan potente que podía ser usado como ordenador de gran capacidad.

En algún momento la historia de amor entre Sony y la comunidad hacker se rompió. Probablemente todo comenzó cuando Sony insertó programas rootkit en sus CDs musicales para intentar atajar la piratería allá por 2005 (los lectores encontrarán información sobre el tema en el capítulo “Descifrando a Nemo”). Un rootkit es un programa que tiene amplios privilegios para hacer prácticamente cualquier cosa en un ordenador, y colárselo a los usuarios sin autorización ni preaviso es el tipo de cosas por el que la gente va a la cárcel en algunos países; no es, ciertamente, la conducta que se espera de un caballero, ni mucho menos lo que corresponde a una empresa que pretenda pasar por ejemplo “cool” frente a una comunidad de tecnófilos.

La PS3 fue durante años objetivo de todo tipo de hackers. Tres elementos contribuyeron a ello: era una máquina potente, tenía reputación de ser más segura que sus rivales, y podía albergar sistemas operativos como Linux. Toda una tentación. Un hacker llamado George Hotz (“Geohot”) cantó victoria a comienzos de 2010: había hackeado la PS3 para lograr acceso a la memoria de lectura y escritura. Con esa hazaña, se abría la puerta a programar la consola a voluntad, pudiendo ejecutar software hecho por los propios usuarios. Como opción adicional, se podrían ejecutar juegos pirateados, o incluso los juegos de la antigua PS2 [“PlayStation 3 ‘hacked’ by iPhone cracker”].

La acción de Hotz probablemente fue la gota que colmó el vaso. Sony decidió que había llegado el momento de acabar con tanto uso no autorizado. A partir de la revisión 3.21 del firmware (1 de abril de 2010), las PlayStation3 dejarían de ser capaces de ejecutar Linux. Los usuarios que no instalasen esta nueva actualización perderían, entre otras cosas, la posibilidad de usar el modo multijugador de PlayStation Network [“PS3 Firmware (v3.21) Update”]; algo que Sony se olvidó de advertir a sus clientes españoles, por cierto [“Funciones de la actualización (v.3.21)”].

Se acabó eso de usar consolas de juegos para hacer simulaciones informáticas, ejecutar Linux o cualquier otra cosa que no fuese jugar y callar. Eso fue un duro golpe para muchos proyectos de supercomputación. Los sistemas ya existentes, como el Condor Cluster de la USAF, podían seguir en funcionamiento, a condición de no volver a actualizar el firmware de las máquinas. Para los nuevos, se acabó la posibilidad de utilizar las PS3 como una alternativa barata a un gran ordenador de cálculo científico.

Esta acción fue vista por muchos como una traición por parte de Sony y, a partir de ese momento, se les rompió el amor. Los amantes despechados se lanzaron sobre la PS3 para reclamar la posibilidad de instalar Linux y volver a convertirla esta máquina en un aparato interactivo más allá de lo que sus fabricantes impusieron. Sony, el colega guay de la comunidad hacker, pasó a convertirse en el enemigo.

En una reunión del Chaos Computer Club de Alemania celebrada a comienzos de 2011, un grupo de expertos mostró cómo la seguridad de la supuestamente invencible consola caía trozo a trozo. No voy a repetir aquí todos sus descubrimientos, pero sí aprovecharemos para mostrar un “epic fail” del gigante japonés relacionado con una mala elección de claves.

Uno de los procedimientos que tiene la PlayStation 3 para evitar la ejecución de programas no autorizados es un sistema de firma digital. En algún lugar de la Sony Corporation hay una cámara acorazada con una clave criptográfica guardada.  Cuando hay que «firmar» un juego, usan la clave y luego le dan el resultado al programador del juego para que la incluya en el disco. Al insertar el disco en la consola, ésta verifica la firma digital.  Si no coincide con lo que tiene que dar, una de dos: o se ha firmado con otra clave distinta no autorizada, o bien el juego ha sido modificado.  En cualquiera de los dos casos, rechaza ejecutar el juego.  De ese modo, la firma digital permite a la consola determinar qué programas de pueden ejecutar en ella.

Las firmas digitales de la PS3 se basan en la llamada criptografía de curva elíptica (CCE), un sistema que utiliza un problema computacionalmente difícil para garantizar la seguridad. En concreto, el mecanismo de firma incorporado se denomina ECDSA (Elliptic Curve Digital Signature Algorithm). No nos interesan aquí los detalles, sino tan sólo el hecho de que esta firma tiene como elementos secretos una clave k y un número aleatorio m.  A partir de ahí se obtienen dos elementos R, S que forman la firma digital. Hay una condición imprescindible para que este sistema funcione adecuadamente: cada firma tiene que basarse en un número aleatorio m diferente. Si dos firmas compartiesen el mismo valor de m, el parámetro secreto k podría ser recuperado. Por supuesto, Sony sabrá eso y seguro que sus ingenieros habrán configurado un buen generador de números aleatorios para obtener diferentes valores de m, ¿no? ¡Pues no! Por algún motivo que desconocemos, las PS3 usan siempre el mismo valor de m. Imagínese usted una operadora de telefonía móvil que diese a todos sus clientes el mismo PIN; pues más o menos lo mismo.

Los hackers alemanes aprovecharon esa vulnerabilidad (que no es un fallo criptográfico, sino de implementación) y sus conocimientos técnicos sobre la consola (que Sony, en un habitual ejercicio de arrogancia, pensaba que nadie más sabría) para obtener la clave k. Si quieren acudir a la fuente original, les recomiendo la presentación de la charla [“Console Hacking 2010 – PS3 epic fail (PDF 8,7 MB)”], y sobre todo el video [“Sony’ s PS3 security is epic fail – videos within”]. Personalmente, me quedo con el momento en que el hacker dice: por alguna razón, Sony usa el mismo número todo el tiempo (parte 3, minuto 7:09).  ¡El auditorio estalló en risas y aplausos!  Era el momento en que los asistentes descubrían el epic fail.

¿Y qué se puede hacer con la clave k?  Pues firmar cosas.  Y con ello se desmonta toda la seguridad de la PlayStation 3.  Todas las capas de algoritmos, protocolos y cifrados que Sony había instalado en la PS3 se vienen abajo, igual que un castillo de cartas.  Epic fail en estado puro. En toda la boca. Geohot publicó la clave en su página web, y aunque fue obligado a retirarla bajo amenaza de una demanda judicial, puede encontrarse fácilmente [Página web de geohot]. Aquí la tiene usted:

BA 90 55 91 68 6190 55 91 68 61 B9 77 ED CB ED 92 00 50 92 F6 6C 7A 3D 8D

Conociendo la clave, cualquiera puede publicar sus propias actualizaciones. La contramedida escogida por Sony fue una combinación de modificaciones en el firmware de las PS3. Las variantes de firmware 3.56 y 3.60, publicadas en enero y marzo de 2011 respectivamente, incluyeron medidas para evitar la creación de firmware “a medida,” y la red PlayStation Network fue configurada para bloquear a los usuarios cuyas máquinas no estuviesen actualizadas; oficialmente, al menos en España, la función de estas actualizaciones eran añadir un parche de seguridad [“Funciones de la actualización (v.3.56)”] y permitir el almacenamiento online de los datos de software, es decir, guardar partidas en la nube [“Funciones de la actualización (v.3.60)”].

La modificación más importante fue un cambio en la “cadena de confianza” del sistema. En sistemas como el de la PS3, la seguridad se conforma como una cebolla: a capas. La nueva “capa de cebolla 3.60” se basaría en una clave criptográfica llamada lv0. Este sería el nuevo gran secreto, la llave maestra. Sorpresa, sorpresa, el nuevo secreto acabó siendo revelado. Se ignora la fecha del descubrimiento, pero la noticia saltó a la prensa en octubre de 2012: un grupo llamado “los tres mosqueteros” consiguió de algún modo acceder a la clave y la compartieron publicándola en Internet [http://pastie.org/private/bevpt5jf9kdjg3vrrv05w].

El 13 de noviembre, Sony respondió con una nota de prensa en la que amenazaba con bloquear el acceso a la red mutijugador PlayStation Network a todos aquellos que ejecuten software no autorizado [“Sony responds to Playstation 3 LV0 bootloader keys leak; banning warnings issued”]. La dureza de la amenaza no debe distraer del hecho de que Sony no hizo ningún anuncio sobre nuevas actualizaciones de firmware o modificaciones técnicas para contrarrestar esta amenaza. En mi opinión, les va a costar arreglar este problema. La clave lv0 se integra en un chip durante su fabricación, y no es algo diseñado para ser modificado mediante una actualización; por no hablar de que, con la clave nueva bajo dominio público, cualquier modificación hecha por Sony puede ser deshecha con facilidad.

Tengo mucha curiosidad por ver cómo hará Sony para salir de este agujero. Mientras tanto, pueden ustedes entretenerse con las claves de la PS3 en [http://www.ps3devwiki.com/wiki/Keys]. Feliz jailbreaking a todos.

[Si quieres leer más acerca de la historia de amor/odio entre Sony y los internautas, con énfasis en las guerras del DVD, mi estupendo y nunca bien ponderado libro te está esperando en Amazon. ¿Te lo vas a perder? Vale, tú mismo]



1 Comentario

  1. Pues sí, todo esto parece una mera cuestión de arrogancia.
    ¿Son tan grandes estas compañías como para desdeñar así a quienes las sustentan? Las cifras revelan una y otra vez que en este ámbito que el modelo que permite más libertad es el que se lleva el gato al agua, y no siempre la competencia se va quedar quietecita

Deja un comentario

Por Arturo Quirantes, publicado el 21 febrero, 2013
Categoría(s): Criptografia
Etiqueta(s): , ,