МТИ — Теплоэнергетика

Защита банковских приложений от ботов в ВКР: архитектура антифрода и метрики обнаружения

Поддомен: Cybersecurity. Роль эксперта: специалист по информационной безопасности.

Введение

По данным CNews, банковские приложения россиян атакуют круглосуточно — без выходных и перерывов на обед. И делают это не люди, а боты: масштаб впечатляет даже опытных специалистов по кибербезопасности, а искусственный интеллект в таких схемах работает как ускоритель. Для выпускника ИТ-направления это не просто новость, а готовая постановка задачи. Массовый автоматизированный трафик ломает привычную модель защиты, где в центре стоял человек-злоумышленник.

Что это даёт вам как автору выпускной квалификационной работы? Возможность построить ВКР вокруг реальной, измеримой и защищаемой проблемы: обнаружение и блокировка автоматизированных атак на клиентский банковский сервис. Ниже — как разложить эту тему по главам, какие метрики считать в третьей главе и где чаще всего спотыкаются на защите.

Частые вопросы студентов по этой теме

Можно ли взять реальные логи банка? Где искать данные для обучения модели?

Реальные логи банка вы не получите — это банковская тайна и коммерческая чувствительная информация. Три рабочих пути: (1) публичные датасеты веб-логов и трафика (CIC-IDS, CSE-CIC-IDS2018, HTTP CSIC 2010) — их легко переразметить под задачу «бот / человек»; (2) генерация синтетики — сами поднимаете стенд с эмуляцией клиентских сессий и снимаете телеметрию; (3) гибрид: публичный датасет для обучения, синтетический для валидации на «своём» профиле угроз. В главе 1 обязательно опишите ограничения данных и то, как вы компенсировали их — комиссия любит именно этот абзац.

Что выбрать: правила (WAF, rate limiting) или машинное обучение?

Не «или», а «и». Правила ловят грубые, известные сценарии (OAT-011 Scraping, OAT-004 Fingerprinting, credential stuffing) с почти нулевым FPR, но обходятся ротацией IP и прокси. Модель ловит поведенческие аномалии, но требует данных и объяснимости. Грамотная архитектура — каскад: детерминированные фильтры на периметре, затем скоринг сессии, затем ручная верификация для «серой зоны». Такая двухуровневая схема отлично смотрится на C4-диаграмме и легко защищается.

Какие метрики считать в третьей главе, чтобы это выглядело по-инженерному?

Для модели: precision, recall, F1, ROC-AUC, PR-AUC (важнее при сильном дисбалансе классов), а также FPR при фиксированном пороге — в антифроде цена ложного срабатывания выше, чем цена пропуска. Для системы: MTTD (среднее время до обнаружения), доля заблокированного автоматизированного трафика, прирост задержки p95/p99 на API, потребление CPU на узле балансировки. И то, и другое привяжите к характеристикам качества по ISO/IEC 25010 — производительность, безопасность, надёжность.

Хватит ли одной третьей главы, чтобы всё это проверить?

Хватит, если заранее сузить периметр. Не пытайтесь «защитить банк целиком» — возьмите один сценарий, например массовый перебор учётных данных или автоматизированный парсинг тарифов через мобильное API. Тогда тестирование укладывается в три подраздела: функциональная проверка детектора, нагрузочное тестирование (k6, Locust), оценка качества классификации на отложенной выборке.

Темы ВКР на основе этого кейса

Основная часть: как разложить кейс по главам

Глава 1. Анализ угроз: от новости к формальной постановке

Технический кейс из статьи превращается в научный текст через три артефакта. Первый — модель нарушителя: кто атакует, какие ресурсы имеет (ботнет, прокси, генеративный ИИ для имитации поведения), какова его мотивация (перебор учёток, парсинг, накрутка, отмывание). Второй — дерево угроз по OWASP Automated Threats to Web Applications: перечислите релевантные категории, покажите, какие из них описаны в вашей работе. Третий — диаграмма потоков данных (DFD по ГОСТ 19.701 или BPMN) с явным указанием точек контроля.

Здесь же хорошо работает сравнение существующих решений: коммерческие антибот-платформы, WAF, капча-сервисы, поведенческая биометрия. Не нужно описывать всё — достаточно таблицы из 4–5 решений по критериям «тип детекции», «устойчивость к обходу», «влияние на UX», «стоимость владения».

Глава 2. Проектирование и реализация: каскад и наблюдаемость

Архитектуру рисуйте в нотации C4 — от контекста до контейнеров. Типовая схема для банковского периметра: мобильный клиент → CDN/балансировщик → WAF с лимитами → API Gateway → сервис скоринга → антифрод-хранилище → SIEM. Сервис скоринга общается с потоком событий (Kafka), признаки считаются в потоковом режиме, модель отдаёт решение в пределах миллисекунд.

Отдельный подраздел — признаки. Именно здесь видно, читали ли вы литературу. Соединяйте сетевой уровень (TLS-отпечаток, репутация ASN), уровень приложения (частота запросов, набор эндпоинтов, наличие заголовков) и поведенческий уровень (тайминги между действиями, энтропия движений, отклонение от «человеческого» профиля).

