Как браузер вычисляет местоположение

Обновлено: 07.07.2024

Всем, кто когда-либо занимался написанием систем авторизации/регистрации пользователей, наверняка приходилось задаваться вопросом: «А как узнать о пользователе больше информации?». Для чего это нужно? В большинстве случаев, для идентификации именно этого пользователя. Иногда — для предоставления каких-либо дополнительных возможностей и информации, в зависимости от различных социальных параметров, или, быть может, местополжения пользователя или региона проживания. Иногда, например, для проведения какого-либо скоринга. В этой статье речь пойдёт об определении географического положения пользователя.

Эффективные методы определения

Можно придумать массу методов получения георгафического положения пользователя интернета. И все эти методы будут обладать своим набором плюсов и минусов, будут более или менее эффективны, в зависимости от применения. Сейчас я опишу только те методы, которыми на данный момент пользуется проект, в котором я учавствую, т.е. те, которые я непосредственно использую. За время существования проекта по ним уже собралось достаточно статистики, из которой можно сделать некоторые выводы.

1. Данные из соц. сетей

На сегодняшний день крайне популярным стало использовать для авторизации (или в качестве дополнительной информации) аккаунты всевозможных социальных сетей и блогов, что позволяет использовать данные из них. Авторизовав пользователя таким образом, можно получить достаточно много информации о нём. Правда вот о достоверности её говорить не приходится, ведь многие указывают в соц. сетях не «действительное», а «желаемое», либо вообще первое, что пришло в голову. Отсеять подобные вещи обычно и есть основная задача для разработчика. Для этого необходимо получить информацию обо всех друзьях пользователя и сверить общие данные. Можно, например, найти наиболее часто встречаемое место проживания у коллег/однокурсников/одноклассников/друзей пользователя (в синей соц. сети, например, это делать очень удобно), и, на основе этих данных, выяснить настоящий регион, область, город и даже район города, где живёт/работает/учится пользователь.
Также, в некоторых соц. сетях, доступно получение непосредственных координат пользователя, если он онлайн. Точность этих данных, в некоторых случаях, оставляет желать лучшего, но, как минимум, район города, где находится пользователь, определить можно достаточно достоверно.

  • Относительно высокая точность, при использовании моделей скоринга на основе данных друзей
  • У большинства пользователей есть аккаунты в соц. сетях
  • Можно проверить полученные данные на достоверность, используя данные друзей
  • Сложность реализации, т.к. необходимо изучать API нескольких соц. сетей, составлять и реализовывать модели для анализа полученных данных
  • Необходимость в наличии действующего аккаунта в соц. сети у пользователя (я считаю, что, несмотря на распространённость, требовать подобные данные от пользователя, всё же, нельзя)
  • Низкая скорость работы, если учитывать анализ с использованием данных друзей

Реализацию, к сожалению, предоставить не могу ибо «секрет фирмы».

2. Данные GeoIP

Наверное, самый простой и доступный каждому способ, однако, для РФ на сегодня, зачастую неточный.

Дело в том, что на данный момент большинство существоваших ранее провайдеров регионального уровня было раскуплено и поглощено операторами федерального уровня. И чем же это плохо? А вот чем. Представьте себе ситуацию — в городе «Н» существовало 5 мелких провайдеров. Каждый работал в своём районе города, и соответственно, имел свой пул IPv4 адресов. И даже динамически выданный «белый» IP можно было примерно привязать к определённому району города. Теперь приходит провайдер федерального уровня и покупает все 5 мелких провайдеров с их пулами адресов. Затем он приводит их сеть к некоему общему виду всех сетей этого федерального провайдера. Что мы имеем в итоге? У этого федерального провайдера есть огромное количество клиентов и огромное количество пулов IP, используемых, в зависимости от потребностей, в том или ином регионе. Тоесть теперь адрес, принадлежавший ранее пулу мелкого местного провайдера, может быть выдан клиенту из совершенно другого города, просто потому, что этот пул адресов теперь используется для всех клиентов этого провайдера. А вот сообщать кому и из какой области выдан этот IP никто, естественно, не будет. Тем более, что завтра он может быть выдан ещё кому-то.

