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


Понедельник, 9:15 утра. В очереди алертов - 47 сработок за ночь. 43 из них - false positive на легитимных клиентах, которые платили за отели и такси в командировках. Четыре оставшихся - настоящий кардинг: один device fingerprint, 12 карт от разных эмитентов, суммы от 990 до 4 900 рублей с интервалом 30-40 секунд. Ущерб по транзакциям - 38 тысяч рублей. Но 12 chargeback-кейсов, которые потянутся следом, обойдутся банку втрое дороже самого фрода. Этот разбор - про то, как выстраивать правила, которые ловят такие паттерны до того, как они превращаются в убытки и оборотные штрафы.

Бизнес-логика фрода: что стоит за аномальной транзакцией​

Прежде чем разбирать конкретные признаки фрода в платежах, разберёмся с мотивацией атакующего. Транзакционный фрод - не случайность, а выстроенная цепочка: получение карточных данных (фишинг, утечки, скимминг) → проверка валидности карт через микроплатежи → обналичивание через серию покупок или переводов → вывод средств. Подробнее - в нашем подробном разборе кибербезопасность банков.

Масштаб - конкретный. По данным AFP Payments Fraud and Control Survey, мошеннические действия затрагивают около 80% организаций ежегодно. По оценкам Juniper Research, совокупные потери от онлайн-фрода в платежах между 2023 и 2028 годами могут составить порядка 362 миллиардов долларов. А утечки данных финтех-компаний только подливают масла: в марте 2026 года колумбийский финтех Addi допустил утечку данных 34,5 миллионов пользователей, включая кредитные скоры и государственные идентификаторы (по данным Have I Been Pwned). Утечка кредитных скоров - готовый инструмент для целевого мошенничества. Атакующий заранее знает платёжеспособность жертвы и подбирает сценарий атаки под конкретный кошелёк.

Финансовый контекст для банка: chargeback по правилам Visa и Mastercard несёт прямые издержки - сумма транзакции, комиссия за диспут (от 20 до 100 долларов за кейс), плюс репутационные потери. Если chargeback ratio мерчанта превышает пороги (Visa VAMP с 2025 года: 0,5% - early warning, 0,9% - excessive; Mastercard ECP: 1–1,5%), платёжная система вводит мониторинговую программу со штрафами. Для эквайера это десятки тысяч долларов ежемесячно ещё до учёта регуляторных рисков. Антифрод аналитика транзакций - это не задача «для безопасников», а бизнес-функция с прямым влиянием на P&L.

Отдельная история - инсайдерский фрод. Сотрудник с доступом к процессингу или CRM может создавать фиктивные возвраты, одобрять подозрительные транзакции или сливать карточные данные. Паттерн здесь другой: аномалии привязаны не к карте или устройству клиента, а к оператору - нетипичное время работы, массовые одобрения в обход скоринга, refund-операции без предшествующей покупки. Антифрод-система, которая смотрит только на клиентскую сторону и игнорирует поведение операторов, слепа к целому классу угроз. А именно этот класс чаще всего обнаруживают постфактум - когда ущерб уже шестизначный.

Признаки фрод-паттернов в транзакциях​

Velocity-аномалии и массовый перебор карт​

Velocity - самый «громкий» признак. Атакующий проверяет пачку карт: серия транзакций с одного устройства или IP, минимальный интервал, перебор сумм или мерчантов. Что фиксировать в антифрод-системе:
  • Количество транзакций с одного card_hash за фиксированное окно (5 минут, 1 час, 24 часа)
  • Количество уникальных карт с одного device_id за тот же период
  • Распределение сумм: если разброс подозрительно узкий (все транзакции в диапазоне 900-1000 рублей - классическая «проверка лимита»), или наоборот - чередование микроплатежей (10-50 рублей) с крупными суммами
  • Интервал между транзакциями: человек физически не может оформить покупку быстрее 15-20 секунд. Интервал менее 10 секунд - признак автоматизации, тут даже думать нечего
Velocity-правила - первая линия обороны, но в чистом виде дают много ложных срабатываний. Корпоративная карта, которой бухгалтерия оплачивает 15 подписок подряд, будет выглядеть как кардинг. Поэтому velocity работает как один из сигналов в скоринговой модели, а не как единственный триггер блокировки. Об этом ниже.

Геолокационные несоответствия и смена device fingerprint​

Геолокационный сигнал - сравнение трёх параметров: страна/регион IP-адреса, страна BIN карты (первые 6-8 цифр определяют эмитента) и страна мерчанта. Если IP указывает на одну юрисдикцию, BIN - на другую, а мерчант - на третью, скоринговый балл должен вырасти.

Но ещё сильнее сигнал - смена device fingerprint прямо перед крупной транзакцией. Типичный паттерн account takeover: злоумышленник получает доступ к учётной записи (через утечку пароля, SIM-swap или фишинг), входит с нового устройства и сразу инициирует перевод. Нормальный клиент меняет устройство раз в 1-2 года; если device_id впервые появился менее 24 часов назад, а сумма транзакции превышает средний чек клиента в 3+ раза - это красный флаг.

