Аккумулятор мобильного телефона или ноутбука может выдавать информацию о действиях пользователя в интернете. Это еще один теоретический канал утечки конфиденциальных данных. Что интересно, он прямо предусмотрен спецификациями HTML5. Речь идет о малоизвестной части спецификаций Battery Status API, которую сейчас поддерживают браузеры Firefox, Opera и Chrome.

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

Как выясняется, информация об уровне заряда подходит для идентификации конкретного устройства. Концептуальную научную работу об этом опубликовали специалисты по безопасности из Франции и Бельгии.

Спецификации W3C не требуют от веб-сайта спрашивать у пользователя разрешения на получение информации по Battery Status API. Изначально предполагалось, что эта информации не несет никакой угрозы для его приватности. Сейчас выясняется, что это не так.

По Battery Status API передаются исключительно точные данные об аккумуляторе, включая предполагаемое время в секундах до полного разряда и оставшийся заряд в процентах. Двух этих цифр, которые обновляются каждые 30 секунд, оказывается, достаточно для получения уникального ID. После этого можно отслеживать активность конкретного человека в онлайне и его перемещение по страницам сайта. Функция работает как следящие куки, даже если пользователь включил режим приватного серфинга, стер куки или пришел по VPN.

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



4 комментария

  1. Sinhrofazathron

    04.08.2015 at 21:37

    Было бы хорошо если бы в статье было бы написано как предотвратить утечку конкретизирующей информации, хотя я так понимаю будет необходим модуль к браузеру который будет ограничивать использование спецификации Battery Status API. Буду ждать такой, неприятно знать что за тобой наблюдают.

    • goon

      04.08.2015 at 22:25

      В firefox зайти в about:config прописать dom.battery.enabled установить значение в false. Работает как на мобильной платформе, так же и на декстопах… Хрома нет, так что не подскажу.

    • Васа

      05.08.2015 at 21:33

      Вытащить батарею, а лучше выключить топ.

Оставить мнение