Также, никто не помешает пользователю использовать, например, прокси или VPN для выхода в интернет от имени другого IP. В этом случае GeoIP становится абсолютно бесполезным, ибо получит информацию именно об этом прокси или VPN-сервере. То же самое происходит, если провайдер предоставляет своим клиентам доступ в интернет через NAT (а в свете проблем с количством свободных IPv4 адресов это встречается всё чаще и чаще), правда в этом случае, обычно, хотябы можно получить район, область или город.

Такчто полагаться полностью на данные GeoIP всё-таки можно не всегда, хотя этот способ очень удобен — ведь мы получаем информацию практически мгновенно. Для этого, обычно, используется заранее скачанная локальная база данных.

  • Легко использовать, есть множество реализаций на различных языках
  • Высокая точность (за некоторым исключением, см. выше)
  • Быстрота работы (практически мгновенное получение результата — ведь это всего 1 запрос к базе)
  • Необходимость поддерживать базу IP в актуальном состоянии
  • Отсутствие возможности проверить достоверность полученных данных (только запросами к нескольким базам)
  • Достаточно большой процент ошибочных данных для РФ на данный момент (см. выше)

Описывать «как это сделать» смыла особого не вижу, ибо в сети, и, в т.ч. на хабре, полно подробных описаний. Для получения данных GeoIP существует множество бесплатных библиотек и инструментов. Например, для PHP можно использовать расширение geoip.

3. Использование JavaScript Geolocation API

Достаточно полезный и эффективный метод, но только для мобильных устройств. В случае же со стационарным компьютером — полезен не более чем GeoIP. Дело в том, что в случае мобильного устройства (современный смартфон, планшет и т.д.) будут использоваться все доступные для этого устройства и разрешённые пользователем средства определения местоположения, включая позиционирование по GPS, Wi-Fi и данным от вышек сотовой связи. А вот в случае с домашним ПК, у которого, в большинстве случаев, нет ни мобильной сети (в случае наличия GSM/3G модема данные от него не используются), ни GPS, мы сможем узнать только данные GeoIP, которые нам радостно и сообщит JS. А по поводу их точности я уже писал выше. Хотя, пренебрегать данным способом я бы не стал — ведь всё большее количество людей используют планшеты и телефоны для выхода в интернет.

В итоге данный способ имеет достаточно узкий спектр применения — мобильные устройства. Или если достаточно примерных данных по GeoIP.

  • Легко реализовать, множество документации и примеров в интернете
  • Точный, т.к. может использоваться как позиционирование по сотовым вышкам, Wi-Fi, GPS
  • Быстрый, т.к. для определения положения используется ПО со стороны клиента
  • На домашних ПК поддерживается не во всех браузерах
  • Требует разрешений пользователя
  • Фактически, применим только к мобильным устройствам
  • Относительно легко подделать данные

Примеры реализации можно посмотреть здесь или здесь.

4. Определение через услуги типа «локатор» от мобильных операторов

Пример рабочей реализации приводить не буду по тем же соображениям, что и в первом случае, но вкратце опишу как это делается чуть ниже.

  • Высокая достоверность данных, почти 100%
  • Высокая точность, вне зависимости от испоьзуемого устройства и способа выхода в интернет
  • Автоматически подтверждает номер мобильного телефона
  • Сложность в реализации и поддержке
  • Низкая скорость, т.к. требуется время на отправку/приём смс и ответ от пользователя
  • Не бесплатен (тарифы у операторов на эту услугу весьма «прожорливые»)
  • Необходимо согласие пользователя
Как сделать
  1. Старый моб. телефон с кабелем, либо 3G/GSM модем, по одному на каждого оператора
  2. Сим карты этих операторов
  3. Некий ПК, желательно с *nix на борту (можно и Windows с cygwin), который будет выполнять функцию эдакого «гео-шлюза»
  4. Немного терпения и времени
  5. smstools3
1) В зависимости от ОС , инструкции могут отличаться, но общий смысл неизменен — необходимо скачать и установить из репозитория ПО пакет SMSTools

На Gentoo это выглядит так:

Если вам нужна статистика отправленных/полученных смс, то:

либо (если у вас все USE-флаги в одном файле):


Затем ставим из портажа сам smstools:

На FreeBSD так:


Для статистики в опциях просто выбрать «STATS»

