VK Tech 26 ноября 2024

Какие факторы стоит учесть при выстраивании антифрод-системы в банке

Фрод — любые мошеннические операции, зачастую направленные на получение выгоды или причинение вреда потенциальной жертве

Александр Виноградов
Директор направления сервисов по работе с данными в VK Data Platform и VK Cloud

Директор по развитию бизнеса VK Tech

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

Например, в банковской сфере антифрод может быть сфокусирован на выявлении и блокировании:

  • подозрительных транзакций;
  • действий в приложениях и банкоматах, выходящих за рамки привычных паттернов;
  • нетипичной активности.

Почему антифрод-системе важно принимать решения в реальном времени

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

  • Большой поток записей. Нередко антифрод-системы вынуждены обрабатывать тысячи записей в секунду, а на пиках — десятки тысяч записей.
  • Необходимость апдейтов. Банковские операции могут изменяться по последствиям. Например, когда по одной и той же транзакции сначала списывается проверочная сумма, а только после — весь платеж. Соответственно, антифрод-система должна уметь отличать легитимные операции от мошенничества и иметь возможность изменять уже сохраненные данные. 
  • Высокие требования ко времени ответа. Для пользователей банковских продуктов важно, чтобы результат по операции был доступен в течение нескольких секунд — например, чтобы на кассе не пришлось долго задерживаться в ожидании подтверждения покупки. Но со стороны антифрод-системы это значит, что за эти несколько секунд надо успеть выполнить все проверки на наличие признаков фрода.
  • Сложность и количество правил. За выделенное время система должна обработать множество правил разной сложности: оценить разные счетчики, сопоставить данные, сегментировать их по категориям и выполнить еще сотни (а иногда и больше) аналитических действий. 

С какими вызовами приходится работать при построении антифрод-системы

Расскажем, как команда Tarantool из VK Tech справлялась с вызовами при реализации антифрод-системы для одного из наших клиентов — крупного банка. 

  • Для обработки большого потока записей важно использовать преимущества транзакционных БД, а именно — запись в строчный буфер. То есть система должна быть адаптирована под запись. Вместе с тем запросы для обработки имеют аналитический характер, а для таких запросов колоночный формат хранения подходит лучше строчного. Итого: для хранения нужна транзакционная система, способная быстро совершать сложные запросы. То есть HTAP-система, способная выполнять гибридную транзакционно-аналитическую обработку данных.
  • Есть необходимость совершать апдейты. Для этого нужен соответствующий движок. При этом классические решения под сложные аналитические запросы используют колоночные хранилища, которые плохо справляются с большим потоком записей и апдейты не поддерживают. В итоге для закрытия этой потребности мы написали собственный движок. 
  • Для обеспечения высоких скоростей ответа на запросы было однозначно решено хранить данные в памяти. То есть, требовалось именно in-memory хранилище.
  • В ответ на сложность правил надо было также предусмотреть возможность быстрого получения данных и их оперативную обработку. Поэтому вычисление правил мы также решили перенести ближе к данным — в оперативную память (in-memory compute). Это позволяет быстро обсчитывать правила и считать состояние непосредственно рядом с данными, уменьшая влияние сети на время выполнения запросов. 
  • Чтобы эффективно работать с большим количеством правил, мы решили организовать колоночное хранение. Это важно, поскольку правила транзакций обычно достаточно широкие, но расчеты задействуют всего несколько отдельных колонок. Более того, это дает возможность работать с заготовленными выражениями (prepared statements), чтобы сокращать время на вычисления.

Как антифрод, работающий в реальном времени, поможет банкам 

Для реализации банковской антифрод-системы мы использовали in-memory колоночную СУБД для транзакционно-аналитической обработки данных в реальном времени Tarantool Column Store. 

Помимо ответа на исходные вызовы, клиент получил:

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

Антифрод-системы, работающие с данными в реальном времени, помогают банкам исключать доступ злоумышленников к деньгам клиентов, блокировать утечки данных, не допускать выдачу кредитов мошенникам.