Тут уместен контекст OWASP A07:2021 (Identification and Authentication Failures): слабая аутентификация и отсутствие привязки сессии к устройству делают account takeover тривиальным. А OWASP A09:2021 (Security Logging and Monitoring Failures) объясняет, почему многие организации не замечают такие инциденты: события аутентификации и смены устройства просто не логируются на уровне, достаточном для корреляции. Логи есть, а корреляции - нет.

Поведенческий анализ платежей: отклонения от baseline

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

Конкретные поведенческие отклонения, которые стоит отслеживать:
  • Транзакция в 03:00, если клиент за последние 6 месяцев ни разу не платил между 00:00 и 06:00
  • Первая покупка в категории «электроника» на сумму выше 50 000 рублей у клиента, который обычно тратит на продукты и транспорт
  • Резкий рост числа транзакций: средняя частота - 2-3 в день, внезапно - 15+ за час
  • Серия покупок gift-карт - классика обналичивания после account takeover. Если видите три gift-карты подряд с нового устройства - можно даже не считать скор
Baseline строится на исторических данных за 30-90 дней. Без baseline любое скоринговое правило будет или слишком грубым (много false positive), или слишком мягким (пропуск реального фрода). Золотой середины без данных не бывает.

Скоринговые правила антифрод: от статики к весовой модели​

Статические правила фильтрации транзакций​

Статическое правило - базовый if/then: если условие выполнено, действие срабатывает безусловно. По данным SEON, исторически первые статические правила были привязаны к IP-адресам: IP в чёрном списке - транзакция блокируется. Другой пример: страна BIN карты не совпадает со страной IP - блок.

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

Поэтому статические правила в зрелой антифрод-системе используются только для абсолютных блокировок: карта из sanctions-списка, IP с confirmed fraud history, BIN из заблокированного диапазона. Всё остальное - через скоринг.

Антифрод скоринг с порогами и весами​

Скоринговая модель присваивает каждому признаку вес, суммирует баллы и принимает решение на основе пороговых значений. Это ядро fraud scoring model. Пример таблицы решений:

ПризнакУсловиеБаллы
VelocityБолее 5 транзакций за час с одного card_hash+15
Geo mismatchСтрана IP не совпадает со страной BIN+20
Новое устройствоdevice_id впервые замечен менее 24 ч назад + сумма выше 10 000 руб.+25
Тестовый паттернСумма оканчивается на 990 или равна 1 руб. (микроплатёж-проверка)+10
Ночная аномалияТранзакция 02:00-05:00 + клиент не имеет ночной истории+10
Новый мерчантПервая покупка у мерчанта в категории «электроника/ювелирные»+10
Email-возрастEmail создан менее 7 дней назад+15

Пороговые значения (пример для e-commerce):
  • 0-20 баллов → APPROVE (автоматическое одобрение)
  • 21-50 баллов → REVIEW (ручная проверка аналитиком)
  • 51+ баллов → DECLINE (автоматический отказ)
Пороги - не константа. Их калибруют ежемесячно по двум метрикам: false positive rate (FPR) и fraud detection rate (FDR). Сдвинули порог DECLINE с 51 до 40 - поймали больше фрода, но заблокировали больше легитимных клиентов. Сдвинули обратно на 60 - клиенты довольны, но пропустили три кардинг-серии. Баланс ищется итерационно, на исторических данных. Универсального порога не существует - у каждого процессинга свой профиль трафика.

Velocity check антифрод: продвинутый уровень правил​

Velocity check - это не просто «посчитать транзакции за час». Зрелый velocity-подход оценивает динамику поведения: рост объёма трат на 200%+ за 24 часа, увеличение количества уникальных мерчантов в 5 раз по сравнению с baseline, резкая смена географии транзакций.

По данным SEON и Focal AI, velocity-правила особенно эффективны в двух сценариях: противодействие account takeover (когда атакующий пытается вывести максимум средств за минимальное время) и AML-мониторинг (когда движение средств распределяется по множеству получателей для обхода порогов отчётности). В обоих случаях ключевое - скорость изменений относительно baseline, а не абсолютные числа.

Обнаружение мошенничества в транзакциях: пишем velocity check на SQL​

📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме

Здесь rolling_cnt - скользящее количество транзакций по устройству. Если устройство набирает 5 и более транзакций подряд с geo-несоответствием (запрос считает rolling count только среди транзакций, прошедших фильтр bin_country != ip_country), это сильный сигнал для перевода в REVIEW или DECLINE. Чтобы считать окно по всем транзакциям устройства и затем фильтровать по geo-mismatch, вынесите оконную функцию в CTE/подзапрос.

На практике эти запросы не запускаются вручную. Они встраиваются в pipeline антифрод-системы - будь то FICO Falcon, Featurespace, самописный движок или даже SIEM с транзакционными логами. Задача аналитика - написать правило, протестировать его на исторических данных (сколько легитимных транзакций оно бы заблокировало за прошлый месяц), откалибровать пороги и запустить в продуктив. Без бэктеста на реальных данных - ни одно правило в прод не идёт.

