Анализ фишинга на no-code платформах для ВКР по ИБ: детектор, метрики, ГОСТ

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

В марте 2026 года «Лаборатория Касперского» описала свежую тактику фишеров: вместо прямой ссылки на поддельный сайт злоумышленники собирают веб-приложение на no-code платформе Bubble и получают URL вида https://имя.bubble.io/. Легитимный домен, обфусцированный JavaScript, вложенные структуры Shadow DOM — автоматический анализатор видит «полезный сервис» и пропускает письмо. Дальше — редирект на Cloudflare-заглушку с формой входа Microsoft, а собранные логины уходят оператору Phishing-as-a-Service.

Для выпускника по ИБ это готовый сюжет для ВКР: живая атака 2026 года, воспроизводимая лаборатория, чёткие метрики детектирования. Такая тема закрывает три требования вуза сразу — актуальность, практический выход и обоснование новизны (обход классических сигнатур). Ниже — три проработанные темы, архитектура детектора, метрики и чек-лист под нормоконтроль.

FAQ: что чаще всего спрашивают на консультации

Где брать данные для обучения детектора фишинга?

Три источника: PhishTank и OpenPhish (открытые фиды URL), URLhaus (вредоносные ссылки), плюс собственный набор — генерируйте страницы на Bubble/Softr/Glide в sandbox-аккаунте и снимайте HTML-слепки через Selenium. Не забудьте про «чистый» класс: 5–10 тыс. легитимных bubble.io-приложений из публичного каталога платформы. Баланс классов и датасет по годам (2024–2026) — обязательны, иначе комиссия спросит про устаревание.

Можно ли использовать Bubble в магистерской, а не только в бакалаврской ВКР?

Да, если сместить акцент с «написать детектор» на «построить модель угроз и обосновать политику контроля». В магистратуре уместно добавить формализацию через MITRE ATT&CK (техники T1566.002, T1204), матрицу ISO/IEC 27001:2022 Annex A 8.23 (web filtering) и оценку остаточного риска по ГОСТ Р 56545. Получится законченный цикл «угроза — модель — контроль — метрика».

Как оформить диаграммы атаки по ГОСТ?

Схему kill-chain рисуйте в BPMN (пул «Злоумышленник» и пул «Жертва», между ними — сообщения), архитектуру детектора — в C4 (уровни Context и Container), классы модулей — UML Class Diagram. Все — через PlantUML с последующим экспортом в SVG, тогда на защите сможете показать исходник и доказать, что рисовали сами. Требования к оформлению — ГОСТ 19.701-90 (схемы) и ГОСТ 7.32-2017 (отчёт о НИР).

Какие метрики считать, если корпус маленький?

Precision, Recall, F1 и ROC-AUC — база. Обязательно добавьте FPR на 10 000 легитимных писем (комиссия любит этот вопрос для SOC-темы) и Time-to-Detect — медиану времени от появления URL в фиде до срабатывания. При малом корпусе используйте bootstrap-оценку доверительных интервалов, это снимает упрёк «у вас выборка 500 примеров».

Три темы ВКР, которые защищаются без «воды»

Как встроить материал статьи в главы ВКР

Глава 1: анализ угроз — где именно пригодится статья

Не пересказывайте публикацию Касперского целиком. Возьмите из неё три опорных факта и вставьте их в модель угроз:

Постройте BPMN-схему всей цепочки: письмо → редирект → Cloudflare-проверка → форма → перехват cookie. Один рисунок заменяет страницу текста.

Глава 2: проектирование детектора (C4 + сбор признаков)

Опишите детектор как контейнер с тремя компонентами: Collector (Selenium/Playwright с CDP), Feature Extractor, Classifier. Ниже — каркас экстрактора, который можно вставить в раздел «Реализация» и сразу проговорить на защите:

from urllib.parse import urlparse
import re, math
from collections import Counter

NO_CODE_HOSTS = ("bubble.io", "glideapps.com", "softr.app", "webflow.io")

def _entropy(tokens):
    if not tokens: return 0.0
    cnt = Counter(tokens); total = len(tokens)
    return -sum((c/total) * math.log2(c/total) for c in cnt.values())

