Coque iPod Top Secret





C'était une journée grise typique à la fin de 2005. J'étais assis à mon lieu de travail pour écrire le code de la prochaine version de l'iPod. Soudain, sans frapper, le directeur du logiciel iPod, le patron de mon patron, s'est précipité et a fermé la porte. Il est allé droit au but: «J'ai une mission spéciale pour vous. Votre patron n'en sait rien. Vous aiderez deux ingénieurs du département américain de l'énergie à construire un iPod unique. Vous ne relevez que de moi. "



Le lendemain, j'ai reçu un appel de la réception et j'ai dit que deux hommes attendaient dans le hall. Je suis descendu à leur rencontre. Ils étaient Paul et Matthew, des ingénieurs qui voulaient construire leur propre iPod. Je voudrais dire qu'ils sont venus dans des lunettes noires et ont regardé dans les reflets des fenêtres pour s'assurer qu'ils n'étaient pas suivis, mais non, ce n'étaient que les ingénieurs les plus ordinaires de trente ans. Je les ai laissés entrer et nous sommes allés dans la salle de conférence.





Ils ne travaillaient pas pour le ministère de l'Énergie, ils travaillaient pour la division Bechtel, un important entrepreneur de défense du ministère. Ils voulaient ajouter leur propre équipement à l'iPod et graver les données sur disque. De plus, ils voulaient tout déguiser pour que de l'extérieur il semble que ce soit un iPod ordinaire.



Ils ont fait tout le travail, mon travail était de leur fournir l'aide dont ils avaient besoin d'Apple.



J'ai appris qu'un fonctionnaire du ministère de l'Énergie avait contacté le vice-président principal du matériel et lui avait demandé de l'aide pour construire des iPod modifiés. Le vice-président senior a envoyé une demande au vice-président de la division iPod, qui l'a transmise au directeur du logiciel iPod, et il est venu me voir. Mon patron a appris que je travaillais sur un projet spécial et que les questions n'étaient pas appropriées ici.



Contexte



J'étais le deuxième programmeur embauché pour le projet iPod lors de sa sortie en 2001. À cette époque, le marketing d'Apple n'a pas proposé le nom iPod, et le produit a été nommé P68. Le premier programmeur est devenu plus tard directeur du développement logiciel de l'iPod, c'est lui qui est venu me voir avec cette mission. J'ai écrit un système de fichiers pour l'iPod et plus tard une base de données SQLite qui a gardé une trace de toutes les chansons. Au fil du temps, j'ai travaillé sur presque toutes les parties du système d'exploitation de l'iPod, à l'exception des codecs audio, qui transformaient MP3 et AAC en son.



(Ces codecs audio ont été écrits par deux ingénieurs diplômés de Berkeley et de Stanford. Quand ils ne se disputaient pas pour savoir quelle université était la meilleure, ils écrivaient un code rempli de mathématiques que j'avais peur de toucher. Vous ne laisseriez pas un ingénieur ordinaire jouer avec ce code. ainsi que de ne pas laisser un mécanicien de vélo réparer la boîte de vitesses d'une Porsche. De temps en temps, ils jouaient au poker et je les accompagnais. La seule raison pour laquelle je n'ai pas perdu tout mon argent était parce que l'un d'eux appréciait la vodka.)



Compiler le système d'exploitation iPod à partir de la source, démarrer sur un appareil, tester et déboguer est un processus complexe. Lorsqu'un nouvel ingénieur vient chez nous, nous lui donnons une semaine pour s'occuper de lui avant de commencer à donner des missions.



Le système d'exploitation iPod est indépendant et non basé sur d'autres systèmes d'exploitation Apple, tels que le Mac OS classique ou Darwin, dont le noyau Unix alimente macOS, iOS, iPadOS, WatchOS et tvOS. Le matériel original de l'iPod repose sur une plate-forme matérielle achetée par Apple auprès de Portal Player. Portal Player a fourni des aspects de bas niveau du système d'exploitation iPod, tels que la gestion de l'alimentation, les pilotes de disque et un noyau temps réel (sous licence Quadros). Apple a également acheté des pièces haut de gamme de l'iPod OS à Pixo. Pixo a été fondée quelques années plus tôt par un ancien ingénieur Apple dans le but d'écrire un système d'exploitation universel pour les téléphones mobiles et de le vendre à des sociétés comme Nokia et Ericsson. Le code Pixo s'entend bien avec l'interface graphique et le texte Unicode (ce qui est très important pour la localisation),gère la mémoire et gère les événements. Bien sûr, au fil du temps, les ingénieurs d'Apple ont modifié ce code, en réécrivant la majeure partie.



L'iPod OS est écrit en C ++. Étant donné que ce système d'exploitation ne prend pas en charge les applications tierces, il n'y avait aucune documentation publique sur le fonctionnement du système d'exploitation.



Enfin, l'équipe de développement iPod a fonctionné sous Windows. Apple n'avait pas d'outils pour le développement ARM à l'époque, car c'était avant l'iPhone. L'équipe de développement a utilisé des outils d'ARM Ltd, et ils n'ont travaillé que sur Windows et Linux.



Mon travail consistait à coordonner le travail de Paul et Matthew pour lancer un système d'exploitation avec lequel ils n'avaient jamais travaillé auparavant.



Départ rapide



J'ai réservé un bureau vide pour Paul et Matthew dans notre immeuble. Demande à IS&T (service informatique d'Apple) de configurer le réseau du bureau afin qu'ils ne puissent se connecter qu'à Internet et ne pas avoir accès au réseau interne d'Apple. Le Wi-Fi d'Apple est toujours «en dehors» du réseau interne. Même si vous vous connectez au Wi-Fi à l'intérieur du bâtiment, vous avez toujours besoin d'un VPN pour accéder au réseau interne. Ce n'était pas un contrat et une collaboration de paiement entre Apple et Bechtel, Apple aidait officieusement le DOE. Et l'accès dans de telles conditions était limité.