Можно собрать и из исходников, если для вашей системы нет готового пакета:

2) Подключаем модем(ы) и проверяем появились ли устройства последовательного порта в /dev


Может появиться несколько портов. Обычно нас интересует ttyUSB0, если модем 1. Если больше — то подключаем по очереди. И вот перый из появившихся портов наш.


Смысл тот же — первый из нескольких появившихся — наш.

3) Настраиваем SMSTools

smsd.conf может находится как в /etc/ так и в /usr/local/etc/ в зависимости от вашего дистрибутива. Приводим его к подобному виду:

4) Создаём файлик trsms.sh (обработчик событий)
5) Запускаем демон smsd и добавляем его в автозагрузку

С помощью сведений о местоположении сайты показывают актуальную для вас информацию: погоду, дорожные пробки, карту города, заведения поблизости. Местоположение определяется по ближайшим точкам беспроводного доступа и по IP-адресу устройства. Данные о местоположении обезличены: передаются только географические координаты. Они не позволяют вас идентифицировать.

Разрешить или запретить сайту определять местоположение

Когда сайт запросит информацию о том, где вы находитесь, в верхней части страницы вы увидите предупреждение.

Разрешить , чтобы сайт или его компонент (например, карта) узнал, где вы находитесь. В Умной строке появится значок . Блокировать , чтобы сайт не узнал, где вы. В Умной строке появится значок .

Нажмите  или , чтобы изменить решение.

Просмотреть сайты, которым разрешено определять местоположение

Прокрутите страницу вниз и нажмите Расширенные настройки сайтов . В блоке Доступ к местоположению нажмите ссылку Настройки сайтов.

На вкладке Разрешен отображается список сайтов, которым разрешено следить за вашим местоположением. Чтобы удалить сайт из списка, наведите на него указатель мыши и нажмите появившуюся ссылку Удалить . После этого сайт не будет определять ваше местоположение.

Запретить определять местоположение

Прокрутите страницу вниз и нажмите Расширенные настройки сайтов . В блоке Доступ к местоположению включите опцию Запрещен . Прокрутите страницу вниз и нажмите Настройки персональных данных . Снимите отметку с опции Разрешить сервисам Яндекса использовать геолокацию . Примечание. Чтобы изменения вступили в силу, нужно очистить кеш.

Установить город вручную

Примечание. Ручной выбор города хранится в файлах cookie. Настройки региона будут действовать на вашем устройстве, пока вы не измените их или не удалите cookie.

Если сохранить город не удалось — проверьте, разрешено ли в браузере сохранять cookie.

Местоположение в режиме Инкогнито

По умолчанию в режиме Инкогнито местоположение определяется автоматически, даже если вы ранее вручную указали город. Это объясняется тем, что в режиме Инкогнито не сохраняются файлы cookie, а сделанный вручную выбор города хранится в них.

Местоположение определяется некорректно

Возможно, у вас установлено расширение, изменяющее настройки прокси. Попробуйте отключить его.

Откройте   → Дополнения и отключите все расширения. Если местоположение определилось правильно, методом перебора найдите расширение, которое меняет прокси. Перезагрузите страницу и убедитесь, что проблема решена.

Возможно, ваш IP-адрес принадлежит сети с несколькими регионами. Настройте местоположение вручную:

В появившемся списке подсказок выберите город или населенный пункт. Примечание. Ручная настройка местоположения хранится в файлах cookie. Если выбранный вручную город меняется на другой, значит, ваш браузер удаляет cookie. Убедитесь, что хранение cookie разрешено в настройках браузера.

Если проблема не решена, сообщите о ней в службу поддержки через форму обратной связи:

Пришлите ссылку на страницу, где вы видите неправильно указанный город. Укажите город, который определяется в настройках после нажатия кнопки Найти меня , а также ваше реальное местоположение. ","lang":>,"extra_meta":[>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>],"title":"Данные о местоположении - Яндекс.Браузер. Справка","canonical":"https://browser.yandex.ru/help/personal-data-protection/location-information.html","productName":"Яндекс.Браузер","extra_js":[[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>],[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>],[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>]],"extra_css":[[],[,"mods":,"__func69":true,"__func68":true,"bem":false,"tag":"link","attrs":>],[,"mods":,"__func69":true,"__func68":true,"bem":false,"tag":"link","attrs":>]],"csp":<"script-src":[]>,"lang":"ru">>>'>

