Доброго времени суток.

Все началось пол года назад. Работаем небольшой командой над проектом, проект уже запустили в сеть и он успешно работал несколько месяцев. Зашла как-то речь по поводу статистики посещения, источников переходов пользователей и тому подобное. Менеджеры прислали мне ссылку на страницу SimilarWeb с нашим ресурсом. То что я увидел, меня сильно озадачило. Помимо прочей информации, на странице есть информация о поддоменах, которые SimilarWeb нашел. Представьте себе мое удивление, когда я увидел в топ-5 поддоменах внутренние, которые используются только сотрудниками и недоступны извне (такие как jira.mycomp.org, ci.mycomp.org, git.mycomp.org).

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

Гугление выдало несколько статей по поводу покупки компанией SimilarWeb расширения Stylish. Я поставил данное приложение к себе и убедился, что оно действительно сливает данные. Как это работает: при установки расширения, вы соглашаетесь с условиями сбора данных (причем на текущий момент приложение находится в магазине и не скрывает того, что данные будут собираться для SimilarWeb). Далее при переходе на любую страницу (даже на https), расширение в фоне начинает отправлять данные на url h___s://userstylesapi.com/tic/stats. Выглядит это так:

image

Параметр e в FormData содержит дважды завернутые в Base64 данные:

ZG0xMFBUTW1iR0YyUFRJeEpuZDJQVEVtWjNJOU1pNHdMamttY0hobFBURm5aamhwTjJnNU5qVTVOekZ4ZERob05tTTVhamc0T0hCME5DWnpiblU5Sm1kd1BXaDBkSEJ6SlROQkpUSkdKVEpHZFhObGNuTjBlV3hsY3k1dmNtY2xNa1p6ZEhsc1pYTWxNa1ppY205M2MyVWxNa1p1WlhkbGMzUXRjM1I1YkdWekptTm9QVGttWkdrOVlUTmxNMlV5WVRneA==

vmt=3&lav=21&wv=1&gr=2.0.9&pxe=1gf8i7h965971qt8h6c9j888pt4&snu=&gp=https%3A%2F%2Fuserstyles.org%2Fstyles%2Fbrowse%2Fnewest-styles&ch=9&di=a3e3e2a81

Таким образом при каждом клике передается информация по посещаемым URL.

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

Однако, прошло два месяца, а ситуация не изменилась. Домены продолжали висеть в списке ресурса. Значит вычистили не все. Решили вычислить «доносчика» другим способом. Для каждого члена команды был создан специальный URL следующего вида: coder-124.mycomp.ru, coder-523.mycomp.ru и т.д. Дали задачу заходить на данный URL ежедневно и делать несколько кликов, процесс поставили на мониторинг, чтобы никто не забывал. После месяца издевательства над разработчиками мы все же получили плоды. Один из URL оказался в самом низу списка. Цель обнаружена, осталось понять каким образом данные сливаются.

Результат удивил, данные сливает расширение Chrome… Но не Stylish… Как оказалось, данные сливает расширение Frigate. При установки расширение показывает следующее сообщение:



Допустим… Далее мы посмотрели каким образом оно передает эти данные:

image
image

При переходе на любую страницу на два URL (интересно, почему на два) отправляются следующие данные:

image

Параметр e в FormData содержит дважды завернутые в Base64 данные:

Y3oweE9ERTBKbTFrUFRJeEpuQnBaRDFzWW5keE1FeHBTVW8xZFhFeWFEY21jMlZ6Y3owMU56TXpNVFl6TWpVeU1EazJOemd3TURBbWMzVmlQV05vY205dFpTWnhQV2gwZEhCekpUTkJMeTltY21rdFoyRjBaUzV2Y21jdmNuVXZKbWh5WldabGNtVnlQV2gwZEhCekpUTkJMeTkzZDNjdVoyOXZaMnhsTG5KMUx5WndjbVYyUFdoMGRIQnpKVE5CTHk5bWNta3RaMkYwWlM1dmNtY3ZjblV2Sm5SdGRqMDBNREUxSm5SdFpqMHhMakU9

s=1814&md=21&pid=lbwq0LiIJ5uq2h7&sess=573316325209678000&sub=chrome&q=https%3A//fri-gate.org/ru/&hreferer=https%3A//www.google.ru/&prev=https%3A//fri-gate.org/ru/&tmv=4015&tmf=1.1

Я не думаю, что все эти данные нужны для подбора прокси сервера. Да и механизмы очень похожи.

Кстати, в расширении friGate Light такого функционала нет…

Вместо заключения.

Могу предположить, что если нашлось второе расширение, то найдется и третье, и четвертое. Скорее всего данный способ сотрудничества SimilarWeb с разработчиками браузерных расширений будет развиваться дальше. Призываю вас проверить свои расширения (Chrome, Firefox — не важно) и если найдете подобное, пишите в комментариях. Интересно знать, как глубока проблема.

И помните, большой брат всегда наблюдает за вами :)

Всех благ.