# Фрагмент конвейера скоринга сессии (упрощённый псевдокод)
FEATURES = [
    "req_per_min",          # интенсивность запросов в сессии
    "endpoint_entropy",     # энтропия распределения эндпоинтов
    "ua_reputation",        # репутация User-Agent
    "tls_ja4_cluster",      # кластер TLS-отпечатка
    "inter_req_gap_cv",     # коэффициент вариации пауз между запросами
    "auth_fail_ratio",      # доля неуспешных попыток входа
]

def score_session(event, model, threshold=0.72):
    vec = build_vector(event, FEATURES)
    p_bot = model.predict_proba([vec])[0][1]      # вероятность автоматизации
    if p_bot >= 0.90:
        return "BLOCK", p_bot
    if p_bot >= threshold:
        return "CHALLENGE", p_bot                 # капча / step-up аутентификация
    return "ALLOW", p_bot

Передайте сюда же конфигурацию периметра — комиссия редко видит реальные лимиты и обычно довольна:

# nginx: ограничение скорости и защита от всплесков
limit_req_zone $binary_remote_addr zone=login_zone:10m rate=5r/m;
limit_req_zone $http_authorization zone=api_zone:10m rate=120r/m;

location /api/v1/auth/login {
    limit_req zone=login_zone burst=3 nodelay;
    limit_req_status 429;
    proxy_pass http://auth_upstream;
}

Наблюдаемость описывайте через OpenTelemetry: единый формат трасс и метрик, экспорт в коллектор, затем в хранилище и дашборд. Обязательно зафиксируйте, какие атрибуты вы прокидываете в спаны (session_id, device_hash, geo, решение детектора) — это объясняет, как вы позже считаете MTTD.

Сопоставление уровней защиты и оцениваемых характеристик
УровеньИнструментЧто ловитМетрика проверки
Периметрnginx, WAF, API GatewayВсплески, известные сигнатурыFPR, прирост p95-задержки
СессияСкоринг, ML-модельПоведенческие аномалииPrecision, Recall, F1
Учётная записьStep-up аутентификацияЗахват аккаунтаДоля успешных атак
ИнфраструктураOpenTelemetry, KubernetesАномалии нагрузкиMTTD, алерты на 1000 сессий

Глава 3. Тестирование и оценка эффективности

Третья глава — место, где ВКР перестаёт быть рефератом. Разделите её на три блока. Первый — качество детектора: отложенная выборка, стратифицированная по типам ботов, матрица ошибок, кривые ROC и PR. Отдельно посчитайте FPR при пороге, который вы выбрали для продакшена, и объясните выбор порога через стоимость ошибок. Второй — производительность: нагрузочное тестирование k6 или Locust, замеры задержки на добавленный скоринг, потребление памяти и CPU. Третий — устойчивость к обходу: сценарии с ротацией прокси, медленными ботами, имитацией человеческих пауз. Если ваш детектор падает при медленной атаке — это честный вывод, а не провал. Провал — это не заметить этого.

Результаты сводите к характеристикам ISO/IEC 25010: функциональная полнота, производительность, безопасность, надёжность. Так выводы получают внешнюю рамку и не выглядят набором случайных чисел.

Чему вы научитесь на этой теме

Что проверить перед сдачей

  1. Все задачи из введения дословно повторяются в выводах по главам и в заключении.
  2. Ссылки на источники оформлены единообразно, статья CNews указана с датой публикации.
  3. Схемы читаемы в чёрно-белой печати, подписи элементов — на русском, легенда есть у каждой диаграммы.
  4. Метрики в третьей главе имеют указанный способ измерения и размер выборки.
  5. Код в приложениях пронумерован и на него есть ссылки из текста.
  6. Термины согласованы: не смешивайте «бот», «автоматизированный агент» и «краулер» в одном значении.
  7. Проверена уникальность и корректность заимствований — особенно в обзорной главе.

Типичные ошибки студентов

1. Датасет без обоснования. Студент берёт случайный набор логов, обучает модель и получает красивые 0,99. Комиссия спрашивает: «А как это соотносится с реальным профилем атаки из статьи?» Отвечать нечего. Решение — в главе 1 опишите, какие признаки из вашего датасета соответствуют описанным в статье ботовым сценариям, а какие отсутствуют, и честно обозначьте границы применимости.

2. Игнорирование ложных срабатываний. В антифроде заблокированный честный клиент — это прямые потери банка. Если в работе есть только accuracy, работа выглядит незрелой. Всегда показывайте FPR и объясняйте, какой уровень вы считаете приемлемым и почему.

3. «Магическая» модель без объяснения. Нейросеть с сотней признаков без анализа вклада выглядит как чёрный ящик, который нельзя внедрить в регулируемой среде. Добавьте SHAP-анализ или хотя бы важность признаков — это резко повышает доверие к работе.

Если тема кажется объёмной, а сроки поджимают — это нормальная ситуация. Наши специалисты тратят в среднем 120 часов на сопровождение одной работы: от постановки задач до финального нормоконтроля. Первая консультация бесплатная — приходите с черновиком плана, разберём, где у вас узкое место, и подскажем, как усилить защиту. Помогаем с любой темой по ИТ-направлениям.

Материал подготовлен экспертами компании [Название сайта]. Мы помогаем студентам с 2010 года. Если вам нужна помощь в разработке темы или оформлении работы, наши специалисты готовы подсказать.

Последнее обновление: 2026-10-01

Источник: Мошенники атакуют банковские приложения россиян ботами для массовых кибератак (опубликовано 2026-03-26)