Мультиаккаунтинг у букмекеров: как ловить «фермы» игроков без истерик и ложных срабатываний

Мультиаккаунтинг у букмекеров: как ловить «фермы» игроков без истерик и ложных срабатываний

Мультиаккаунтинг — это когда один и тот же человек или целая «ферма» людей заводит много аккаунтов, чтобы выжать из букмекера максимум: приветственные бонусы, кэшбэк, вилки на акциях, повышенные лимиты для «новичков». Для оператора это выглядит как тихая утечка денег, а для команды антифрода — как вечная игра в догонялки. Ниже — практическое руководство, как системно ловить «фермы» без истерик и лишних банов, опираясь на графовые связи, поведение и частично совпадающие реквизиты.

Почему это бьёт по юнит-экономике

Скучный, но важный блок. Мультиаккаунтинг бьёт сразу по нескольким метрикам:

  • LTV и маржа: усреднённый игрок приносит меньше, потому что «фермы» съедают бонусы и играют плюсовые стратегии на коротком плече.
  • CPA и возврат маркетинга: платим как за новых, а получаем переодетых «старичков»; ROMI проседает.
  • Оборот и риск: в линиях и лайве появляется перекос на акционных маркетах и «вилках», растёт волатильность результата.

Переводя с финансового: без антифрода мы платим за клиента дважды, а иногда и трижды. И ещё дарим ему фрибеты. Не лучший бизнес-план.

Три кита детекта: граф, поведение, «частичные совпадения»

Хорошая новость: не обязательно изобретать философский камень. В реальности лучшие результаты даёт комбинация трёх подходов.

  1. Графовые связи. Строим граф «аккаунт — сущность» и смотрим кластеры. Сущности — это устройства, IP, подсети/ASN, карты, кошельки, адреса, номера телефонов, почты, cookie-идентификаторы, отпечатки TLS (например, JA3 ) и браузера. Аналитика — через NetworkX или Neo4j GDS: Connected Components, Louvain, Label Propagation, PageRank для «хабов».
  2. Поведенческие паттерны. Время жизни сессий, порядок действий (deposit → bonus → ставка → вывод), предпочтения по рынкам, «скорость клика», повторяемость маршрутов по интерфейсу, а также скорость «охоты на бонус». Всё это красиво ложится в профили и sequence-модели.
  3. Частично совпадающие реквизиты. Один и тот же дом, одинаковые улицы/подъезды, slightly различающиеся ФИО, однотипные почтовые домены, карты из одного пула BIN, кошельки из «семейства», номера в одной «десятке». Здесь рулит фазы-матчинг и «фаззи»-сходство строк, плюс нормализация адресов.

Сигналы, которые обычно срабатывают

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

  • Сетевые: общие публичные IP, подсети /24, автономные системы (ASN). Для маппинга помогает база MaxMind ASN . Резидентные прокси и мобильные прокси маскируются хуже, чем кажется: ищем «гребёнку» IP смен за короткие окна.
  • Устройства и клиенты: device fingerprint (аппаратные признаки, канвас, аудио), отпечатки TLS Handshake (тот же JA3 ), «редкие» комбинации шрифтов и плагинов. Не забываем о ротации браузеров — это тоже паттерн.
  • Идентификаторы: телефоны на «одноразовых» операторах, почты на свежих доменах, повторяющиеся delivery-адреса, «кусты» из карт одного BIN, криптокошельки с одинаковыми путями пополнения.
  • Поведение: сверхбыстрые последовательности действий, «скриптовая» навигация, ставки под акцию «в ноль», моментальные выводы после минимальных отыгрышей, одинаковые ошибочные клики.
  • Гео и время: логины из разных городов с разницей в минуты, «телепорты» между странами, а также синхронные ночные сессии «кластера».

Как собрать граф и не пожалеть

Граф — это не только «красивые кружочки». Он даёт три практические вещи: 1) кластеры мультиков; 2) ядра «ферм» (хабы); 3) мосты между группами.

  • Схема: вершины двух типов — «аккаунт» и «сущность». Рёбра: «использует устройство», «логинится с IP», «привязан к карте», «одинаковый адрес», «совпадает JA3» и т.д.
  • Выделение кластеров: Connected Components/Louvain. Считаем «плотность» кластера, долю бонусов, общий профит/убыток для оператора, долю акционных ставок.
  • Семантика ребра: не все связи равны. «Однажды совпавший IP» слабее, чем «совместно используемая карта». Вес ребра поднимает вес сигнала. Это важно для скоринга.
  • Инструменты: быстрый прототип — NetworkX . Прод — графовая БД и GDS-алгоритмы в Neo4j . Для продвинутых — графовые эмбеддинги и GNN в PyTorch Geometric .

Поведенческие модели: от правил к ML

Сначала достаточно правил. Потом — слабый надзор и аномалии. Затем — супервижн, где есть размеченные кейсы «ферм».

  1. Правила: «N аккаунтов за M минут с одного ASN», «большая доля ставок по бонусам у группы», «последовательность из 5 одинаковых шагов за T секунд». Прелесть правил — они объяснимы и быстро внедряются.
  2. Аномалии: Isolation Forest, One-Class SVM, PCA/Autoencoder. Хороши для поиска «вчера мы такого не видели». См. IsolationForest .
  3. Классика ML: когда накопили метки, используйте градиентный бустинг — XGBoost или LightGBM . Признаки: графовые (центральность, размер компоненты, доля «жёстких» связей), поведенческие (скорости, последовательности), реквизитные (фазы-совпадения), сетевые (ASN, подмассив IP, частота ротаций).

Частичные совпадения реквизитов: аккуратнее с родственниками

Реальная жизнь мешает идеальной теории. Родственники живут по одному адресу, делят Wi-Fi, иногда — карту. Поэтому «одинаковый адрес = бан» — путь к боли. Что делать:

  • Нормализуйте адреса и ФИО. Улицы, дом/корпус/кв., «Ё/Е», пробелы. Сравнивайте токенами и расстоянием Левенштейна, а не «в лоб».
  • Склейка по нескольким слабым признакам. Адрес + телефонный пул + близкие почты + общий IP-паттерн. Одного «слабого» совпадения мало.
  • Сценарии для близких: для «семейных» случаев вводим мягкие ограничения: лимиты бонусов на домохозяйство, ручной обзор для вывода, прозрачная коммуникация.

Device & network fingerprint: что реально работает

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

  • Отпечатки TLS/клиента. Комбинация версий, шифров, расширений (тот же JA3 ) плюс HTTP-заголовки создают «почерк» семейства ботов/браузеров.
  • Поведенческий отпечаток. Движение мыши, скролл, интервалы между кликами. Скрипт не идеален: микродрожание человеческой руки несимулировать массово.
  • Атрибуция прокси. Серые/белые списки ASN, аномальная ротация IP, «цепочки» логинов из одного пула мобильных прокси с одинаковым тайм-сигнатуром.
  • Браузерные метрики. Canvas/WebGL/audio, список шрифтов, плагины. Для старта подойдёт открытый FingerprintJS (как ориентир, не как серебряная пуля).

Риск-скоринг и пороги: чтобы не банить пол-сайта

Любая «фича» превращается в число, а числа — в риск. Дальше — простая математика и дисциплина:

  1. Соберите фичи. Категориальные (ASN, страна), непрерывные (скорости, доли), графовые (центральности, размеры компонент), бинарные (совпало/не совпало).
  2. Постройте скор. Либо ML-модель, либо взвешенная сумма с калибровкой по историческим кейсам.
  3. Введите три порога. Зелёный — пускаем; Серый — фрикшн (доппроверка, снижение лимитов, запрос документов); Красный — стоп операции, ручной обзор, KYC.
  4. Делайте A/B на порогах. Оптимизируйте по метрикам бизнеса: удержание честных, сэкономленные бонусы, снижение выплат «фермам».

Процесс и UX: жёсткость там, где она окупается

Антифрод — не про «запретить всем всё», а про правильный момент трения:

  • На входе: мягкий скоринг, SCA при аномалиях, одноразовые проверки при совпадениях слабых сигналов.
  • На бонусах: лимит «на домохозяйство», отложенная активация, отыгрыш с верификацией устройств.
  • На выводе: усиленный KYC/Liveness при красном риске, адресные запросы документов по «сильным» связям (карта, кошелёк, адрес).
  • Коммуникация: честно объясняйте правила и причины проверок. Чем прозрачнее — тем меньше скандалов и возвратов.

