Все ходы записаны

(Апрель 2011)

О том, как специфический файл в Айфонах и прочих гаджетах Apple ведет строгий контроль и учет всех перемещений своих владельцев – независимо от того, нравится им это или нет.

apple-eye-poster-ars

В последние годы среди перспективных и динамично развивающихся направлений ИТ-бизнеса все чаще упоминают так называемую мобильную геолокацию.

Иначе говоря, постоянно носимые современным человеком гаджеты с радиосвязью – прежде всего, сотовые телефоны, но также и плееры, нетбуки или планшеты – в принципе дают возможность весьма эффективно вычислять текущие географические координаты владельца по сигналам от ближайших мачт сотовой связи или точек доступа WiFi-сетей.

С точки зрения бизнеса это, соответственно, означает, что ныне особенно важным для успеха коммерческого предприятия становится вопрос «Где?»: где именно люди живут; куда они ходят; где, когда и как они тратят свои деньги…

По этой причине совсем неудивительно, сколь большой интерес вызывает у профессионалов проводимая с некоторых пор в Калифорнии специализированная бизнес-конференция O’Reilly Where 2.0 — представительный форум, собирающий вместе специалистов из всех областей, так или иначе определяющих успехи и тенденции в области мобильной геолокации.

SmartphoneSpy

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

Скорее даже наоборот, исследование двух программистов-разработчиков, Пита Уордена и Алесдера Аллена (Pete Warden, Alasdair Allan), обнаруживших в устройствах Apple недокументированные и весьма специфические функции геолокации, вызвало у большинства думающих людей сильнейшее чувство беспокойства и дискомфорта.

Неприятное открытие

Суть нехорошего факта, обнаруженного Уорденом и Алленом, сводится к тому, что в смартфонах iPhone постоянно и тайно от владельца ведется неограниченной, похоже, длины лог-журнал, в котором подробнейшим образом фиксируется вся история географических перемещений телефона, а значит, и его счастливого обладателя.

Сразу же имеет смысл отметить, что оба исследователя совсем не эксперты в области защиты информации (дальше станет яснее, почему это существенно). А кроме того, они являются давними и преданными фанатами продукции Apple. По этой причине Уордену и Аллену было особенно непросто делать доклад о своем открытии, сделанном, в общем-то, совершенно случайно.

Как специалисты по цифровым картам и геолокации, они по заказу одной из крупных газет занимались задачей наглядного отображения той картины, что складывается с динамикой радиоактивного заражения в дальневосточном регионе из-за аварий на АЭС Фукусима. В какой-то момент родилась идея задействовать сигналы геолокации от мобильных телефонов.

Ну а в качестве первого шага исследователи полезли в файлы собственных Айфонов — дабы посмотреть, что за данные там уже имеются в готовом виде. На основе этой информации можно было бы сконструировать специальное приложение, автоматически привязывающее звонок об уровне радиации к точному географическому местоположению звонящего.

Таким вот примерно образом и был обнаружен файл «consolidated.db», скрупулезно регистрирующий не только текущее местоположение телефона, но и много-много больше того. Начиная с операционной системы iOS 4, в Айфонах ведется компактная база данных SQLite, которая имеет в своем составе таблицы под названиями «CellLocation», «CdmaCellLocaton» и «WifiLocation» (т.е. местоположения GSM-ячеек, CDMA-ячеек и точек доступа Wifi).

Записи в этих таблицах соответствуют отметкам о геолокационной информации, автоматически генерируемой телефоном на основе данных, получаемых от ближайших беспроводных сетей.

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

Интересно также отметить, что таблица WifiLocation регистрирует – наряду с оценочными данными об их широте и долготе – еще и MAC-адреса каждого из тех узлов сетей WiFi, с которыми доводилось контактировать Айфону. Например, в одном из конкретных аппаратов исследователей, купленном всего два месяца назад, обнаружились записи о 53 000 разных MAC-адресах.

На основании чего становится понятно, что в базе фиксируются данные не только о тех сетях, с которыми у владельца было реальное соединение, но и вообще обо всех сетях, которые видел в эфире телефон (вроде сетей в кафе, мимо которых люди чаще всего проходят не подсоединяясь).

iphonetracking

Чтобы наглядно продемонстрировать природу накапливаемых Айфонами данных, Пит Уорден написал и выложил для всех в Сеть небольшое приложение под названием iPhone Tracker.

