Многие не представляют, какой объём данных можно снимать с акселерометра в смартфоне. Думаете, информация используется только для поворота экрана? Далеко не так. На самом деле паттерны движения смартфона и его положение в пространстве многое говорят о действиях пользователя: он сидит, лежит, стоит, бежит… Можно распознать личность человека по голосу из динамика, записав реверберации корпуса смартфона через акселерометр. Определить, кто находится рядом в автобусе или автомобиле (с такими же паттернами движения).
Некоторые приложения постоянно снимают эти данные без разрешения пользователя (в Android и iOS 15
Для просмотра ссылки необходимо нажать
Вход или Регистрация
). Не только приложения, но и веб-сайты.Слежка с помощью акселерометра
Акселерометр и гироскоп — это простая микросхема типа
Для просмотра ссылки необходимо нажать
Вход или Регистрация
с датчиками движения по шести осям (по три для гироскопа и акселерометра).Расположение акселерометра и динамика в смартфонах разных производителей
Обычное применение — определение ориентации экрана. Есть и другие варианты использования. Например, управление автомобилем в гоночных симуляторах с помощью наклона,
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, определение падения пользователя (как делает Apple Watch), определение положение пользователя в пространстве.То есть любое приложение и любой сайт могут подсчитать, сколько шагов прошёл человек и чем он занимается в данный момент. Вероятно, по специфическому положению телефона в пространстве и характерным движениям
Для просмотра ссылки необходимо нажать
Вход или Регистрация
.Сейчас ведутся научные исследования для использования акселерометра в некоторых новых областях, например, измерение пульса, частоты дыхания. Есть
Для просмотра ссылки необходимо нажать
Вход или Регистрация
.Звук — это распространение механических колебаний в веществе. Реверберация — процесс постепенного уменьшения интенсивности звука при его многократных отражениях.
Реверберации речи из динамиков распространяются по корпусу и воздействуют на датчики движения, из
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Конечно, отдельные слова разобрать не получится, но можно определить пол говорящего (точность более 90%) и выполнить идентификацию личности по маленькой базе голосовых отпечатков.
Точность определения пола и личности (база 10 человек) на смартфоне в руке
Нужно ещё раз подчеркнуть, что акселерометр внутри аппарата не реагирует на воздушные реверберации речи, то есть нельзя прослушивать людей рядом со смартфоном. Только тех, чья речь доносится из динамика.
На данный момент iOS и Android не требуют специальных разрешений на доступ приложений к данным акселерометра. То есть приватные данные может легко снимать любое приложение.
Например, Facebook всегда снимает эти данные через свои приложения, в том числе Instagram, Whatsapp и др.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Лог сообщений со смартфона на сервер Facebook с данными акселерометра, если открыть приложение Facebook,
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Доступ через браузер
Скрипт для считывания данные акселерометра
Для просмотра ссылки необходимо нажать
Вход или Регистрация
.Образец скрипта
<script>
(function() {
var isAndroid = /(android)/i.test(navigator.userAgent);
if (!isAndroid) {
document.getElementById('example').innerHTML = '<strong>You\'re not visiting from an Android device</strong>';
return;
}
function round2(num) {
return +(Math.round(num + "e+2") + "e-2");
}
window.addEventListener('devicemotion', function(event) {
var x = event.acceleration.x;
var y = event.acceleration.y;
var z = event.acceleration.z;
// An object giving the rate of change of the device's orientation
// on the three orientation axis alpha, beta and gamma.
// Rotation rate is expressed in degrees per seconds.
var rotationRate = event.rotationRate;
// A number representing the interval of time, in milliseconds, at which data is obtained from the device.
var interval = event.interval;
if (x !== null && y !== null && z !== null) {
// only emit the event if device motion is more than
// 0.5 m/s2 in one of the axises
if (Math.abs(x) > 0.5 || Math.abs(y) > 0.5 || Math.abs(z) > 0.5) {
var el = document.getElementById('devicemotionOutput');
el.innerHTML = JSON.stringify({
event: 'devicemotion',
accelerationX: round2(x),
accelerationY: round2(y),
accelerationZ: round2(z),
interval: interval,
}, null, 2);
}
}
})
window.addEventListener('deviceorientation', function(event) {
// only consider significant changes in rotation
if (Math.abs(self.alpha - event.alpha) < 1
|| Math.abs(self.gamma - event.gamma) < 1
|| Math.abs(self.beta - event.beta) < 1) {
return;
}
this.alpha = event.alpha;
this.beta = event.beta;
this.gamma = event.gamma;
if (event.alpha !== null && event.beta !== null && event.gamma !== null) {
var el = document.getElementById('deviceorientationOutput');
el.innerHTML = JSON.stringify({
event: 'deviceorientation',
alpha: round2(event.alpha),
beta: round2(event.beta),
gamma: round2(event.gamma),
absolute: event.absolute,
}, null, 2);
}
})
})();
</script>
Тут ситуация отличается на разных платформах.
Все браузеры под iOS обязательно используют WebKit, так что если сайт попытается запустить такой скрипт, обязательно выскочит диалог с запросом разрешения. Независимо от используемого браузера, будь то Safari, Firefox или Chrome.
А вот смартфоны под Android по умолчанию предоставляют сайтам доступ к событиям
Для просмотра ссылки необходимо нажать
Вход или Регистрация
и
Для просмотра ссылки необходимо нажать
Вход или Регистрация
с информацией от датчиков движения.Если зайти на данную
Для просмотра ссылки необходимо нажать
Вход или Регистрация
со смартфона под Android, то вы можете увидеть эти данные.Некоторые события
Для просмотра ссылки необходимо нажать
Вход или Регистрация
на десктопе (3D-модель вращается по всем осям мышкой).Векторы атаки
Есть разные варианты эксплуатации. Например, веб-сайт или приложение может определять группы пользователей, которые находятся рядом с друг другом, в одном автобусе, одном поезде или автомобиле. У них будут синхронные данные о вибрации с датчиков движения. Таким образом можно отслеживать координаты пользователя, у которого отключена геолокация.
Приватность — неотъемлемое право человека
Приватность считается базовым правом каждого человека от рождения (
Для просмотра ссылки необходимо нажать
Вход или Регистрация
), как жизнь, свобода и стремление к счастью. Но сейчас ситуация меняется. К сожалению, сохранение анонимности и приватности в современном интернете — уже не базовое право, а
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. Привилегия, за которую приходится бороться и платить.Что касается обычного человека, ему сохранить анонимность практически невозможно. Сейчас это требует слишком больших усилий, отказа от удобств, скидок в магазинах и так далее. Далеко не все согласны на такие жертвы в данный момент.
Но есть основания полагать, что ценность личной свободы и приватности вырастет в ближайшие годы, когда людям станет очевидна степень их эксплуатации со стороны технологических корпораций.
Для просмотра ссылки необходимо нажать
Вход или Регистрация