С помощью сведений о местоположении сайты показывают актуальную для вас информацию: погоду, дорожные пробки, карту города, заведения поблизости. Местоположение определяется по ближайшим точкам беспроводного доступа и по IP-адресу устройства. Данные о местоположении обезличены: передаются только географические координаты. Они не позволяют вас идентифицировать.

Разрешить или запретить сайту определять местоположение

Когда сайт запросит информацию о том, где вы находитесь, в верхней части страницы вы увидите предупреждение.



Разрешить , чтобы сайт или его компонент (например, карта) узнал, где вы находитесь. В Умной строке появится значок .


Блокировать , чтобы сайт не узнал, где вы. В Умной строке появится значок .

Нажмите или , чтобы изменить решение.

Просмотреть сайты, которым разрешено определять местоположение


Нажмите → Настройки → Сайты . Прокрутите страницу вниз и нажмите Расширенные настройки сайтов . В блоке Доступ к местоположению нажмите ссылку Настройки сайтов.

На вкладке Разрешен отображается список сайтов, которым разрешено следить за вашим местоположением. Чтобы удалить сайт из списка, наведите на него указатель мыши и нажмите появившуюся ссылку Удалить . После этого сайт не будет определять ваше местоположение.

С помощью сведений о местоположении сайты показывают актуальную для вас информацию: погоду, дорожные пробки, карту города, заведения поблизости. Местоположение определяется по ближайшим точкам беспроводного доступа и по IP-адресу устройства. Данные о местоположении обезличены: передаются только географические координаты. Они не позволяют вас идентифицировать.

Разрешить или запретить сайту определять местоположение

Когда сайт запросит информацию о том, где вы находитесь, в верхней части страницы вы увидите предупреждение.

Разрешить , чтобы сайт или его компонент (например, карта) узнал, где вы находитесь. В Умной строке появится значок&nbsp;. Блокировать , чтобы сайт не узнал, где вы. В Умной строке появится значок&nbsp;.

Нажмите&nbsp; или&nbsp;, чтобы изменить решение.

Просмотреть сайты, которым разрешено определять местоположение

Прокрутите страницу вниз и нажмите Расширенные настройки сайтов . В блоке Доступ к местоположению нажмите ссылку Настройки сайтов.

На вкладке Разрешен отображается список сайтов, которым разрешено следить за вашим местоположением. Чтобы удалить сайт из списка, наведите на него указатель мыши и нажмите появившуюся ссылку Удалить . После этого сайт не будет определять ваше местоположение.

Запретить определять местоположение

Прокрутите страницу вниз и нажмите Расширенные настройки сайтов . В блоке Доступ к местоположению включите опцию Запрещен . Прокрутите страницу вниз и нажмите Настройки персональных данных . Снимите отметку с опции Разрешить сервисам Яндекса использовать геолокацию . Примечание. Чтобы изменения вступили в силу, нужно очистить кеш.

Установить город вручную

Примечание. Ручной выбор города хранится в файлах cookie. Настройки региона будут действовать на вашем устройстве, пока вы не измените их или не удалите cookie.

Если сохранить город не удалось&nbsp;—&nbsp;проверьте, разрешено ли в браузере сохранять cookie.

Местоположение в режиме Инкогнито

По умолчанию в режиме Инкогнито местоположение определяется автоматически, даже если вы ранее вручную указали город. Это объясняется тем, что в режиме Инкогнито не сохраняются файлы cookie, а сделанный вручную выбор города хранится в них.

Местоположение определяется некорректно

Возможно, у вас установлено расширение, изменяющее настройки прокси. Попробуйте отключить его.

Откройте&nbsp; &nbsp;→ Дополнения и отключите все расширения. Если местоположение определилось правильно, методом перебора найдите расширение, которое меняет прокси. Перезагрузите страницу и убедитесь, что проблема решена.

Возможно, ваш IP-адрес принадлежит сети с несколькими регионами. Настройте местоположение вручную:

В появившемся списке подсказок выберите город или населенный пункт. Примечание. Ручная настройка местоположения хранится в файлах cookie. Если выбранный вручную город меняется на другой, значит, ваш браузер удаляет cookie. Убедитесь, что хранение cookie разрешено в настройках браузера.