На основе информации файла consolidated.db, извлекаемой из всякого конкретного аппарата iPhone, этот трекер выстраивает граф всех перемещений владельца в привязке к географической карте — начиная с момента покупки и инициализации телефона (и даже, как выясняется, ранее того). Попутно это же приложение позволяет воспроизвести и динамику перемещений, показывая точное местоположение владельцев в любой из тех моментов времени, когда у них при себе был Айфон.

Благодаря простоте и наглядности приложения iPhone Tracker, собственно говоря, это исследование и получило столь большой резонанс в прессе. Потому что практически для любого журналиста – учитывая гиперпопулярность Айфонов и их почти непременную синхронизацию с компьютером – оказалось совсем легко и просто самостоятельно проинспектировать содержимое столь информативного, но прежде «секретного» файла.

Когда владелец смартфона синхронизирует свой iPhone с компьютером, то программа iTunes, в данном случае выступающая средством синхронизации, автоматически создает на диске машины полный резервный архив данных, хранимых в Айфоне. В этом резервном архиве каждый раз обновляются не только свежий контент, контакты и приложения, которые были модифицированы или скачаны с момента предыдущей синхронизации, но и геолокационная база данных.

Более того, как установили исследователи, информация о точках геолокации тщательно сохраняется даже при смене владельцем устройств, включая апгрейды с модели iPhone 3GS до iPhone 4. Иначе говоря, перенос базы данных о местоположениях хозяина телефона выглядит как одна из существенных функций в общем процессе миграции с одного устройства на другое…

Самым тревожным обстоятельством во всей этой истории исследователям-первооткрывателям видится то, что корпорация Apple не предоставляет владельцам Айфонов никаких средств для управления столь критичной информацией в собственных аппаратах. И даже хуже того, Apple вообще предпочла не раскрывать практически никаких сведений о специфике геолокационных функций, зашитых в столь широко распространенные ныне устройства…

Это не новость?

Как уже говорилось, публикация исследовательских результатов Уордена и Аллена вызвала сильный резонанс в интернете и множество содержательных комментариев в блогах или дискуссионных форумах. И уже по первой волне комментариев со стороны специалистов и просто людей, явно ориентирующихся в теме, было несложно углядеть энергичные попытки к тому, чтобы всячески принизить значимость открытия.

Первым делом, естественно, вспомнили о так называемом EULA, т.е. «лицензионном соглашении конечного пользователя», с условиями которого всякий владелец Айфона обязан согласиться еще до начала использования купленного аппарат. Это самое EULA для Айфона содержит порядка тридцати страниц текста и практически никто его, ясное дело, внимательно не читает.

Однако в разделе 4b этого документа, озаглавленном «Данные о местоположении», в явном виде прописано, что «Apple и ее партнеры могут предоставлять через ваш Айфон определенные услуги, которые опираются на информацию о местоположении. Чтобы предоставлять эти услуги, Apple и ее партнеры могут передавать, накапливать, обрабатывать и использовать данные о вашем местоположении, включая географические координаты вашего Айфона в реальном времени»…

Иначе говоря, вас предупреждали, так что формально никаких претензий к фирме быть не может.

location_ios

Далее напомнили о том, что было уже известно и ранее. Дескать, да, в Apple давно признали, что накапливают с помощью своих пользователей гигантскую базу геолокационных данных с точными координатами MAC-адресов всевозможных сетей Wi-Fi.

Этот факт был раскрыт на слушаниях в Конгресса США в середине 2010, когда корпорация признала, что такая информация собирается, сохраняется, а затем передается из операционной системы iOS каждого аппарата обратно в фирму Apple. Но передача происходит лишь при условии, что владельцы устройств на это согласились – в принятых по умолчанию настройках параметров Айфона.

Попутно в комментариях было отмечено, что аналогичные базы данных о геолокации устройства ведут практически все Apple-устройства на основе последних версий iOS – не только Айфоны, но и планшеты iPad, и наиболее продвинутые плееры iPod (touch).

Самый же, пожалуй, содержательный массив комментариев предоставили специалисты из области компьютерной криминалистики. Они, во-первых, указали на тот факт, что файлы с геолокационными данными чрезвычайно полезны в работе правоохранительных органов, которые уже не первый год используют эту информацию для выстраивания улик обвинения против преступников на основе их же собственных Айфонов.

А в специализированных криминалистических журналах и сборниках статьи о замечательных особенностях устройств Apple iPhone и их резервных архивов, создаваемых с помощью iTunes, появляются по меньшей мере с середины прошлого года (см., например статью за сентябрь 2010 «iPhone 3GS Forensics: Logical analysis using Apple iTunes Backup Utility» by Mona Bader, Ibrahim Baggili).

