Developpez.com - Rubrique 2D-3D-Jeux

Le Club des Développeurs et IT Pro

Un hack permet de lancer Linux sur la PlayStation 4

Le 2016-01-04 13:59:49, par LittleWhite, Responsable 2D/3D/Jeux
La scène des hackers console a été très agitée durant ces vacances de fin d'année. C'est à l'occasion du 32C3 (le 32e rassemblement du Chaos Computer Club (un club de bidouilleurs allemands)) que l'équipe fail0verflow a présenté ses travaux sur la console de Sony.


Dans cette vidéo, nous pouvons voir un Linux (distribution Gentoo) booter sur la console.

Avant de sauter sur votre console, notez que le hack permettant de lancer un logiciel non autorisé sur la console n'est pas divulgué, mais en plus, ne semble fonctionner qu'au travers du micro logiciel 1.76 (qui n'est plus du tout d'actualité). La faille partirait du WebKit intégré à la console. L'astuce étant de rediriger le navigateur vers une page piégée qui chargera le code pour passer les protections de la console.

Par contre, si vous aimez voir les différences réalisées sur le code de Linux, vous pouvez consulter le patch sur GitHub. En réalité, ce ne sont que quelque 7000 lignes modifiées. Cela peut sembler peu, mais il ne faut pas oublier que la console a une architecture proche d'un ordinateur classique. Notamment, le CPU n'est qu'un X86. Les bidouilleurs se moquent allègrement des ingénieurs ayant conçu la PlayStation 4, notamment sur la faille du GPU où l'instruction NOP est incorrectement implémentée, ou encore sur les confusions sur le nom du matériel.

Bien entendu, il reste du travail à faire. Tout ne fonctionne pas encore, comme l'accélération 3D, le son à travers HDMI ou l'USB. En réalité, pour la 3D, le pilote démarre, simplement le tampon de commande à envoyer au GPU crashe lors de l'envoi des commandes et donc aucun rendu ne peut être effectué. Toutefois, cela n'est plus qu'une question de mois.

Nous pouvons nous demander ce que cela apporte. En réalité, fail0verflow pense qu'il devrait être assez aisé d'amener SteamOS (un GNU/Linux Debian) sur la console. En apportant un portage de Linux, le but est de permettre à la communauté de bidouiller et d'obtenir une plateforme de développement. L'équipe semble vraiment épuisée de voir le piratage (qui principalement détruit/réduit la scène des hackers) et c'est pour cette raison que la faille permettant de lancer Linux ne sera pas divulguée.

Votre opinion

Comment considérez-vous ce genre de recherche/bidouille ? Inutile ? Intéressante ?
Croyez-vous que cela apporte vraiment quelque chose ? À la communauté ? Pour les pirates ?
Que pensez-vous de l'avis de la politique de fail0verflow ?

Source

Site de fail0verflow
  Discussion forum
