Чтобы добавить в наши курсы по аналитики больших данных еще больше практически примеров, сегодня рассмотрим, как современные технологий Big Data помогают в реальном времени выявлять телекоммуникационные мошенничества. Почему для антифрод-задач особенно подходит Apache Flink с его потоковом движком обработки данных и за счет чего этот фреймворк такой быстрый.
Антифрод в реальном времени
Современные специалисты по информационной безопасности и правоохранительные органы выделяют следующие виды мошенничества в телекоммуникациях с применением ИТ:
- СМС-спам, когда обычные учетные записи телефонов используются для рассылки спама, что противоречит контракту телефонного оператора. Явным признаком такого мошенничества является подозрительное количество сообщений, приходящих с одного аккаунта, т.е. 1000 за 4 часа. Этот случай считается сложным из-за риска многих ложных срабатываний. Поэтому здесь часто применяется подсчет уникальных получателей таких сообщений, а не общего количества сообщений.
- Клонирование SIM-карты, включая подключение множества физических карт к сети в качестве одного номера. Выявить такое мошенничество может отслеживание местонахождения звонящего. Например, если результаты данных о местоположении звонившего показывают, что абонент переместился из Берлина в Париж за 10 минут, это явно указывает на мошенническое поведение.
- Незаконное использование голосовой IP-телефонии (VoIP), чтобы обойти высокие скорости межсоединения. Этот вид мошенничества сложно обнаружить, т.к. не просто отделить обычное и подозрительное использование и связать это с конкретным расположением установленных устройств.
Во всех этих и других случаях нелегитимного применения ИТ и телекоммуникаций важно как можно быстрее обнаруживать подозрительную активность и принять соответствующие меры. При борьбе с некоторыми видами мошенничества, такими как SMS-спам или незаконное использование чужого счета, каждая минута может привести к значительной потере денег. В таких обстоятельствах нужны упреждающие автоматические действия, такие как блокировка сервисов, снижение кредитного лимита или информирование ответственных лиц, а также самого реального абонента.
Обычно у мобильных операторов есть два способа борьбы с мошенничеством:
- простые кредитные лимиты в биллинговых системах, которые применяются в режиме реального времени;
- сложные модели и правила, применимые к хранилищам данных. Они обычно работают со значительной задержкой: от часа и более, что бывает слишком долго, когда речь идет о потере денег.
Таким образом, оба метода не позволяют полностью пресечь все незаконные операции и требуют дополнительные усилий от аналитиков и специалистов по безопасности, которые постоянно тестируют новые алгоритмы обнаружения мошенничества. Например, хотя стандартные лимиты на количество SMS-сообщений составляют около 100 в час, аналитик может обнаружить, что в конкретной стране происходит много мошенничества. И выдвигает гипотезу, что снижение лимита сообщений в этой конкретной области поможет снизить число незаконных случаев. Чтобы проверка таких гипотез выполнялась быстро, ее необходимо перевести из разработки программного кода в GUI-режим, когда аналитик может самостоятельно настраивать систему, развертывать новые правила и следить за их выполнением. Именно это сделала компания Nussknacker, реализовав графический интерфейс для заданий Apache Flink, который позволяет проектировать, тестировать и отслеживать процессы обработки данных в реальном времени. Далее рассмотрим, почему именно Flink выбран в качестве основного фреймворка потоковой обработки.
Потоковая природа Apache Flink: обработка данных в реальном времени
Для вычислений с отслеживанием состояния и без сохранения состояния для неограниченных и ограниченных данных Apache Flink представляет механизм распределенной потоковой обработки. Это позволяет оперативно получать ценную информацию из данных по мере их поступления и активно реагировать на изменения, как только данные создаются.
В отличие от Лямбда-архитектуры, которая синхронно сохраняет состояние процесса на диске, архитектура Kappa для хранения состояния использует хранилище в памяти. Чтение и запись в память выполняются намного быстрее, чем работа с диском. Однако, оперативная память является энергозависимой и очищается при сбое аппаратного узла. Чтобы не потерять данные о состоянии распределенного приложения, Flink периодически сохраняет их в долговременное хранилище асинхронным и инкрементным способом.
А благодаря концепции неограниченных наборов данных или потоков, у которых есть время начала, но нет конца, Flink поддерживает обработку в реальном времени, когда все входные данные считаются непрерывным потоком и обрабатываются сразу после их приема. Это обеспечивает миллисекундную задержку события от источника ввода до приемника вывода.
Таким образом, Flink представляет собой инфраструктуру обработки данных в реальном времени на базе Kappa-архитектуры через использование хранилища в памяти и механизма потоковых вычислений. Это дает Apache Flink следующие возможности:
- масштабируемость и пропускная способность, включая обработку 10 тысяч событий в секунду на 1 ядро. Поэтому даже небольшой кластер (2–3 узла) может обрабатывать 100 тысяч событий в секунду.
- очень низкая задержка обработки событий (менее 100 миллисекунд);
- широкие функции аналитической обработки, в т.ч. сложные агрегаты, например, временные окна, о которых мы недавно писали здесь.
Хотя Apache Flink чуть уступает в популярности движку Spark, он имеет множество сложных и зрелых развертываний по всему миру, включая крупные компании (Alibaba, Netflix, Uber и пр.). Flink также используется в финансовом секторе (ING и Capital One), а также в телекоммуникационных компаниях (Bouygues Telecom, Play и Ericsson). Обнаружение мошеннических операций очень важно для всех этих доменов, а потому Flink становится все более востребованным. Дополнительным преимуществом этого фреймворка для антифрод-задач является наличие развитой библиотеки машинного обучения FlinkML, что позволяет применить Machine Learning для фильтрации большего количества случаев, включая динамически изменяющиеся бизнес-правила и мониторинга качества обслуживания в режиме реального времени.
Освойте тонкости использования Apache Flink и Spark для потоковой обработки событий в распределенных приложениях аналитики больших данных на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:
- Потоковая обработка данных с помощью Apache Flink
- Потоковая обработка в Apache Spark
- Практическое применение Big Data Аналитики для решения бизнес-задач
Источники