Китайские ученые создали приложение, с помощью которого можно отследить перемещение пользователя в метро по данным акселерометра. Авторы использовали машинное обучение для того, чтобы классифицировать показания датчиков по соответствующим им интервалам между станциями. В тестовом эксперименте в метро китайского города Нанкин точность определения маршрута из «сырых» данных составила около 90 процентов. Препринт работы выложен на сайте arXiv.org.
В основе нового метода использован тот факт, что любое перемещение человека сопровождается чередованием ускорения и замедления, то есть может быть зафиксировано акселерометром. При этом разные транспортные средства обладают разным характером движения, например, такси и автобусы чаще поворачивают и останавливаются/разгоняются, тогда как поезд метро дольше движется без изменения скорости и реже поворачивает.
Из данных акселерометра авторы выделяли те участки, которые соответствуют движению поезда, после чего разбивали их на промежутки, отвечающие перегонам между станциями. Далее на основании известного набора «меченных» данных, ученые обучали программу определять, какому перегону соответствует тот или иной характерный сигнал.
Авторы также отмечают, что достоверная классификация единичного перегона возможна только в том случае, если получена полная база по всему метро. Если ее нет, ученые предлагают менее затратную схему. Пусть известен точный вид сигнала лишь для одного перегона Is. Если в сырых данных есть последовательность S1S2S3S4, и в ней, например, S2=Is, тогда можно однозначно идентифицировать соседние перегоны S1,S3 и S4, так как последовательность станций на линии метро не изменяется. Таким образом, повторив эту процедуру достаточно большое число раз, можно получить необходимый набор данных о всех перегонах.
Новый алгоритм протестировали на смартфонах восьми добровольцев в метро города Нанкин. Участники в течение нескольких часов ездили между двумя станциями по маршруту, включавшему 10 перегонов без пересадок. Точность определения интервала пути составила около 90 процентов.
В своей статье авторы отмечают, что предложенный метод геопозиционирования позволяет без ведома пользователя установить его маршрут. В отличие от GPS, датчик которого запрашивает у пользователя разрешение для каждого приложения, акселерометр предоставляет свои показания по умолчанию любому приложению. Чтобы предотвратить подобные атаки, авторы рекомендуют внимательно следить за расходом батареи, а также помнить, что данные акселерометра легко можно забить «шумом», например, от движения рук.
Ранее уже было показано, что датчики в смартфонах представляют определенную опасность для частной информации. Например, в некоторых случаях гироскоп может работать в качестве микрофона, реагируя на колебания воздуха.