Articulo de referencia

Free60

Free60 fue un proyecto que pretendía ejecutar varios sistemas operativos Unix de código abierto en la consola de videojuegos Xbox 360 , aunque se centró principalmente en la com...

Free60 fue un proyecto que pretendía ejecutar varios sistemas operativos Unix de código abierto en la consola de videojuegos Xbox 360 , aunque se centró principalmente en la compatibilidad con Linux . El proyecto en sí fue sucesor del proyecto Xbox Linux , que se inició para ejecutar Linux en la consola predecesora de la 360, la Xbox . La Xbox 360 utiliza cifrado basado en hardware y firmas digitales para todos sus programas ejecutables, por lo que no ejecuta código sin firmar directamente, sino que requiere una vulnerabilidad de hardware o software para ejecutar el software necesario para iniciar Linux.

Los objetivos del proyecto se cumplieron en marzo de 2007, cuando se descubrió una vulnerabilidad crítica del software en el hipervisor de la Xbox 360 , y poco después se desarrolló una forma de iniciar Linux desde el estado modificado. [ 1 ] [ 2 ]

Hasta la fecha, el proyecto ha publicado varios conjuntos de parches del kernel de Linux , principalmente basados ​​en la serie de kernels 2.6.x. [ 3 ] Otras personas que no estaban asociadas con el proyecto también han ejecutado kernels posteriores, como la versión 3.5.4. [ 4 ] El proyecto mantenía un CD de arranque para Gentoo Linux , mientras que se proporcionaban scripts de instalación para instalar varias versiones de Debian y Ubuntu en el disco duro de la consola. [ 5 ]

Método de ejecución

Dado que el código ejecutable en la Xbox 360 está firmado digitalmente y se ejecuta bajo un hipervisor , es necesario un exploit o hack para ejecutar código casero . En la Xbox 360, el primer exploit que permitió arrancar código sin firmar se basaba en un firmware de unidad de DVD-ROM modificado , un disco grabado modificado del juego King Kong (para Xbox 360) y que la consola objetivo tuviera una de dos revisiones de kernel vulnerables. Como alternativa, se puede usar un cable casero para volcar y parchear la BIOS con jumpers conectados al conector de pines apropiado en la placa base de la consola para parchear el hipervisor y permitir la ejecución sin firmar directamente en el arranque, conocido como el "exploit JTAG/SMC", que fue parcheado después de junio de 2009 pero reemplazado por el "Reset Glitch Hack" en 2011, que es aplicable a cualquier versión del kernel en todas las placas base de Xbox 360 excepto la última revisión (la mayoría de las 360 producidas desde 2014 hasta el final de la producción en 2015), una advertencia es que es un fallo y depende de la sincronización, los tiempos de arranque pueden ser inestables. [ 6 ]

Con la vulnerabilidad original de King Kong, la consola debe ejecutar el juego modificado, que aprovechará la vulnerabilidad del software para cargar un pequeño fragmento de código incluido en el disco. Este código puede inicializar el puerto serie para permitir la carga de código adicional a la consola, o bien expulsar la bandeja de la unidad y preparar la consola para cargar código adicional desde un punto específico en un medio óptico que luego se inserta en la unidad. Este último método utiliza el binario readcd , creado específicamente para este propósito. El código que ejecuta readcd en este caso se conoce como XeLL, abreviatura de Xenon Linux Loader . XeLL captura los hilos de la CPU y ejecuta el kernel de Linux desde la red ( tftp ) o un medio óptico como su único propósito, proporcionando un árbol de dispositivos plano para el kernel. En el caso de los " Live CD " publicados, el binario readcd normalmente se incluiría en el disco del juego modificado, que expulsaría la unidad, y se insertaría un CD que contiene el binario XeLL, así como el kernel de Linux completo y el sistema de archivos.

