Рассказываем об опыте внедрения систем потоковой аналитики для противодействия мошенничеству в крупных банках на платформе ПО SAS.
ПО SAS и мошенники
Практически любые финансовые операции проходят ряд автоматизированных проверок перед их проведением. Банки не скрывают этого. Это могут быть проверки внутренних порогов, установленных банком, либо, например, анализ, входит ли контрагент в списки высоко рискованных. От сложности алгоритма проверок банковских операций зависит процент выявляемого и предотвращаемого мошенничества, но одновременно с этим, возрастает и стоимость обработки каждой операции.
Экономическая эффективность и движет развитием технологий в области систем предотвращения мошенничества в реальном времени. На смену базам данных с периодически обрабатываемыми запросами приходят системы класса complex stream processing (CEP). Позволяющие производить быструю непрерывную пособытийную обработку потоков данных в оперативной памяти. И главное – выполнять сложные алгоритмы оценки, использующие аналитические модели вместо линейных правил.
После выбора подходящей CEP-системы перед ИТ-архитекторами встает задача встроить ее в текущий ландшафт. При этом ключевыми драйверами при выборе решений становятся отказоустойчивость и производительность системы.
Например, для систем анализа операций по картам необходимо поддержать работоспособность в режиме 24/7, а время на проверку одной операции не должно превышать 0.1-0.5 секунды. Результатом проверки является идентификатор операции и флаг, «понятный» для банковского процессинга как признак того, что операцию нужно провести, либо же ее заблокировать.
По сути, это автоматическое решение и команда для процессинговой системы. Такое решение может приниматься на основе правила (например, приостановить проведение операции, если ее атрибуты не соответствуют допустимым порогам) или с помощью аналитических алгоритмов (например, выполняется задача бинарной классификации на принадлежность операции к мошенническим, с помощью пакета XGBoost).
Мы рассмотрим общий подход к построению таких систем на базе решений SAS.
Основные функциональные элементы в процессе обработки операций в реальном времени это:
• Интеграционная шина данных (ESB), которая обеспечивает быструю передачу данных об операциях в систему проверки на потенциальное мошенничество.
• Интеграционный модуль, который организует процессы передачи данных между системами.
• Модуль потоковой обработки, где по каждой приходящей операции принимается решение, нужно ли ее проводить в банковском процессинге, либо приостановить и сгенерировать оповещение для соответствующих систем расследования.
Интеграционная шина
В качестве технологии передачи данных в реальном времени между системами Банка обычно выбирают распределенные брокеры сообщений. В SAS в большинстве случаев мы используем на проектах брокер сообщений Apache Kafka. Он поддерживает высокую пропускную скорость, горизонтально масштабируется и подходит для задач временного хранения данных, когда требуется отложить передачу данных, например, когда конкретный получатель не доступен в определенный момент времени.
Интеграционный модуль
Для управления потоками данных в интеграционном в модуле SAS Business Orchestration Services (ПО SAS BOSS) настраиваются правила (маршруты), обеспечивающие интеграцию между функциональными модулями системы.
Основные его задачи в процессе обработки банковских операций:
• Проверка и передача валидных данных в модуль потоковой обработки.
• Передача принятого решения по операции обратно в процессинг.
• Передача истории операций или других данных по внешнему запросу.
ПО SAS BOSS построен на базе интеграционного open-source фреймворка Apache Camel. На продуктивном контуре его службы запускаются в режиме кластера, для обеспечения отказоустойчивости текущих заданий.
Модуль потоковой обработки
Для потоковой обработки используется решение SAS Event Stream Processing (ESP). В нем настраиваются сами правила проверки операций, по результату которых из всего потока выделяются мошеннические операции и по ним отдаются команды на приостановку проведения в банковский процессинг. На каждое входное событие SAS ESP выполняет необходимые проверки, в том числе поиск аномального поведения с помощью алгоритмов машинного обучения.
В ряде случаев SAS рекомендует разделять на разные проекты ESP вычисление показателей для аналитики и непосредственно выполнение правил или скоринга моделей. Проекты первого типа часто хранят длинные (за много дней) агрегаты в оперативной памяти, которые, в отличие от правил и моделей, не подвержены частым изменениям в логике расчетов.
Для обеспечения высокой доступности решение кластеризуется на 3 и больше экземпляров. Запатентованный механизм SAS ESP N+1 Failover позволяет обеспечить мгновенное переключение в случае сбоя одного из узлов, гарантируя при этом, что ни одно входное событие не будет потеряно.
Сопровождение системы
Одним из важных вопросов для системы потоковой обработки в реальном времени является горячий запуск новых релизов правил (без остановки продуктивной системы). Компонент SAS Event Stream Manager позволяет автоматизировать процесс переноса версий правил из среды разработки (SAS ESP Studio) с сервера тестирования на продуктивый кластер.
Версии правил, помеченные в среде тестирования как готовые к публикации, отправляются сначала на неактивный узел кластера SAS ESP. Там они проходят проверку на корректность работы на уже реальном потоке данных, и в случае успеха последовательно распространяются на остальные узлы кластера. SAS ESM отслеживает статусы выполнения и потребляемые ресурсы. По настраиваемой логике можно предусмотреть автоматизированное понижение версии правил, в случае не соблюдения заданных условий.
Развитие решения
Данный подход к построению системы кросс-канального антифрода и AML зарекомендовал себя в ряде крупных банках России и Европы. Мы можем масштабировать систему, обеспечивая вместе с тем соответствие самым высоким требованиям по производительности и доступности. Интеграционный компонент SAS BOSS имеет готовые интерфейсы для подключения ко всем распространенным системам и позволяет в кратчайшие сроки встроить решение в текущий ИТ-ландшафт. А для разработчика правил SAS ESP предоставляет гибкий конструктор и поддерживает все актуальные алгоритмы машинного обучения, в том числе интеграцию с open-source (Python, C, PMML и др.)
Начиная с текущей версии, SAS ESP 6.2 поддерживает контейнеризацию – ESP-Kube. Компоненты SAS ESP разворачиваются в мульти-тенантной архитектуре, используя все возможности Kubernates по организации процессов развертывания в контейнерах. Притом архитектура не зависит от базовой платформы. Это означает, что архитектура может быть реализована в любой общедоступной облачной среде, такой как Amazon AWS, Microsoft Azure, Google Compute Engine, OpenStack и др., в частном облаке или локально.
Фото: Firestock.
Текст: Андрей Матвеенко, эксперт по внедрению антифрода (отдел консалтинга) SAS Россия/СНГ.