Стартовавшее вчера полуоткрытое бета-тестирование новой версии OS X (10.10 Yosemite: к нему допущены все, кто не поленился подать заявку на участие в тесте) занимает на удивление скромное место в лентах новостей, теряясь на фоне другого известия, с Apple непосредственно связанного. Правильней, впрочем, будет сказать не «известия», а «скандала» — нарастающего уже неделю и бог знает куда способного привести. Ровно неделю назад, на хакерской конференции HOPE/X, некто Джонатан Здзиарски (автор нескольких книг по компьютерной тематике, талантливый программер, а по совместительству ещё и ИТ-криминалист, и специализирующийся на Apple-железках хакер, известный под кличкой NerveGas; далее для краткости просто ДЗ) рассказал про обнаруженные и/или изученные им несколько «чёрных ходов» в мобильной операционной системе Apple. И спровоцировал большой переполох.
Поймите правильно, история ДЗ звучит слишком хорошо, чтобы в неё можно было поверить с ходу: после года сноуденовских откровений все только и ждут чего-то подобного, прямо подтверждающего причастность крупных ИТ-компаний к слежке за несчастными пользователями. Но и не поверить тоже не получается: сделанные ДЗ находки уже подтвердила сама Apple — и с героем дня они расходятся разве что в «мелочах», оспаривая для чего именно в iOS встроены системные бэкдоры.
Свои находки NerveGas изложил в пространном PDF-файле, читать который нелегко. Документ не рассчитан на широкую, неподготовленную публику, и сквозь терминологию и логические развязки сорта «легко видеть, что» приходится буквально продираться. Однако суть проста и сводится к следующему.
На каждом iOS-устройстве — а таковых, по прикидке ДЗ, сегодня около 600 млн. штук — работает несколько недокументированных системных сервисов, дающих возможность постороннему человеку дистанционно извлекать с такого устройства практически любую информацию, в том числе личного характера, которая, по идее, никогда это устройство покинуть не должна, а если и покинет, должна бы быть зашифрованной. Всё, буквально всё, от документов и настроек стандартных приложений Apple, заканчивая документами сторонних приложений, может быть извлечено в незашифрованном виде, без согласия и даже без уведомления пользователя. Плюс к тому возможна установка постороннего программного обеспечения и тотальный контроль сетевого трафика.
Названия сервисов скажут неподготовленному человеку немного: pcapd (перехват сетевых пакетов без ведома пользователя; активен всегда), mobile.file_relay (полный доступ к «сырым» данным файловой системы) и тому подобные. Строго говоря, некоторые из них были известны задолго до того, как на них обратил внимание ДЗ, и считались безобидными, поскольку предоставляли доступ лишь к ограниченному списку источников данных (к тем, которые имеют ценность, например, для разработчиков, т.е. явно предназначены для отладки системных приложений). Но в последние годы функционал даже таких сервисов значительно расширился и к настоящему моменту они стали опасны.
Подробности можно почерпнуть непосредственно из работы ДЗ, здесь же важнее отметить, что эксплуатировать сервисы можно как локально, через USB, так и дистанционно, через Wi-Fi или даже (предположительно) сотовую связь. Всё, что необходимо для успешной атаки, это «спаривание» с атакуемым устройством. До седьмой версии iOS «спаривание» производилось автоматически при подключении к любой внешней «железке» (компьютеру, другому смартфону, «зарядке»), начиная с iOS 7 для этого уже требуется непосредственное разрешение пользователя. Однако, по словам ДЗ, даже в случае с iOS 7 злоумышленнику достаточно один раз похитить с любого из устройств, с которым «спаривание» когда-либо успешно производилось, криптоключ, после чего можно будет эксплуатировать вышеназванные сервисы без особого труда.
Подводя итог проделанной работе, Здзиарски публично задаёт Apple несколько вопросов. Почему на 600 миллионах iOS-устройств постоянно работает снифер — ни отключить, ни проконтролировать который пользователь не в состоянии? Для чего в iOS недокументированные сервисы, способные «оптом» отдавать наружу данные личного характера в незашифрованном виде? Почему, вопреки обещанию Apple («Когда вы используете пароль, он автоматически шифрует и защищает … данные в приложениях»), пользовательские данные на самом деле не зашифрованы?
И — уникальный случай! — Apple ответила хакеру. Ответ, впрочем, получился странным. Компания действительно признала существование некоторых из названных ДЗ сервисов, но настаивает на их диагностической сути: мол, всё это встроено в операционку для нужд разработчиков, а прежде, чем какие-либо данные покинут устройство, пользователь должен дать своё согласие.
Увы, ответ этот плохо согласуется с фактами. В последнем комментарии, данном пару дней назад, Здзиарски уточняет, что у него нет доказательств, что Кук и Ко. непременно используют свои бэкдоры для помощи, например, спецслужбам или кражи пользовательских данных. Однако его пугает, что компания занижает возможности недокументированных сервисов и кроме того, он ни на минуту не верит, что они предназначаются только для диагностики. Так что от вопроса для чего Apple написала их, никуда не уйти.
И вот как рассуждает NerveGas. Написаны ли сервисы для отладки? Вряд ли, потому что выдают данные, для разработчиков явно лишние, и функционируют постоянно, не требуя переключения в отладочные режимы. Для техподдержки? Тоже маловероятно, ибо многие данные выдаются не в виде файлов, а «сырыми», непригодными для быстрого анализа или возврата на устройство. Кроме того, сервисы не упоминаются в документации и не адресуются никаким другим программным обеспечением Apple (по крайней мере из известного ДЗ, а он знает в этом толк). Плюс, явно не придуманы по ошибке, а потом забыты: они существуют в iOS как минимум с версии 4 (некоторые и дольше), их регулярно обновляют и дополняют, и Здзиарски даже успел написать руководству Apple, прося разъяснить, что и зачем, но ни от Джобса, ни позже от Кука ответа не получил (но знает, что письма дошли до адресатов, ибо на менее важные вопросы ему отвечали).
Так что наиболее вероятным остаётся версия содействия правоохранительным органам, над чем Apple, по собственному признанию, «трудится напряжённо». Представьте, что сотрудник, например, полиции обращается в Apple с просьбой посодействовать в наблюдении за iPhone субъекта X, и предъявляет полагающиеся в таких случаях разрешающие документы (судебный ордер или что-то подобное). Вот тогда Apple и предоставляет им доступ к недокументированным сервисам. По словам ДЗ, тут в игру вступают сторонние компании-посредники, специализирующиеся на цифровой криминалистике (в их числе названа и российская «Элкомсофт»): они тоже в курсе существования недокументированных сервисов и предлагают услуги и инструментарий для их эксплуатации.
Но даже обнаружение, признание и установление назначения опасных сервисов ещё не решает порождаемой ими проблемы. На данный момент описанные Джонатаном Здзиарски системные бэкдоры в iOS представляют собой бомбу замедленного действия, встроенную в сотни миллионов устройств: плееров, смартфонов, планшеток, телеприставок. Эксплуатация сервисов — задача непростая, но решаемая, и, по словам Здзиарски, злоумышленники могут ими воспользоваться, либо пользуются уже. Зная это, странно наблюдать как упирается Apple: признавшая существование сервисов, но и пальцем не пошевелившая, чтобы защитить своих клиентов от возможных атак.
P.S. В статье использована иллюстрация Janitors.