Pues eso creo que esta bastante bien y esplica un poco lo que esta pasando con la scene de ps3 y las pataletas de sony al respecto.
- ¡Hola Youness! Pregunta cliché: ¿Quién es KaKaRoTo, para aquellos que no han oído hablar de tí?
Mi nombre es Youness Alaoui. Soy un marroquí que actualmente vive en Montreal, Canadá, donde estudio Ingeniería en Software en la École Polytechnique de Montréal [Escuela Politécnica de Montreal].
He sido un desarrollador Open Source por unos 10 años más o menos, y me he unido a la comunidad a través de mi trabajo en aMSN, del cual rápidamente me convertí en el líder del proyecto y desarrollador de cabecera.
Actualmente estoy trabajando en Collabora, una compañía de consultoría de software especializada en Open Source, donde he trabajado en varios proyectos como Farsight, Gstreamer, Telepathy y principalmente Libnice el cual mantengo. También he trabajado en otros proyectos, como Zeitgeist. He trabajado de forma profesional en Maemo y escribí alguno de los componentes usados en los Nokia N800, N810 y N900.
- ¿Cuándo empezaste el desarrollo en PlayStation 3?
Compré una PS3 en Diciembre del 2007 y me encantó. Empecé a mirar el lado del desarrollo/hack de la consola cuando apareció el PSJailbreak [a mediados del 2010]. Miré los dumps del protocolo USB Descriptor usado por PSJailbreak en un foro y me dio curiosidad sobre qué significaban los datos. Así que empecé a hurgar muy profundo, hasta que entendí cómo el protocolo USB trabajaba y eventualmente escribí PSFreedom, un módulo Open Source del Kernel de Linux que replica el exploit de PSJailbreak. Luego empecé con el proyecto PL3 como un framework unificado para desarrollar payloads [el código que es forzado a correr en la PS3 cuando se inicia].
- Vamos al grano: ¿Qué es Jailbreak y porqué es tan importante para los desarrolladores y usuarios?
El “Jailbreak”, como lo llaman, básicamente significa permitir a la PS3 correr cualquier software casero. Es una hazaña importante considerando que la PS3, que hemos comprado con nuestro dinero ganado con sudor, no es nada más que una computadora muy poderosa basada en CELL totalmente controlada por Sony. Nosotros somos dueños de una PS3 así que tenemos total libertad de hacer lo que queramos con el hardware.
Si queremos tirarlo por la ventana, ponerlo en una juguera, o instalar nuestro propio software en él, Sony no podría decir nada sobre ello. Para mí, es como comprar una computadora que viene preinstalada con una copia especial de Windows, donde no tienes otra forma de instalar otro sistema operativo en él, y mucho menos una forma para instalar software que no esté aprobado para esta versión de Windows. No tiene sentido, y actualmente el Jailbreak es lo que le devuelve la libertad a tu hardware.
- Durante los últimos días, Sony “demandó” a fail0verflow y George Hotz, principalmente, por permitir un parche que directamente permitía correr copias piratas de videojuegos. ¿Es eso verdad? Por lo que sabemos, no lo permite como algunos dongles USB.
No, eso no es verdad. El equipo fail0verflow sólo hizo una presentación explicando todas las fallas de seguridad en la PS3. Compartió con el mundo cosas que ya se sabían y añadió otras que ellos mismos descubrieron. También lanzaron algunas herramientas, pero son inservibles sin las “llaves” de PS3 (que fail0verflow no publicó).
George Hotz vino después, tomó las herramientas y los métodos que todos en el mundo han reunido y compartido en Internet, luego usó el conocimiento/herramientas para encontrar las llaves METLDR (también llamadas “Root Keys”) y las publicó. Él también escribió su propio modificador de Firmwares y publicó las herramientas para firmar archivos NPDRM SELF. Eso significa que cualquier aplicación casera puede ser firmada como como si lo hicese Sony, y permite correr de forma autenticada en la PS3.
Lo que han informado y publicado Failoverflow y GeoHot no sirve para la piratería, sólo permite correr aplicaciones caseras. Sin embargo, como Sony está enojado por perder esta batalla tan rápidamente – se sabe que están preocupados y que no tienen forma de salvarse después que sus llaves fueron descubiertas matemáticamente – decidieron desesperadamente responder con el único método que conocen: demandando gente. Esas “demandas” son una bolsa de mentiras atadas entre sí con el objetivo de asustar a los desarrolladores de jugar con su PS3.
Con todas sus claves privadas filtradas, asustar desarrolladores con demandas se transformó en su única “Función de seguridad”. Desafortunadamente para ellos, tiene tantos agujeros como su sistema y no les va a funcionar.
- ¿Será la modificación de Firmwares la única opción para instalar software casero? ¿O es algo que sólo se aplica a la actual versión de Firmware (porque Sony podrá parcharlo en la siguiente versión)?
Las modificaciones al Firmware siempre serán posibles. Como ahora sabemos las llaves para firmar actualizaciones de Firmware, también significa que no importa qué nuevo Firmware publique Sony, los antiguos necesitarán descifrar y autenticar el próximo, así que las llaves siempre serán las mismas. Como tenemos las llaves, podemos crear cualquier Firmware que se parezca al oficial, y luego podemos “actualizar” nuestra PS3 a cualquier Firmware modificado o personalizado.
- Hablando de lo más importante, las “llaves” relacionadas con METLDR, NPDRM y otras. ¿Qué significan para alguien que quiere desarrollar e instalar software casero en su PS3?
La PS3 es una máquina compleja con múltiples capas de seguridad. Cada ejecutable y cada paso en el inicio de la consola está “asegurado” y cifrado con una llave diferente.
Primero tenemos el “Bootloader” que inicia “LV0″, el cual inicia “LV1 Loader” (LV1LDR) el cual descifra e inicia “LV1 Hypervisor”. Luego el “LV2 Loader” (LV2LDR) descifrará y cargará “LV2 GameOS Kernel”, luego “Application Loader” (APPLDR) descifrará y cargará los ejecutables.
[Analogía: En pocas palabras, es básicamente algo como una puerta detrás de otras puertas. Después de abrir una de ellas, se encontrará con la llave colgada en la pared del cuarto abierto para abrir la siguiente, y así sucesivamente, hasta salir afuera del edificio.]
Cada uno de esos ejecutables están firmados y cifrados con una llave diferente que sólo el anterior elemento de la “Cadena de Confianza” sabe. Por ejemplo, LV2 está cifrado con una llave que sólo “LV2 Loader” (LV2LDR) conoce, así que está segura dentro de LV2. Lo mismo sucede con LV1 y LV1LDR, y también se aplica lo mismo a las aplicaciones, que sólo se pueden descifrar con APPLDR.
Esos “Loader” son ejecutables, y están firmados y cifrados con una llave única, que sólo un ejecutable puede descifrar: METLDR. Este “Meta Loader” (METLDR) está muy alto en la Cadena de Confianza y contiene las llaves para todos los ejecutables (LV1LDR, LV2LDR y APPLDR).
[Analogía: Todas las puertas tienen su llave, y todas las llaves están ubicadas dentro de una caja fuerte con una única combinación. Si sabes la combinación para abrir la caja fuerte, tienes acceso a todas las llaves.]
Si una llave se filtra o está comprometida, Sony puede siempre generar una nueva llave [para reemplazarla] y revocar la anterior para que no pueda funcionar. El problema es que METLDR no puede ser actualizado mediante Firmware, así que ese archivo nunca cambiará y el próximo elemento en la Cadena de Confianza (los ejecutables LDR) siempre estarán cifrados con la misma llave, que está contenida en METLDR.
Además, Sony no puede revocar y cambiar las llaves de las aplicaciones, porque si lo hacen, todos los juegos anteriores [a la revocación] simplemente dejarán de funcionar. Mientras podamos firmar nuestras aplicaciones con la llave oficial (NPDRM), entonces Sony no puede hacer nada en contra.
[Analogía: Si una llave se filtra, Sony simplemente cambiará la llave y el candado correspondiente. Pero ellos no pueden cambiar la combinación de la caja fuerte. Después que cambien los candados, deben colocar las llaves dentro de la caja fuerte, pero como ahora sabemos la combinación de dicha caja, siempre podemos abrirla y cojer las nuevas llaves.]
Con la publicación de las Llaves METLDR, George Hotz nos ha dado la posibilidad de modificar cualquier próximo Firmware en el cual Sony desee contener nuevas llaves. Si cambian alguna de las llaves, entonces podemos usar las Llaves METLDR filtradas y descifrar cualquier ejecutable LDR, tomar las nuevas llaves, y luego descifrar el siguiente elemento en la Cadena de Confianza hasta que tengamos todas las llaves del nuevo sistema. Luego, reconstruimos nuestro nuevo Firmware modificado con las nuevas llaves.
Esas llaves son en serio muy importante para los desarrolladores de aplicaciones caseras porque significa que, pase lo que pase, siempre podremos revertir lo que hizo Sony y permitir correr aplicaciones caseras en el nuevo Firmare.
- Algunas personas están interesadas en agregar Peek&Poke, “Llamadas a sistema” (System Calls – SysCalls) que permiten soportar Gestores de Respaldos (Backup Managers). ¿Existe otra propiedad en estos SysCalls además de permitir el funcionamiento de los los Gestores de Respaldo?
“System Calls” (SysCalls) son básicamente funciones específicas del Kernel [el intermediario entre el hardware y el programa] desde una aplicación a nivel usuario. Son usadas para cosas como “Abre un archivo”, o “Crea un nuevo proceso”, etcétera… El Kernel de GameOS viene con 1024 entradas SysCalls, pero no todas son usadas, así que podemos agregar nuestros propios syscalls para que hagan cualquier cosa que necesite acceso al Kernel.
Por ejemplo, podemos agregar un syscall para permitir agregar nuevos módulos al Kernel, abriendo la posibilidad para que nosotros, por decir, agreguemos soporte para Kinect, o podríamos crear uno para tener control de los LEDs de apagado y expulsar de la consola, creando una entretenida sincronización con un reproductor de música. Las posibilidades son infinitas.
en fin la entrevista continua pero creo que con esto ya nos hacemos una idea os dejo la fuente por si quereis verla entera.
Advertencia: Spoiler!
saludos