В цифровую эпоху уже никто не удивляется, когда ему звонят с незнакомых номеров с рекламой. Мало ли какие соглашения о персональных данных мы подписываем и на каких сайтах оставляем свой номер.
Но сейчас на рынке информационных услуг всё большую популярность набирают сервисы, занимающиеся деанонимизацией пользователей при одном лишь открытии сайта. Причём всё это преподносится как абсолютно легальный сервис для бизнеса, с соблюдением закона о персональных данных.
Но что если вы не хотите оставлять свой номер на сайте, который просто открыли? Поговорим на примере одного из таких сервисов - dmp.one. Автор рекомендует открывать этот адрес во вкладке инкогнито с включённым uBlock Origin с кастомными правилами (о них ниже), иначе есть риск попадания вашего телефона в базу.
Как это работает
Сайты подобного рода, как правило, называют кликджекинг-сервисами (от англ. "захват клика"), они пытаются получить сторонние cookies, которые есть у зашедшего на страницу пользователя, чтобы затем проверить их у своих партнёров. Если у этого партнёра по переданным куки-файлам будет привязан номер телефона, то дело сделано, ваш номер найден. Собственно, вот как этот же процесс описывают на главной dpm.one:
И всё вроде здорово, ведь по такой схеме, чтобы защититься от сбора ваших данных, пользователю можно просто запретить сторонние cookies... Но увы, не всё так просто, тут, как всегда, есть несколько очень важных нюансов. Но обо всём по порядку.
Моя ошибка
Я веду небольшой телеграм-канал, в который пишу айти-заметки (так, собственно, канал и называется). И вот, в один прекрасный день подписчик мне скинул ссылку на сервис dmp.one - мол, посмотрите, пишут, что могут узнать ваш номер сразу при посещении сайта. Открыв лэндинг и немного его пролистав, я переключился на остальные дела. А на следующий день на меня внезапно обрушивается целая серия спам-звонков, хотя обычно на мой номер со спамом звонят крайне редко.
Мои логи спам-звонков
Уже в этот момент меня стали одолевать сомнения. И вот, уже через сутки, мне наконец-то перезванивают из сервиса... dmp.one!
Мне позвонил человек, который представился менеджером dmp.one и предложил услугу для подключения трафика на мой сайт. В подобных звонках я, если не вешаю трубку сразу, то практически всегда прошу исключить мой номер из базы, и в этот раз я сделал так же. Только культурно попрощавшись и повесив трубку, я вдруг осознал: а ведь именно к ним я заходил вчера на сайт!
Когда детали пазла в моей голове сложились, я решил не сдаваться и написал им в официальный телеграм-аккаунт, который указан в контактах сайта, с очередной просьбой удалить мой номер из их сервиса. Мне же не говорить, почему я не был удивлён их ответу из серии "это не мы, вашего номера у нас нет"?
Моя переписка с dmp.one
Знаю, что Хабр не книга жалоб, но подобные примеры, я считаю, - лучшая иллюстрация того, как подобные сервисы взаимодействуют с пользователями. И я так-то, наоборот, хочу в какой-то степени даже похвалить сотрудников сервиса, ведь спустя примерно сутки после добавления моего номера в их черный список спам-звонки прекратились, и их не было до сих пор.
Копаем глубже
Я решил проверить, как этот сервис работает, и через второй свой номер зарегистрировал триальный личный кабинет. Я создал простой сайт-заглушку я не поместил туда ничего, кроме счётчика dmp.one.
Вы только посмотрите, сколько сторонних cookies было обнаружено: 72 (!). Хорошая новость в том, что сторонние cookies Google Chrome скоро начнёт блокировать по умолчанию, ну а плохая в том, что это всё ещё в планах.
Разумеется, с клиента отправляется множество запросов к сторонним сервисам типа пиксель-метрик, и плохая новость в том, что, помимо сторонних cookies, которые ещё можно заблокировать, в генерации вашего идентификатора используется fingerprint.js.
Если коротко, то fingerprint.js - это библиотека, которая позволяет получить уникальный отпечаток (хэш) вашего браузера. Данные собираются отовсюду: размер экрана, язык, версия браузера и даже некоторые расширения - всё это анализируется и высчитывается уникальный код. Этот отпечаток имеет, разумеется, погрешность, но, в отличие от cookies, может детектиться даже в режиме инкогнито! На какой сайт вы бы не зашли, у вас будет одинаковый отпечаток. Сами создатели говорят, что у бесплатной версии точность 40-60%, а у платной - 99.5%.
Именно поэтому в начале статьи я порекомендовал заходить на сайт не только в режиме инкогнито, но и с включённым блокировщиком рекламы (из-за этого пришлось даже исправлять пост, написанный по горячим следам).
Как защититься?
Сейчас стандартные фильтры uBlock Origin научились резать скрипт лишь частично, поэтому я составил список доменов, которые использует скрипт сервиса (и откуда он непосредственно загружается). Рекомендую добавить в блокировщик:
Правила для uBlock
dmp.one/sync
manalyticshub.com
whitesaas.com
profilepxl.ru
counter.yadro.ru
dmg.digitaltarget.ru
*.onef.pro
acint.net
pixel.data-leads.ru
rupertino.ru
pixel.hot-wifi.ru
*.aidata.io
get4click.ru
topvisit.ru
pixel.detmir.ru
pxl.knam.pro
abcdata-pxl.tech
cfv4.com
А что внутри?
А внутри сервиса нас ждёт достаточно простая панель управления с идентификациями пользователей, которые появляются не сразу, иногда уходит больше суток, иногда - несколько минут. Коэффициент обнаружений в моём случае был меньше 10%. Ложные обнаружения также встречались - один из моих браузеров определило с чужим номером, видимо, это особенности фингерпринтинга.
Вот как описывают работу сервиса на самом сайте dmp.one:
А вот как данные выглядят внутри сервиса (из интересного, тут есть ещё поля email и данные из соц. сетей):
Панель управления dmp.one
При генерации кода встраивания на сайт сервис предупреждает, что по законам РФ необходимо предупредить пользователя о сборе данных, и даже самостоятельно генерирует вот этот попап, который как будто нарочно на лендинге компании перекрывает другое диалоговое окно из сервиса обратной связи Jivo:
Лишь нажав на всплывашку с обратной связью, можно прочесть текст полностью:
Продолжая пользоваться сайтом, Вы принимаете условия Пользовательского соглашения и выражаете своё согласие на сбор и обработку информации о Вашей активности на настоящем сайте в соответствии с Политикой
Как видите, пользователь не может давать явное согласие на сбор своих личных данных, как и не может отказаться в этом попапе от сбора данных. Под явным согласием я подразумеваю хоть какое-то взаимодействие с сайтом, например, нажатие кнопки "Я согласен". Эх, как жаль, что у нас нет стандартов из европейского GDPR для этого, с ним бы такое не прокатило.
Ирония в том, что формулировка "продолжая пользоваться сайтом" на самом деле также не совсем верная. По умолчанию счётчик dmp.one собирает данные сразу, так что даже если вы просто открыли сайт и не продолжили им пользоваться, данные всё равно соберутся. В настройках, конечно, можно поставить таймаут, но, судя по всему, даже на официальном сайте его нет.
А если ещё и прочесть документы и соглашения, на которые ссылается сервис, можно поседеть. Оказывается, вот на что пользователь должен пойти, чтобы его убрали из своей системы (а ведь пользователь просто кликнул по ссылке!):
Срок действия Согласия составляет 15 лет. Согласие может быть отозвано путём совершения письменного отзыва на бумажном носителе, подписанного собственноручно. Этот отзыв согласия должен быть отправлен мною по адресу Компании почтовой службой. Я понимаю, что после такого отзыва представители Компании могут продолжать общаться со мной по поводу моей задолженности и иных неисполненных перед Компанией обязательств, а также что Компания вправе продолжать обработку моих персональных данных и без моего согласия при наличии оснований, указанных в пунктах 2 - 11 части 1 статьи
6, части 2 статьи 10 и части 2 статьи 11 Федерального закона от 27.07.2006 № 152-ФЗ "О персональных данных".- цитата из оферты
А вот какие данные вы соглашаетесь передавать сервису при переходе на сайт с отключённым блокировщиком рекламы:
Фамилия, имя, отчество, пол, гражданство, дата и место рождения, данные документа, удостоверяющего личность, сведения об абонентском номере, адрес регистрации/местожительства, ИНН, адрес электронной почты, сведения о заключенном договоре об оказании услуг связи.
Идентификационные данные, то есть данные, по которым можно установить мою личность: фамилия, имя, отчество, пол, дата и место рождения, название и реквизиты документа, удостоверяющего личность (серия и номер, дата выдачи и название органа, выдавшего документ), идентификационный номер налогоплательщика, СНИЛС, номер полиса в системе обязательного медицинского страхования.
Контактные данные: адрес места жительства, адрес места нахождения (пребывания), номера мобильного телефона, номера стационарного телефона, адреса электронной почты, открытые для общего доступа профайлы в социальной сети, мои идентификаторы в интернет-мессенджерах; контактные данные моих представителей.
Платёжные данные.
Данные о моём оборудовании.
Финансовые и имущественные данные.
Данные о моих финансовых операциях.
Данные о моём трудоустройстве и предпринимательстве.
Данные о моих родственниках.
Данные о моём состоянии.
Данные о моём правовом статусе.
- выдержки из соглашения
Разумеется, хочется надеяться, что данное соглашение написано максимально широко из-за юридических моментов, а не потому что все эти данные реально собираются при заходе на сайт, но давайте будем честны, если на сайте фирмы указано несколько крупнейших банков в РФ в качестве партнёров, с чего бы у них не запрашивать эти данные?
Конечно, в админке вы номер паспорта не узнаете, но ничто не мешает создателям сервиса расширить в будущем отображаемое количество данных, показываемых клиентам. Политике и соглашениям это противоречить не будет.
Вместо вывода
Моя основная цель - обратить внимание сообщества на проблему подобного, на мой взгляд, слишком агрессивного сбора персональных данных пользователей. Я считаю, что закон о персональных данных должен быть доработан, а такие сервисы, как dmp.one, если уж и предлагают сбор персональных данных для своих клиентов, то, как минимум, должны делать это более этично.
Вот, что я бы порекомендовал подобным сервисам:
Пользователь должен явно согласиться на сбор личных данных: не просто открыть страницу, а хотя бы нажать "Я согласен".
При этом во всплывающем окне должно быть сразу указано (помимо ссылок на многостраничные соглашения), что будет собираться номер телефона.
Пользователь также должен иметь возможность сразу же отказаться или отозвать согласие на сбор персональных данных.
Если пользователь находится во вкладке инкогнито, необходимо уважать выбор пользователя и не собирать его фингерпринт и другие данные.
А для обычных пользователей пока совет только один: используйте актуальный блокировщик рекламы со списком маркетинговых доменов и добавьте туда пока как минимум ссылку dmp.one/sync
P.S. Если ситуация будет меняться, буду обновлять статью как здесь, так у себя в тг-канале.
UPD: Спасибо @positroid за комментарий, статью поправил: Google Chrome пока ещё не блокирует сторонние cookies, а только готовится к этому.
UPD2: Обновил правила, добавил ещё несколько доменов, которые использует dmp.one.
Комментарии (82)
positroid
05.06.2024 08:00+8>хорошая новость в том, что сторонние cookies Google Chrome умеет блокировать по умолчанию, вы только посмотрите, сколько их было заблокировано: 72 (!).
Это не блокировка, это предупреждение, что сторонние куки будут блокироваться по умолчанию в будущих версиях хрома, можно почитать про это здесь же на хабре - Смерть third-party cookies. Что ждет нас в 2024?
piton369
05.06.2024 08:00Кто-нибудь встречал ещё подобные сайты?
sfirestar Автор
05.06.2024 08:00Вообще, есть аналоги, да, но, как по мне, они менее агрессивные: https://socfishing.com/ (тут хотя бы требуется дать явное согласие на обработку данных, без этого на сайт не пустит) и http://soceffect.ru/ (тут детектится только страница во ВКонтакте, а не телефон).
Javian
05.06.2024 08:00Если коротко, то fingerprint.js
по библиотеке находится статья на хабре "Browser Fingerprint – анонимная идентификация браузеров"
https://habr.com/ru/companies/oleg-bunin/articles/321294/
На данный момент используется в таких компаниях как Baidu, это Google в Китае, MasterCard, сайт президента США, AddThis — сайт размещениz виджетов и т.д. Эта библиотека быстро стала очень популярной. Она используется примерно на 6-7% всех самых посещаемых сайтов в Интернете на данный момент.
Advisory
05.06.2024 08:00+2Да их полно на самом деле.
Несколько лет назад на корпоративном сайте, через форму обратной связи, повадился один сотрудник кляузы на коллег писать (писал анонимно, из дома, в нерабочее время, со старой мобилки, через VPN). Все сообщения регистрировались в журнале входящей документации, на которых руководство оставляло резолюцию «разобраться».
В итоге на сайт установили подобный «счетчик» — нагуглили штук 5 за пол часа. И собрали много информации о посетителях. Правда, чтобы не собирать лишнюю статистику, пришлось форму обратной связи вынести на отдельную страницу, а также текст под ней скорректировать.
navferty
05.06.2024 08:00+6Так нашли в итоге автора?)
Advisory
05.06.2024 08:00И да и нет. Нашли профиль VK и почту. Сделали предположение чьим другом/родственником искомого сотрудника был хозяин трубки. Сообщили руководителю предполагаемого сотрудника, чтобы навел порядок у себя в подразделении.
upd: чтобы совсем уж не раскрывать карты отвечу так: подозрение пало на токсичную бабушку, сотрудницу лаборатории, которая пользовалась трубкой внука, у которого был выявлен VK на вымышленное имя.
navferty
05.06.2024 08:00Одна из таких компаний даже на хабр карьере есть: https://career.habr.com/companies/wantresult
Squoworode
05.06.2024 08:00+26Если пользователь находится во вкладке инкогнито, необходимо уважать выбор пользователя и не собирать его фингерпринт и другие данные.
И всё бы хорошо, да только инкогнито не предназначен для анонимизации. Он предназначен исключительно для того, чтобы после закрытия страницы автоматизировать её удаление из истории браузера.
barev
05.06.2024 08:00+2инкогнито не предназначен для анонимизации. Он предназначен исключительно для того, чтобы после закрытия страницы автоматизировать её удаление из истории браузера.
Если бы вы были правы, то режим "инкогнито" отдавал бы все кукисы. Но этого не происходит, чем и достигается некоторая анонимность.
AgentFire
05.06.2024 08:00+1Это не анонимность, а возможность чуть быстрее временно перелогиниться куда-то под другим аккаунтом.
yarkonev
05.06.2024 08:00+5Браузер Brave создан специально для защиты от подобных вещей. При этом прост в использовании как тот же Хром.
MountainGoat
05.06.2024 08:00Вы что, они десять лет назад Бинанс кинули дважды! (Правда Бинанс до сих пор об этом не знает, но это ничего не значит!)
Zuboskal
05.06.2024 08:00+1Когда я последний раз заходил через Brave на fingerprint.js, то сайт идентифицировал мой отпечаток.
2medic
05.06.2024 08:00+5Что-то у меня пазл не складывается. Насколько я знаю спецификацию cookie (если я не прав, поправьте), куку устанавливает браузер, получив от сервера заголовок Set-Cookie.
Читаю спеку:Domain=<domain-value>
Defines the host to which the cookie will be sent.
Only the current domain can be set as the value, or a domain of a higher order, unless it is a public suffix. Setting the domain will make the cookie available to it, as well as to all its subdomains.
If omitted, this attribute defaults to the host of the current document URL, not including subdomains.
Contrary to earlier specifications, leading dots in domain names (
.example.com
) are ignored.Multiple host/domain values are not allowed, but if a domain is specified, then subdomains are always include
Итого: невозможно установить куку, с атрибутом Domain, отличным от домена, с которого пришёл заголовок.
А если невозможно её установить, то и передавать эту куку серверу dmp.one браузер не будет.
Получается, что собрать данные о сторонних куках невозможно. Браузер их просто не пришлёт.
А чтобы с куками не работал js достаточно установить атрибут HttpOnly.
kmeaw
05.06.2024 08:00+6Сайт может загрузить скрипт dmp.one, а тот, в свою очередь, отправить запрос (из пользовательского браузера с помощью javascript) своему партнёру, который сообщит в ответе о куках (или какой-то производной от них информации, позволяющей идентифицировать пользователя) для своего домена, ведь они будут переданы вместе с этим запросом.
2medic
05.06.2024 08:00+2Тоже не совсем пазл складывается. Передали запрос партнёру, о, скажем так, параметрах браузера и что там ещё может быть доступно? Как сайт-партнёр идентифицирует пользователя браузера? А откуда он возьмём куки? Куки-то на локальной машине пользователя. Хранить информацию об атрибутах куки на сервере? А зачем? Проще же передать требуемую информацию.
kmeaw
05.06.2024 08:00+4Партнёру передали запрос "расскажи нам всё, что тебе известно об этом пользователе". Так как запрос передан из пользовательского браузера, то к партнёру он улетел вместе со всеми куками, которые партнёр поставил для своего домена.
У условной доски объявлений может наружу торчать ручка /api/v1/auth/me, которая при правильных входных параметрах (таким может быть, например, подпись referer) выдаст ID пользователя. Это как CSRF-атака, только это не злоумышленник ломает сервис, а сервис специально так спроектирован.
askharitonov
05.06.2024 08:00+1Партнёры — это сайты, которые сознательно разглашают данные пользователей (в обмен на вознаграждение, допустим)? Или там используется уязвимые API сторонних сайтов, выдающие данные о пользователе?
То есть, какая рекомендация в данном случае важна: не светить свой номер телефона на не заслуживающих доверия сайтах, или что Интернет настолько дыряв, что данные, введённые на нормальных сайтах, легко могут быть извлечены на стороннем ресурсе?
kmeaw
05.06.2024 08:00+3В моём комментарии речь шла про первый вариант - партнёры сознательно разглашают данные. Возможно, с помощью других своих партнёров, которые ставят на свой сайт "рекламные" скрипты за вознаграждение. У операторов сотовой связи обычно есть внутренний механизм, позволяющий по идентификатору HTTP-запроса к их системе получить номер абонента - не удивлюсь, если есть какие-нибудь полулегальные способы за деньги получить такой API.
Современный веб, конечно же, дыряв - в сети полно интернет-магазинов, построенных на базе древних скриптов, которые владелец не будет обновлять, пока они хоть как-то работают. Если я выключу у себя спам-фильтр, то буду каждый день читать письма, отправленные (судя по заголовкам) из таких магазинов.
sfirestar Автор
05.06.2024 08:00+1Да, это так и работает, я не стал светить своей вкладкой network из-за токена, но скрипт около 30-ти запросов делает к своим партнерам после загрузки страницы. Поэтому и в моих правилах uBlock несколько доменов.
tsilia
05.06.2024 08:00Достаточно ли будет для защиты не разрешать в NoScript домен dmp.one (и прочие, что у вас под спойлером "Правила для uBlock")? Кстати, у вас там counter.yadro.ru два раза встречается.
ifap
05.06.2024 08:00+22А для обычных пользователей пока совет только один: используйте актуальный блокировщик рекламы
Не только лишь один: можно еще не
вежливо просить хулиганов не бить васспамеров удалить телефон из базы, а сразу отправлять жалобу в ФАС.
VirtualVoid
05.06.2024 08:00+2Буквально несколько часов назад стал "жертвой", и вероятно по схожей схеме.
Накануне через моб. тел. спокойно интересовался некоторыми услугами, а сегодня получил чёткий маркетинговый звонок от неизвестной мне организации (возможно фейковой, не гуглится), которая заявила что номер у них оказался автоматически, потому что я якобы заходил на их сайт, чего разумеется, не было.
Пожалуй, ухожу с Chrome на Brave и перевожу AdGuard на постоянную работу.Hlad
05.06.2024 08:00+2Готовьтесь к тому, что вас везде будут считать ботом. Со включенным Адгвардом все норовят капчу подсунуть. Даже Яндекс, в котором я залогинен, являюсь пользователем ряда подписок и т.д.
VirtualVoid
05.06.2024 08:00+2Да, бывает такое, но вовсе не часто. С фильтрацией главное не жестить и найти золотую серединку.
AdGuard на ПК использую уже почти 5 лет и доволен как удав.
В качестве параноидального дополнения в браузере ещё и Ghostery стоит, который иногда ломает юзабилити единичных сайтов.
Pavel1114
05.06.2024 08:00+6Яндекс без всякого adguard записывает в боты. Они прям насильно заставили меня пользоваться гугл.
kasumiru
05.06.2024 08:00+1аналогично. тем более больно видеть то, куда и во что скатился яндекс за последние лет 10. в редких случаях, когда открываю яндекс вылезает капча. несколько раз писал им в техподдержку, что же они ироды делают, насильственно заставляют пользователей перестать пользоваться яндексом как поисковиком, обещали поправить, но воз и ныне там. я уж думал в прокуратуру написать, т.к. злонамеренное действие они совершают этим.
TimurRyabinin
05.06.2024 08:00Здравствуйте! Я из Яндекса. Пожалуйста, проверьте, сохраняется ли ситуация сейчас.
Если да — напишите об этом через специальную форму. Её можно найти внизу страницы с капчей.
Так команда сможет быстрее во всём разобраться.
MiyuHogosha
05.06.2024 08:00А МТСовский ленчер не стоит? Все отечественные ленчервы дырявы и текут данными как дуршлаг.
askharitonov
05.06.2024 08:00А может номер спамерам передали те, кому вы звонили? Может сотрудник некоей компании сливает потенциальных клиентов конкурентам. То есть, Интернет в этой схеме вообще может быть не задействован.
MiyuHogosha
05.06.2024 08:00+13Самое противное в том что большинство сервисов перешло га использование почты или номера телефона как имени пользователя, причем в открытой связке (как ВК или ГосУслуги). В комбинации с тем что многие телефоны идентифицируют себя по IMEI... Это дверь к личным данным размером с самосвал.
VirtualVoid
05.06.2024 08:00ЕМНИП, средствами андроида можно легко идентифицировать девайс, при наличии разрешения. Заодно вспомнились лихие расследования в ковидные времена, когда некоторые контролирующие приложения пытались обходными путями (без пермишенов) доставать идентификаторы и фингерпринтить устройство.
crawlingroof
"Моя ошибка
Я веду небольшой телеграм-канал" тематичный абзац )
Все новые сайты должны открываться со scriptblock плагином как по мне. Хром все грозился отключить сторонние куки.
phpmyadmin
достаточно давно использую плагин No-Script для FF в связке с FlashBlock+AdBlock, не уверен что это панацея, но лучше чем ничего
Worst_su
>Все новые сайты должны открываться со scriptblock
CSR, видимо, в вашем мире не существует