La pire mise à jour de firmware jamais réalisée
L'histoire de la pire mise à jour de firmware jamais réalisée ou comment Sony a bousillé 15 ans de bonnes volonté auprès des développeurs.
Comment Sony a bousillé 15 ans de bonne volonté auprès des développeurs et des utilisateurs de logiciels libres en supprimant la prise en charge de Linux sur sa console - une prise en charge qui a tout de même été rétablie.
Aujourd'hui dans l'ennui : Au fur et à mesure que les entreprises innovent, elles suppriment inévitablement certaines choses. Dans le cas de la puce M1 d'Apple, elle a supprimé la possibilité de mettre à jour pratiquement n'importe quel appareil (j'en veux un). (Comme je l'ai écrit plus tôt cette année, le changement de Silicon d'Apple n'est pas son premier changement d'architecture CPU, mais son troisième, et les parallèles entre les transitions de PowerPC et d'Intel sont intéressants à observer en temps réel. Si Apple a été l'entreprise la plus influente à proposer des ordinateurs PowerPC à la vente, elle n'a techniquement pas été la plus importante, loin s'en faut. Le vainqueur est techniquement la Nintendo Wii, qui s'est vendue à plus de 100 millions d'exemplaires au cours de ses sept années d'existence sur le marché des consoles, tout en étant équipée d'une variante de la gamme de processeurs PowerPC G3 utilisée dans de nombreux Macs anciens. Comme je l'ai écrit dans mon article précédent sur Apple et PowerPC, les principaux concurrents de la Wii dans le domaine des jeux vidéo de salon à l'époque - la Xbox 360 et la PlayStation 3 - utilisaient également une architecture basée sur le PowerPC. La PlayStation 3, bien qu'elle n'ait pas battu la Nintendo Wii, a peut-être battu Apple en fabriquant la plateforme PowerPC la plus populaire destinée à un certain degré d'informatique générale... jusqu'à ce que Sony, sous la contrainte, jette cette couronne aux orties. Le Tedium d'aujourd'hui parle d'OtherOS, ou comment Sony a mis en colère les communautés Linux et de hackers. - Ernie @ Tedium
Pourquoi Linux a toujours trouvé sa place sur les consoles de jeux vidéo
En tant que système d'exploitation, Linux est un caméléon, qui peut être installé sur des architectures à la fois incroyablement courantes et absurdement obscures.
Dans la catégorie des architectures obscures, on trouve le SuperH, un chipset commercialisé par Hitachi dans les années 1990 qui a été utilisé dans trois des consoles de Sega - la 32X, la Saturn et la Dreamcast - et dans peu d'autres endroits. Les endroits où il est apparu, cependant, ont constitué des arguments convaincants en faveur d'une puce 32 bits puissante, capable de faire fonctionner aussi bien Virtua Fighter que Crazy Taxi.
Bien que SuperH (également connu sous le nom de SH) n'ait pas connu de mise à jour architecturale depuis le milieu des années 2000, son approche du code par jeu d'instructions compressé a directement inspiré l'évolution des processeurs ARM modernes (au point qu'ARM a littéralement licencié la fonctionnalité à Hitachi), ce qui signifie qu'il a conservé un certain degré de pertinence à l'heure actuelle.
Un certain nombre de développeurs Linux ont contribué à faire entrer SuperH dans l'ère moderne après l'expiration des brevets du chipset il y a environ cinq ans.
"Nous n'avons pas eu à écrire un nouveau code ; nous avons simplement dû en déterrer certains et les dépoussiérer", a déclaré Rob Landley, l'un des développeurs qui a dirigé les efforts visant à faire revivre SuperH en tant qu'architecture ouverte sous le nom de "J-core".
Des puces comme celles-ci seraient oubliées si Linux ne contribuait pas à les faire avancer.
Souvent, cela signifie que l'on peut trouver des implémentations de Linux pour les consoles de jeux vidéo (il est vrai que l'âge et la qualité varient). La Dreamcast en est un bon exemple. Dotée d'un port VGA, d'un clavier d'origine et d'un adaptateur Ethernet en option, elle possède de nombreux éléments qui pourraient en faire un bon choix pour l'installation d'une forme de Linux. Et c'est ce que les gens ont fait. Il ne sera pas aussi mis à jour qu'une implémentation sur une plateforme x86, ou même un Raspberry Pi ou un appareil Pine64. Mais à bien des égards, le fait qu'il soit possible de le faire le rend intéressant pour certains.
Parmi les consoles de jeux vidéo courantes, la plus ancienne variante Linux fonctionnelle est probablement la PlayStation originale, qui repose sur une architecture MIPS. Mais il faut s'attendre à devoir creuser beaucoup sur de vieux forums ou dans l'Internet Archive pour en trouver une copie, car elle a été publiée en 2001 et les sites qui l'ont hébergée sont morts depuis longtemps.
Il y a même eu des tentatives sur la Nintendo 64, avec un gars nommé Alan Williams qui a téléchargé un clip YouTube en 2016 montrant StarFox 64 en train d'être écrasé sur l'écran en utilisant un GameShark pour démarrer dans une version de Linux ... qui a immédiatement paniqué le noyau. Le fait qu'il ait affiché quoi que ce soit est impressionnant - il s'agit d'un travail difficile, comme le montre le fait qu'Alex Thorlton, un ingénieur du noyau Linux qui a travaillé pour SGI (la société qui a produit l'architecture N64) à l'époque, a récemment essayé de faire la même chose dans un émulateur, et a dû faire une tonne de recherches à l'avance pour comprendre ce qu'il était possible de faire.
Et pour être clair, nous ne parlons pas ici des variantes Live CD de Linux, mais du code que vous devez compiler vous-même. (Si vous avez de la chance, vous trouverez peut-être un portage de Debian.) Comme les fabricants de consoles avaient pour objectif d'empêcher le vol ou la tricherie sur leurs systèmes, il ne s'agit pas d'entreprises particulièrement faciles. Il peut être nécessaire d'effectuer des modifications ou d'exploiter le matériel d'origine, comme l'a fait Williams.
Avec des systèmes aussi anciens, il est probable que les gens s'amusent avec Linux par curiosité personnelle ou par désir d'améliorer leurs compétences techniques, plutôt que par besoin professionnel.
Mais à l'époque de la sixième génération de consoles, le développement de Linux sur les consoles de jeux vidéo est devenu moins une curiosité et plus quelque chose de réellement utilisable. Il y a deux raisons à cela : D'une part, le fait que la Xbox originale était en réalité un PC x86 de base au design sophistiqué - ce qui signifie que les distributions Linux standard pouvaient fonctionner sur la machine - et d'autre part, la volonté tout à fait choquante de Sony d'ouvrir sa PlayStation 2 aux utilisateurs finaux.
$299, le coût du kit Linux de la PlayStation 2, qui permettait aux propriétaires de l'appareil d'utiliser une variante de Linux sur leur système. Contrairement à un ordinateur moderne qui peut être démarré à partir d'une clé USB ou d'un CD-ROM, la PS2 nécessitait un kit propriétaire compatible avec le chipset Emotion Engine de la société, basé sur le MIPS, et bloquant spécifiquement l'accès au lecteur de DVD, sauf pour les jeux PlayStation. Ce kit comprenait un clavier, une souris, un adaptateur VGA, un adaptateur Ethernet et un disque dur, ainsi qu'une carte mémoire de 8 Mo pour l'installation du système d'exploitation. Il a rendu le système fonctionnel en tant que plateforme de programmation, bien que les créateurs de jeux ne puissent développer des jeux pour d'autres personnes qu'avec le kit Linux, soit une très petite partie de la base d'installation totale de la PlayStation 2, qui reste la console la plus vendue de tous les temps. (Le kit Linux lui-même est extrêmement rare et se vend aujourd'hui sur eBay à un prix supérieur à son prix d'origine).
La surprenante ouverture de Sony à Linux sur la PlayStation ... au début
Il est vraiment fascinant de constater que Sony, l'entreprise dont les intérêts concurrents en matière de contenu et de matériel ont probablement joué le rôle le plus important dans l'essor de la gestion des droits numériques et qui a déjà littéralement installé un rootkit sur les ordinateurs des gens, était si disposée à accorder à Linux un statut de citoyen de première classe sur ses consoles.
Cela ne devrait pas faire partie de l'ADN de Sony, n'est-ce pas ?
Mais Sony a essayé de tirer parti de sa position en tant qu'acteur du jeu vidéo pour susciter la bonne volonté des développeurs, et l'ajout de la prise en charge de Linux à la PlayStation 2 était un bon moyen d'y parvenir. Le fait que Sony ait développé un kit de développement pour la PlayStation originale, le Net Yaroze, dans le but de stimuler l'intérêt pour le développement au sein des communautés d'amateurs, a également joué un rôle. (Cela contrastait fortement avec la position traditionnelle de Nintendo, qui décourageait souvent le développement sans licence).
C'était une bonne idée, et la décision de Sony de bloquer le lecteur de DVD-ROM, tout en limitant les capacités de la console en tant que machine Linux, semblait être un bon compromis.
Mais lorsque Sony a sorti son successeur, la PlayStation 2, il a fait quelque chose d'inattendu : Il a inclus un moyen de démarrer nativement dans des systèmes d'exploitation alternatifs. La PlayStation 3 incluait une fonctionnalité appelée OtherOS, qui permettait de démarrer facilement sur d'autres systèmes d'exploitation. Pourquoi était-il possible d'utiliser un Live CD avec la PlayStation 3, alors que c'était un risque inacceptable avec la PlayStation 2 ? Cela tient à la manière dont le processus de démarrage a été mis en œuvre. Pour faire simple, il utilisait des machines virtuelles, censées limiter l'accès au système complet. Comme vous le savez peut-être, la virtualisation s'accompagne naturellement d'une baisse des performances, mais on pensait qu'elle assurerait la sécurité de la PS3 tout en permettant des utilisations autres que le jeu.
Les appareils Playstation 3 étant capables d'exécuter des variantes de Linux basées sur PowerPC telles que Yellow Dog Linux, il a été possible d'étendre la console à des cas d'utilisation tirant parti de son architecture multiprocesseur Cell unique, qui était considérée comme potentiellement bénéfique pour les applications de supercalcul. Après tout, la PS3 était peut-être chère pour une console vidéo lors de son lancement, mais elle était bon marché en tant que base d'une grappe de supercalculateurs. Son unité centrale était plus rapide que celle du PowerBook de la dernière génération, mais elle disposait également d'un certain nombre de co-processeurs appelés "Synergistic Processing Elements" qui, ensemble, permettaient à l'architecture de surpasser de nombreux ordinateurs personnels de l'époque... dans les logiciels qui pouvaient en tirer parti.
Sony (et, par extension, son fournisseur de puces IBM) avait fait le pari de créer quelque chose de si épique qu'il pourrait attirer la communauté technique, et potentiellement la prochaine génération de développeurs. Lors d'une séance de questions-réponses avec Slashdot, le président de Sony Computer Entertainment Worldwide Studios, Phil Harrison, a déclaré que l'objectif était de permettre aux développeurs d'acquérir des compétences en utilisant du matériel réel, afin de les encourager à s'améliorer. Il a cité sa propre évolution lorsqu'il a fait la même chose avec le Commodore 64, qui lui a permis d'essayer de nouvelles choses tout en essayant d'apprendre à programmer.
"Aujourd'hui, ces portes de l'industrie sont largement fermées en raison de la nature même des systèmes de jeux vidéo", a-t-il déclaré. "Si nous parvenons à ouvrir certains aspects de la PS3 à la communauté des développeurs de jeux indépendants, nous rendrons service à notre industrie en offrant des opportunités à la prochaine génération de talents créatifs et techniques.
Tout cela est bien beau, mais il y avait encore un hic : "Cela dit, nous devons toujours protéger les investissements et les droits de propriété intellectuelle de l'industrie, et nous chercherons donc toujours les meilleurs moyens de sécuriser et de protéger nos appareils contre le piratage et les intrusions non autorisées qui nuisent à l'activité."
Et, malheureusement pour toutes les personnes concernées, c'est exactement ce qui s'est passé. Et Sony n'a pas fait bonne figure à la fin de l'affaire.
"L'un de nos principaux objectifs avec le nouveau modèle est de répercuter les économies de coûts sur le consommateur en réduisant le prix de vente au détail. Malheureusement, dans ce cas, le coût de l'installation d'OtherOS ne correspondait pas à l'objectif plus large d'offrir une PS3 moins chère".
Message de Sony concernant la décision de l'entreprise de retirer OtherOS de ses modèles PS3 Slim. Malgré la décision de ne pas prendre en charge Linux dans les versions ultérieures de la PS3, Sony a insisté à l'époque sur la poursuite du soutien à OtherOS, selon The Register : SCE s'engage à continuer à prendre en charge les modèles vendus précédemment qui disposent de la fonction "installer un autre système d'exploitation" et que cette fonction ne sera pas désactivée dans les futures versions du micrologiciel. Le bruit que vous entendez est celui d'une promesse non tenue.
Pourquoi la tentative de Sony de transformer la PS3 en ordinateur s'est transformée en un cas d'auto-sabotage de l'entreprise
Sony a fait beaucoup de bruit lors du lancement de la PS3, en particulier lorsqu'il s'est agi de savoir si la console était "piratable". Sony a fortement laissé entendre que ce n'était pas le cas.
Et pendant plus de trois ans, cela a semblé être le cas. Jusqu'à ce qu'un hacker réputé décide de s'en prendre à la console. Les efforts de Sony en matière de Linux ont été réduits à néant presque immédiatement et la réputation de l'entreprise en matière de homebrew a été mise à mal presque du jour au lendemain.
Le pirate qui s'est d'abord introduit dans le royaume était Geohot, alias George Hotz. Hotz avait acquis une réputation de maître hacker après avoir été l'un des premiers à déverrouiller et à jailbreaker un iPhone, et il s'est mis en tête de trouver des moyens d'exploiter la console, qui avait la réputation d'être difficile à pirater.
Il lui a fallu environ cinq semaines pour trouver une solution de contournement, qu'il a décrite sur un blog. La vulnérabilité, comme vous pouvez le deviner par le fait que j'écris ceci, implique l'utilisation d'OtherOS. Dans un billet de blog révélant son succès, il décrit comment il a obtenu un accès au niveau de l'hyperviseur au processeur du système et un accès complet à la mémoire du système.
"En gros, j'ai utilisé du matériel pour ouvrir un petit trou et j'ai ensuite utilisé un logiciel pour rendre le trou de la taille du système afin d'obtenir un accès complet en lecture/écriture", a-t-il expliqué à The Register. "À l'heure actuelle, bien que le système soit cassé, je dispose d'un grand pouvoir. Je peux faire faire à ce système tout ce que je veux".
M. Geohot a indiqué dans son annonce initiale qu'il y avait un risque que Sony supprime des fonctions pour limiter le piratage.
"En ce qui concerne l'exploit, je ne le révèle pas encore", a-t-il écrit. "La théorie n'est pas vraiment corrigeable, mais ils peuvent rendre les implémentations beaucoup plus difficiles".
Il a rapidement publié les détails de l'exploit, et Sony a répondu par une mise à jour agressive du micrologiciel. Avec la version 3.21 du micrologiciel de la PS3, l'entreprise a entièrement supprimé la prise en charge d'OtherOS, invoquant des raisons de sécurité, et a informé les utilisateurs que s'ils n'acceptaient pas la mise à jour, ils perdraient l'accès au PlayStation Network, aux jeux qui dépendaient d'un micrologiciel plus récent et aux vidéos protégées par des droits d'auteur.
Et comme Sony n'avait apparemment aucun sens de l'ironie, ils ont littéralement publié la mise à jour le jour du poisson d'avril 2010.
(Note en marge : pauvre Yellow Dog Linux, dont les développeurs avaient misé sur l'accessibilité d'OtherOS... et ont été les premiers à révéler les plans de Sony pour mettre à jour le micrologiciel).
La perte de l'accès à Linux sur la PS3 n'a pas affecté la plupart des joueurs ordinaires, mais ceux qui étaient techniquement orientés ont été contrariés - et cela a lentement conduit à une escalade d'énergie contre Sony en essayant de pénétrer dans la PS3.
Geohot a joué un rôle dans cette escalade, par exemple en aidant à restaurer la fonction OtherOS quelques jours seulement après que Sony l'ait supprimée. Mais il n'était pas seul. D'autres se sont joints à lui.
Finalement, Sony a fait appel à une équipe de juristes pour s'attaquer à Hotz, le poursuivant ainsi qu'un autre groupe, fail0verflow, pour leurs efforts de jailbreak et de rétro-ingénierie de la console.
Hotz, du moins au début, a pris le procès à bras-le-corps, publiant sur YouTube une vidéo musicale dans laquelle il rappe sur l'affaire, avec un flow soulignant le fait qu'il est manifestement un polymathe.
À un moment donné, un juge a approuvé une citation à comparaître permettant à Sony d'accéder aux journaux des serveurs et aux adresses IP de toute personne ayant accédé au blog de Hotz, celui qui détaillait ses efforts d'exploitation. Si cela semble excessif, c'est parce que ça l'était.
Sony a finalement conclu un accord avec Hotz, qui a écrit ce qui suit dans une déclaration à propos de l'accord : "Je n'ai jamais eu l'intention de causer des dommages à l'environnement : "Je n'ai jamais eu l'intention de causer des problèmes aux utilisateurs ou de faciliter le piratage. Je suis heureux que ce litige soit derrière moi". Certains, comme l'Electronic Frontier Foundation, ont considéré qu'il s'agissait d'une sorte d'ordre de bâillon.
(M. Hotz a par la suite transposé ses capacités de piratage dans l'espace des startups, en lançant la startup d'intelligence artificielle comma.ai, spécialisée dans les solutions de conduite autonome).
Cette décision de poursuivre Geohot a coûté à l'entreprise son capital sympathie pendant des années.
Sony ayant spécifiquement commercialisé le premier modèle de la PlayStation 3 comme ayant la capacité de démarrer sous Linux, cela signifie que certains bricoleurs ont dépensé des centaines de dollars sur la machine pour une fonction qu'ils ne pouvaient plus utiliser. Ce n'était peut-être pas l'utilisation principale de la PS3, mais cela lui a néanmoins donné des capacités de conduite quotidienne pour certains. Vous pouviez littéralement travailler sur une PS3, dont le matériel était plutôt bon pour l'époque, à tel point que certains pensent que l'architecture Cell n'a jamais été vraiment utilisée à sa juste valeur. Un jour, tout cela a disparu.
Cela a donné lieu à des actions en justice, les gens ayant intenté des procès pour avoir perdu l'accès à quelque chose qu'un sous-ensemble d'entre eux aimait vraiment. C'était comme si Sony avait montré qu'il se souciait du petit gars, mais dès que le petit gars faisait quelque chose qu'il n'aimait pas, il retirait le tapis.
(Un point d'ironie ici : Peu de temps après que Sony a poursuivi Hotz pour violation de la loi sur la fraude et les abus informatiques, la société a été confrontée à une action collective l'accusant d'avoir violé la même loi).
En fin de compte, l'entreprise a accepté un règlement, qui a pris quelques détours, mais qui a finalement abouti à un règlement du recours collectif pour les quelque 10 millions de personnes qui ont acheté l'édition "fat" originale de la PS3.
Cette action collective de longue haleine aurait pu être évitée si Sony avait adopté une autre approche pour gérer OtherOS. C'est comme si toutes les bonnes choses que l'entreprise avait faites pour encourager le développement homebrew avaient été oubliées du jour au lendemain par une culture d'entreprise sans doute trop axée sur le piratage, et que les gens s'étaient tournés vers les aspects négatifs comme la lourdeur des DRM et le scandale des rootkits, et avaient offert une forte dose de vengeance dans la foulée.
Les premiers efforts de Geohot pour jailbreaker la console ont finalement conduit à des efforts de piratage plus approfondis de la part d'autres personnes qui ont pris le relais, car les décisions de Sony ont fait de la PS3 une cible. En 2012, une série de codes a été publiée pour permettre l'installation d'un micrologiciel personnalisé. Aujourd'hui encore, il est possible de modifier une vieille PS3 pour accéder à Linux (une version certes plus ancienne), et ce même avec un accès matériel de bas niveau qu'OtherOS n'offrait pas.
Les efforts de Sony pour empêcher le piratage de sa console ont conduit à un piratage plus important qu'il n'aurait pu l'être ... s'il avait laissé Geohot et son blog tranquilles.
Cinq, c'est le nombre de kilomètres de câbles qui ont été utilisés pour connecter les plus de 1 700 PlayStation 3 utilisées dans le Condor Cluster, un projet mis sur pied par l'armée de l'air américaine pour tirer parti des capacités de supercalcul de la console. Comme le note The Verge, bon nombre des consoles utilisées dans le cadre de ce projet ont été vendues directement à l'armée de l'air par Sony, qui les avait retirées du marché après le fiasco de la mise à jour du micrologiciel.
Je pense que la leçon à en tirer est que les gens vont pirater votre système, quel que soit le nombre de barricades que vous mettez en place. Ou du moins, essayez de le faire.
Il y aura toujours des gens qui trouveront le moyen de déverrouiller la Nintendo Switch avec des morceaux de plastique imprimés en 3D et des trombones.
Mais le piratage nécessite une motivation. Dans le cas de la Switch, il s'agit d'une console qui semble pouvoir faire fonctionner Android très bien, et c'est ce que veulent certaines personnes. La motivation de Geohot était que la PS3 avait réussi à survivre sans être piratée pendant plus de trois ans, et après l'iPhone, il cherchait un nouveau support à conquérir. Mais l'utilisateur moyen, s'il est même conscient du piratage, veut souvent simplement avoir accès à des capacités supplémentaires, et pas seulement pour des raisons de piratage.
L'entreprise qui a réussi à trouver le juste milieu dans cette situation est peut-être Microsoft. La Xbox Series S, qui vient d'être lancée, est déjà équipée d'un logiciel d'émulation open-source, grâce à une mesure prise par Microsoft à partir de la Xbox One pour rendre la plateforme plus accueillante pour les développeurs : N'importe quelle console peut être transformée en console de développement, à condition d'être prêt à payer les 20 dollars nécessaires à l'obtention de ce droit.
Comme l'a noté le YouTuber Modern Vintage Gamer dans une vidéo récente, cette décision a effectivement supprimé de nombreuses motivations pour exploiter l'architecture de la Xbox One ou de la série Xbox pour ceux qui veulent s'amuser ou apprendre. Mais elle le fait d'une manière qui limite l'utilisation du système à des fins malveillantes. Il s'agit d'une séparation entre l'Église et l'État : Vous ne pouvez pas faire tourner un jeu commercial en mode Dev, ni un logiciel homebrew en mode commercial, et les applications que la Xbox prend en charge en mode Dev ne permettent pas un accès de bas niveau au matériel, ce qui signifie que vous laissez une partie des performances sur la table.
Néanmoins, le résultat est que dès le premier jour de commercialisation de la Xbox Series S, il est possible de faire tourner des émulateurs très puissants sur les nouvelles consoles - ce qui est honnêtement ce à quoi les consoles piratées servent souvent de toute façon. Et pour les Geohots du monde entier, Microsoft a mis en place un programme de primes pour les convaincre d'utiliser leurs compétences à bon escient. (Sony a récemment emboîté le pas.)
Grâce à des programmes de ce type et à des mécanismes de sécurité particulièrement solides, la Xbox One, vieille de sept ans, n'a pas encore été sérieusement jailbreakée, malgré un incident de piratage survenu avant le lancement de la console et impliquant le vol d'informations sensibles relatives à l'appareil.
Comparez cela à ce qui s'est passé avec la PlayStation 3, où la décision de Sony de supprimer une fonction favorable aux développeurs a finalement conduit le système à faire face à des exploits plus spectaculaires que même Geohot n'a jamais été capable de réaliser lui-même (bien que ce ne soit pas faute d'avoir essayé).
Aujourd'hui, les PlayStation 3 sont monnaie courante dans les décharges électroniques, tout comme la Wii et la Xbox 360. Les modèles minces comme les gros modèles y apparaissent dans divers états de délabrement. Ce serait vraiment bien s'ils pouvaient encore servir à quelque chose.
On peut se demander si Sony n'aurait pas pu trouver un moyen de désamorcer la situation.