Батарею смартфона приспособили для слежки за людьми
Исследователи показали, что информацию о батареи мобильного устройства можно использовать для слежки за интернет-пользователями.
Новый способ слежения
Исследователи обнаружили возможность отслеживания онлайн-активности пользователя по информации о его батареи, которую сайты и веб-приложения могут получать посредством интерфейса программирования Battery Status API. Они успешно опробовали возможность такого отслеживания в Mozilla Firefox в среде Linux.
Battery Status API
Battery Status API — это элемент HTML5. Он позволяет узнавать уровень заряда батареи и ее текущую рабочую емкость для того, чтобы переводить интернет-пользователя на более облегченную версию веб-сайта.
Например, во время веб-серфинга заряд батареи снизился до 5%. Узнав об этом, сайт отключит ряд своих компонентов для того, чтобы снизить скорость расхода батареи. При этом разработчики этого API не позаботились об уведомлении пользователя или о том, чтобы получать его согласие, так как не усмотрели в работе интерфейса каких-либо способных навредить брешей.
По состоянию на июнь 2015 г. три браузера поддерживали Battery Status API — Firefox, Chrome и Opera. Примечательно, что еще в 2012 г. в ходе создания HTML5, разработчики Mozilla и Tor Browser обратили свое внимание на возможные проблемы с безопасностью вследствие текущей имплементации API. Тем не менее, их дискуссии не были услышаны.
Уровень заряда батареи приспособили для слежки для людьми
Как это работает
Основная проблема заключается в том, что Battery Status API позволяет сайтам дистанционно узнавать рабочую емкость батареи, которая в процессе эксплуатации у любых устройств сокращается. Таким образом, это может служить своего рода идентификатором конкретного устройства или пользователя. Правда, отслеживать такой идентификатор нельзя постоянно, так как через какое-то время емкость батареи вновь изменится. Поэтому данный способ имеет временное ограничение.
В действительности существует очень много способов отслеживания онлайн-пользователей в сети. Например, это можно делать посредством информации о разрешении экрана, системных шрифтах и установленных в браузере плагинов. Более того, некоторые исследователи нашли способы отслеживания онлайн-активности пользователей посредством расфазировки синхросигналов, информации о производительности JavaScript-движка, характеристик сетевого протокола, параметров шрифтов и т. д.
Как решить проблему
Исследователи выяснили, что в Linux передача информации о емкости батареи через API осуществляется с двойной точностью. Например, сайт получает число 0.9301929625425652. Это число и является своего рода уникальным отпечатком, по которому пользователя можно «ловить» и на других сайтах. По мнению исследователей, повысить защиту пользователей можно было бы простым округлением числа. Для сравнения, в Windows, Mac OS X и Android интерфейс передает число с двумя знаками после запятой (например, 0.32).
Авторы находки опубликовали в интернете доклад (PDF) с результатами свой работы. В нем говорится, что разработчики Firefox были уведомлены о проблеме в Linux-версии браузера. Они уже выпустили соответствующее обновление.
Источник