Новое расширение Vytal для Google Chrome не позволит веб-страницам использовать API для обнаружения географического местоположения пользователей, что можно проделать даже при включенном VPN.
Журналисты Bleeping Computer рассказали о новом расширении Vytal, направленном на улучшение безопасности и приватности пользователей. Издание отмечает, что обычно, желая скрыть свое местоположение, люди используют VPN, однако это помогает скрыть только IP-адрес устройства, тогда как физическое местоположение пользователя все равно можно определить рядом способов.
К примеру, можно использовать JavaScript для запроса информации непосредственно из браузера. Так, Intl.DateTimeFormat().resolvedOptions() поможет определить часовой пояс посетителя сайта, а Date().toLocaleString() его местное время. При помощи этой информации, сайт сможет узнать, в какой стране или географическом регионе находится посетитель, и, например, продолжать блокировать контент или отслеживать пользователя, даже тот использует VPN.
Для борьбы с этой проблемой разработчик, известный под ником z0ccc, создал расширение Vytal для Google Chrome и поделился своим проектом с пользователями Hacker News, попросив их оценить расширение.
«Vytal может подделать ваш часовой пояс, locale, геолокацию и user agent. Эти данные можно использовать для отслеживания и раскрытия вашего местоположения, — объяснил z0ccc в своем посте. — Большинство расширений, обеспечивающих функции защиты от фингерпринтинга, полагаются на скрипты для внедрения script tag’ов в веб-страницы. Существует множество ограничений для их внедрения, о чем вы можете прочитать здесь. Vytal использует API chrome.debugger для спуфинга этих данных. Это позволяет подделывать данные во фреймах и веб-воркерах во время начальной загрузки сайта. Также это делает спуфинг абсолютно незаметным».
Чтобы продемонстрировать, как JavaScript можно использовать для раскрытия информации о местонахождении человека, z0ccc создал сайт vytal.io, где наглядно отображается информация, которую можно получить непосредственно с компьютера посетителя, даже если тот использует VPN.
После установки Vytal расширение позволяет выбрать произвольное местоположение из списка предварительно заполненных мест, изменить данные в соответствии с IP-адресом или добавить кастомное местоположение. Отмечается, что при выборе опции «Match IP» и подключении к новому VPN-серверу понадобится нажать кнопку «Reload» в расширении для создания новых поддельных данными о местоположении.
Z0ccc признает, что пока расширение работает неидеально, и некоторые настоящие данные все еще могут «утекать» во время начальной загрузки веб-страницы. Дело в том, что существует небольшая задержка между загрузкой страницы и началом спуфинга данных при помощи дебаггера.
Авто Vytal сообщил журналистам, что в будущем планирует добавить в расширение дополнительные функции, чтобы упростить его использование, в том числе белый список часто посещаемых сайтов, которые не должны получать поддельные данные.
Расширение уже можно найти в Google Chrome Web Store, а исходники Vytal доступны на GitHub.