Cómo funciona el exploit de PS3

jiXo
ImagenMucho se ha hablado del reciente exploit de PS3 que proporciona acceso sin restricciones al hardware de la consola, pero hasta ahora sin analizar con detalle su funcionamiento. Una compañía de seguridad informática se ha puesto manos a la obra y ha publicado un completo artículo en el que lo explica. Está en ingles y se requieren bastantes conocimientos técnicos para entenderlo, pero a continuación os traducimos algunos fragmentos:

PS3, como Xbox 360, depende de un hypervisor para su seguridad. A diferencia de la 360, PS3 permite ejecutar Linux pero siempre bajo control del hypervisor. Si se encuentra un modo de comprometer el hypervisor, el acceso directo al hardware es posible y otro código con menos privilegios puede ser monitorizado y controlado por el atacante. Pero hackear el hypervisor no es el único paso que se requiere para cargar copias. Cada juego tiene una clave de cifrado almacenada en un área del disco llamada ROM Mark. El firmware del lector lee esta clave y se la proporciona al hypervisor para desencriptar el juego durante la carga. El hypervisor necesitaría ser modificado para revelar la clave para cada juego, o bien comprometer el firmware del lector.

El código del hypervisor se ejecuta en la CPU principal (PPE) y en uno de los coprocesadores (SPE). El hilo del SPE parece ser lanzado en modo de aislamiento, de forma que está bloqueado el acceso a su código privado y a su memoria de datos, incluso para el hypervisor. Las claves primarias para descifrar el bootloader y el hypervisor solo están presentes en el hardware, posiblemente a través del uso de eFUSEs. Esto podría significar que cada procesador Cell contiene claves únicas y el descifrado no depende de una sola clave primaria global como algunos sostienen.

El hack de George compromete el hypervisor tras cargar Linux y utiliza su exploit para añadir funciones de de acceso de lectura/escritura a la RAM y así poder volcar el hypervisor. Este acceso es un primer paso para poder preparar otros ataques contra el firmware del lector o los juegos. Su aproximación es inteligente y se conoce como ataque de glitching. Este tipo de ataque de hardware consiste en enviar un pulso de voltaje cuidadosamente medido para estresar el hardware y que falle de algún modo que nos pueda ser útil.

Es bastante posible que alguien empaquete este ataque en un modchip, ya que el pulso no necesita ser muy preciso. Con un microcontrolador y un pequeño circuito analógico sería bastante viable. Sin embargo, es más probable que se encuentre alguna vulnerabilidad en el software tras aplicar ingeniera inversa al hypervisor y esa será la que utilizarán las masas. Sony parece haber hecho un trabajo genial con la seguridad de PS3, pero el acceso a bajo nivel proporcionado al OtherOs significa que cualquier vulnerabilidad del hypervisor puede ser aprovechada por un atacante gracias a la amplia API que ofrece. Será interesante ver como responde la compañía en futuras actualizaciones para prevenir este tipo de ataque.
Fuente: Root Labs