Как мы искали утечку данных в SimilarWeb

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

    Все началось пол года назад. Работаем небольшой командой над проектом, проект уже запустили в сеть и он успешно работал несколько месяцев. Зашла как-то речь по поводу статистики посещения, источников переходов пользователей и тому подобное. Менеджеры прислали мне ссылку на страницу 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 — не важно) и если найдете подобное, пишите в комментариях. Интересно знать, как глубока проблема.

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

    Всех благ.
    Поделиться публикацией

    Похожие публикации

    Комментарии 17

      +2
      SimilarWeb немного протупили, надо было исключать из статистики всё, что резолвится в серые диапазоны адресов, тогда их не спалили бы так быстро.
        0
        А можно, интересно, рефёрера на ходу поменять :-)? Или в посылке где-то проверка всобачена?
          0
          Если речь о расшрирении то реферер не при чем, оно берет урл из адресной строки образно выражаясь, я так думаю…

          Хотя в тему реферера могу порекомендовать HTTP заголовок «Referrer-Policy: no-referrer» — защитит от слива реферера на сторонние CDN которые возможно имеются на веб-мордах закрытых ресурсов, да и просто от кликов на внешние ссылки.
            +1
            Этому расширение данные заголовки совсем неважны. Пример. Я перешел с 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 библиотека сохраняет предыдущую страницу не зависимо от ее заголовков (можно попробовать найти этот заголовок и проверить).
          0
          Буквально недавно была история. Сделали выгрузку в Google Merchant Center, отправили ссылку по вацапу человеку, который занимается у нас настройкой кампании в Гугле.
          Через 18 минут по этой ссылке к нам пришел бот Yandex Direct-а и продолжает ходить до сих пор. Пару раз были запросы с домена yаndeх-team с реферером какой то внутренней их системы.
            0
            У Яндекса тоже есть и расширения и библиотеки для расширений подобного рода. Например тот же советник. Было неприятно, когда обнаружил его в Joxi. Пришлось расширение удалить.
              +2
              Есть мнение, что весь яндекс.браузер, это один такой «большой информатор» :)
                +2
                Есть мнение, что браузер Google Chrome тоже ;)
                  0
                  :)))
                  На самом деле, во всей этой истории, мне больше всего понравились 2 вещи:
                  1) к нам пришел бот директа, не поисковый, не маркета, а именно директа
                  2) следы (в логах) просмотра сотрудниками яндекса нашей скромной выгрузки в gmc
                  0
                  Кстати, вспомнил о старом посте. Оставлю ссылку на свой коммент. Тема похожая.

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

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

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

                  Я не уверен, но мне кажеться что информация есть в условиях которые мы принимаем не глядя.

                    0

                    Скрин соглашения в посте. Другого нет :) Проверьте.

                +1
                Удивлён. Сам пользуюсь этим расширением и никогда бы на него не подумал.
                А есть какой-то способ запретить расширению frigate стучать в SimilarWeb?
                  +1
                  Найти альтернативу, предварительно проверив. Лично я просто использую proxy.pac файл от prostovpn со своим прокси. Без всяких расширений.

                  UPDATE: можно попробовать выдернуть исходники расширения из хрома и попробовать удалить эту часть.
                    0
                    Да, вы правы, способ хороший.
                    Если что, сам удалил friGate и остановился на плагине для хрома «Обход блокировок Рунета» и там как раз используется pac файл с проксями.

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое