Исследование: более 400 крупных популярных сайтов записывают пользовательские сессии

-gxwt1krqytn89bfmaa-woedvo4.jpeg

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

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

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

Компании прибегают к скриптам повторения сеансов, чтобы понять, как клиенты используют сайты. Скрипты не запускаются на каждой странице, но часто размещаются на тех, где пользователи вводят конфиденциальную информацию. К примеру, в 2013 году пользователи Facebook заметили, что социальная сеть делает что-то похожее с обновлением статуса — она ​​записывает, какое сообщение они набрали, даже если не опубликовали запись.

Оценить масштаб и законность подобного попытались ученые из Пенсильванского университета Стивен Энглехардт (Steven Englehardt), Гунес Акар (Gunes Akar) и Арвинд Нараянан (Arvind Narayanan). Они провели исследование самых популярных сервисов, которые предоставляют компаниям возможность изучать поведение пользователей с помощью скриптов повторного сеанса, включая решения FullStory, SessionCam, SmartLook, UserReplay, Hotjar и «Яндекса». Результаты показали, что по крайней мере один из этих скриптов используется 482 из 50 000 самых популярных в мире по рейтингу Alexa сайтов.

В число крупных компаний, использующих скрипты, вошла розничная сеть Bonobos, крупнейшая в США аптечная сеть Walgreens и финансовая инвестиционная компания Fidelity. Исследователи отмечают, что в 482 случая могли попасть не все сайты. Некоторые из подобных сервисов предлагают запись действий не каждого посетителя, а лишь небольшой статистически значимой части. Возможно, когда исследователи проводили автоматическое сканирование, им не повезло, и они не попали в выборку.

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

Пароли иногда случайно включаются в записи, несмотря на то, что скрипты не должны их собирать. Особенно часто такое случается на мобильных сайтах, где для видимости символов для паролей иногда используют обычные поля ввода. Исследователи обнаружили, что другая личная информация также часто не обезличивалась или обезличивалась неполно. Меры защиты различаются от поставщика услуг аналитики. Две компании — UserReplay и SessionCam — заменяют весь пользовательский ввод текстом эквивалентной длины, FullStory, Hotjar и Smartlook по умолчанию заменяют вводимые данные только у полей определенного типа.

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

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

rrgxiruedvkwoqq0omxf1gyfw2m.png
Запрос на рецепт антидепрессантов Zoloft на сайте Walgreens. Во время создания запроса название назначенного препарата попадает в скрипт FullStory. Имя пользователя, имя его врача и дозировка здесь заменены (выделено красным). Тем не менее, полное имя пользователя уже утекло в другом диалоге (не отображено на этой картинке), что позволяет любому, у кого есть доступ к записи, связать этот рецепт с личностью пользователя.

2igg0nd8-qd_hnvfwxtv4aflfy4.png
В специальном разделе на сайте Walgreens пользователи могут записывать свою историю состояния здоровья, которая может включать в себя другие рецепты. Во время этого процесса большая часть личной и медицинской информации пользователя исключается из скрипта FullStory с помощью ручного обезличивания. Но при этом сохраняются выбранные медикаменты и состояния здоровья, как показано выше.

povhdfzhwsbx_bbk8h1arnzk4o8.png
В процессе регистрации учетной записи Walgreens требует от пользователя подтвердить личность, задав стандартный набор вопросов. Варианты выбора ответов на эти вопросы, которые могут отображать личную информацию пользователя, показываются на странице и передаются в FullStory. К тому же функция отслеживания мыши FullStory, скорее всего, покажет выбор пользователя, даже несмотря на то, что выбор пользователя будет обезличен. Включение этих данных в записи напрямую противоречит заявлению в верхней части страницы: «Walgreens не сохраняет эти данные и не может получить к ним доступ или просмотреть ваши ответы».

Наконец, авторы исследования обеспокоены тем, что компании аналитики — лакомая цель для кибератак. Владельцы сайтов могут просматривать действия пользователей в панелях мониторинга. Но панели «Яндекса», Hotjar и Smartlook отдают действия пользователей по HTTP, включая действия на HTTPS-страницах. Что ещё хуже, «Яндекс» и Hotjar доставляют содержимое страниц анализируемого сайта по HTTP, в том числе страницы с HTTPS-контентом. Подобное оставляет простор для атак man-in-the-middle.

В комментарии по электронной почте журналисту издания Motherboard представитель «Яндекса» отметил, что компания пытается использовать HTTPS везде, где может, и заявил, что в будущих обновлениях доставка по HTTP будет исключёна. «HTTP используется намеренно, поскольку записи сеансов загружают сайты по iframe. К сожалению, загрузка HTTP-контента на HTTPS-сайтах запрещена на уровне браузера, поэтому HTTP-плееру приходится поддерживать HTTP-сайты для этой функции», — говорится в заявлении.

Существуют ли средства защиты от такой слежки? Исследователи установили, что подписки на списки блокировки EasyList и EasyPrivacy не блокируют скрипты FullStory, Smarlook или UserReplay, но содержат правила фильтрации, препятствующие скриптам «Яндекса», Hotjar, ClickTale и SessionCam собирать данные. UserReplay позволяет компаниям отключать сбор данных пользователей, в браузерах которых есть HTTP-заголовок Do Not Track.

© Geektimes