Чеклист detection-правил для антифрод-системы​

Готовый набор правил корреляции, который можно адаптировать под конкретный процессинг:
  1. Velocity по карте: более N транзакций с одного card_hash за M минут → повышение скора на 15 (начните с N=5, M=60, калибруйте по FPR)
  2. Velocity по устройству: более 3 уникальных карт с одного device_id за час → скор +20 и алерт аналитику
  3. Geo-несоответствие: страна IP отличается от страны BIN и от страны мерчанта → скор +20
  4. Смена устройства: новый device_id (first_seen менее 24 ч) + сумма выше 3x от среднего чека клиента → скор +25
  5. Тестовые микроплатежи: транзакция менее 100 руб., за которой в течение 30 минут следует транзакция более 5 000 руб. с того же card_hash → скор +30
  6. Ночная аномалия: транзакция в 02:00-05:00 от клиента без ночной истории за 90 дней → скор +10
  7. BIN-концентрация: более 5 карт из одного BIN-диапазона (первые 6 цифр) на одном устройстве за сутки → скор +15
  8. Refund-паттерн: более 3 возвратов за 7 дней при общем количестве покупок менее 5 → скор +20 + проверка оператора, оформившего возврат
  9. Email-возраст: регистрация email менее 7 дней назад + первая транзакция выше 10 000 руб. → скор +15
  10. Автоматизация: время от авторизации в личном кабинете до платежа менее 30 секунд → скор +10 (признак скриптового перебора)
  11. Инсайдерский паттерн: оператор оформляет более 10 refund-операций за смену при среднем показателе по отделу менее 3 → алерт руководителю и заморозка учётной записи оператора
Каждое правило из этого чеклиста требует калибровки на реальных данных конкретного банка или платёжного сервиса. Веса и пороги здесь - отправная точка, не финальные значения. Первый месяц после внедрения нового правила - обязательный ручной контроль срабатываний. Без этого вы не узнаете, ловит правило фрод или терроризирует бухгалтерию.

Баланс между FPR и пропуском фрода​

Главная ошибка начинающего антифрод-аналитика - оптимизация только fraud detection rate без оглядки на false positive rate. Поймать 99% фрода несложно: заблокируйте все транзакции свыше 1 000 рублей с новых устройств. Fraud detection будет отличным. Бизнес при этом умрёт.

Правильная метрика - precision-recall trade-off на конкретных данных. Для каждого нового правила считаете: сколько мошеннических транзакций оно поймало бы за последние 30 дней (recall) и сколько легитимных заблокировало бы (1 - precision). Если правило ловит 50 мошеннических транзакций на 2 000 руб. каждая (100 000 руб. предотвращённых потерь), но блокирует 500 легитимных на 5 000 руб. каждая (2 500 000 руб. потерянной выручки) - правило убыточно. Арифметика жестокая, но без неё антифрод превращается в антибизнес.

На практике зрелые антифрод-системы работают в три полосы: автоматическое одобрение (зелёная), ручная проверка (жёлтая) и автоматический отказ (красная). Жёлтая полоса - буфер, который позволяет не терять клиентов при высокой неопределённости. Чем точнее скоринговая модель, тем уже жёлтая полоса и тем меньше нагрузка на команду ручного разбора.

За полтора года работы с транзакционными данными в процессинге я убедился в одном: главная проблема антифрод-аналитики - не технологии и не алгоритмы, а отсутствие системного подхода к калибровке правил. Команды внедряют десятки правил, но не пересматривают пороги месяцами. Фрод-паттерны меняются за недели: атакующие адаптируют суммы, тайминги, BIN-диапазоны. Правило, которое ловило кардинг в январе, к марту генерирует только false positive - а реальный фрод идёт по новому вектору, который никто не отслеживает. Я видел это не раз: красивая дашборда, 47 правил, ноль пересмотров за квартал.

Вторая неудобная правда - ML-модели не заменяют ручные правила, а дополняют их. Большинство антифрод-вендоров продают «AI-решение», но на практике базовые rule-based проверки по-прежнему тянут на себе значительную долю детекций. ML добавляет ценность там, где паттерн слишком сложен для формализации в if/then-логику: нетипичные поведенческие цепочки, новые схемы мультиаккаунтинга, адаптивные атаки. Без фундамента из хорошо откалиброванных скоринговых правил даже лучшая ML-модель будет работать на зашумлённых данных и давать мусорные предсказания. Сначала - правила, потом - модель. Не наоборот.

Если думаете о том, как системно пройти путь от первого SQL-запроса к транзакционным логам до построения полноценной скоринговой модели на банковских кейсах - курс «Антифрод-аналитик» на Codeby Academy закрывает эту задачу за 4 месяца с разбором реальных схем мошенничества и персональной проверкой заданий практикующими аналитиками.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →

Популярный контент

🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab