Как работают антифрод системы Facebook – доклад Тимура AEZAKMI с конференции Nutratech 2021


На конференции Nutratech Тимур AEZAKMI выступил с докладом «Facebook – открытая книга. Разбор антифрод системы FB, что именно и где палит Цукерберг» и рассказал о том, где и какие отпечатки собирает Facebook, какие работают антифрод системы и что нужно учитывать при работе с ним.

Промокод для AEZAKMI: CPARIP – скидка 15% на первый месяц, так же при регистрации будет 2 дня триала.

По словам Тимура, последнее время Facebook стал собирать гораздо меньше отпечатков, чем раньше. Зато сейчас пошёл сильный упор на поведенческий анализ. Особенно важно для антифрод систем, как пользователь ведёт себя на сторонних сайтах. Это фарминг аккаунта. Это то, как пользователь добавляет в друзья новых пользователей, на какие группы подписывается.

Сейчас Facebook по-разному собирает отпечатки на таких страницах, как ЗРД, страница регистрации пользователя. В основном, аккаунты отсеиваются ещё на этапе регистрации.

Canvas

Тимур последнее время встречал много вопросов про Canvas: как его подменять, что с ним делать и другие.

Однозначный ответ – сейчас его не стоит подменять, так как антифрод система негативно реагирует на уникальные значения Canvas.

Значение Canvas может быть уникальным только в случае, когда на ПК стоит какая-то новая видеокарта, ещё не исследованная или модифицированная. У изученных моделей видеокарт значение Canvas будет одинаковым. Поэтому уникальное значение негативно отразится на работе.

Часто с уникальным значением Canvas даже нельзя зарегистрироваться на некоторых платформах (Google или TikTok). Потому что антифрод система сразу помечает такой аккаунт, как фродовый.

Это происходит из-за того, что на такие сайты, как Facebook и Google, заходит огромное количество пользователей. Они уже знают хэш Canvas практически для всех популярных моделей видеокарт, и сопоставляют эти данные с данными видеокарты, с которой человек заходит на сайт.

Что касается MacBook и Canvas, здесь можно использовать идеальную связку. Нет смысла зашумлять Canvas при работе на устройствах Apple. Гораздо проще каждый раз создавать отпечаток с User Agent Макбука. Это прокатит из-за того, что на всех одинаковых моделях продукции Apple одинаковый Canvas.

Что касается Windows, тут только одно правило – не пытаться из-под Windows маскироваться под MacBook. Не получится получить значение Canvas, которое будет соответствовать значению Canvas на MacBook. Будет очевидно, что Canvas подменён.

Самое лучшее решение – использовать какую-либо популярную видеокарту и не подменять это значение.

Steam недавно исследовал список самых популярных видеокарт, которые стоят у пользователей.

Примечание: ссылка на актуальные данные Steam об оборудовании и ПО пользователей: https://store.steampowered.com/hwsurvey

Базовые отпечатки

Тимур рассказал об отпечатках, которые собираются в данный момент. В этом вопросе всегда стоит помнить о том, что всегда будут собираться данные, необходимые именно для отрисовки какого-то контента на сайте. Для определения ОС, TimeZone.

Эти данные зачастую собираются  с трех разных источников. Сайт сначала определяет IP-адрес и список актуальных для региона языков.

Дальше он обращается с помощью WebApi к браузеру, и оттуда уже собирает аналогичные значения: Timezone, языки, версии ОС и браузера. Также заголовок пакета отправляется из браузера на сетевом уровне к серверу сайта. Оттуда он тоже получает список языков и версию браузера.

Очень важно, чтобы эти данные всегда совпадали. Если, например, Timezone не совпадут с IP-адресом и браузером, или язык не совпадёт, сайт с большой долей вероятности посчитает, что это аккаунт злоумышленника и не пропустит дальше. Это происходит из-за того, что у подавляющего большинства пользователей эти данные совпадают друг с другом.

Что касается соответствия, есть ещё несколько параметров, которые всегда должны совпадать.

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

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

Вторым параметром является AudioHash и список медиаустройств (Navigator.MediaDevices), который сайт может получить через браузер. В списке медиаустройств обычно содержатся данные колонки, вебкамера, микрофона и так далее.

За счёт получения конкретного буфера определённых колонок, которые установлены, и снятия аудио хеша, антифрод система может сопоставить эти данные с данными, которые они получили с других компьютеров. При несовпадении этих параметров он также может посчитать аккаунт фродом.

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

Если используются старые версии Google Chrome, то нет новых версий шифрования. Facebook может запросить эти данные и увидеть, что данные зашифрованы старым методом шифрования. Он сразу поймёт, что используется старая версия браузера.

Шрифты

Самым сложным параметром, который зачастую вызывает проблемы, являются шрифты. 

Шрифты нужно обязательно подменять. На большинстве компьютеров установлено много шрифтов от разных программ. Например, если установлен какой-нибудь Microsoft Word или Microsoft Excel, на компьютере есть уникальные шрифты от Microsoft.

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

Самое сложное – не просто подменить список шрифтов, а сделать так, чтобы эти шрифты действительно были на компьютере. Дело в том, что за счёт строгой спецификации всех шрифтов сайт заранее знаёт, какой размер пикселей у ширины каждого символа, как он должен быть отрисован. Сайт может отрисовать этот шрифт заново и измерить расстояние между символами и понять, что шрифт подменён. Поэтому всегда стоит проверять, как выглядит шрифт, верно ли подменяются шрифты.

Сбор отпечатков на странице регистрации

Самая сложная страница в плане сбора отпечатков – это страница регистрации.

На странице регистрации сейчас Facebook получает весь список медиаустройств, собирает аудио хеш, канвас хэш. По сути, он собирает эти три параметра для того, чтобы понять, пытается ли компьютер подменить данные. Также сравнивает аудио хеш и медиадевайсы

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

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

Страница рекламной деятельности

На странице рекламной деятельности собирается меньше отпечатков.

Тут также сравнивается медиадевайсы и аудио хэш. Сравниваются метадата WebGL и параметры монитора. Собираются шрифты, снимается Canvas. Самое интересное – собираются речевые синтезаторы.

У каждой операционной системы, что у Windows, что у macOS, есть уникальный для каждой ОС список речевых синтезаторов. Любой сайт имеет к ним доступ, и с помощью одного из речевого синтезатора может перевести тот или иной текст. Facebook собирает весь список, по которому может определить операционную систему. При несоответствии операционной системы и доступных на компьютере пользователя речевых синтезаторов, Facebook делает соответствующие выводы.

Запуск рекламной кампании

Меньше всего отпечатков собирается на этапе запуска рекламной кампании.

Facebook в этот момент запрашивает количество оперативной памяти, доступной на компьютере, список шрифтов и проверяет Canvas на уникальность.

Поведенческий анализ

Большой упор Facebook делает на поведенческий анализ.

Алгоритм Deep Entity Classification

Их инженеры разработали систему Deep Entity Classification. Она анализирует социальные графы пользователей, которые регистрируются на Facebook. Очень сильно анализирует на то, с какими людьми пытаются установить социальные контакты тот или иной пользователь. Учитывает ещё культурные особенности для каждой конкретной локации.

Сперва Facebook анализирует частоту установления социальных связей. Дальше за счёт моделей, которая была обучена с помощью модераторов, знакомых с культурными особенностями той или иной локации, выставляет им соответствующую оценку.

Это всё делается в два этапа. По сути Facebook сначала анализирует первые 15 добавлений в друзья, затем в реальном времени отслеживает то, как человек ведёт себя при установлении каких-либо социальных связей.

У Facebook есть 20 000 отдельных точек данных для сбора. Важно то, что Facebook не может в реальном времени постоянно снимать эти данные. Использует их только в случае каких-либо подозрений. Если на первых этапах проверки ему было что-то не понятно.

Алгоритм SybilEdge

В 2019 году платформа внедрила алгоритм SybilEdge. Это антифрод система, чтобы определить, нужно ли заблокировать аккаунт. Использует в основном данные о том, как человек добавляет других пользователей в друзья.

У Facebook есть определённый набор параметров, которые соответствуют каким-то нормам: общие группы, одинаковый возраст, общие друзья и другие совпадения. Если таких совпадений нет, то антифрод система негативно реагирует на такой аккаунт, и начинает следить за ним.

Поэтому на этапе фарминга надо правильно добавлять запросы в друзья, подписываться на определённые группы, чтобы повысить рейтинг и не попасть на подозрения антифрод системы.

Ещё не стоит отправлять заявки в друзья тем пользователям, которые добавляют в друзья всех людей. Как правило, это аккаунты с количеством друзей от 2000-3000 человек. С высокой вероятностью, эти профили находятся под подозрением антифрод систем. Отправив заявку в друзья, можно увеличить шанс оказаться под пристальным вниманием антифрод системы.


Нравится? Расскажи друзьям!

0 Комментариев

X