Источник
Откуда взять образец нормального трафика. Читаем только на чтение, ничего не пишем.
Пишите просто адрес — схема не нужна. Сервер сам переберёт HTTPS, HTTP и сырой TCP и покажет в журнале, что ответило.
ClickHouse — учётные данные и запросесли источник — ClickHouse HTTP
Если заполнен — таблица выше игнорируется. FORMAT JSONEachRow добавляется автоматически если не указан.
База данных / ClickHouse — логин, пароль, таблица (необязательно)
Для ClickHouse достаточно логина, пароля и таблицы. Пароль не сохраняется в браузере.
Синтетический набор с несколькими сервисами и заранее известным «нормальным» профилем. Нужен, чтобы посмотреть весь путь обучения, ничего не подключая.
Что нашлось
Проверьте разбор полей до обучения — модель увидит ровно то, что здесь указано.
Соответствие полей
Слева — что нужно модели, справа — ключ вашего источника. Поправьте, если угадали неверно.
| Поле модели | Ключ источника | Пропуски |
|---|
Профиль по сервисам
Так выглядит «норма», на которой будет учиться сеть.
| Сервис | Записей | p50 | p95 | Ошибки | CPU | MEM |
|---|
Первые записи источникакак их видит парсер
Журнал проверки
Куда стучались, что ответило и чего не хватает в данных.
Попытки подключения—
Параметры обучения
Значения по умолчанию рассчитаны на 5–50 тыс. записей. Можно не трогать.
Параметры обучения
Значения по умолчанию рассчитаны на 5–50 тыс. записей. Можно не трогать.
Сколько раз сеть пройдёт по всему набору. Больше — точнее, но дольше и есть риск заучить шум.
Сколько записей обрабатывается за один шаг. Меньше — обучение «дёрганее», но чувствительнее.
Величина шага при подстройке весов. Слишком большая — кривая ошибки скачет и не сходится.
Порог = средняя ошибка + k · стандартное отклонение. Больше k — меньше ложных срабатываний и ниже чувствительность.
Часть записей откладывается и не участвует в обучении — на ней честно меряется доля ложных тревог.
Сколько строк максимум забрать из источника. Защита от бесконечного потока.
Сервисы с меньшим числом записей отбрасываются: по десятку строк «норму» не построить.
Чтобы потом отличать модели в списке. Необязательно.
Обучение
Каждая фаза, каждая эпоха и калибровка порога — в реальном времени.
Ошибка реконструкции по эпохам
Кривая появится с первой эпохой. Она должна падать и выходить на плато.
Журнал пуст.
Результат
Что получилось и где проходит граница между нормой и аномалией.
Распределение ошибок реконструкции
норма выше порога порогПорог = средняя ошибка + k · стандартное отклонение. Ползунок — предпросмотр по таблице калибровки: он не меняет сохранённую модель. Чтобы зафиксировать значение, перенесите его в параметры и переобучите.
Проверить модель
Одна запись — один вердикт. Быстрый способ понять, где проходит граница.
Заполните запись и нажмите «Проверить». Здесь появится оценка: anomaly_score = ошибка ÷ порог.
Мои модели
Обученные детекторы. Боевым может быть только один.
Загружаем…
Сканировать сервис
Отправляем разнообразные HTTP-запросы к целевому сервису и ищем нетипичные паттерны в ответах — потенциальные 0-day.
Схема не нужна. Пишите просто домен или IP с портом.
Если выбрана — каждый ответ дополнительно оценивается автоэнкодером.
Как это читать
- anomaly_score = ошибка реконструкции ÷ порог. Меньше 1 — норма, больше 1 — аномалия. 2.0 значит «вдвое хуже порога».
- Порог = средняя ошибка + k · стандартное отклонение, посчитанные на обучающей выборке.
- Доля ложных — сколько заведомо нормальных записей из holdout модель всё же пометила. Растёт при малом k.
- Чувствительность (synthetic_recall) — доля искусственно испорченных записей, которые модель поймала.
- Незнакомый сервис — модель его при обучении не видела, оценка для него недостоверна.