Среда , 23 сентября 2020

Как Apple помогала Министерству Энергетики США «кастомный» iPod мастерить

Twitter

Оригинальный материал написан Дэвидом Шейером, трудившимся в Apple. Если владеете английским, то прочитать можно тут.

Как Apple помогала Министерству Энергетики США «кастомный» iPod мастерить

В конце 2005 года на улице была ненастная погода. Я сидел за своим столом и писал код для следующего iPod. Не постучав, внезапно зашел директор, руководящий процессом разработки всего программного обеспечения для iPod (iPod Software)- начальник моего босса — и закрыл за собой дверь. Он сразу перешел к делу: «Есть особое задание. Твой босс об этом не знает. Надо помочь двум инженерам из Министерства энергетики США создать специальный iPod. Отчитывайтесь только мне».

На следующий день мне позвонили из лобби, и секретарь сказала, что в вестибюле ждут двое мужчин. Я спустился вниз, чтобы встретиться с Полом и Мэтью, инженерами, занимавшимися созданием этого специального iPod. Я бы хотел сказать, что они носили темные очки и плащи, проверяли в отражении окон отсутствие «хвоста», но это были совершенно обычные инженеры лет тридцати с хвостиком. Я оформил пропуска, и мы пошли в переговорку, чтобы всё обсудить.

На самом деле они не работали на Министерство энергетики; они трудились в подразделении Bechtel, крупного американского оборонного подрядчика Министерства энергетики. Они хотели вставить в iPod некое дополнительное оборудование и записывать с него данные на жёсткий диск iPod таким образом, чтобы их нельзя было обнаружить. При этом iPod должен был выглядеть и работать как самый обычный iPod.

Вся работа была на них, моя задача заключалась предоставить необходимую консультационную помощь со стороны Apple. Я узнал, что чиновник Министерства энергетики связался со старшим вице-президентом Apple по аппаратному обеспечению и попросил компанию помочь в создании модифицированных iPod. Старший вице-президент передал запрос вице-президенту подразделения iPod, который передал его директору iPod Software, который уже и пришел ко мне. Моему боссу сказали, что я работаю над специальным проектом и не надо задавать лишних вопросов.

Немного предыстории

Я стал вторым инженером-программистом, нанятым для проекта iPod, стартовавшем в 2001 году. Отдел маркетинга Apple еще не придумал название «iPod», поэтому продукт был известен под кодовым обозначением «P68». Первый нанятый инженер-программист позже стал директором iPod Software, парнем, который дал мне это особое задание. Я написал файловую систему iPod, а позже и базу данных SQLite  для фонотеки. За это время я успел поработать почти со всеми частями программного обеспечения iPod, кроме разве что аудиокодеков. (К слову, эти аудиокодеки были написаны двумя инженерами с учеными степенями из Беркли и Стэнфорда. Когда они не дразнили друг друга по поводу того, чей университет лучше, они писали такой код, к которому я боялся прикоснуться. Доверить обычному инженеру возиться с такими кодом, это всё равно, что доверить механику по велосипедам перебрать коробку передач Porsche)

В целом компиляция операционной системы и загрузка ее на iPod, а также тестирование и отладка были довольно сложным процессом. Когда к работе приступал новый программист, мы обычно давали ему неделю, чтобы он мог изучить все это, прежде чем поручать реальные задачи. 

К тому же операционная система iPod не была основана на другой операционной системе Apple, такой как Classic Mac OS или Darwin, ядро ​​Unix, лежащее в основе macOS, iOS, iPadOS, watchOS и tvOS. Оригинальная операционная система была основана на двух компонентах. Во-первых, это эталонная платформа, которую Apple купила у компании Portal Player. Portal Player также дал все нижние уровни ОС, включая управление питанием, драйверы и ядро ​​реального времени (которое Portal Player получил по лицензии у другой компании под названием Quadros). Во-вторых, Apple купила операционную систему более высокого уровня у Pixo, компании, основанной несколькими годами ранее бывшими инженерами Apple, которые пытались написать универсальную операционную систему для сотовых телефонов для продажи компаниям, производящим мобильные телефоны, таким как Nokia и Ericsson. Код Pixo отвечал за пользовательский интерфейс, обработку текста Unicode (важно для локализации), управление памятью и обработку событий. Конечно, инженеры Apple изменили весь этот код и со временем переписали большую его часть.