Inutile de dire que Paul et Matthew n'avaient aucun accès au serveur source. Je leur ai donné une copie de la version DVD actuelle du code et leur ai expliqué que le disque ne pouvait pas quitter le bâtiment. De plus, ils étaient autorisés à stocker une version modifiée de l'iPod OS, mais pas la source modifiée.



Apple ne leur a fourni aucun outil matériel ou logiciel. Je leur ai donné les spécifications techniques pour les ordinateurs Windows, dont ils ont besoin avec un compilateur ARM et un débogueur JTAG. Ils ont également acheté plusieurs dizaines d'iPod pour le travail.



Comme pour tous les bâtiments Apple, chacun devait présenter un badge avant d'entrer afin d'ouvrir la porte et d'entrer dans le bâtiment. Chaque étage avait une autre porte et un lecteur de badge, de sorte que seules les personnes ayant une autorisation de sécurité pouvaient entrer.



Tous les jours, Paul et Matthew m'appelaient du hall car ils n'avaient pas de badge. Je les ai laissés entrer en tant qu'invités et les ai accompagnés à leur bureau. J'ai fini par obtenir des laissez-passer de vendeur pour eux, comme s'ils voulaient vendre du café ou des chips à Apple. De cette façon, je n'avais plus à les accompagner tous les jours. Je suis programmeur, pas nounou.



Nos meilleurs collaborateurs



Paul et Matthew étaient intelligents - les meilleurs , peut-être - et avec un peu d'aide, ils l'ont compris assez rapidement. Je leur ai montré comment mettre en place des outils de développement, construire un système d'exploitation à partir de la source et comment le charger sur un iPod. Nous avons apporté de petites modifications à l'interface graphique afin qu'ils puissent voir exactement quelle version ils exécutent. Je vous ai également montré comment travailler avec le débogueur matériel JTAG, qui était assez pointilleux. Et ils se sont plongés dans leur travail.



En examinant le système d'exploitation, ils ont expliqué ce qu'ils voulaient faire, du moins en termes généraux. Ils ont ajouté un équipement spécial à l'iPod qui génère des données et voulaient en enregistrer des données. Ils ont tout mis en œuvre pour que je ne voie pas cet équipement et que je ne le voie pas.



Nous avons discuté des moyens de cacher les données qui ont été enregistrées. En tant qu'ingénieur de disque, j'ai suggéré qu'ils créent une partition supplémentaire sur le disque et y stockent des données. Ainsi, même si quelqu'un connecte un iPod à un PC ou un Mac, iTunes percevra l'appareil comme un iPod ordinaire. De plus, l'iPod aura la même apparence dans Mac Finder et Windows Explorer. Ils ont aimé l'idée.



