December 17, 2020

Работа антифрода ч.2

Мир глазами антифрода. Часть 2

Еб**ны и отпечатки браузера

Как формируются отпечатки браузера?

Отпечатки нашего браузера это не какая-то функция, заложенная разработчиками, и это не скрытая возможность или что-то в этом роде, отпечатков браузера в браузере НЕ СУЩЕСТВУЕТ!

Все что мы привыкли видеть на сайтах чекерах и воспринимаем это как отпечатки на самом деле всего лишь плод фантазии разработчика и ничего более. Давайте рассмотрим более детально:

У каждого браузера есть основа, фундамент – это ОС и железо, по сути просто наш ПК.

Для того чтобы пользователю было удобно работать – браузер передает сайтам информацию о себе и о ПК и даже не только для того, чтобы удобнее было пользоваться, а для того чтобы защититься от «Ебланов». Ведь по сути 90% пользователей полные ебланы.

Например:

1. UserAgent

Вы ищите себе программу, любую какую угодно программу и переходите на сайт. Перед вами 4 ссылки – Windows7x32 / Windows 10x64 / MacOS / FreeBsd

И хоть для всех, кто читает эту статью выбор очевиден, но большинство пользователей не смогут решить эту задачу самостоятельно и будут пытаться ставить .dmg в Windows и т.д. Им нужна помощь, поэтому браузер видит вашу ОС и передаст данные о ней сайту – который автоматом выдаст необходимую ссылку и все будут счастливы. Делает ли браузер что то плохое в данном случае? Нет…

2. Canvas

Технология Canvas применяется для отрисовки визуальных элементов веб-страниц. До 2006 года при веб серфинге для отображения веб-страницы сервер должен был передать на наш ПК визуальные элементы сайта – графику, таблицы и т.д., что сильно загружало канал связи (вспомните скорости того времени) или мы должны были пользоваться Macromedia Flash, чтобы просмотреть видео, или поиграть в простейшие игры. Но потом пришел Canvas, который основан на JavaScript и теперь сайт не передает готовые элементы, а просто показывает нам текст скрипта, который выполняется не на сервере, а НА НАШЕМ ПК с помощью нашего браузера и нашего железа. Скорость повысилась, нагрузка на сервера снизилась, возможности расширились. Делает ли браузер что то плохое в данном случае? Нет…

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

Ну и где тут наши отпечатки тогда? А отпечатки являются всего лишь производными, иными словами побочным продуктом обработки события.

Пример отпечатка Canvas:

1. Пользователь посещает сайт

2. Сайт передает на ПК пользователя javascript по которому браузер пользователя автоматически отрисовывает картинку с заданными элементами, накладывает эффекты и тени (эта картинка может быть даже скрытой от глаз пользователя). Формат картинки – PNG и для формирования картинки PNG используется библиотека нашей операционной системы под названием libpng, которая представляет изображение в тех уровнях – IHDR, IDAT, IEND (кстати в IHDR можно прямым текстом подписать кто и на каком ПК это изображение обработал).

3. Вся картинка состоит из пикселей, а внутри пикселя есть цветность и прозрачность, поэтому картинка сериализуется в байтовый массив.

4. Байтовый массив кодируется в формат base64 и передаётся на сайт

5. Сайт применяет технологию хэширования или не применяет (зависит от разработчика) и получает наш псевдоуникальный отпечаток Canvas – вот он, наш отпечаток!

Что же такое уникальность отпечатка и чем она так важна?

Многие знают сайт: https://browserleaks.com/canvas

И наверняка всех интересует – почему с реального ПК сайт определяет мою операционную систему, а с антидетекта – нет и показывает 100% уникальности.

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

Ресурсы с миллионами посещений в день могут простейшим образом собирать внутреннюю статистику и сопоставить, что ваш уникальный отпечаток не использовался никем из 100 000 000 пользователей за последний год. К чему это вас приведет? А приведет это вас к эффекту страуса – когда голова в песке (я же чекал все на браузерликсе у меня все огонь!), но задница ваша будет снаружи и выделит вас из толпы всех остальных страусов, потому что польза 100% уникальности отпечатка - такой же миф как и миф про голову страуса в песке.

Но помимо того, что отпечаток выделит вас из толпы остальных пользователей, он еще и навредит остальным вашим отпечаткам…

Знаете почему антидетекты умирают?

Давайте представим себе девственно чистую платежную систему и кардера.

Заходит кардер в эту систему со своего реального ПК (не забываем про ебланов) и ворует деньги. Система ему разрешит, но затем проведет работу над ошибками и поймет, что юзер с такими отпечатками мошенник и второй раз ему уже не даст украсть деньги.

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

UserAgent valid check:

1. HTTP Header – Chrome

2. Browser signature – Chrome

3. DynamicCompressor – Chrome

4. Mime Types – Chrome

5. ClientRect – Chrome

6. Canvas – UNKNOWN

И разобрав кражи которые происходили, система сделает вывод что при использовании уникального канваса и не возможности сопоставить его с версией ОС – необходимо всем юзерам с такими данными вводить ограничение SECURITY MEASURE.

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

Примеры самостоятельного внедрения алгоритмов защиты основываются только на анализе произошедших действий и лишь потом внедряются как механизмы фронтальной защиты в системах основанных на архитектуре DGA - Dedicated Group Analysis (о ней говорилось в первой части).

Однако системы антифрода имеют еще несколько тузов в рукаве, один из них называется Fuzzy Hash или фази хэширование.

Приведу пример:

Иванов Иван Иванович 1950 Москва ул.Нахимовцев 29, кв. 31 +79260014589

преобразуется в хэш:

ICAgMTk1MCAgLiAyOSwgLiAzMSArNzkyNjAwMTQ1ODk=

Вот точно так-же и преобразуются наши отпечатки – в один единый хэш. А что произойдет если Иванов Иван Иванович сменит номер телефона?

Например:

Иванов Иван Иванович 1950 Москва ул.Нахимовцев 29, кв. 31 +79260014588

преобразуется в хэш:

ICAgMTk1MCAgLiAyOSwgLiAzMSArNzkyNjAwMTQ1ODkKCg==

Поменяв всего 1 цифру в номере телефона мы имеем уже новый хэш и новую личность, но изменилась ли суть Иванова Иван Ивановича? Нет, не изменилась. Как быть в таком случае?

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

Простым языком – если Иванов Иван Иванович сменит телефон или город, улицу или квартиру - мы все равно его узнаем. Точно так-же и поступают антифрод системы, собрав о вас информацию и сравнив ее с уже имеющейся. Это является прекрасным механизмом вычисления кардеров, мошенников и т.д., которые используя антидетект, могут «обойти» разве что защиту сайта Browserleaks.

Простыми словами, если ваш антидетект выдает уникальные отпечатки, например, Canvas - выбросите его. Это говно.