IPod OS была написана на C++. Ну, а так как платформа не предназначалась для установки сторонних приложений, то никакой информации об её устройстве в свободном доступе не было. Логично, что Министерству Энергетики была нужна наша помощь.

Занятный факт. Разработка операционной системы для iPod производилась на Windows. Дело в том, что у Apple на тот момент, ещё не было работающих инструментов, чтобы заниматься разработкой на ARM. Компания обратилась к Arm Holdings, которая дала среду разработки, работающую только на Windows или Linux. 

Приступаем к разработке

Я реквизировал пустой кабинет для Пола и Мэтью и попросил наших айтишников отрезать проводную локальную сеть, чтобы они подключались только к интернету за пределами Apple, что не позволяло им получить доступ к внутренней сети Apple. А сеть Wi-Fi в Apple всегда подключается только к внешнему интернету. Важно понимать, что это не было сотрудничество с Bechtel с контрактом и оплатой; это была услуга, которую Apple, оказывала Министерству энергетики, не афишируя. 

Излишне говорить, что у Пола и Мэтью не было доступа к нашему серверу с исходным кодом. Вместо этого я дал им копию текущего кода на DVD диске и объяснил, что нельзя выносить. В конечном итоге им было разрешено сохранить модифицированную копию созданной ими ОС для iPod, но не исходный код для нее.

Также Apple не предоставила им никаких инструментов. Они принесли свои компьютеры, они сами купили в магазине несколько iPod для тестов. Ну, а так как в Apple всегда была серьезная система безопасности, то каждое утро они звонили мне из лобби, и я провожал их в офис. Впоследствии я организовал для них рабочие пропуска, как будто они приходят заправлять кофемашины или являются продавцами от поставщика памяти.

Пол и Мэтью были умны – и даже их можно назвать высококлассными специалистами — и с небольшой помощью они довольно быстро со всем разобрались. Я показал им, как настроить инструменты разработки, создать копию операционной системы из исходного кода и загрузить ее в iPod. Они с головой окунулись работу. 

Изучив систему, они смогли объяснить, что именно хотят сделать. По крайней мере, в общих чертах. Они добавили к iPod некое оборудование, собиравшее данные, которые они хотели записать тайно. Они были очень осторожны, и я никогда не видел это оборудование. 

Мы обсуждали лучшие варианты, как скрыть записанные данные. Как программист, отвечающий непосредственно за хранилище, я посоветовал им сделать на диске еще один скрытый раздел для хранения своих данных. Таким образом, даже если кто-то подключит модифицированный iPod к Mac или ПК, iTunes будет рассматривать его как обычный iPod, и он будет выглядеть как обычный iPod в Mac Finder или Windows Explorer. Им эта идея понравилась. (Примечание: а чего прям такая сложная идея? Вроде, очевидно же всё). 

Следующим шагом было создание простого способа начать и остановить запись. Мы выбрали самый длинный путь в меню настроек и добавили безобидно звучащий пункт в самые недра. Я помог им написать код, так как там был ряд сложных моментов. В остальном устройство функционировало как обычный iPod.

В то время последним был iPod пятого поколения, более известный как «iPod с видео». Было относительно легко вскрыть корпус и снова закрыть, не оставляя следов, в отличие, например, от моделей iPod nano, вскоре ставшими популярными. Кроме того, у iPod пятого поколения был диск на 60 ГБ, так что там было достаточно места и для песен, и для секретных записей. И это был последний iPod, в котором Apple не использовала цифровую подпись для операционной системы.

Как Apple помогала Министерству Энергетики США «кастомный» iPod мастерить