Комментарии (14)


  1. selivanov_pavel
    22.03.2019 00:15
    +1

    SimilarWeb немного протупили, надо было исключать из статистики всё, что резолвится в серые диапазоны адресов, тогда их не спалили бы так быстро.


  1. Habra_nik
    22.03.2019 00:38

    А можно, интересно, рефёрера на ходу поменять :-)? Или в посылке где-то проверка всобачена?


    1. abrwalk
      22.03.2019 01:48

      Если речь о расшрирении то реферер не при чем, оно берет урл из адресной строки образно выражаясь, я так думаю…

      Хотя в тему реферера могу порекомендовать HTTP заголовок «Referrer-Policy: no-referrer» — защитит от слива реферера на сторонние CDN которые возможно имеются на веб-мордах закрытых ресурсов, да и просто от кликов на внешние ссылки.


      1. AgentSIB Автор
        22.03.2019 10:45

        Этому расширение данные заголовки совсем неважны. Пример. Я перешел с Google на VK. Получил следующее:

        cz04MTQmbWQ9MjEmcGlkPTdUSWJ3RGRmZG80YTNqdCZzZXNzPTk5NTI0MzAzNjkwNjE2ODIwMCZxPWh0dHBzJTNBJTJGJTJGdmsuY29tJTJGZmVlZCZwcmV2PWh0dHBzJTNBJTJGJTJGd3d3Lmdvb2dsZS5jb20lMkZzZWFyY2glM0Zzb3VyY2UlM0RocCUyNmVpJTNEcEpHVVhQREhPSy1tbXdYNzI3TFFEdyUyNnElM0R2ay5jb20lMjZidG5LJTNEJTI1RDAlMjU5RiUyNUQwJTI1QkUlMjVEMCUyNUI4JTI1RDElMjU4MSUyNUQwJTI1QkElMkIlMjVEMCUyNUIyJTJCR29vZ2xlJTI2b3ElM0R2ay5jb20lMjZnc19sJTNEcHN5LWFiLjMuLjBsMTAuMjI1OS4zNTM4Li4zODEzLi4uMC4wLi4wLjcxLjQ0MS43Li4uLi4uMC4uLi4xLi5nd3Mtd2l6Li4uLi4wLi4zNWkzOWowaTEzMWowaTEwaTFqMGk2Ny5qcVJGeUt3cUNrZyZsaW5rPTEmc3ViPWNocm9tZSZocmVmZXJlcj1odHRwcyUzQSUyRiUyRnd3dy5nb29nbGUuY29tJTJGJnRtdj0zMDE1

        Декодируем:
        s=814
        &md=21
        &pid=7TIbwDdfdo4a3jt
        &sess=995243036906168200
        &q=https%3A%2F%2Fvk.com%2Ffeed
        &prev=https%3A%2F%2Fwww.google.com%2Fsearch%3Fsource%3Dhp%26ei%3DpJGUXPDHOK-mmwX727LQDw%26q%3Dvk.com%26btnK%3D%25D0%259F%25D0%25BE%25D0%25B8%25D1%2581%25D0%25BA%2B%25D0%25B2%2BGoogle%26oq%3Dvk.com%26gs_l%3Dpsy-ab.3..0l10.2259.3538..3813...0.0..0.71.441.7......0....1..gws-wiz.....0..35i39j0i131j0i10i1j0i67.jqRFyKwqCkg
        &link=1
        &sub=chrome
        &hreferer=https%3A%2F%2Fwww.google.com%2F&tmv=3015


        Обратите внимание на prev и hreferer. То есть js библиотека сохраняет предыдущую страницу не зависимо от ее заголовков (можно попробовать найти этот заголовок и проверить).


  1. tuxi
    22.03.2019 10:19

    Буквально недавно была история. Сделали выгрузку в Google Merchant Center, отправили ссылку по вацапу человеку, который занимается у нас настройкой кампании в Гугле.
    Через 18 минут по этой ссылке к нам пришел бот Yandex Direct-а и продолжает ходить до сих пор. Пару раз были запросы с домена yаndeх-team с реферером какой то внутренней их системы.


    1. AgentSIB Автор
      22.03.2019 10:26

      У Яндекса тоже есть и расширения и библиотеки для расширений подобного рода. Например тот же советник. Было неприятно, когда обнаружил его в Joxi. Пришлось расширение удалить.


      1. tuxi
        22.03.2019 10:31

        Есть мнение, что весь яндекс.браузер, это один такой «большой информатор» :)


        1. AgentSIB Автор
          22.03.2019 10:32

          Есть мнение, что браузер Google Chrome тоже ;)


          1. tuxi
            22.03.2019 10:42

            :)))
            На самом деле, во всей этой истории, мне больше всего понравились 2 вещи:
            1) к нам пришел бот директа, не поисковый, не маркета, а именно директа
            2) следы (в логах) просмотра сотрудниками яндекса нашей скромной выгрузки в gmc


        1. AgentSIB Автор
          23.03.2019 00:43

          Кстати, вспомнил о старом посте. Оставлю ссылку на свой коммент. Тема похожая.

          habr.com/ru/post/273027/#comment_8689007


  1. time2rfc
    22.03.2019 14:47

    В мире не бывает ничего бесплатного, если вы не платите разработчикам расширения — заплатят другие.


    1. AgentSIB Автор
      22.03.2019 14:50

      Согласен. Но укажите это явно, что мы собираем полные URL даже на https сайта для построения анонимной статистики в таких системах как SimilarWeb и тд. Зачем встраивать втихоря? В некоторых случаях это довольно критичный момент.


  1. technik
    23.03.2019 00:15

    Удивлён. Сам пользуюсь этим расширением и никогда бы на него не подумал.
    А есть какой-то способ запретить расширению frigate стучать в SimilarWeb?


    1. AgentSIB Автор
      23.03.2019 00:36

      Найти альтернативу, предварительно проверив. Лично я просто использую proxy.pac файл от prostovpn со своим прокси. Без всяких расширений.

      UPDATE: можно попробовать выдернуть исходники расширения из хрома и попробовать удалить эту часть.