Метрики успеха: что смотреть каждую неделю

Ключевые метрики, которые помогают понять, что антифрод работает, а не мешает жить:

  • Доля бонусов, утилизированных «кластерами» из графа (↓ — хорошо).
  • Средний LTV честных игроков (↑ — цельная картина важнее мгновенной экономии).
  • FP-rate на выводах (низкий уровень ложных срабатываний = довольная поддержка).
  • Время обзора кейса и конверсия в подтверждённый мультиакк.
  • Доля «сгоревших» ферм, которые больше не возвращаются (ретеншн злоумышленника нам не нужен).

Мини-чек-лист внедрения

Если хочется «вчера», начните с этого списка. Он закрывает 80% пользы за 20% усилий:

  1. Соберите сырые логи логинов/регистраций/платежей и нормализуйте ключи (адреса, ФИО, телефоны, карты, e-mail).
  2. Включите базовую девайсную телеметрию и TLS/HTTP-отпечатки (см. JA3 ).
  3. Постройте двудольный граф «аккаунт — сущность» и посчитайте Connected Components (через NetworkX ).
  4. Сформируйте 10–15 правил для «жёстких» связей и поставьте фрикшн на выводах.
  5. Добавьте IsolationForest для поиска аномалий в поведении.
  6. Соберите первые метки (ручной разбор топ-кластеров) и натренируйте бустинг ( XGBoost / LightGBM ) с графовыми фичами.
  7. Настройте три порога риска и процесс эскалации (серый/красный), договоритесь с поддержкой и платежами.
  8. Запланируйте еженедельный разбор: что сработало, что стало «шумом», какие правила пора выкинуть.

Юридические и этические нюансы

Да, тут без бюрократии никак. Сбор и обработка данных должны соответствовать локальному праву и условиям оферты. Не собирайте лишнее «на всякий случай», объясняйте пользователям, зачем нужна проверка, и храните доказуемую историю решений (audit trail). Если сомневаетесь — загляните в рекомендации OWASP по борьбе с автоматизированными угрозами: пригодится для выработки внутренних политик.

Итоги: стратегия против «ферм», а не война с клиентами

Мультиаккаунтинг побеждается не «бан-хаммером», а системой: граф для связей, поведение для контекста, аккуратная работа с частичными совпадениями, и внятный риск-скоринг с понятными порогами. Плюс дисциплина в метриках и уважение к честным игрокам. Делайте жёсткость там, где она окупается, и вы заметите: бонусы перестанут «утекать», ROMI вернётся к жизни, а команда поддержки начнёт меньше ругаться и больше благодарить. Что, согласитесь, уже победа.

Бонус: таблица сигналов и «силы» связи

Сигнал Сила связи Комментарий
Общая карта/кошелёк Высокая Обычно требует немедленного фрикшна/верификации
Совпадающий адрес + телефонный пул Средняя Осторожнее: семьи и соседи. Нужны дополнительные признаки
Одинаковый JA3 + повторяющиеся паттерны кликов Средняя Хорошо для детекта «скриптовых» ферм на прокси
Общий публичный IP Низкая Общее Wi-Fi/офис/кафе. Слабый сигнал
Кластер в графе >= 5 аккаунтов Высокая Особенно если есть сильные рёбра (платёжные связки)
мультиаккаунтинг антифрод букмекер графовые связи поведенческая аналитика бонусный абьюз риск-скоринг KYC device fingerprint JA3 ASN Neo4j NetworkX
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

 Мифы о «гении в капюшоне» пора забыть.

Настоящий белый хакер — это план, методики и уважение к данным.

Николай Нечепуренков

Я – ваш цифровой телохранитель и гид по джунглям интернета. Устал видеть, как хорошие люди попадаются на уловки кибермошенников, поэтому решил действовать. Здесь я делюсь своими секретами безопасности без занудства и сложных терминов. Неважно, считаешь ты себя гуру технологий или только учишься включать компьютер – у меня найдутся советы для каждого. Моя миссия? Сделать цифровой мир безопаснее, а тебя – увереннее в сети.