Поведенческие аномалии: как биометрия и паттерны выдают фродера

Украсть пароль и device fingerprint можно. Подделать IP и геолокацию тоже. Но скопировать то, как именно человек взаимодействует с интерфейсом гораздо сложнее. Скорость набора текста, паттерн движения мыши, сила нажатия на экран, ритм свайпов, даже угол наклона телефона, всё это уникально для каждого пользователя и формирует его цифровой «почерк».

Behavioral anomaly detection (обнаружение поведенческих аномалий) — это подход, где система предотвращения фрода не просто проверяет «правильный ли пароль», а смотрит, насколько текущее поведение пользователя похоже на его обычное. Если банковский клиент годами заходил в приложение по утрам, плавно скроллил, делал 1–2 транзакции на знакомые счета, а сегодня в 3 ночи кто-то зашёл, рывками пролистал всё меню и попытался перевести все деньги на новый счёт, то это кричащая аномалия, даже если логин и пароль корректные.

Как это работает: от базовых до биометрических сигналов

На самом базовом уровне поведенческие проверки начинаются с анализа транзакционных паттернов:

  • Типичная сумма транзакций: если клиент обычно тратит $50–200 в продуктовых магазинах, а тут внезапно три перевода по $5000 за час, это сигнал тревоги.

  • Время активности: если человек никогда не логинился после полуночи, а сейчас в 2 ночи идёт серия операций, то это подозрительно.

  • Частота операций: обычно 1 транзакция в день, а тут вдруг 10 за 20 минут, то это аномалия velocity, но уже на уровне поведения конкретного пользователя.

  • Типы продавцов: если клиент всегда платит за еду, транспорт, коммуналку, а тут резко пошли покупки в онлайн-казино и на криптобиржах, то это не его паттерн.

  • География: постоянно транзакции из Москвы, а сейчас вдруг попытка из Лондона или, что ещё хуже, impossible travel — два логина с разницей в 30 минут из городов, между которыми физически невозможно переместиться.

Это базовая поведенческая аналитика, и она уже даёт много информации. Но настоящая магия начинается, когда добавляются behavioral biometrics — анализ микроповедения при взаимодействии с интерфейсом.

Behavioral biometrics собирают данные в режиме реального времени:

  • Keystroke dynamics — скорость набора текста, интервалы между нажатиями клавиш, время удержания клавиши. У каждого человека свой ритм печати, и модель это запоминает. Если вдруг ритм изменился (печатает быстрее или медленнее, равномернее или хаотичнее), то возможно, за клавиатурой кто-то другой. Или бот, у которого интервалы идеально равные.

  • Mouse movements / Touchscreen gestures — траектория движения мыши, скорость перемещения, паузы, дрожание курсора. Боты и автоматизированные скрипты двигают мышь линейно и механически. Живой человек — хаотично, с плавными кривыми и микрокоррекциями. На мобильных аналогично отслеживаются свайпы: скорость, траектория, сила нажатия на экран, площадь касания пальца.

  • Device orientation и motion sensors на смартфонах: угол наклона устройства (гироскоп), тряска (акселерометр). Легитимный пользователь держит телефон естественно, с микро-движениями. Эмулятор или скрипт ведет себя статично.

  • Typing patterns in forms — как человек заполняет форму: последовательно, поле за полем, или прыгает туда-сюда, копипастит данные, использует автозаполнение. Фродер часто вставляет украденные данные через копирование-вставку, что создаёт характерный паттерн.

Эти данные собираются на фронте (JavaScript-библиотека или SDK) и отправляются на бэкенд, где из них строится биометрический профиль. Каждый раз, когда пользователь логинится, система сравнивает текущую сессию с его историческим профилем и выдаёт оценку схожести. Низкая оценка это повод для дополнительной проверки.

Обучение модели

Для каждого пользователя система строит индивидуальный baseline, «как он обычно себя ведёт». Это делается через ML (часто используются алгоритмы типа Isolation Forest, One-Class SVM, Autoencoders), которые учатся на легитимных сессиях и запоминают нормальное распределение признаков.

Например, для user_id 12345 система знает:

  • Типичная сумма транзакции: $50–300, медиана $120.