Ensuite, ils ont voulu ajouter un moyen simple de démarrer et d'arrêter l'enregistrement. Nous avons emprunté le chemin le plus long dans les paramètres et y avons ajouté un élément avec un nom banal. Je les ai aidés à faire cela dans le code du système d'exploitation qui était un peu plus qu'évident. Le reste de l'appareil fonctionnait comme un iPod ordinaire.



Le dernier iPod à cette époque était l'iPod de cinquième génération, mieux connu sous le nom d '«iPod avec vidéo». Comparé à l'iPod nano, qui est devenu populaire peu de temps après cette histoire, le boîtier de l'iPod était relativement facile à ouvrir et à remonter sans laisser de traces visibles. De plus, l'iPod de cinquième génération avait un lecteur de 60 Go, ce qui signifie qu'il y avait beaucoup de place pour les chansons et les données supplémentaires. Et enfin, c'était le dernier iPod pour lequel Apple n'a pas vérifié la signature numérique de l'OS.





C'était important car cela rendait l'iPod de cinquième génération, d'une certaine manière, jailbreakable. Les passionnés ont apprécié l'opportunité d'exécuter Linux dessus, ce qui était difficile sans les connaissances et les outils spécialisés qu'Apple possédait. Nous, l'équipe d'ingénierie iPod, avons été impressionnés, mais Apple n'a pas aimé. À partir de l'iPod nano, les systèmes d'exploitation ont été signés numériquement pour arrêter les pirates. Le chargeur de démarrage a vérifié la signature numérique avant de charger le système d'exploitation: si elle ne correspond pas, l'appareil ne démarrera pas.



Je ne pense pas que Paul et Matthew aient jamais demandé à Apple de signer leur version du système d'exploitation pour l'exécuter sur l'iPod nano. Je suis même sûr qu'Apple ne serait pas d'accord. Dans tous les cas, le grand iPod de cinquième génération était idéal à cet effet.



Après plusieurs mois de travail continu dans leur bureau de fortune, Paul et Matthew ont terminé l'intégration de leur équipement spécial dans l'iPod et ont abandonné le projet. Ils sont retournés avec leurs ordinateurs et dispositifs de débogage au bureau de Bechtel à Santa Barbara. Ils m'ont rendu le DVD source et les laissez-passer. Ils m'ont dit au revoir et je ne les ai plus jamais revus. Le DVD est resté sur une étagère de mon bureau pendant des années jusqu'à ce que je le voie pendant le nettoyage.



Que faisaient-ils?



Le ministère de l'Énergie est énorme. Son budget 2005 est de 24,3 milliards de dollars. Il est responsable des armes nucléaires américaines et des programmes d'énergie nucléaire, y compris le Los Alamos National Laboratory, qui faisait partie du projet Manhattan. Comme indiqué dans la demande de budget du DOE:

2005 $ 9,0 . , . , , .
Je suppose que Paul et Matthew assemblaient quelque chose comme un compteur Geiger invisible. Quelque chose que les agents du DOE peuvent utiliser ouvertement. Quelque chose qui ne semble pas remarquable et qui lit de la musique et fonctionne comme un iPod ordinaire. Vous pouvez vous promener dans la ville, écouter votre musique préférée et découvrir la présence de radioactivité - par exemple, de l'uranium volé - ou des preuves du développement d'une «bombe sale» sans que le public ou la presse le découvre. Comme beaucoup d'autres gadgets électroniques, le compteur Geiger est de plus en plus petit et moins cher. Et j'ai été particulièrement amusé de tomber sur le Radiation Alert Monitor 200 , qui ressemble à un iPod classique.



Quand j'ai demandé à Paul et Matthew ce qu'ils faisaient, ils ont changé de sujet et ont commencé à se disputer pour savoir où aller déjeuner. Oh, ces geeks.



L'iPod spécial qui n'existait pas



Seules quatre personnes chez Apple étaient au courant de ce projet secret. Je suis directeur du développement logiciel pour l'iPod, vice-président de la division iPod et vice-président senior du matériel. Aucun de nous ne travaille plus chez Apple. Et il n'y a aucun enregistrement. Toutes les connexions n'étaient que des mots.



Si vous interrogez Apple sur un projet iPod spécial, les relations publiques diront honnêtement qu'Apple n'a aucune trace de tels projets.



Mais maintenant tu sais.






All Articles