Графовые алгоритмы в антифрод-системах: принципы работы и применение

Cloned Boy

Professional
Messages
858
Reaction score
695
Points
93
Образовательный разбор для понимания защиты от мошенничества.

1. Что такое графовые алгоритмы?​

Графы — это структуры данных, состоящие из узлов (объектов) и рёбер (связей между ними). В антифроде они используются для выявления сложных схем мошенничества, которые нельзя обнаружить при анализе отдельных транзакций.

Примеры сущностей в графе:
  • Узлы: Пользователи, карты, IP-адреса, устройства.
  • Рёбра: Совместные транзакции, общие данные, логины с одного устройства.

2. Как графы помогают выявлять мошенничество?​

2.1. Обнаружение связанных аккаунтов​

Проблема: Мошенники создают множество аккаунтов, используя одни и те же данные.
Решение:
  • Граф связывает аккаунты по:
    • Общим номерам карт (Карта 123 → Аккаунт A, Аккаунт B).
    • Одинаковым устройствам (iPhone X → Аккаунт C, Аккаунт D).
  • Если обнаружена связь между "чистым" и мошенническим аккаунтом, все связанные узлы помечаются как рискованные.
Пример:
Диаграмма:
1.jpg


Code:
graph LR
A[Аккаунт 1] -->|Карта 123| B[Магазин X]
A -->|IP 8.8.8.8| C[Аккаунт 2]
C -->|Карта 456| D[Магазин Y]
Здесь Аккаунт 1 и Аккаунт 2 связаны через IP → возможна мультиаккаунтовая атака.

2.2. Выявление "мультяшек" (Sybil-атак)​

Проблема: Один человек создает десятки фейковых профилей.
Решение:
  • Анализ поведенческих паттернов:
    • Одинаковое время операций.
    • Совпадение цифровых отпечатков (браузер, OS).
  • Граф группирует подозрительные аккаунты в кластеры.
Алгоритм: Louvain Community Detection (выделяет группы тесно связанных узлов).

2.3. Поиск денежных потоков​

Проблема: Мошенники переводят деньги через цепочку аккаунтов ("money muling").
Решение:
  • Граф строит пути транзакций:
    • Аккаунт A → Аккаунт B → Аккаунт C → Обналичивание.
  • Выявляет аномалии:
    • Быстрые переводы между новыми аккаунтами.
    • Кольцевые схемы (A → B → C → A).
Пример:
Диаграмма:
2.jpg


Code:
graph LR
A[Карта 111] -->|$500| B[Карта 222]
B -->|$500| C[Карта 333]
C -->|$500| D[Криптобиржа]

3. Ключевые алгоритмы в антифроде​

3.1. PageRank​

  • Цель: Оценить "важность" узла (например, карты или IP).
  • Применение:
    • Карта, использованная в 50+ аккаунтах, получает высокий вес → блокировка.

3.2. Label Propagation​

  • Цель: Разметить узлы как "мошеннические" или "легитимные" на основе связей.
  • Пример: Если 90% соседей узла помечены как фрод, он тоже считается подозрительным.

3.3. Graph Neural Networks (GNN)​

  • Цель: Предсказать новые мошеннические схемы на основе исторических данных.
  • Плюсы: Может находить скрытые связи (например, общие поведенческие паттерны).

4. Реальные кейсы применения​

4.1. Банковские переводы​

  • Задача: Обнаружить "мулов" (людей, переводящих деньги для мошенников).
  • Решение: Граф ищет цепочки: Жертва → Мул → Криптобиржа.

4.2. Электронная коммерция​

  • Задача: Найти магазины-однодневки, связанные с фродом.
  • Решение: Граф связывает магазины по общим владельцам карт/IP.

5. Ограничения графовых методов​

  • Ложные срабатывания: Иногда связь между узлами случайна (например, общественный Wi-Fi).
  • Ресурсоёмкость: Для больших графов (миллионы узлов) нужны мощные серверы.

6. Инструменты для анализа​

  • Neo4j: Графовая база данных.
  • NetworkX (Python): Для экспериментов с небольшими графами.
  • Apache Spark GraphFrames: Для распределённых вычислений.
Пример кода (Python):
Python:
import networkx as nx

# Создаём граф
G = nx.Graph()
G.add_edge("Карта 123", "Аккаунт A")
G.add_edge("Карта 123", "Аккаунт B")

# Ищем связанные узлы
print(nx.shortest_path(G, "Аккаунт A", "Аккаунт B"))  # ['Аккаунт A', 'Карта 123', 'Аккаунт B']

Вывод​

Графовые алгоритмы в антифроде:
✅ Выявляют сложные схемы (мультиаккаунтинг, money muling).
✅ Анализируют связи, невидимые при проверке отдельных транзакций.
✅ Используют ML (GNN) для прогнозирования новых угроз.

Для изучения:
  • Курсы по графовым базам данных (Neo4j).
  • Документация Apache Spark GraphFrames.
  • Кейсы от Sift Science и IBM Safer Payments.

Хотите разобрать конкретный алгоритм (например, как PageRank применяется в банках)? Спрашивайте! 🔍
 
Top