«Прогнозирование кибератак — это не предсказание будущего, а чтение следов, которые оставляет настоящее. Всё, что нужно для этого, уже течёт по вашим сетям и пишется в логи. Вопрос лишь в том, чтобы перестать смотреть на эти данные как на архив и начать видеть в них нарратив, где каждая аномалия — это сюжетный поворот.»
Что такое временные ряды и почему они важны для ИБ
Временной ряд — это последовательность точек данных, привязанных к меткам времени. В контексте информационной безопасности это хроника поведения инфраструктуры: количество SSH-подключений в минуту, объем исходящего трафика за час, частота срабатываний правил межсетевого экрана. Каждая точка — это не просто число, а состояние системы в конкретный момент, её пульс.
Классический мониторинг часто опирается на жёсткие пороги: «более 100 неудачных попыток входа за час — инцидент». Этот подход слеп к контексту. Утренний всплеск активности сотрудников или авральная нагрузка на сервис перед релизом вызовут ложное срабатывание. В то же время, целенаправленный злоумышленник может вести атаку ниже этого порога, растягивая её во времени и оставаясь невидимым для статичных правил.
Анализ временных рядов меняет парадигму. Вместо вопроса «превышен ли порог?» система учится задавать другие: «Нормально ли это значение для вторника 9 утра?», «Есть ли устойчивый тренд на рост подозрительных событий, который не объясняется бизнес-процессами?». Это позволяет выявлять не только грубые атаки, но и низкоскоростные, рассчитанные на уклонение от простых детекторов.
Ключевые компоненты временного ряда в данных ИБ
Эффективный анализ требует понимания структуры ряда. Обычно его можно разложить на три составляющие:
- Тренд — долгосрочное направление движения. Например, плавный рост сетевого трафика из-за увеличения числа пользователей или внедрения облачных сервисов.
- Сезонность — предсказуемые, повторяющиеся колебания. В ИБ это один из самых ярких паттернов: всплеск активности в начале рабочего дня, спад ночью, разница между буднями и выходными. Даже активность злоумышленников может иметь сезонность — всплески фишинга перед финансовыми отчётами или праздниками.
- Шум (остатки) — случайные колебания, не связанные с трендом или сезонностью. Именно в этом слое часто скрываются первые слабые сигналы о начинающемся инциденте, которые теряются на фоне обычной «суеты» системы.
Задача — провести декомпозицию, отделить ожидаемое (тренд и сезонность) от неожиданного. Аномалия часто прячется в остатках, но чтобы её увидеть, нужно сначала понять, что является нормой.
Методы анализа и прогнозирования
Выбор метода зависит от характера данных и поставленной задачи: нужно ли точное прогнозное значение или просто факт обнаружения отклонения.
Статистические методы
Эти подходы хорошо работают на относительно стабильных рядах с понятной структурой.
- Модели ARIMA (Авторегрессионная интегрированная скользящая средняя) и их сезонные модификации (SARIMA). Модель прогнозирует будущее значение, опираясь на свои собственные прошлые значения и прошлые ошибки прогноза. Применима для прогнозирования таких метрик, как нагрузка на канал связи или частота обращений к серверу аутентификации в условиях штатной работы.
- Экспоненциальное сглаживание. Более простой метод, где последним наблюдениям придаётся больший вес. Подходит для краткосрочного прогнозирования, когда тренд и сезонность не слишком сложны.
Сила статистических методов — в их интерпретируемости. Можно понять, какие именно прошлые значения повлияли на прогноз. Однако они требуют предварительной подготовки данных и часто предполагают стационарность ряда.
Машинное обучение
Когда паттерны сложны, нелинейны и зависят от множества факторов, на сцену выходят алгоритмы машинного обучения.
- Ансамблевые регрессионные модели (CatBoost, LightGBM). Могут учитывать десятки признаков: время суток, день недели, данные из смежных систем (например, активность из Active Directory). Модель обучается предсказывать нормальное значение метрики. Существенное отклонение фактического значения от прогноза становится сигналом. Например, можно предсказать ожидаемое количество сканирований портов, а отклонение в большую сторону интерпретировать как разведку.
- Рекуррентные нейронные сети (RNN), особенно LSTM. Созданы для работы с последовательностями. Они способны улавливать долгосрочные зависимости и сложные временные паттерны, что делает их эффективными для моделирования поведения во время развивающихся инцидентов, таких как нарастание DDoS-атаки или цепочка действий при APT-атаке.
Основной вызов — потребность в больших объёмах качественных исторических данных для обучения и проблема «чёрного ящика»: решение нейросети сложно объяснить при формальном расследовании инцидента для отчёта регулятору.
Обнаружение аномалий
Часто конечная цель — не предсказать точное число, а найти момент, когда система начала вести себя «не так».
- Простая статистика: правило трёх сигм, анализ межквартильного размаха. Быстро внедряются, но сами чувствительны к выбросам в исторических данных, которые могут быть приняты за норму.
- Изолирующий лес (Isolation Forest). Алгоритм, специально разработанный для поиска аномалий. Он «изолирует» наблюдения, строя дерево решений: чем быстрее точку можно изолировать от остальных, тем выше вероятность, что она аномальна.
- Автоэнкодеры. Нейросеть учится сжимать данные (кодировать) и затем восстанавливать их из сжатого представления. На данных, похожих на те, на которых она обучалась, ошибка восстановления мала. Аномальное поведение, которое сеть раньше не видела, будет восстановлено с большой ошибкой — это и есть сигнал.

