Недавно техническую прессу обошла сенсационная новость о том, что фирма Qualcomm — один из лидирующих поставщиков чипов для смартфонов — следит за их местоположением при помощи собственного сервиса геолокации. В нашем посте разберемся, что в этой новости — правда, а что — чушь, и как на самом деле можно минимизировать слежку за геолокацией. Но для начала давайте разберемся, как вообще работает геопозиционирование.
Как мобильные устройства определяют, где я нахожусь?
Классический способ определения местоположения — прием сигнала со спутников GPS/ГЛОНАСС/Galileo/Beidou. При этом сам приемник сигнала (чип в смартфоне или навигаторе) проводит вычисления и определяет свое местонахождение. Это достаточно точный метод, который не предполагает передачу устройством какой-либо информации, только прием. Но у него есть и существенные недостатки: он не работает в помещениях и занимает много времени в случае, если приемник используется не ежедневно. Дело в том, что для проведения вычислений устройству необходимо знать точное местоположение спутников, так что ему приходится скачивать так называемый альманах, содержащий информацию об их положении и движении, что занимает 5-10 минут (если качать непосредственно со спутника).
Чтобы минимизировать временные затраты, альманах за пару секунд скачивается из Интернета, это называется Assisted GNSS (A-GPS, A-GNSS). По изначальной спецификации технологии данные передаются только для текущего момента. Но ряд производителей научились снабжать свои приемники A-GPS еще и прогнозом положения спутников на будущую неделю, ускоряя вычисление координат, даже если приемник не будет связываться с Интернетом в ближайшие дни. Такая технология называется Predicted Satellite Data Service (PSDS), и самая яркая ее реализация — фирменный сервис Qualcomm, который мы упоминали в начале поста. Этот сервис появился в 2007 году и получил название GpsOne Xtra, затем в 2013-м он был переименован в IZat XTRA Assistance, а в последней своей версии был скромно назван Qualcomm GNSS Assistance Service.
Как работает прием спутникового сигнала в помещениях и что такое SUPL?
Вернемся к первому недостатку определения местоположения с помощью приема сигнала со спутников — он может быть недоступен в помещениях, поэтому есть и другие способы определить местоположение смартфона. Классический метод еще из девяностых состоит в том, чтобы проверить, какие базовые станции сотовой сети «слышны» в текущей точке, и, сравнив их уровень сигнала и зная точное положение станций, вычислить примерное положение смартфона.
С небольшими модификациями этот метод успешно работает и в современных LTE-сетях. Также смартфоны могут проверять, какие есть поблизости точки доступа Wi-Fi, и определять примерное местоположение по ним. Последняя функция обычно работает благодаря централизованным базам данных о точках Wi-Fi и «завернута» в фирменные сервисы вроде Google Location Service.
Ну а вообще все способы определения местоположения обобщены в стандарт SUPL (Secure User Plane Location), который поддерживается сотовыми операторами, а также производителями смартфонов, ОС и чипов. Любое приложение, требующее определить местоположение, получает его от мобильной ОС при помощи самой быстрой и точной комбинации доступных в данный момент способов.
Конфиденциальность не гарантирована
Обращение к сервисам SUPL не обязательно приводит к нарушению конфиденциальности пользователя, но на практике данные «утекают» часто. При определении местоположения по сотовым базовым станциям оператор точно знает, какой абонент отправил запрос и где он в этот момент находился. Чтобы извлекать выгоду из данных геолокации, Google предоставляет информацию Location Services, записывая местоположение и идентификатор пользователя. Хотя технически мог бы этого и не делать.
Что касается A-GPS, теоретически серверы могут отдавать необходимые данные, вообще не получая идентификаторы абонентов и не сохраняя никакие их данные. Однако многие производители делают и то и другое. Так, стандартная реализация SUPL в Android отправляет в рамках SUPL-запроса IMSI смартфона (уникальный номер SIM-карты). А клиент Qualcomm XTRA на смартфоне передает «технические идентификаторы» абонентов, включая IP-адрес. По заявлению Qualcomm, через 90 дней они удаляют запись о связи идентификаторов и IP-адресов, то есть «деидентифицируют данные», и далее используют их исключительно в неких «бизнес-целях».
Важное «но» — по данным запроса A-GPS невозможно определить положение пользователя. По запросу сервер выдает альманах с информацией о положении спутников, одинаковый для всей планеты, а местоположение пользователя с его помощью вычисляется уже на его устройстве. То есть владельцы подобных сервисов в худшем случае знают, что в такое-то время к серверу обращался пользователь, но где он находился, записать не сможет.
В чем обвиняют Qualcomm
Публикации с критикой Qualcomm ссылаются на опубликованное сайтом Nitrokey исследование некоего человека под псевдонимом Paul Privacy. В этой работе утверждается, что смартфоны с чипами Qualcomm отправляют компании персональные данные пользователей. Причем делают они это без их ведома, а данные передаются по нешифрованному протоколу HTTP. И никто это не контролирует, поскольку функция реализована на уровне самой микросхемы.
Несмотря на описанные выше реальные проблемы с конфиденциальностью данных о геолокации в сервисах, подобных Qualcomm GNSS Assistance Service, это исследование скорее пугает и вводит читателя в заблуждение. Оно содержит ряд неточностей.
- В старых смартфонах информация действительно могла передаваться по незащищенному HTTP, но это прекратилось еще в 2016 году, когда Qualcomm устранила уязвимость в реализации XTRA.
- Согласно лицензионному соглашению, данные вроде «списка установленных приложений» действительно могут передаваться через сервисы XTRA, однако практические эксперименты («прослушивание» пакетов с телефона и чтение исходного кода Android) не подтверждают, что это действительно происходит.
- Вопреки изначальным заявлениям авторов исследования функция передачи данных не «зашита в чипе» (baseband), а реализована на уровне ОС. Поэтому ее вполне могут контролировать — как минимум разработчики ОС, а на практике — еще и сообщество моддеров. Заменять и отключать конкретные SUPL-серверы в смартфоне умели еще в 2012 году, но делали это не столько ради повышения конфиденциальности, сколько для ускорения работы GPS.
Защита от слежки: для всех и для осторожных
В общем, Qualcomm за нами (наверное) не следит. Тем не менее слежка через геолокацию вполне реальна, только на совсем другом уровне — ее систематически ведут погодные приложения и другие безобидные повседневные программы. Поэтому всем и каждому советуем сделать одну простую и важную вещь — сведите к минимуму число приложений, имеющих доступ к данным вашей геолокации. Ваш город в прогнозе погоды можно указать и вручную, да и при покупках через Интернет указать адрес доставки несложно.
А люди, которые вообще не хотят допустить, чтобы их геолокация где-то протоколировалась, должны принять несколько дополнительных мер защиты.
- Отключите на смартфоне все способы геолокации, кроме классического GPS.
- Дополнительными средствами заблокируйте обращение смартфона к серверам SUPL. В зависимости от модели смартфона, ОС и других вводных, это можно организовать при помощи фильтрующего DNS, системного брандмауэра, фильтрующего роутера, специальных настроек смартфона.
- Лучше всего вообще не пользуйтесь сотовыми телефонами. Даже если сделать все вышеперечисленное, ваше примерное местоположение всегда знает сотовый оператор.