Hola buenas, hoy voy a hablaros sobre un tema que vengo siguiendo desde hace tiempo relativo a la libertad de los usuarios sobre los cacharros que se compran. Por poner un nombre os hablaré de Sony y de la PS3.

Sony y su PS3

Todos aquellos que tengáis una PS3 (y la uséis) os habréis dado cuenta que se trata de un "cacharro" bastante jugoso y lleno de posibilidades. Cuando salió al mercado Sony estaba dispuesto a que la gente hiciera buen uso de él mediante una increíble "feature" llamada OtherOS. Además de esa "feature" se incluían otras como: compatibilidad con PS1 y compatibilidad con PS2 (primero por HW y posteriormente por SW). Pues bien... de repente en una actualización desaparece la compatibilidad con PS1 y PS2 (de aquellas consolas que lo hacían por SW). Se supone que las actualizaciones deben añadir funcionalidades o corregir errores. Desde luego no creo que emular el hardware de una PS2 sea un error. La gente inquieta (que forman el 90% de la llamada scene) vivían alegres y felices con el OtherOS ya que permitía usar la consola con los propósitos originales de Sony además de poder hacer lo que tú quisieras con ella sin incurrir en la ilegalidad. No todo era color de rosa: desde OtherOS se vetaba el acceso a un SPU (uno de los procesadores del sistema) y desde luego nada de RSX (el chip gráfico y de sonido denominado "Sintetizador de Realidad"). Con esto se aseguraban que nadie fuera a sacar juegos para el OtherOS que compitiesen con los juegos "habituales" de PS3, es decir, los de empresas licenciadas que habrían pagado una pasta a Sony para que esto fuese así. Y allí donde alguien pone una barrera alguien desea saltarla. Apareció un individuo llamado Geohot (conocido por realizar el primer jailbreak de iPhone) que mediente un simple puente en la placa de la consola era capaz de acceder a toda la memoria de la consola, es decir, dentro y fuera del OtherOS. Imaginad que desde la máquina virtual de Java pudiérais acceder a direcciones de memoria del sistema real... Ese avance permitió acceder al RSX y por tanto a una futura implementación de OpenGL dentro del OtherOS que usase el RSX... esto resultó inadmisible para Sony que decidió cortar por lo sano: una actualización del firmware eliminaba la opción OtherOS de la consola. Una opción que aparecía en la misma publicidad de las consolas hasta el momento vendidas. A todas luces esto es ilegal (o al menos según la ley europea) y mucha gente fue la que intentó interponer demandas conjuntas contra Sony. Tal revuelo se formó que Sony decidió hacer frente a las críticas: "que los clientes presenten reclamaciones a los vendedores". Impresionante: evitan a los clientes y "enmarronan" a quien vende su producto... Con la eliminación del OtherOS llegó la tormenta: demasiada gente muy curiosa ahora no podía usar la PS3 como ellos querían, de hecho como Sony había dicho en un principio que se podía usar. Así la gente comenzó a mirar "dentro" de la (hasta ese momento) "consola más segura del mercado". Y apareció el primer bug: una filtración de un manual de Sony revelaba que la consola, antes de arrancar, podía autenticarse con un dispositivo especial mediante el USB de forma que en el servicio técnico pudieran trabajar con ella, arreglarla, restaurarla, etc. En este proceso de autenticación Sony cometió un error en la reserva de memoria de los descriptores USB. Si el dispositivo que se enchufaba pedía tamaños extravagantes para alojar descriptores de dispositivo, el driver símplemente lo hacía. Mediante un ataque de heap overflow se consiguió inyectar código en la consola antes de que arrancase el GameOS. Las primeras copias de seguridad de juegos podían empezar a usarse después de varios años de vida de la consola. Nunca antes se había tardado tanto en "piratear" una consola, el motivo símplemente era que los "curiosos" podían usar la consola para sus propósitos sin necesidad de "cacharrear" nada. Aquí el "castigo" de Sony también fue ejemplar: la siguiente actualización de firmware corregía el bug en el driver de USB, además (y de regalo) impedía usar ningún dispositivo USB que no fuera oficial: ni mandos para la consola no oficiales, ni adaptadores de mandos de PS2 a PS3, ni adaptadores de memory card de PS2 a PS3... nada. Si esto no es una acción monopolística, ¿entonces qué es?. Hasta ahora empezaba el clásico juego de sceners encuentran bugs, empresa publica firmware que corrige bugs. Ya era posible arrancar copias de seguridad pero resultaba un engorro, los juegos nuevos eran más difíciles (o imposibles) de arrancar y era imposible usar la conexión a internet o los servicios del PSN. Pero había un problema: usar GNU/Linux seguía siendo imposible y la alternativa AsbestOS (aplicación casera) resultaba engorrosa de usar. Entonces llegó el 27C3 y su sección Console Hacking 2010 titulada: "Sony PS3: Epic Fail". Los autores de AsbestOS no estaban dispuestos a renunciar al OtherOS así que se fijaron como objetivo crear el suyo propio. Para ello se pusieron a investigar sobre los últimos bugs de la consola y descubrieron alguno nuevo. En el congreso dieron una animada y divertida charla donde presentaron su trabajo. Fue tal la expectación que resultaba casi imposible conectar a los servidores dedicados del congreso. Al final de la charla revelaron el "Epic Fail" de Sony que explico a continuación: Imaginemos que disponemos de un sistema de autenticación basado en clave asimétrica. Dentro de la consola, en algún lugar, se encuentra la clave pública. Los programas que se cargan en la consola se cifran mediante una clave privada en las oficinas de Sony. Ambas claves, la privada y la pública, se generaron a partir de una clave maestra. Para mantener la clave maestra a salvo (esta clave se encuentra en las oficinas de Sony bajo máxima seguridad) se generan los pares de claves mediante una función de ofuscación y un número cualquiera. De esta manera, por muchas claves que conozcamos nos será imposible (o computacionalmente imposible) calcular la clave maestra. Y aquí está el problema: los ingenieros de Sony utilizaron SIEMPRE el mismo número aleatorio en lugar de calcular uno cada vez. Si eliminamos la aleatoriedad de la función de ofuscación la convertimos ahora en una constante y por tanto fácilmente computable. Buscando dentro del firmware de la consola las claves públicas podremos recolectar las suficientes como para poder calcular las claves privadas y finalmente la maestra. Bueno, las consecuencias de esto no se hicieron esperar: se publicó en Google Docs una hoja de cálculo con todas las claves públicas y privadas del sistema, así como la clave maestra. El equipo de AsbestOS sólo se ocupó de la parte necesaria para crear un paquete con firma oficial que permita volver a cargar Linux en la consola (está actualmente en desarrollo) pero abrió la puerta a todos aquellos que deseaban "customizar" el firmware de la consola. Ahora cualquiera podría crear firmwares o paquetes para GameOS con firma oficial. De hecho existen herramientas caseras para hacer esto. Si os preguntáis qué puede hacer Sony para evitar esto la respuesta es fácil: desde el punto de vista técnico nada, porque si publicasen un firmware con una nueva clave maestra todo el software publicado hasta el momento dejaría de funcionar y si tiene una clave nueva pero se permite la antigua seguiríamos igual. Así que Sony ha decidido ponerse las pilas y ha movido baza: pretende llevar a juicio a todas las personas que han intervenido de alguna forma en el desarrollo de la scene de PS3. La lista de denuncias contra los "hackers" es increíble, incluso acusan de extorsión. Ahora mi opinión: un error tan grave en el sistema va a intentar ser corregido en los tribunales. Los mismos tribunales que han permitido a Sony eliminar features de su consola. Y es que Sony hace muy buenos productos, pero los gestiona muy mal debido a su grandísimo afán recaudatorio. Intenta exprimir al máximo a todos sus usuarios llegando incluso a emplear técnicas ilegales para ello (¿no recordáis ya el rootkit de Sony Music?). Así que Sony, va siendo hora de que aprendas que la gente compra las cosas para usarlas como más les guste y que a nadie le gusta que le fuercen a nada y menos pagando por ello. La piratería de vuestra consola la creásteis vosotros al piratearnos a nosotros el OtherOS. Pero no aprenderán... Si os preguntáis qué les va a pasar a los "hackers", bueno, GeoHot no violó ningún término de uso puesto que su aplicación para extraer las claves corría dentro del OtherOS. Por otro lado, Marcan, principal investigador dentro de AsbestOS (grupo Overfl0w) es español y aquí la ley le ampara a él puesto que nunca aceptaron donaciones y su trabajo únicamente sirve para correr Linux dentro de la consola. Si aún no os habéis aburrido con todo este rollo, aquí van algunos enlaces interesantes: Para correciones, aportaciones o peticiones... al menda :P P.D. Gracias a los usuarios que me habéis mandado correcciones, en especial a Ignacio Pérez por la aclaración sobre dónde se encontraban las claves públicas y privadas... :P


blog comments powered by Disqus