Visito regularmente la web de
http://www.xbox-scene.com, alli hay gente posteando, pero en ingles.
Me gustaria crear un hilo, mas o menos oficial, donde se comentasen las estrategias y planes de ataque a la seguridad de X360.
Me gustaria NO VER en este hilo, preguntas del tipo ¿ Cuando saldra el chip ? ¿ ... cuando podre cargar mis backups de XBOX en la X360 ? ... o chorradas del estilo que metiendo un pendrive USB se petara la consola.
Me gustaria ver mensajes, de mas o menos, gente seria y con conocimientos y que sepa de lo que habla.
Estoy escuchando ultimamente mensajes que dicen algo parecido a: "... con la cantidad de puertos USB, que si WIFI, que si un puerto ETHERNET, seguro que hay algun "bujero" en la X360", eso es igual para que muchos lo entienda, como de tratar de crackear el Autocad 2005 usando unicamente el Puerto serie del ordenador. Que la X360 tenga muchos dispositivos Standard no quiere decir nada.
Analizando la seguridad: Que sabemos de la X360
EPROM
Realmente no se trata de una EPROM, aunque funcionalmente es igual a ella, se trata de una NAND Flash (como las SD, MMC, etc... y actuales tarjetas de memoria) y es re-escribible. El contenido se supone que es la ROM (Dashboard) y esta encriptado (vamos que en el caso supuesto de que se desencriptara el contenido de la EPROM, no necesitaramos chip, solo re-grabar la EPROM). Cada EPROM esta encriptada con una clave diferente en cada consola. Esto evidentemente joderia el Live ya que m$ comprobaria la EPROM. Nada mas conectarse al LIVE se descarga una actualización de la EPROM y guarda la copia antigua en algun sitio (misma EPROM o HD). El codigo que contiene se encuentra firmado por m$ por lo que si se llegase a desencriptar, no se podria modificar, ya que la firma cambiaria.
Existe una segunda EPROM (de verdad, no NAND Flash) de ATMEL muy cerca de la CPU que no se sabe bien porque esta hay, pq esta vacia y si quita esta EPROM, la consola arranca aparentemente igual que como si tuviera.
Hypervisor
Mini-programa empotrado dentro de la CPU, que controla a esta y a su vez supervisa que el contenido de la RAM no pueda ser manipulado por un programa descontrolado (lease "exploit")
CPU
En los power PC, exite una posibildad que no tenia la XBOX, es la de poder marcar areas de memoria como no-ejecutables, evitando asi el uso de "exploits" que se basan en reventar el stack con codigo mas o menos deseado y ejecutarlo.
Ejecutables
Tienen la extension .XEX y estan firmados digitalmente, es decir, la CPU solo los ejecutara si el contenido del ejecutable esta intacto y sin alterar. Esto hace imposible modifcar el ejecutable (por ejemplo para el uso de "chetos" o para codigo "homebrew", ya que luego la firma no corresponderia con el ejecutable. Exiten tambien otros ejecutables encriptados (como los update para la retrocompatiblidad) que tambien disponen de firma.
Live
La sesion LIVE se inicia en modo encriptado (como SSL) por lo que no es posible saber que se cuece entre la X360 y M$. En las descargas de los juegos arcade por live, se descarga por protocolo http sin encriptar por el puerto 3074. Se trata de ficheros con extension .XCP (Xbox Content Package) y se trata de una especie de contenedor parecido al .MSI (o .CAB) de PC. Los juegos demo de Arcade que uno se descarga en realidad son las versiones completas, que tras comprarlos se FIJAN y se altera el ejecutable de forma que pasa a ser una version totalmente funcional. Ni que decir cabe que el sistema de FIJACION solo permite que se ejecute en esa consola.
DVD-Rom y DVD-Media
Segun experimentos que ha realizado un Italiano, intercambiando 2 DVD-ROM de 2 consolas (core y premium) y el tema no le ha funcionado. Esto hace suponer, primero que, cada DVD-ROM funciona exclusivamente en una consola, esto se consigue que cada placa base X360, contenga el numero de serie o un ID del DVD-ROM que viene instalado y este se grabe en el momento del ensamblaje de la consola por algunos test-points de la placa o conector. Decir tambien, que el DVD-ROM no funciona en un PC, vamos que lo conectas y no lo reconoce pese a tener un interface SATA. El 99% es SATA standard, lo que no es estandard es la forma de certificarse entre PB y DVD-Rom.
Ampliacion
En que consiste la proteccion del juego de la X360 ?
1º El bitsetting
El bitsetting no es una proteccion en si. Es un dato que se escribe en todos los discos (y en los grabables tambien) que indica el tipo de Disco que es DVD-ROM, DVD-R, DVD-RW, DVD+R, DVD+RW, etc... Ni que decir cabe que este dato puede ser leido por la unidad DVD de la X360.
2º Los media-flags
Los media-flags es un dato que contienen los ejecutables de la X360 y que dictaminan en que tipo de medio (HD, DVD-R, DVD-ROM, etc...) es posible ejecutar ese mismo ejecutable. En el momento que ese flag cambia, la firma que acompaña al ejecutable cambia tambien, por lo que la consola no lo ejecuta.
3º Zonas
Un disco original esta compuesto digamos que de 2 zonas, una de las zonas es de DVD-Video y otra donde esta el juego. Una unidad de DVD estandard solo puede acceder a la zona de Video y no a la zona de datos que es donde se encuentra el juego. Con el wxRipper es posible acceder a esa zona de datos engañando al lector metiendo un DVD-Video (u otro de datos), haciendole creer que el final del disco esta mas hacia afuera y que tiene 2 capas.
4º Challenger code
El mas IMPORTANTE. Dentro del disco, se encuentran unos datos (le vamos a llamar "Challenger CODE") que no estan ni en la Zona de Video ni en la Zona de Juego. Este "Challenger CODE" son unos numeros que en cada juego es diferente, pero son iguales en el mismo titulo. Estos "Challenger CODE" no pueden ser grabados mediante una grabadora de DVD.
¿ Para que sirven este Challenger code ?
Uno de los metodos de autentificacion de la X360 es la de mandarle un DESAFIO a la unidad DVD de la X360. Un juego original, nada mas meterese en la unidad DVD, el lector lee ese "Challenger code" y se lo da a la X360, la X360 basandose en esos numeros, le envia a la unidad DVD un RETO/DESAFIO consistente en una serie de numeros (siempre aleatorios e irrepetibles) generados a partir de ese "Challenger code", la unidad internamente tiene un algoritmo y una clave que basandose en el "Challenger code" del disco y el codigo aleatorio del DESAFIO responde a la X360. La X360 comprueba la respuesta y si es valida da el visto bueno a la autetificacion del disco.
5º El BCD (aun no activa)
La 3º proteccion se trata del codigo BCD, el codigo BCD es un numero escrito en el interior del disco original, accesible desde cualquier unidad DVD pero no puede ser generado por una GRABADORA. Hasta ahora, se ha demostrado que el lector de la X360 no llega a leer el BCD, pero podria hacerlo perfectamente, y ser añadida como otra forma de verificacion del disco.
Todo parece indicar que las .ISO no serviran para nada porque no contienen ese "Challenger CODE" ni el BCD. Las distribuciones de juegos en .RAW si que contienen ese "Challenger CODE" pero desconozco si contienen tambien el BCD, que podria ser necesario ante una actualizacion del firmware de la X360 que verificase ese BCD.
Disco Duro
Al contrario que la XBOX original, este viene SIN BLOQUEO, y es perfectamente accesible desde un PC, siendo SATA. Es posible acceder y manipular el contenido del HD. Parece que m$ esta muy confiada con el Hypervisor y en el emparejamiento unico DVD-ROM/Placa Base. Este seria una baza a favor de la Scene en cuanto a posibilidades en cuanto se consiga saltar la protecciones de ejecucion. El sistema de archivos es FATx, con al parecer ciertas
GPU
La GPU de la X360 no tendria importancia en la Scene si no fuera por una peculiaridad de esta CPU, y es la que permite ejecutar codigo propio (aparte de la CPU) y tener acceso a la memoria RAM de la X360. Este podria ser un metodo para implementar un EXPLOIT con el KIOSK DISK.
KIOSK DISK
El KIOSK Disk es una ISO que ha aparecido y que contiene la DEMO de los KIOSKOS que hay en algunos centros comerciales. La importancia de la publicacion de esta .ISO, no radica en la de poder jugar con el King Kong durante una fase, ni la de ver WMV's propios como algunos usuarios pretendend inundando este y otros hilos de mensajes, si no en que contiene 2 players (.swf y de .wmv) firmados correctamente y con el MEDIAFLAG activado para ser ejecutable en un DVD-R, aparte de que seria posible maniuplar ciertos datos de algunas DEMOS para inyectar codigo para que sea ejecutada por la GPU.
Resumen
La seguridad de la X360 se ha de diferenciar en 2 partes muy diferentes. Por un lado la carga de BACKUP's (juegos correctamente firmados o clones) y por otra el uso de Hombrew. Mucha gente lo puede ver igual, pero son cosas muy diferentes.
Personalmente creo que veremos antes la carga de BACKUP's que Hombrew, pq para cargar hombrew se tiene antes que abrir totalmente el sistema de seguridad, mientras que para BACKUP's solo es necesario abrir una brecha. Asi que yo me iria olvidando de "Exploits" en JPEG's, videos y MP3's
Posible BRECHA muy FACTIBLE
Esta brecha empezaria por "snifear" (logear) el trafico entre el DVD-ROM y la PB (Placa Base), el trafico de certificacion entre ellos podria estar encriptado (... y lo esta), en su caso tambien seria posible DUMPEAR (volcar) el contenido del firmware del DVD-ROM, que todo parece indicar que tambien esta encriptado, aunque gente que ha volcado el codigo dice que no.
Veo muy pero que muy factible como primer movimiento de la Scene en un dispositivo que se conectara entre el DVD-ROM y la PB, y funcionara de forma transparente a la PB, de forma que por un lado permitiera extraer el contenido del disco (a traves de un USB integrado dentro del mismo dispositivo) y por otro lado, engañaria a la consola certificando el BACKUP como DVD-MEDIA original.
Con este sistema se podrian jugar juegos BACKUP y jugar al Live sin peligro de chetos y no hundiria el live (como en PS/2), ya que el ejecutable seguiria teniendo la misma firma digital y certificaria que no ha sido alterado. Ademas, este dispositivo seria totalmente transparente a la PB, y no podria ser detectado ni siquiera con el Live.
Queda como pendiente el tema de carga de aplicaciones hombrew, que aqui yo no sabria por donde empezar, ya que esta vez M$ si que ha echo los deberes.
Agradeceria aportaciones serias y coherentes a este hilo.
NOVEDADES
07/12/2005
Bunnie's, el autor del descubrimiento del agujero de la XBOX ha publicado un articulo con unas especulaciones muy tecnicas sobre el funcionamiento de la seguridad de la X360.
http://www.xenatera.com/bunnie/proj/anatak/xboxnext_security.pdf
08/12/2005
Se han recibido de un usuario anonimo un documento (parece mas un "roadmap") que parece bastante veridico y parece confirmar mucho de lo que Bunnie's apuntaba en su PDF. Trata basicamente del mapeado de direcciones de hardware y de las diferentes etapas de booteo de la consola. Esta informacion puede ser de mucha utilidad.
http://www.xboxhacker.net/index.php?option=com_content&task=view&id=48&Itemid=2
09/12/2005
Un grupo llamado PI, ha conseguido dumpear el contenido (ya desprotegido) de varios juegos que ya circulan en las redes P2P. Este grupo ha publicado tambien una utilidad para PC que permite extraer el contenido de estas pseudo-isos a archivos (como el XISO o el WinISO). Hoy por hoy, estas "realeases" no sirven para jugar. Segun comenta un miembro del grupo, "han saltado algunas de las protecciones y han leido el contenido en modo RAW (puro)" queriendo decir (a mi entender) que no han utilizado una X360 de Desarrollo. Añaden tambien que el formato utilizado por la X360 es identico a de la XBOX 1, pero que cambia el desplazamiento de los datos y el punto de ruptura de la capa.
http://www.xbox-scene.com/xbox1data/sep/EEFuplVllVIYuZHGfq.php
21/12/2005
Se consigue extraer el firmware de la unidade de DVD, a su vez, se consigue analizar e identificar el mecanismo de proteccion de los DVD-Media. El sistema funciona mas o menos asi, el kernel pide al la unidad la lectura de una zona de datos del disco, estos datos son diferentes para cada juego, y dependiendo de esos datos, el kernel envia a la unidad DVD una secuencia de comandos que permite acceder al juego desde el lector. Respecto al firmware, al parecer esta parcialmente encriptado, se le esta pidiendo ayuda a los "Dangerous Brothers" para el desensamblado de este firmware.
http://www.xboxhacker.net/forums/index.php?topic=76.0
21/12/2005
"En proximas semanas veremos el primer mod chip para la X360". Asi anuncia xbox-scene el rumor/noticia proviniente de una persona "anonima" (mas o menos conocida) muy cercana al desarrollo de modchips para consolas modernas. Al parecer, este primer modchip, iria mas bien enfocado a la carga de backup's antes que al hombrew, confirmandose asi mis sospechas, asi como el metodo bastante aproximado a lo que describir como "posible brecha muy factible".
http://www.xbox-scene.com/xbox1data/sep/EEFVEEpuykuBCdYhoZ.php
22/12/2005
Se consigue desencriptar el firmware del DVD de la X360. Si hace pocos dias se consiguio extraer el firmware, hoy se ha logrado desencriptar dicho firmware. Esto permitira, de entrada, la posibilidad de estudiar y modificar el firmware para cargar BACKUP's de juegos.
http://www.xboxhacker.net/forums/index.php?topic=76.180
28/12/05
Se produce el "ataque" de los LAMERS a este hilo ante la salida de una ISO extraida del disco de demostracion de un KIOSKO de X360. Comentar que esta ISO que ha aparecido tiene los MEDIAFLAGS de los ejecutables permitidos para que sean ejecutados en un DVD-R/+R.
02/01/06
He actualizado y añadido la GPU. La GPU de la X360 no tendria importancia en la Scene si no fuera por una peculiaridad de esta GPU, y es la que permite ejecutar codigo propio (aparte de la CPU) y tener acceso a la memoria RAM de la X360. Este podria ser un metodo para implementar un EXPLOIT. Y esto unido a que gracias a la la DEMO del KIOSKO y concretamente al King Kong, al parecer la demo de este juego, expone entre sus archivos micro-programas que se ejecutan directamente en la GPU, y estos micro-programas no estan en un fichero ejecutable XEX, si no en los ficheros de datos del juego que estan exentos de FIRMAS digitales y MEDIA-Flags. Esto promete mucho.
Mas info aqui:
http://www.xboxhacker.net/index.php?option=com_content&task=view&id=69&Itemid=2
03/01/06
Bunnie (el creador del Hack de la XBOX 1) subraya la importancia que ha sobrevenido en la Scene de la X360 la publicacion del disco DEMO KIOSK. Si bien algunos usuarios se empeñan en querer ver el "Calico Electronico" en HD inundando este y otros hilos de mensajes de "¿ Como....(loquesa)... con el KIOSK DISK", el uso de los 2 de sus players (el de Flahs y el WMV) que incorpora el DEMO KIOSK fines mas utilies. Si bien supuestamente el tema del exploit manipulando los ficheros .swf/.wmv al gusto del hacker promete poco, ya que la CPU esta protegida mediante el SUPERVISOR, hay un comando que la GPU puede ejecutar, y es el MEMEXPORT. Este comando hace que la GPU mueva memoria desde/hasta la pantalla, por lo que supuestamete permitiria una inyeccion de codigo en la Memoria RAM para que pueda ser ejecutada o viceversa, dumpeando una parte de la memoria RAM para que pueda ser estudiada.
http://www.xbox-scene.com/xbox1data/sep/EEFykyZEEkeuLqptRy.php
18/01/06
Una utilidad aparece para ripear juegos. El procedimiento requiere tener la unidad de DVD de PC abierta para hacer hot-swap. Amplio informacion sobre el DVD-ROM y el DVD-Media
http://forums.xbox-scene.com/index.php?showtopic=481609
18/01/06
Se confirma que las unidades DVD-Drive estan casadas con sus respectivas X360. Firmware's extraidos de diferentes consolas premium dan como resultado 16 bytes de diferencia, ubicados en los offset's 0x401A - 0x4029. Este ID unico podria ser utilizado para calcular ademas la respuesta del "Challenger Code".
http://www.xbox-scene.com/xbox1data/sep/EEFZVZkZlZFbDxDtIv.php
Si teneis informacion sobre la SCENE o veis que lo que hay aqui es erroneo, os animo a que me rectifiqueis y complementeis esta informacion.