14 commentaires
  • Iradrille
    Expert confirmé
    Le plus impressionnant dans tout ça c'est que vendre un PC avec un OS préinstallé c'est illégal si on à pas le choix de l'OS (enfin illégal que pour Windows apparemment).

    Mais si on appelle le PC en question "une console", alors il est illégal d'y installer un autre OS que celui présent par défaut. .
  • LittleWhite
    Responsable 2D/3D/Jeux
    La faille n'est pas nouvelle. Elle est connue de plusieurs team dans le milieu, mais personne ne veut la divulguer. La nouveauté, c'est la conférence lors du 32C3 et du lancement possible de Linux sur la machine.
  • LittleWhite
    Responsable 2D/3D/Jeux
    Une console compliquée à programmer : Saturn. -> Un bide
    Une console facile à programmer (tout avait été fait pour ne pas faire la même erreur qu'avec la Saturn) : DreamCast -> Un bide

    Je ne pense pas que nous puissions faire de généralités.

    Par contre, par rapport au portage de Linux sur la PS4, cela aidera inévitablement, car le système est connu (donc, il est possible d'utiliser les bibliothèques de base : libc/STL/SDL/OpenGL)
    C'est à Linux et au pilote de gérer les détails de la plateforme, pas aux développeurs. Donc oui, cela sera facilité.
  • pcaboche
    Rédacteur
    Envoyé par dancingmad
    Comment peut-on mal implémenter une instruction qui ne fait rien o_O
    En lui faisant faire quelque chose.
  • Nerothos
    Membre régulier
    C'est toujours intéressant de voir ce que les mecs arrivent à faire et qui peuvent montrer certains usages détourné qui peuvent être marrant.
    L'architecture x86 permet de pouvoir en faire un "vrai" PC pouvant faire tourner tout un tas de truc et je suis sûr que certains trouveront de quoi faire.
    Pour SteamOS ça serait intéressant mais bon au final on partirait d'une système open source à une machine cracké ce qui réduit théoriquement et légalement le nombre d'implémentation possible x)

    Reste à espérer que vue la non divulgation de l'astuce (pour une fois), Sony ne leur tombe pas dessus.
  • BufferBob
    Expert éminent
    Envoyé par LittleWhite
    le hack (...) n'est pas divulgué, mais (...) La faille partirait du WebKit intégré
    et en même temps pour un peu qu'on soit motivé on doit pouvoir retrouver la vuln en question (quant à l'exploiter après c'est une autre paire de manche, faut vraiment avoir envie...)

    Edit: en fait en regardant vite fait ici ou il semblerait que ce soit même pas tout à fait frais comme (bonne) nouvelle
  • BufferBob
    Expert éminent
    Envoyé par LittleWhite
    La faille n'est pas nouvelle. Elle est connue de plusieurs team dans le milieu, mais personne ne veut la divulguer.
    je viens de regarder à l'instant justement, on trouve l'exploit en deux clics

    La nouveauté, c'est la conférence lors du 32C3 et du lancement possible de Linux sur la machine.
    oui, j'ai compris après coup

    Comment considérez-vous ce genre de recherche/bidouille ? Inutile ? Intéressante ?
    c'est du hacking, pas du piratage, du vrai bon hacking, donc oui c'est toujours intéressant de mon point de vue

    Croyez-vous que cela apporte vraiment quelque chose ? À la communauté ? Pour les pirates ?
    ben pour le coup la communauté ça lui apporte walou, les vilains pirates non plus, et les fail0verflow ça leur apporte la renommée et la gloire live at CCC, doivent être contents

    Que pensez-vous de l'avis de la politique de fail0verflow ?
    bof... sous couvert de bonnes intentions ça s'apparente à du zero-disclosure, s'ils veulent vraiment jouer les gens biens ils devraient peut-être commencer par ne pas faire de la rétro-ingénierie sur la PS4 par exemple, quant à leur boulot finalement ça a principalement consisté à passer du PoC Webkit au chargement d'un Linux minimal en mémoire, c'est pas trivial mais les techniques sont connues y'a à priori rien de neuf, du coup le montrer fièrement au CCC et garder ça secret ensuite... bof.
  • coolspot
    Membre éprouvé
    Envoyé par hotcryx
    Le "défaut" de Sony, c'est d'utiliser du hardware connus.
    Par contre avec du hardware méconnu, non documentés... ce serait beaucoup plus corsé et décourageant.
    En parlant de découragement, à qui profite le crime?
    Ben le problème de cette logique c'est que matériel et archi inconnu et non documenté rend la programmation des jeux plus difficile et plus soumis au bug et donc plus de chance d'avoir un nombre plus conséquent de jeu de merde ou/et mal porté sur la console à contrario de la concurrence Xbox ce qui rendrait la console merdique et donc ferait perdre des euros à Sony.
  • Kannagi
    Expert éminent sénior
    Envoyé par coolspot
    Ben le problème de cette logique c'est que matériel et archi inconnu et non documenté rend la programmation des jeux plus difficile et plus soumis au bug et donc plus de chance d'avoir un nombre plus conséquent de jeu de merde ou/et mal porté sur la console à contrario de la concurrence Xbox ce qui rendrait la console merdique et donc ferait perdre des euros à Sony.
    Étrangement les consoles qui ont était le plus difficile a programmer ont était aussi ceux qui ont eu le plus de succès la Super Nintendo et la PS2 sont des consoles beaucoup plus compliqué a programmer que leur concurrent.
    Et sur ces deux consoles au contraire ont a eu de vrai perle dessus (et une grosse ludothèque).

    Je trouve que de nos jours le matériel spécifique n'apporte plus un avantage aux consoles par rapport a avant et cela coûte moins chère que de faire une copie d'une architecture PC , sauf pour les consoles portables ou il y a je pense toujours un intérêt de penser a une puissance/autonomie/coût réduit.

    Ce hack ne m'étonne pas , a vrai dire j'attendais un hack pour la PS3 j'espere que un jour on trouvera la doc officiel de la PS3 sur le net comme on peut le trouver pour d'ancienne console
  • dancingmad
    Membre averti
    Envoyé par LittleWhite
    l'instruction NOP est incorrectement implémentée
    Comment peut-on mal implémenter une instruction qui ne fait rien o_O