Во-вторых, как свидетельствуют знающие люди, все Айфоны регистрируют данные о геолокации чуть ли не с момента своего появления. Просто прежде, до выпуска на рынок iOS 4.0 в середине 2010 года, соответствующие лог-файлы с информацией о местоположении пользователя не были так легко доступны для анализа обычными средствами. Система iOS 4 сделала задачу по их извлечению несколько проще, однако правоохранительные органы умели работать с геолокационными данными и значительно раньше.

Сами представители такого рода структур, естественно, на данный счет предпочитают помалкивать, однако разработчики тех криминалистических программ, что используются при расследованиях, увидели во всей этой теме подходящую площадку для рекламирования своей компетентности и бизнес-продукции.

В частности, весьма содержательно выступил в своем блоге некто Алекс Левинсон (Alex Levinson), еще весьма молодой, но уже ведущий инженер-разработчик в фирме ИТ-криминалистики Katana Forensics, специализирующейся на следственном сборе всевозможной компрометирующей информации из устройств Apple.

Левинсон лично участвовал в создании программы Lantern, флагманского продукта «Катаны», а также был соавтором книги-руководства «Криминалистический анализ iOS применительно к iPhone, iPad and iPod Touch», вышедшей в декабре 2010 года. Иными словами, парня не на шутку задело, что Уорден и Аллен неосторожно назвали своим «открытием» ту геолокационную базу данных, успешным окучиванием которой в интересах полиции и спецслужб он занимается уже давным-давно.

В личном блоге Левинсон так живописует достижения своей компании и себя лично:

«[Летом 2010] В течение 24 часов с момента выхода iPhone 4 мы обновили код Lantern до поддержки криминалистического анализа устройств под iOS 4.0. В течение 36 часов мы начали писать новый код для исследования файла consolidated.db. Как только появился инструмент для джейлбрейка под iOS 4, я написал для подтверждения концепции небольшое приложение, позволяющее извлекать весь контент из consolidated.db и переправлять его на сервер для дистанционного отслеживания перемещений клиента»…

iOSforensic_book_page

Также Левинсон сообщает, что функции Айфонов по геолокации аппарата простираются в прошлое намного дальше, нежели считают Уорден и Аллен (предположившие, что такие возможности начали функционировать вместе с появлением ОС Apple iOS 4 в июне прошлого года).

На самом деле, говорит Левинсон, прошлые Айфоны имели в себе скрытый файл под именем » h-cells.plist», где накапливались по сути те же самые, что и ныне в файле consolidated.db, данные о геолокации, вычисляемые на основе постоянных радиообменов с точками WiFi-доступа и мачтами сотовой связи.

Лог и кэш

Еще одним очевидно неверным предположением Уордена и Аллена, на которое им тут же указали более компетентные специалисты, было их наблюдение, согласно которому в других популярных смартфонах – на основе ОС Google Android, в частности – ничего похожего на consolidated.db не наблюдается.

В действительности смартфоны на базе Android точно так же, как и Айфоны, скрупулезно и постоянно вычисляют по радиообменам географические координаты своего местоположения, регистрируя эти данные в специальных геолокационных файлах «cache.cell» и «cache.wifi». Более того, также как и в Айфонах, эта информация с согласия владельцев (данного по умолчанию) регулярно переправляется в Google для формирования гигантской геолокационной базы данных.

android-map-pins

По сути единственное – но принципиально важное – отличие между двумя этими технологиями заключается в том, что в Android-смартфонах вся подобная информация хранится в кэшах лишь ограниченное время и регулярно перезаписывается новыми данными (кэш-файлы хранят данные о 50 последних телефонных сотах и о 200 узлах WiFi). В то время как в Айфонах лог-журнал о всех радиоконтактах ведется постоянно на протяжении многих и многих месяцев, так что вообще неизвестно, предусмотрено ли для него стирание-обновление в принципе.

Откуда, собственно, и возникает множество тех интересных вопросов к Apple, на которые пока что ответы неизвестны. Однако ныне уже очень многим – от конгрессменов и правозащитников до журналистов и обычных граждан – хотелось бы услышать, с какой целью лог-журнал Айфона хранит всю эту тучу легкодоступной и весьма чувствительной к компрометации информации?

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

Тогда зачем этот огромный массив информации нужен Apple в таком «засекреченном» виде? А если он не нужен им, то кто именно является заказчиком? И на каком вообще основании все это было сделано?

По состоянию на данный момент корпорация Apple упорно уклоняется от любых объяснений касательно нюансов геолокации в своих устройствах. Однако отвечать на неудобные вопросы, судя по нынешнему накалу страстей, им все же придется…