[ИЗОБРАЖЕНИЕ: Пример работы автоэнкодера: график исходного временного ряда сетевой активности и график ошибки реконструкции, где пики ошибки соответствуют моментам аномальной активности]
Практические шаги внедрения
Внедрение — это инженерный процесс, который начинается с малого и итеративно развивается.
- Выбор целевых метрик. Не пытайтесь охватить всё сразу. Начните с 1-2 самых критичных и информативных метрик для вашего периметра. Примеры: «число блокировок МЭ на интерфейсе, смотрящем в интернет, за 5 минут», «количество запросов с ошибкой 5xx к основному веб-приложению в секунду», «объём DNS-трафика от нетривиальных источников». Метрика должна быть измеряема, релевантна угрозам и иметь историю.
- Сбор и подготовка данных. Агрегация логов из SIEM, NetFlow, систем мониторинга. Критический этап — очистка от артефактов (пропуски данных из-за сбоя коллектора, тестовые нагрузки). Данные могут потребовать нормализации. Обязательно разделение на обучающую и тестовую выборки с учётом временного порядка.
- Исследовательский анализ данных (EDA). Постройте графики, визуализируйте тренды и сезонность. Используйте методы вроде сезонно-трендовой декомпозиции (STL). Это не просто формальность — на этом этапе часто становятся видны скрытые паттерны и проблемы с данными, которые определят выбор модели.
- Разработка, обучение и валидация модели. Начните с базовой модели (например, прогноз как скользящее среднее за аналогичный период прошлой недели). Оцените её качество на тестовых данных с помощью метрик (MAE — средняя абсолютная ошибка, RMSE). Затем экспериментируйте с более сложными методами, сравнивая прирост качества с ростом сложности поддержки.
- Интеграция в контур мониторинга и реагирования. Модель не должна жить в лаборатории. Её выводы — прогноз и доверительный интервал — должны поступать в SIEM или SOAR. Правило реагирования может быть таким: «Если фактическое значение метрики выходит за пределы 99% доверительного интервала прогноза три раза подряд с заданным интервалом — создать заявку в тикет-систему с высоким приоритетом и отправить оповещение дежурному». Важно предусмотреть механизм быстрого ручного подтверждения или отклонения для тонкой наровки порогов чувствительности.
- Операционное сопровождение и дообучение. Инфраструктура и тактики угроз меняются. Модель, обученная на данных годичной давности, может деградировать. Необходим процесс периодического (например, ежеквартального) переобучения модели на актуальных данных и оценки её эффективности.
Ограничения и подводные камни
Прогнозирование на основе временных рядов — это мощный, но не всесильный инструмент со своими уязвимостями.
- Слепота к принципиально новым атакам. Модель учится на истории. Атака, использующая абсолютно новый вектор или паттерн, не отражённый в прошлом, может не быть распознана как аномалия, если её статистические характеристики попадут в диапазон нормальной активности.
- Корреляция без каузальности. Модель фиксирует отклонение, но не его причину. Рост исходящего трафика может быть как признаком утечки данных, так и следствием легитимного выгрузки отчёта. Без контекста и работы аналитика сигнал бесполезен.
- Эволюция угроз. Осведомлённые злоумышленники, зная о системах обнаружения аномалий, могут адаптироваться, проводя атаки с интенсивностью, имитирующей естественный тренд или сезонность системы, тем самым «растворяясь» в нормальной активности.
- Ресурсоёмкость в реальном времени. Инференс сложных моделей, особенно нейросетевых, для высокочастотных потоков данных (например, анализ трафика в 100 Гбит/c канале) может требовать значительных вычислительных мощностей.
- Регуляторный аспект. При использовании в системах, попадающих под требования регуляторов, может возникнуть вопрос об аттестации и валидации алгоритмов машинного обучения как части средств защиты информации. Объяснимость решений модели становится не просто техническим, но и нормативным требованием.
Заключение
Анализ временных рядов для прогнозирования кибератак — это переход от тактики тушения пожаров к стратегии прогноза погоды в киберпространстве. Это не замена сигнатурным анализаторам или правилам корреляции, а следующий уровень зрелости SOC, работающий с мета-паттернами поведения инфраструктуры в целом. Успех зависит от триады: правильно выбранная и очищенная метрика, адекватная сложности задачам модель и, что最关键, интеграция выводов модели в действующие процессы analysts. Начинать стоит с пилота на одной-двух некритичных метриках, оттачивая pipeline от сбора данных до реагирования. В результате вы получаете не систему гаданий, а механизм, который превращает шум ваших логов в осмысленные ранние предупреждения, давая вам не часы, а минуты на упреждающий ответ.