def extract_features(url: str, html: str) -> dict:
    host = urlparse(url).netloc.lower()
    scripts = re.findall(r"[\w+/=]{20,}", html)
    return {
        "is_no_code_host": int(any(host.endswith(h) for h in NO_CODE_HOSTS)),
        "shadow_dom_hits": html.count("attachShadow") + html.count("shadowRoot"),
        "meta_refresh": int('http-equiv="refresh"' in html.lower()),
        "js_entropy": round(_entropy(scripts), 3),
        "ext_domains": len(set(re.findall(r"https?://([\w\.-]+)", html))),
        "form_action_external": int(bool(re.search(
            r"<form[^>]+action=[\"']https?://(?!\w*\.?" + re.escape(host) + ")", html, re.I))),
    }

Дальше — Gradient Boosting поверх этих восьми-десяти признаков. Baseline на правилах (is_no_code_host AND shadow_dom_hits > 30) обязательно оставьте для сравнения: разница правил и ML — ваш главный слайд на защите.

Глава 3: метрики и валидация

Считайте метрики не по «всему корпусу», а по подвыборкам: 2024, 2025, 2026 годы отдельно. Так вы докажете, что модель не переобучена на устаревшие шаблоны PaaS. Минимальный набор:

МетрикаЗачем в ВКРОриентир
Precision / RecallБазовое качество классификатора≥ 0.92 / ≥ 0.88
F1Баланс при дисбалансе классов≥ 0.90
ROC-AUCРазделимость классов независимо от порога≥ 0.95
FPR на 10 000 писемСтоимость ложных блокировок в SOC≤ 5
Time-to-Detect (медиана)Реакция на новую волну фишинга≤ 3 мин

Для A/B-теста с корпоративным шлюзом постройте матрицу «до/после» из 4 ячеек (TP, FP, TN, FN) — комиссия по ИБ любит видеть её в приложении.

Нормоконтроль и оформление

Текст статьи («ИИ-платформа Bubble в фишинговых схемах») корректно оформите как электронный ресурс по ГОСТ Р 7.0.5-2008 с датой обращения. Внутри глав делите «аналитическую» часть (обзор) и «проектную» — это требование ГОСТ 19.201-78 к ТЗ. Все листинги — моноширинным шрифтом, 10 пт, с заголовком вида «Листинг 2 — Экстрактор признаков». Если планируете заказать диплом или ВКР на заказ, отдельно обсудите, кто подгоняет оформление под методичку кафедры: расхождения в 1–2 пунктах снимают баллы безжалостно.

Чек-лист перед сдачей

  • Заголовок ВКР отражает поддомен (ИБ), а не «информационные системы» в общем виде.
  • Задачи из введения дословно повторяются как пункты глав и совпадают с выводами.
  • Схема атаки BPMN + архитектура детектора C4 — обе с подписями и ссылками в тексте.
  • Метрики посчитаны по годам и по подвыборкам, есть FPR и Time-to-Detect.
  • Листинги имеют заголовки, ссылки на ГОСТ Р 7.0.5-2008 в библиографии.
  • Ссылка на статью Касперского указана с датой обращения (2026-03-24).
  • Приложения: полный листинг экстрактора, датасет (или ссылка на репозиторий), матрица TP/FP/TN/FN.

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

  1. Пишут «разработали антифишинговую систему» без baseline. Комиссия сразу спросит: точнее чего? Держите в работе правило-based baseline — иначе эффект ML недоказуем.
  2. Обучают модель на датасете 2022 года. Через год после публикации Касперского корпус должен включать свежие слепки *.bubble.io, иначе вы теоретизируете на устаревшем шаблоне.
  3. Копируют листинг из статьи без объяснения. Снимок кода со Shadow DOM — иллюстрация, а не ваша разработка. Сопроводите разбором: что именно мешает парсеру, какие поля отсутствуют в DOM.
  4. Игнорируют паспортные данные ПааС-платформы. Обязательно опишите, что Bubble — легитимный игрок, а не «фишинговая площадка»; это отдельный пункт этики и юридической корректности ВКР.

Если тема кажется слишком узкой или наоборот — разрослась до магистерской, приходите на бесплатную консультацию: поможем сузить формулировку, подобрать корпус данных и разложить 120 часов работы на понятные спринты. Работаем с любой темой по ИБ, backend и анализу данных — от постановки задач до защиты.

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

Материал подготовлен экспертами компании PRO.Filolog. Мы помогаем студентам с 2010 года. Если вам нужна помощь в разработке темы или оформлении работы, наши специалисты готовы подсказать: как написать ВКР по ИБ, где взять корпус данных и как аккуратно пройти нормоконтроль.

Последнее обновление: 2026-09-12

Источник: ИИ-платформа Bubble в фишинговых схемах | Блог Касперского (опубликовано 2026-03-24)