Это было важно, потому что отсутствие цифровой подписи сделало iPod пятого поколения в некоторой степени поддающимся взлому. Гикам нравилось запускать Linux на iPod, что было на самом деле трудным делом без специальных знаний и инструментов, которыми обладала только Apple. Мы, как команда инженеров iPod, были впечатлены. Но корпорации Apple это не понравилось. Начиная с iPod Nano, операционная система была подписана цифровой подписью, чтобы блокировать хакеров. Загрузчик проверяет цифровую подпись перед загрузкой операционной системы. 

Я сомневаюсь, что Пол и Мэтью попросили Apple подписать их собственную сборку операционной системы, чтобы она работала на iPod nano. И я уверен, что Apple отказалась бы. В любом случае, большой iPod пятого поколения лучше подходил для их целей.

После нескольких месяцев непрерывной работы Пол и Мэтью завершили интеграцию своего оборудования в iPod и завершили проект. Они увезли свои компьютеры и оборудование для отладки обратно в офис Bechtel в Санта-Барбаре. Они вернули мне DVD с исходным кодом Apple вместе бейджиками. Потом попрощались, и больше я их не видел. DVD пролежал на полке в моем офисе в течение многих лет, пока я, наконец, не выбросил его во время уборки.

Что они делали?

Министерство энергетики огромное. Его бюджет на 2005 год составлял 24,3 миллиарда долларов. Министерство отвечает за ядерное оружие и программы ядерной энергетики США, включая Лос-Аламосскую национальную лабораторию, которая была частью Манхэттенского проекта. Как говорится в обосновании бюджета: «В бюджете на 2005 финансовый год предлагается отправить 9,0 млрд долларов для достижения целей, связанных с обороной. Бюджетная заявка подтверждает обязательства в отношении требований ядерного сдерживания, изложенных в обзоре ядерной стратегии администрации, и продолжает финансировать агрессивную стратегию по уменьшению угрозы оружия массового уничтожения».

Моя догадка, что Пол и Мэтью изобретали что-то вроде потайного-счетчика Гейгера. А iPod это то, что агенты Министерства энергетики могут использовать, не привлекая внимания. Типа что-то безобидное, воспроизводящее музыку и работающее как обычный iPod. Вы можете гулять по городу, слушая песенки, одновременно записывая свидетельства радиоактивности — например, сканирование на предмет контрабандного или украденного урана или доказательства разработки грязной бомбы — без всяких шансов, что пресса или общественность узнают об этом.

Как и любое другое электронное устройство, счетчики Гейгера со временем стали миниатюрнее и дешевле в производстве, и я был удивлен, когда наткнулся на Radiation Alert Monitor 200, который оказался очень похож на классический iPod.

Как Apple помогала Министерству Энергетики США «кастомный» iPod мастерить

Когда я спрашивал Пола и Мэтью, что они строят, они меняли тему и начинали спорить о том, куда пойти пообедать. (Примечание: ну, конечно, он их как кофе рабочих оформил, и даже iPod не выдал, а они ему должны были всё рассказать). 

Только четыре человека в Apple знали об этом секретном проекте. Я, директор iPod Software, вице-президент подразделения iPod и старший вице-президент по аппаратному обеспечению. Никто из нас уже не работает в Apple. Не было никаких документов. Все общение личное.

Если бы вы спросили Apple о проекте кастомного iPod, то пиарщики честно скажут вам, что у Apple нет никаких записей о подобных проектах. Так оно и есть.

Оригинальный материал: The Case of the Top Secret iPod

Заключение

В целом простая и понятная история, показывающая, как оно всё работает. Здрасьте, а у нас тут вопросик. Можно зайти? Заходите. Поможете по дружбе? Ну, а как не помочь! Спасибо! До свиданья! 

Понятно, что точно также каждый крупный производитель помогает своим правительствам. И Apple, и Samsung, про Huawei или Xiaomi даже говорить не буду. И вот ходят всякие шпионы по миру. У них, вроде, в руках обычный Galaxy Note Ultra или Xiaomi, но он не греется, работает сутки на пролет, камера с зумом снимает покруче спутников, а никто не догадается.

источник

Добавить комментарий

Ваш адрес email не будет опубликован.