Если проблема не решена, сообщите о ней в службу поддержки через форму обратной связи:

Пришлите ссылку на страницу, где вы видите неправильно указанный город. Укажите город, который определяется в настройках после нажатия кнопки Найти меня , а также ваше реальное местоположение. ","lang":>,"extra_meta":[>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>],"title":"Данные о местоположении - Яндекс.Браузер для ДИТ. Справка","productName":"Яндекс.Браузер для ДИТ","extra_js":[[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>],[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>],[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>]],"extra_css":[[],[,"mods":,"__func69":true,"__func68":true,"bem":false,"tag":"link","attrs":>],[,"mods":,"__func69":true,"__func68":true,"bem":false,"tag":"link","attrs":>]],"csp":<"script-src":[]>,"lang":"ru">>>'>

С помощью сведений о местоположении сайты показывают актуальную для вас информацию: погоду, дорожные пробки, карту города, заведения поблизости. Местоположение определяется по ближайшим точкам беспроводного доступа и по IP-адресу устройства. Данные о местоположении обезличены: передаются только географические координаты. Они не позволяют вас идентифицировать.

Разрешить или запретить сайту определять местоположение

Когда сайт запросит информацию о том, где вы находитесь, в верхней части страницы вы увидите предупреждение.



Разрешить , чтобы сайт или его компонент (например, карта) узнал, где вы находитесь. В Умной строке появится значок .


Блокировать , чтобы сайт не узнал, где вы. В Умной строке появится значок .

Нажмите или , чтобы изменить решение.

Просмотреть сайты, которым разрешено определять местоположение


Нажмите → Настройки → Сайты . Прокрутите страницу вниз и нажмите Расширенные настройки сайтов . В блоке Доступ к местоположению нажмите ссылку Настройки сайтов.

На вкладке Разрешен отображается список сайтов, которым разрешено следить за вашим местоположением. Чтобы удалить сайт из списка, наведите на него указатель мыши и нажмите появившуюся ссылку Удалить . После этого сайт не будет определять ваше местоположение.

С помощью сведений о местоположении сайты показывают актуальную для вас информацию: погоду, дорожные пробки, карту города, заведения поблизости. Местоположение определяется по ближайшим точкам беспроводного доступа и по IP-адресу устройства. Данные о местоположении обезличены: передаются только географические координаты. Они не позволяют вас идентифицировать.

Разрешить или запретить сайту определять местоположение

Когда сайт запросит информацию о том, где вы находитесь, в верхней части страницы вы увидите предупреждение.

Разрешить , чтобы сайт или его компонент (например, карта) узнал, где вы находитесь. В Умной строке появится значок&nbsp;. Блокировать , чтобы сайт не узнал, где вы. В Умной строке появится значок&nbsp;.

Нажмите&nbsp; или&nbsp;, чтобы изменить решение.

Просмотреть сайты, которым разрешено определять местоположение

Прокрутите страницу вниз и нажмите Расширенные настройки сайтов . В блоке Доступ к местоположению нажмите ссылку Настройки сайтов.

На вкладке Разрешен отображается список сайтов, которым разрешено следить за вашим местоположением. Чтобы удалить сайт из списка, наведите на него указатель мыши и нажмите появившуюся ссылку Удалить . После этого сайт не будет определять ваше местоположение.

Запретить определять местоположение

Прокрутите страницу вниз и нажмите Расширенные настройки сайтов . В блоке Доступ к местоположению включите опцию Запрещен . Прокрутите страницу вниз и нажмите Настройки персональных данных . Снимите отметку с опции Разрешить сервисам Яндекса использовать геолокацию . Примечание. Чтобы изменения вступили в силу, нужно очистить кеш.

Установить город вручную

Примечание. Ручной выбор города хранится в файлах cookie. Настройки региона будут действовать на вашем устройстве, пока вы не измените их или не удалите cookie.

Если сохранить город не удалось&nbsp;—&nbsp;проверьте, разрешено ли в браузере сохранять cookie.

Местоположение в режиме Инкогнито

