jueves, 30 de diciembre de 2010

El sistema de seguridad de PlayStation 3 entre “la espada y la pared”


Con cuatro años ya de vida, era PlayStation 3 la única consola del mercado cuyo sistema de seguridad aguantaba en pie, haciendo muy difícil el ejecutar juegos piratas o desarrollar el llamado homebrew (software casero no oficial). Pero hablamos en pasado porque parece que se ha vulnerado de forma definitiva este sistema de protección en la consola de Sony. Aunque antes de entrar en más detalles os ponemos en situación. A principios de año, el hacker George Hotz (que consiguió en su día el jailbreack del iPhone), publicó cierta información sobre algunas vulnerabilidades del sistema de seguridad de PlayStation 3 a través de la opción de instalar otro sistema operativo que tenía la consola.
Sony decidió cortar por lo sano y con una polémica actualización de firmware (la 3.21) eliminó dicha opción de raíz. Ya en septiembre hizo irrupción el PSJailbreak e infinidad de clones posteriores que, básicamente, era un dispositivo USB que permitía la carga de copias de juegos y de código sin firmar a través de un disco duro. Nuevamente Sony actuó rápido y con una actualización de firmware consiguió que este dispositivo no funcionase en consolas con versiones de firmware superiores a la 3.41, es decir, los juegos actuales y las consolas actualizadas quedaban libres de la piratería.

Y llegamos al día de ayer, en plena celebración del Chaos Communication Congress, un evento con sede en Berlín que congrega a hackers de todo el mundo y que ha logrado cierta relevancia, pues hasta allí se desplazan incluso compañías como Microsoft para hablar de diferentes temas de seguridad. En dicho evento un grupo de hackers denominado fail0verflow, que ya habían conseguido en su día vulnerar el sistema de seguridad de Wii, realizó una presentación donde han explicado paso por paso cómo han encontrado el “jailbreak definitivo” de PlayStation 3, sin necesidad de ningún tipo de dispositivo USB ni de hardware externo. La vulnerabilidad encontrada por estos hackers está en el sistema para firmar los SELFs utilizado por Sony. Sin entrar en muchos tecnicismos que no vienen al caso, podemos decir que la consola comprueba cada juego o aplicación que carga mediante esa firma digital. Si esta firma es válida, asegura que el software a ejecutar ha sido aprobado por Sony, y no ha sido modificado en ningún momento. Para generar esta firma, es necesario disponer de la clave privada, que únicamente la conoce el fabricante y es prácticamente imposible de hallar por fuerza bruta. En el caso de PlayStation 3, y debido a un error de implementación, es posible adivinar la clave privada analizando las firmas, permitiendo que cualquiera a partir de ahora pueda firmar código para ejecutarse en una PS3.
Para los que os interesen los detalles técnicos, os explicamos que esta firma del código se calcula utilizando diferentes variables, dos de las cuales se desconocían: una era una clave privada y la otra un número aleatorio. El fallo de seguridad en la consola de Sony está precisamente aquí, y es que ese supuesto número aleatorio no es tal, sino que el sistema siempre devuelve el mismo número (la imagen que acompaña a esta noticia, mostrada durante la conferencia, es bastante ilustrativa). Es decir, Sony firmaba el código con su clave secreta, pero al estar el algoritmo mal implementado con una variable aleatoria que no es tal, se puede hacer el proceso inverso calculando la clave privada a partir de la firma.

No hay comentarios:

Publicar un comentario