Работа антифрода ч.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 - выбросите его. Это говно.