По умолчанию в режиме Инкогнито местоположение определяется автоматически, даже если вы ранее вручную указали город. Это объясняется тем, что в режиме Инкогнито не сохраняются файлы cookie, а сделанный вручную выбор города хранится в них.

Местоположение определяется некорректно

Возможно, у вас установлено расширение, изменяющее настройки прокси. Попробуйте отключить его.

Откройте&nbsp; &nbsp;→ Дополнения и отключите все расширения. Если местоположение определилось правильно, методом перебора найдите расширение, которое меняет прокси. Перезагрузите страницу и убедитесь, что проблема решена.

Возможно, ваш IP-адрес принадлежит сети с несколькими регионами. Настройте местоположение вручную:

В появившемся списке подсказок выберите город или населенный пункт. Примечание. Ручная настройка местоположения хранится в файлах cookie. Если выбранный вручную город меняется на другой, значит, ваш браузер удаляет cookie. Убедитесь, что хранение cookie разрешено в настройках браузера.

Если проблема не решена, сообщите о ней в службу поддержки через форму обратной связи:

Пришлите ссылку на страницу, где вы видите неправильно указанный город. Укажите город, который определяется в настройках после нажатия кнопки Найти меня , а также ваше реальное местоположение. ","lang":>,"extra_meta":[>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>],"title":"Данные о местоположении - Бета-версия Яндекс.Браузера. Справка","productName":"Бета-версия Яндекс.Браузера","extra_js":[[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>],[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>],[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>]],"extra_css":[[],[,"mods":,"__func69":true,"__func68":true,"bem":false,"tag":"link","attrs":>],[,"mods":,"__func69":true,"__func68":true,"bem":false,"tag":"link","attrs":>]],"csp":<"script-src":[]>,"lang":"ru">>>'>

С помощью сведений о местоположении сайты показывают актуальную для вас информацию: погоду, дорожные пробки, карту города, заведения поблизости. Местоположение определяется по ближайшим точкам беспроводного доступа и по IP-адресу устройства. Данные о местоположении обезличены: передаются только географические координаты. Они не позволяют вас идентифицировать.

Разрешить или запретить сайту определять местоположение

Когда сайт запросит информацию о том, где вы находитесь, в верхней части страницы вы увидите предупреждение.



Разрешить , чтобы сайт или его компонент (например, карта) узнал, где вы находитесь. В Умной строке появится значок .


Блокировать , чтобы сайт не узнал, где вы. В Умной строке появится значок .

Нажмите или , чтобы изменить решение.

Просмотреть сайты, которым разрешено определять местоположение


Нажмите → Настройки → Сайты . Прокрутите страницу вниз и нажмите Расширенные настройки сайтов . В блоке Доступ к местоположению нажмите ссылку Настройки сайтов.

На вкладке Разрешен отображается список сайтов, которым разрешено следить за вашим местоположением. Чтобы удалить сайт из списка, наведите на него указатель мыши и нажмите появившуюся ссылку Удалить . После этого сайт не будет определять ваше местоположение.



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

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

В конце прошлого месяца исследователи из Mysk опубликовали в Твиттере обращение, рассказав, что Chrome по умолчанию предоставляет данные с датчиков движения всем сайтам, которые посещает пользователь. Более того, выяснилось, что Microsoft Edge на Android имеет аналогичный набор разрешений. На первый взгляд это может не показаться чем-то серьезным, но на деле здесь есть тревожные подоплеки.

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

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

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


Ключевые настройки Android, с которыми вам будет интересно познакомиться

Чтобы исключить подобную возможность, вы можете ознакомиться с предложенной в твите видео-инструкцией по отключению в Chrome разрешений доступа к датчику движения на устройствах с iOS. Для тех же, кто использует браузер Edge на Android, этот процесс аналогичен и отражен на скриншотах выше.

Что касается iOS 15, то здесь доступ к акселерометру открыт для всех приложений, и с помощью грамотного алгоритма собранную информацию может получить любое из них.

Причем это еще не все. В качестве дополнения отмечу, что исследователям также удалось с помощью акселерометра считать вибрации динамика телефона и на их основе воссоздать речь собеседника – впечатляет?

Основное правило информационной безопасности гласит, что личные данные должны быть защищены, а значит, и доступ к акселерометру тоже нужно защитить.

Читайте также: