Энергопотребление смартфона зависит от того, сколько потребляет радиомодуль, отвечающий за подключение к базовым станциям сетей сотовой связи и передачу информации. «Узнав энергопотребление смартфона в течение некоторого времени (хотя бы нескольких минут), можно сравнить его с типовым энергопотреблением, заранее изученным на всех известных маршрутах передвижения в определенном городе», — пояснили исследователи в своей работе.
То есть узнать местоположение пользователя в любой точки земного шара и его путь из этой точки новый метод не позволит. Но он позволит узнать, каким маршрутом пользователь поехал на машине (и в каком направлении — от точки А к Б или от Б к А), зная его приблизительное изначальное местоположение.
Для сбора данных исследователи разработали Android-приложение под названием PowerSpy. В серии экспериментов авторы метода смогли установить точность определения маршрута. Использовав 43 различных наборов данных для четырех маршрутов длиной около 19 км, они смогли достичь точности определения маршрута на уровне 93%. Добавление еще трех маршрутов и восьми наборов данных позволило получить точность 90,2%.
По словам исследователей, запуск различных приложений на смартфоне во время работы приложения PowerSpy и совершение вызовов не смогли исказить картину энергопотребления настолько сильно, чтобы метод оказался нерабочим. Дело в том, что эти факторы не имеют связи с изменением геопозиции устройства. Поэтому исследователи легко смогли их исключить, воспользовавшись алгоритмами машинного обучения.
Исследователи научились определять маршрут передвижения по энергопотреблению смартфона
Авторы метода подчеркивают, что на Android-устройствах любое приложение может получить доступ к параметрам энергопотребления — для этого ему не нужно получать от пользователя каких-либо разрешений, как в случае с доступом, например, к книге контактов или службам геолокации. Метод также позволяет отслеживать текущие координаты пользователя на заранее известном маршруте в режиме реального времени.