Аккумулятор мобильного телефона или ноутбука может выдавать информацию о действиях пользователя в интернете. Это еще один теоретический канал утечки конфиденциальных данных. Что интересно, он прямо предусмотрен спецификациями HTML5. Речь идет о малоизвестной части спецификаций Battery Status API, которую сейчас поддерживают браузеры Firefox, Opera и Chrome.
Спецификации предусматривают простую вещь: веб-сайт должен получать информацию о текущем уровне заряда аккумулятора, чтобы адаптироваться к ней. Например, в случае низкого уровня заряда можно отключить флеш-баннеры или по другому уменьшить нагрузку на процессор пользовательского устройства.
Как выясняется, информация об уровне заряда подходит для идентификации конкретного устройства. Концептуальную научную работу об этом опубликовали специалисты по безопасности из Франции и Бельгии.
Спецификации W3C не требуют от веб-сайта спрашивать у пользователя разрешения на получение информации по Battery Status API. Изначально предполагалось, что эта информации не несет никакой угрозы для его приватности. Сейчас выясняется, что это не так.
По Battery Status API передаются исключительно точные данные об аккумуляторе, включая предполагаемое время в секундах до полного разряда и оставшийся заряд в процентах. Двух этих цифр, которые обновляются каждые 30 секунд, оказывается, достаточно для получения уникального ID. После этого можно отслеживать активность конкретного человека в онлайне и его перемещение по страницам сайта. Функция работает как следящие куки, даже если пользователь включил режим приватного серфинга, стер куки или пришел по VPN.
Более того, в некоторых случаях можно вычислить точную емкость аккумулятора и установить в своем роде постоянные куки, которые будут действовать всегда, в том числе при следующих посещениях сайта.