Файлы cookie HTTP используются для локального учета активности посетителей в Интернете с целью персонализации работы в Интернете. Файлы cookie также играют важную роль в аутентификации и отслеживании. Сторонние файлы cookie, в частности, помогают вращать мир рекламных технологий, позволяя платформам объединять людей в сплоченные сегменты аудитории для целей таргетинга.

В последние годы регулирующие органы и защитники конфиденциальности рассматривают эти файлы cookie браузера как угрозу для потребителей:

https://threatpost.com/bucking-the-norm-mozilla-to-block-tracking-cookies-in-firefox/137110/

https://www.zdnet.com/article/gdpr-cuts-tracking-cookies-in-europe/

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

Отпечатки пальцев:

: идентификация путем анализа характеристик, уникальных для отдельных людей

С точки зрения организации, занимающейся рекламными технологиями (злоумышленник или нет), недостатком файла cookie браузера является его непостоянство. Файлы cookie могут быть легко удалены пользователем или изменены скриптами блокировки рекламы. Однако исследователи давно обнаружили множество альтернативных методов высокоточного отслеживания устройств.

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

Эффективность отпечатка пальца устройства измеряется энтропией.

Энтропия

: логарифмическая мера скорости передачи информации в определенном сообщении или языке.

В этом контексте энтропия измеряется в битах, но что это на самом деле означает? Чем выше энтропия, тем более уникальным отпечаток пальца может быть среди большего набора образцов. Расчет также довольно прост. Например:

10 бит энтропии = 2¹⁰ = 1024

Другими словами, отпечаток пальца с 10-битной энтропией будет означать, что 1 из 1024 устройств будет использовать этот точный отпечаток *.

* Этот пример был заимствован из:

Https://thetinhat.com/blog/primers/what-is-device-fingerprinting.html

К счастью для людей, которые пытаются отслеживать вас, современный веб-браузер имеет массу метаданных, которые легко доступны на стороне клиента через Javascript. Вот частичный вывод объекта Navigator отдельно:

Для кражи данных браузера доступны буквально сотни объектов и API:

Https://developer.mozilla.org/en-US/docs/Web/API

Тогда возникает вопрос: какое подмножество этих метаданных обеспечивает достаточно энтропии, чтобы создать ощущение уникальности?

Давайте рассмотрим эту широко используемую библиотеку отпечатков пальцев:

Https://github.com/Valve/fingerprintjs2

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

Например, с появлением HTML5 в 2014 году был представлен Canvas API, который, как было сразу обнаружено, имел определенные нюансы, которые сделали его благом для отслеживания без использования файлов cookie. На высоком уровне отпечатки пальцев холста работают путем рендеринга изображения или текста на объекте холста. Затем данные изображения преобразуются в невизуальное представление в виде строки символов для создания отпечатка пальца. Различия в аппаратном обеспечении устройств будут влиять на получаемые отпечатки пальцев, несмотря на один и тот же код. Желаемый эффект может быть легко достигнут всего несколькими строками кода, и это всего лишь один пример «отпечатанного пальцем» источника данных.

Было замечено, что снятие отпечатков пальцев на холсте само по себе добавляет примерно 5+ бит энтропии, что само по себе может показаться не таким уж большим (2⁵ = 32), но если учесть, что каждый отдельный бит увеличивает энтропию на целую величину эти 5 пунктов могут иметь огромное значение в сочетании с другими техниками.

Итак, насколько распространена эта практика? Вы могли заметить, что библиотека fingerprint2.js имеет более 6 тысяч звезд на GitHub - и это только количество разработчиков, публично проявивших интерес к библиотеке.

Здесь, в Confiant, мы видим, что эта конкретная библиотека проявляется в тысячах рекламных показов ежедневно, в то время как десятки тысяч рекламных показов каждый день пропускают присутствие какого-то кода для снятия отпечатков пальцев. Фактически, в следующий раз, когда вы будете на своем любимом веб-сайте, скорее всего, если вы откроете Chrome Dev Tools и выполните поиск во всех файлах по ключевому слову «отпечаток пальца», есть большая вероятность, что вы найдете какой-то код отслеживания, который либо всплыл через рекламу. или аналитическая платформа. Не удивляйтесь, если вы увидите ссылку на объект холста в той же кодовой базе.

Иногда одна только точка данных может предоставить огромное количество информации. Вот еще один популярный пример, который мы видим прикрепленным к рекламе или просочившимся через вызовы объявлений другими способами:

Https://github.com/faisalman/ua-parser-js

UAParser.js - библиотека JavaScript для определения браузера, движка, ОС, ЦП и типа / модели устройства из строки userAgent.

Почему нам должно быть до этого дело?

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

Пейзаж вредоносной рекламы - это высокооктановая игра в кошки-мышки, в которой злоумышленникам необходимо действовать быстро, поскольку поставщики средств безопасности становятся более искусными в обнаружении. Для плохого актера каждое раскрытие полезной нагрузки - угроза продолжительности его кампании, особенно если это происходит в неправильной среде (например, в сканере).

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

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

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

Копия на этой странице зависит от устройства и в конечном итоге приведет к фактической установке вредоносного ПО.

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

  • Проверить, выполняется ли показ на правильном устройстве? (Android / IOS / рабочий стол)
  • Стоит ли нацелиться на новое устройство? (Доступны определенные API-интерфейсы браузера, которые были бы недоступны на старых устройствах.)
  • Насколько вероятно, что это действительно сканер? (например: API батареи показывает уровень заряда менее 100%)
  • Перенаправляли ли мы этого отдельного пользователя раньше? (Подробный отпечаток устройства с использованием объектов холста)
  • и т.д…

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

Куда мы отправимся отсюда?

К сожалению, нет простого и принудительного ответа, кроме как отключить весь Javascript. Хотя GDPR может помочь сохранить честность и без того честных людей, многие из этих методов отслеживания остаются незамеченными и не хранят данные в браузере пользователя, как это делают файлы cookie. Издателям необходимо и дальше мудро выбирать своих партнеров, иначе они рискуют подвергнуть своих посетителей злонамеренным действиям с помощью мошеннической рекламы. Конечно, блокировка в реальном времени Confiant всегда является мощным средством защиты от атак злонамеренной рекламы.