Откуда сайт знает, что ты сидишь в уборной?

Специальный корреспондент
Собака

Собака

Пресс-служба
Команда форума
Private Club
Регистрация
13/10/15
Сообщения
55.044
Репутация
62.940
Реакции
277.302
RUB
0
fxebjr3_5j2jiv5qiodhtuxl0ty.png


Многие не представляют, какой объём данных можно снимать с акселерометра в смартфоне. Думаете, информация используется только для поворота экрана? Далеко не так. На самом деле паттерны движения смартфона и его положение в пространстве многое говорят о действиях пользователя: он сидит, лежит, стоит, бежит… Можно распознать личность человека по голосу из динамика, записав реверберации корпуса смартфона через акселерометр. Определить, кто находится рядом в автобусе или автомобиле (с такими же паттернами движения).

Некоторые приложения постоянно снимают эти данные без разрешения пользователя (в Android и iOS 15 ). Не только приложения, но и веб-сайты.

Слежка с помощью акселерометра​


Акселерометр и гироскоп — это простая микросхема типа с датчиками движения по шести осям (по три для гироскопа и акселерометра).

ehqfimvgqpf0lexpuuvlvghdhfg.png

Расположение акселерометра и динамика в смартфонах разных производителей

Обычное применение — определение ориентации экрана. Есть и другие варианты использования. Например, управление автомобилем в гоночных симуляторах с помощью наклона, , определение падения пользователя (как делает Apple Watch), определение положение пользователя в пространстве.

То есть любое приложение и любой сайт могут подсчитать, сколько шагов прошёл человек и чем он занимается в данный момент. Вероятно, по специфическому положению телефона в пространстве и характерным движениям .

Сейчас ведутся научные исследования для использования акселерометра в некоторых новых областях, например, измерение пульса, частоты дыхания. Есть .

Звук — это распространение механических колебаний в веществе. Реверберация — процесс постепенного уменьшения интенсивности звука при его многократных отражениях.

jvzokkt7brryjm2yu6y9ym6eo7k.png

Реверберации речи из динамиков распространяются по корпусу и воздействуют на датчики движения, из

Конечно, отдельные слова разобрать не получится, но можно определить пол говорящего (точность более 90%) и выполнить идентификацию личности по маленькой базе голосовых отпечатков.

hqvevvhjcm4_g07ia3meyxgl1mq.png

Точность определения пола и личности (база 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, то вы можете увидеть эти данные.


wmrapkngxn-ljlnxfbyaxvm2emk.png



Некоторые события на десктопе (3D-модель вращается по всем осям мышкой).

nrmjpc-ivnh6wplbkxvwfny5fi8.png



Векторы атаки​


Есть разные варианты эксплуатации. Например, веб-сайт или приложение может определять группы пользователей, которые находятся рядом с друг другом, в одном автобусе, одном поезде или автомобиле. У них будут синхронные данные о вибрации с датчиков движения. Таким образом можно отслеживать координаты пользователя, у которого отключена геолокация.


Приватность — неотъемлемое право человека​


Приватность считается базовым правом каждого человека от рождения ( ), как жизнь, свобода и стремление к счастью. Но сейчас ситуация меняется. К сожалению, сохранение анонимности и приватности в современном интернете — уже не базовое право, а . Привилегия, за которую приходится бороться и платить.

Что касается обычного человека, ему сохранить анонимность практически невозможно. Сейчас это требует слишком больших усилий, отказа от удобств, скидок в магазинах и так далее. Далеко не все согласны на такие жертвы в данный момент.


Но есть основания полагать, что ценность личной свободы и приватности вырастет в ближайшие годы, когда людям станет очевидна степень их эксплуатации со стороны технологических корпораций.









 
Грустно это всё, а главное что и попытки людей отстаивать право личной свободы оборачивается либо против них же, либо пресекается на корню .
 
Сверху Снизу