Limitaciones

  • El método readcd inicialmente estaba restringido solo a las unidades de DVD-ROM de la marca Hitachi, pero ahora también admite unidades de la marca Samsung. [ 7 ] Se asume que todas las demás unidades de uso comercial no son compatibles; en este momento, las únicas otras unidades en uso son fabricadas por BenQ y Lite-ON.
  • Se requiere una revisión de kernel anterior en la propia Xbox 360, lo cual puede resultar difícil de encontrar, ya que la conexión al servicio Xbox Live aplica actualizaciones a la consola, y muchos juegos incluyen actualizaciones que deben aplicarse antes de que el juego se ejecute. Esta limitación ya no es tan importante como antes, puesto que ahora se sabe que es posible degradar un kernel a una versión anterior a la última de las dos versiones vulnerables mediante un ataque de temporización .
  • Actualmente no existen controladores de audio diseñados para ser compatibles con el hardware de audio interno de la consola; sin embargo, se puede utilizar un dispositivo de audio USB .
  • Algunos códecs son incompatibles con el controlador de pantalla actual, lo que provoca que algunos vídeos no se reproduzcan. Además, los problemas con el búfer de fotogramas y la caché hacen que los vídeos que sí se reproducen presenten saltos después de los primeros segundos, cuando la caché está llena.

Desarrollo

Uno de los principales colaboradores del proyecto Free60 ha desarrollado un método de aceleración de gráficos 3D en la GPU de Xbox 360 (nombre en clave Xenos) bajo Linux. [ 8 ] [ 9 ] [ 10 ] Este trabajo se ha encapsulado en una API para facilitar su uso. Para lograr esta aceleración, es necesario cargar algunos datos de la memoria flash de Xbox 360 a la GPU Xenos. Este proceso puede automatizarse para garantizar la legalidad de cualquier aceleración de gráficos 3D.

Dado que solo una pequeña proporción de las Xbox 360 pueden ejecutar código sin firmar, el proyecto Free60 ha experimentado poco desarrollo últimamente. Esto contrasta, en cierta medida, con su predecesor, el proyecto Xbox Linux, que tuvo mucho más desarrollo gracias a la relativa facilidad para ejecutar código sin firmar en la Xbox y a la sencillez para adaptar el código x86 a la CPU personalizada de la Xbox basada en Intel Pentium III .

Para continuar el desarrollo, los miembros del proyecto Free60 buscan ayuda. [ 11 ] Quizás la solicitud de ayuda más importante sea proporcionar controladores de audio; los miembros de Free60 han solicitado a alguien con conocimiento del componente del kernel ALSA y una placa base basada en SiS966 para lograr esto.

Un proyecto creado a raíz del éxito de Free60 es un Reiniciador de Núcleo . [ 12 ] El objetivo es, tras cargar inicialmente un núcleo vulnerable y explotarlo para obtener el control del sistema, poder hacer que la consola se reinicie con un hipervisor y un núcleo modificados y sin firmar. Poder reiniciar con una revisión de núcleo más reciente permitiría ejecutar en la consola juegos que dependen de dichas revisiones. Este proyecto ha tenido cierto éxito; existen archivos binarios disponibles (para ser ejecutados por el cargador serie o readcd) para reiniciar parcialmente el hipervisor.

Véase también

Referencias

  1. "Bugtraq: Vulnerabilidad de escalada de privilegios del hipervisor de Xbox 360" . seclists.org . Consultado el 12 de marzo de 2025 .
  2. O'Brien, Will (2007-03-20). "Lanzamiento del gestor de arranque de Linux para Xbox 360" . Hackaday . Consultado el 12 de marzo de 2025 .
  3. "Núcleo de Linux - Free60" . 26 de julio de 2011. Archivado del original el 26 de julio de 2011. Consultado el 12 de marzo de 2025 .
  4. "Linux en la 7.ª generación de consolas, parte 1: Xbox 360 - The Cool Blog" . lilysthings.org . Consultado el 12 de marzo de 2025 .
  5. "Lista de distribuciones Unix - Free60" . 31 de agosto de 2012. Archivado del original el 31 de agosto de 2012. Consultado el 12 de marzo de 2025 .
  6. Información técnica sobre conectores y cabezales de Speedy22 "Copia archivada" (PDF) . Archivado del original (PDF) el 22/10/2006 . Consultado el 07/07/2008 .{{cite web}}: CS1 mantenimiento: copia archivada como título ( enlace )
  7. Notas de la versión beta 2 de Gentoo Live CD Xenon https://sourceforge.net/project/shownotes.php?group_id=139616&release_id=506402
  8. debugmo.de  » elegante
  9. debugmo.de  » ¡Miedo, triángulos!
  10. debugmo.de  » Actualización de la GPU de Xbox 360
  11. Ayuda de Free60 "Ayuda - Proyecto Free60" . Archivado del original el 4 de julio de 2008. Consultado el 7 de julio de 2008 .
  12. Reiniciador del kernel http://www.xboxhacker.net/index.php?topic=8738.0
  • http://free60.org/