Данный материал написан о том, как акселерометр отдельно или в связке с сопутствующими датчиками может использоваться для слежки за владельцами смартфонов, а также о том, почему безразличие Apple и Google в этом вопросе представляет серьёзную опасность для конфиденциальности их пользователей. Топик создан на основе статьи немецкого разработчика и исследователя Томми Мыска (Tommy Mysk) — она описывает положение дел в iOS, но пункты справедливы и для Android.
Содержание
Кратко: что такое акселерометр и зачем нужны другие датчикиКак приложения могут взаимодействовать с акселерометромКак акселерометр можно использовать для слежкиКакие популярные приложения постоянно используют акселерометрИсправить проблему можно очень просто — нужно лишь заметить её
Кратко: что такое акселерометр и зачем нужны другие датчики
Акселерометр — это приборчик, измеряющий ускорение смартфона. Он реагирует на малейшие изменения, будучи способным фиксировать «разгон» даже по нескольким миллиметрам. В современных устройствах акселерометр работает в связке с другими датчиками — к примеру, фреймворк Core Motion на iOS включает его, гироскоп (измеряет угол наклона), педометр (шагомер), магнитометр (фиксирует уровень магнитного поля) и барометр (измеряет атмосферное давление).
Некоторые эти датчики похожи между собой и в принципе годятся для одного и того же, но их всё равно используют в связке для устранения недостатков друг друга. Взять хотя бы функцию ориентации в пространстве: у магнитометра низкая точность для быстрых перемещений, но на длинной дистанции у него практически нет отклонений. Гироскоп же, в своё очередь, быстро и точно реагирует на изменения, но накапливает огромные ошибки по мере измерений. Но даже ему нужно знать начальную ориентацию, поскольку он реагирует только на её изменения.
В рамках этой статьи интересна связка только из двух датчиков: акселерометра и гироскопа. Для краткости далее они часто будут упоминаться под одним названием — акселерометр.
Как приложения могут взаимодействовать с акселерометром
И Apple, и Google считают доступ приложений к почти всем вышеописанным датчикам полностью безопасным — играм и программам не нужно запрашивать у пользователя специальное разрешение на получение информации с этих приборов, в отличие от задействования тех же Bluetooth или GPS. Единственное ограничение — приложения могут считывать данные акселерометра только тогда, когда они открыты (в фоновом режиме отслеживать показатели нельзя — по крайней мере, на iOS).
Как акселерометр можно использовать для слежки
Хоть акселерометр устанавливают в смартфоны в благих целях, его вполне можно исследовать для шпионажа за владельцем гаджета. Это не просто догадки — исследователи подтвердили данное утверждение на опытах, дальше отмечены самые интересные и неочевидные сценарии.
🔴 Определение транспорта
Акселерометр помогает отследить, как вы держите смартфон и как вы двигаетесь. С помощью этого датчика можно понять, что вы делаете в конкретный момент (если держите гаджет в руках): лежите, сидите, идёте, едете на велосипеде и тому подобное. В iPhone нельзя незаметно получить доступ только к шагомеру, так как он защищён системным разрешением, но в открытом доступе есть множество сложных алгоритмов, которые могут обрабатывать данные с других датчиков для подсчёта шагов.
Более того, в том же iPhone есть барометр (тоже со свободным доступом для приложений) — приборчик для измерения давления воздуха и высоты. Благодаря комбинации всех этих датчиков отслеживания перемещения, игры и программы на смартфоне могут запросто определить, что делает человек во время их использования: едет на автобусе, мчится на поезде или летит на самолёте.
🔴 Измерение сердцебиения
Несколькими годами ранее исследователи из Philips Health и Бристольского университета (Англия) занялись вопросом поиска замены стандартным датчикам сердцебиения в фитнес-трекерах, использующих фотоплетизмограмму — метод, основывающийся на регистрации кровяного потока с использованием инфракрасного или светового излучения и фоторезистора или фототранзистора. Они задались этой целью, поскольку соответствующий датчик в носимых гаджетах потребляет слишком много энергии.
В качестве альтернативы они выбрали акселерометр (потребляющий до 5 000 раз меньше энергии). В своём исследовании специалисты создали две модели машинного обучения: одна полагалась исключительно на данные акселерометра, а вторая при необходимости брала данные ещё и с пульсоксиметра. Как показали результаты научной работы, опубликованные в 2018 году, второй вариант оказался довольно удачным — задействуя отдельный датчик сердцебиения всего в 20,25% времени, алгоритм на основе акселерометра предсказал пульс со средней абсолютной ошибкой (MAE) всего в 2,89 удара в минуту.
Хоть первая модель исследователей, которая полагалась исключительно на акселерометр, оказалась провальной (MSE, то есть среднеквадратическая ошибка, — 94,8), результаты научной работы весьма показательны. Они дают понимание того, что даже с помощью акселерометра потенциально можно определить пульс человека во время использования смартфона.
🔴 Измерение частоты дыхания
В 2016 году австралийская специалистка в области электротехники доказала экспериментальным путём, что с помощью датчиков в смартфоне (акселерометра и гироскопа) можно довольно точно определять частоту дыхания — погрешность составляет всего 2 вдоха в минуту.
Расположение Датчик Реальное число вдохов за минуту Измеренное датчиком число вдохов за минуту Брюшная полость Акселерометр 13 13 Грудь Акселерометр 10 10 Грудь Гироскоп 9 11 Брюшная полость Гироскоп 15 16
На практике придуманный ею метод имеет ряд ограничений, из-за которых его вряд ли можно использовать для полноценной слежки, но саму потенциальную возможность однозначно стоит учитывать. Загвоздки две: во-первых, смартфон должен вести измерения в течение минуты (по крайней мере, столько было в исследовании); во-вторых, датчики мобильных гаджетов фиксируют все сигналы окружающей среды — для точных измерений смартфон должен прилегать к поверхности тела, причём полностью.
🔴 Прослушка разговоров и не только
Это одна из самых опасных угроз конфиденциальности — в 2020 году исследователи разработали алгоритм Spearphone, позволяющий частично распознать речь из динамиков смартфона. Дело в том, что каждый звук создаёт определённые вибрации — если источник звука достаточно громкий, акселерометр способен уловить эти колебания. В своей научной работе учёные выяснили, что если разговор транслируется через обычный динамик телефона (не разговорный), его вибрации вполне можно уловить и распознать.
10-кратная перекрёстная валидация Тест и тренировка Модель TIGigits Список слов PGP Модель TIGigits Список слов PGP Классификация пола Samsung Galaxy S6 0,91 0,80 0,87 0,82 Samsung Galaxy Note 4 0,99 0,91 1,00 0,95 LG G3 0,89 0,95 0,85 0,95 Классификация личности Samsung Galaxy S6 0,69 0,70 0,56 0,71 Samsung Galaxy Note 4 0,94 0,80 0,92 0,80 LG G3 0,91 0,92 0,89 0,95
Результаты тестирования акселерометра в смартфонах, лежащих на поверхности
Под распознаванием подразумевается не прямое преобразование вибрации в изначальный звук — Spearphone позволяет классифицировать человека по полу (с точностью более 90%) и личности (более 80%). Распознать речь по вибрации нельзя, но можно пробовать определять факт произношения конкретных слов (к примеру, искать слово «бомба», заранее зная, какая вибрация должна быть в результате произношения этого слова) — правда, точность этой возможности не указана.
10-кратная перекрёстная валидация Тест и тренировка Модель TIGigits Список слов PGP Модель TIGigits Список слов PGP Классификация пола Samsung Galaxy S6 0,77 0,72 0,76 0,70 Samsung Galaxy Note 4 0,81 0,87 0,77 0,88 LG G3 0,99 0,95 1,00 0,95 Классификация личности Samsung Galaxy S6 0,33 0,34 0,26 0,29 Samsung Galaxy Note 4 0,73 0,75 0,61 0,70 LG G3 0,98 0,93 1,00 0,95
Результаты тестирования акселерометра в смартфонах, удерживаемых рукой
🔴 Даже определение точного местоположения, хоть и косвенное
Все вышеописанные методы задействовали акселерометр «напрямую», но с помощью него можно косвенно определить даже местоположение пользователя, хотя сам по себе данный датчик абсолютно никак не годится для этого.
Представьте, что вы сели в автобус и открыли условный Facebook. Вы беспокоитесь о своей конфиденциальности и запретили приложению отслеживать ваше местоположение, но человек на соседнем сидении менее осмотрительный — он сидит в той же соцсети, но предоставляет ей доступ к местоположению. Поскольку вы оба находитесь на одинаковой высоте, перемещаетесь с одинаковой скоростью и одинаково трясётесь (при наезде на ямы или кочки), приложение потенциально может определить, что вы и ваш сосед едете в одном и том же транспорте, а следовательно, оно может получить и вашу геопозицию благодаря смартфону другого человека.
Какие популярные приложения постоянно используют акселерометр
Томми Мыск проанализировал обращение известных приложений к акселерометру, и выяснил, что некоторые из них используют его или постоянно, или регулярно. Все они принадлежат Facebook.
- Клиент Facebook — постоянно считывает акселерометр. Приложение использует тряску смартфона для вызова окна обращения в службу поддержки, и это наверняка одна из причин считывания показателей датчика. Данную функцию можно отключить, но после этого Facebook всё равно продолжает задействовать акселерометр. Instagram — считывает акселерометр только тогда, когда пользователь переходит в Direct (раздел личных сообщений). WhatsApp — считывает акселерометр для того, чтобы добавить эффект движения к обоям чата. Эту опцию можно отключить в настройках, и после этого задействование датчика прекращается.
В других протестированных приложениях (в том числе и Facebook Messenger) исследователь не зафиксировал обращение к акселерометру без какой-либо явной причины: Signal, Slack, Telegram, TikTok, Threema, Twitter и WeChat.
Отдельно стоит упомянуть Chrome, который недавно упрекнули в предоставлении сайтам доступа к акселерометру по умолчанию — авторитетное издание Forbes даже посоветовало своим читателям удалить данный браузер в связи с данной проблемой (в то время, как Safari в iOS по умолчанию блокирует передачу данных акселерометра, в Chrome эта опция включена и помечена как рекомендуемая для использования). Беспрепятственный доступ абсолютно всех сайтов к датчику кажется действительно странным, потому что, по сути, он по-настоящему нужен в основном только картографическим сервисам.
Исправить проблему можно очень просто — нужно лишь заметить её
Подытоживая статью, можно смело сделать вывод, что акселерометр, по сути, может так же полноценно использоваться для слежки, как те же службы геолокации. Он может быть отличным инструментом как для обычного шпионажа, так и для создания цифрового отпечатка пользователя, позволяющего показывать ему таргетированную рекламу и даже манипулировать его эмоциями с помощью всё тех же рекламных объявлений.
Да, многие вышеописанные методы слежки через акселерометр работают скорее гипотетически, чем по-настоящему, но факт остаётся фактом. Самое странное, что решение всему этому довольно простое — нужно просто защитить доступ к датчикам отслеживания перемещения системным разрешением, как в случае с Bluetooth или определением местоположения. Скорее всего, этого до сих пор не произошло исключительно потому, что проблема беспрепятственного доступа к акселерометру стала громкой только в последнее время — ранее СМИ о ней мало писали, а и без того перегруженные заботами разработчики операционных систем просто не придавали этой проблеме значения. Можно предположить, что в iOS 14 и Android 13 всё изменится — по крайней мере, очень бы этого хотелось.
Источник: