Марковские процессы · непрерывное время / Теория
CTMC: Рубежи защиты
Непрерывная цепь Маркова
Состояния, интенсивности переходов и вероятности: исследуйте, как меры защиты меняют путь нарушителя и ожидаемые последствия атаки.
Предположим, нарушитель уже получил доступ в сеть. Успеет ли защита заблокировать его до кражи данных? Здесь недостаточно перечислить возможные исходы: нужно учесть, как быстро развиваются атака и противодействие. Построим описание случайных переходов, составим уравнения и матрицу интенсивностей, а затем разберём, какие выводы дают вероятности во времени и стационарное распределение.
Выберем состояния и договоримся о времени
В марковском процессе с непрерывным временем и дискретными состояниями система в каждый момент находится в одном из выбранных состояний. Состояний конечное число, а переход может произойти в любой момент, без привязки к шагу «раз в минуту» или «раз в сутки». Такую модель также называют непрерывной цепью Маркова, или Continuous-Time Markov Chain (CTMC).
Обозначим состояние через
Главное допущение — марковское свойство: при известном текущем состоянии для прогноза не требуется вся предыстория. Например, состояние «первоначальный доступ» должно содержать достаточно информации, чтобы дальнейшие переходы можно было описать без отдельного учёта всех действий нарушителя до входа.
Это требование к выбранной модели, а не свойство любой реальной атаки. Если вероятность обнаружения существенно зависит от уже проведённого внутри времени, одного состояния «внутри» может быть недостаточно: потребуется уточнить состояния или выбрать другой способ описания.
Далее будем рассматривать конечную однородную цепь: интенсивности переходов постоянны в течение одного рассматриваемого эпизода. Защитные меры выбираются до начала эпизода и задают один набор интенсивностей. При изменении мер во времени описание нужно расширить.
Зададим вероятности и начальное состояние
Пусть состояния обозначены
В каждый момент система находится ровно в одном состоянии, поэтому
На одной истории нарушитель либо снаружи, либо внутри, либо уже заблокирован. Вероятности описывают неопределённость исхода, а при многократном повторении одинаковых условий — ожидаемые доли историй в этих состояниях. Они не означают, что один нарушитель «на 30 % находится внутри».
Сразу зададим начальное распределение
Два сценария с одинаковыми переходами, но разными начальными состояниями могут дать разные результаты. Защита входа, например, не задержит того, кто уже находится внутри.
Подпишем стрелки интенсивностями
Проведём стрелку
Для малого интервала
Остаток
Отсутствие стрелки означает отсутствие непосредственного перехода. Достичь того же состояния через промежуточные вершины всё ещё может быть возможно.
Сколько ждать и куда переходить
Сложим интенсивности всех выходов из
При
Вероятность следующего перехода именно в
Например, если из состояния «внутри» возможны получение привилегий с интенсивностью
Экспоненциальное ожидание не имеет памяти: после уже прошедшего времени распределение оставшегося ожидания такое же, как при входе. Если
Составим уравнения по графу
Вероятность каждого состояния меняется за счёт входов и выходов. Для
Входящий поток содержит вероятность того состояния, откуда идёт стрелка, умноженную на интенсивность этой стрелки. Исходящие потоки содержат вероятность текущего состояния. Это правило составления уравнений Колмогорова для вероятностей состояний.
Посмотрим на небольшой пример. Сервис находится либо в рабочем состоянии

Для рабочего состояния получим приток после восстановления и отток при отказе. Для неработающего — наоборот:
Сложим правые части: потоки сократятся. Поэтому
Соберём матрицу интенсивностей
Зафиксируем один порядок состояний для строк и столбцов. Вне диагонали запишем интенсивности переходов, а на диагонали — суммарную интенсивность выхода со знаком «минус»:
Получили матрицу интенсивностей, или генератор
Для примера с сервисом в порядке
Теперь обе системы — общая и двухсостоянийная — записываются одной строкой:
Отрицательная диагональ не задаёт «отрицательную вероятность»: она учитывает потерю вероятности при выходе. При использовании вектора-столбца формула имела бы вид
Получим прогноз на заданное время
Матрица
В начале
Чтобы пройти интервал
На малом интервале
При выделении малого интервала в начале получается обратная форма
Это экспонента всей матрицы, а не поэлементное вычисление
Не будем смешивать три разных объекта:
Найдём стационарное распределение
Распределение
Это и есть источник стационарных уравнений. В каждом состоянии входящий поток вероятности уравновешивает исходящий. Отдельная история при этом может продолжать переходить между состояниями: неизменными остаются вероятности, а не обязательно состояние системы.
Решим баланс для двух состояний
Пусть
Выразим
Увеличение скорости восстановления повышает стационарную долю рабочего времени. Это вывод для модели с повторяющимися отказами и восстановлениями, а не прогноз единственного инцидента к ближайшему сроку.
Когда решение единственно
Сначала посмотрим на структуру графа. Если из любого состояния можно по допустимым стрелкам добраться до любого другого, конечная цепь неприводима. Для неё существует единственное стационарное распределение, и при увеличении времени распределение состояний сходится к нему из любого начального состояния.
В этом случае ранг
Если же на графе несколько замкнутых классов, из которых нет выхода, стационарных распределений несколько. В частности, каждое поглощающее состояние уже даёт стационарное распределение: вся вероятность сосредоточена в нём. Предельный результат может зависеть от старта и от вероятностей попадания в эти классы. Поэтому находить стационарные вероятности без предварительного просмотра графа недостаточно.
Применим аппарат к «Защитнику»
Общая теория допускает разные графы. В игре «Защитник» выбран один эпизод атаки с семью состояниями:
| Состояние | Смысл |
|---|---|
| Нарушитель снаружи. | |
| Получен первоначальный доступ. | |
| Получен доступ к критическим ресурсам. | |
| Нарушитель заблокирован. | |
| Данные украдены. | |
| Сервис выведен из строя. | |
| Сервис восстановлен после разрушения. |
Здесь буква

Каждой стрелке соответствует один параметр:
| Переход | Интенсивность | Механизм |
|---|---|---|
| Проникновение. | ||
| Получение привилегий. | ||
| Ранняя блокировка. | ||
| Блокировка у цели. | ||
| Кража данных. | ||
| Разрушение сервиса. | ||
| Восстановление. |
Все интенсивности здесь измеряются в ч⁻¹. Граф показывает объединение допустимых переходов. В сценарии кражи отключён переход разрушения:
По тому же правилу входов и выходов получим:
Например, вероятность состояния
Почему здесь важен горизонт, а не только стационарность
Из
Для конкретного старта достижимы не все такие смеси. Например, в сценарии кражи из
В игре исследуется результат к заданному времени
Разделим исход, вероятность и длительность
Одна случайная история отвечает на вопрос «что случилось в этом эпизоде». Прогноз
Для этой модели вероятность кражи к сроку равна
Восстановленный сервис уже покинул
Ожидаемый суммарный простой до срока определяется всей кривой вероятности
Интеграл измеряется в часах. В терминах отдельных историй мы усредняем время, проведённое в
Свяжем меры защиты с переходами
В «Защитнике» выбор мер меняет интенсивности, сохраняя выбранный граф. Защита внешнего входа уменьшает
Начнём сравнение с вопроса: какую стрелку меняет мера и достижима ли она из нашего старта? Затем зафиксируем одинаковые начальное состояние и горизонт, чтобы различия результатов относились к защите. Стоимость и эффективность мер в игре условные; эта модель помогает исследовать механизм решения, а не выбирает продукты для реальной инфраструктуры.
Для применения к другой системе потребуются обоснованные состояния и оценки интенсивностей по данным или явно указанным экспертным предположениям. Постоянные экспоненциальные ожидания, один эпизод и отсутствие повторных атак задают границы рассматриваемого примера.
Продолжим исследование
Эксперимент: свяжем граф, матрицу и прогноз
Цель — объяснить, как изменение переходов меняет вероятности и ожидаемые последствия.
Зафиксируем сценарий и горизонт. Изменим одну меру защиты и сравним интенсивности, кривые вероятностей и ожидаемые последствия. Отдельно посмотрим на вероятность ущерба и ожидаемый простой: улучшение одного показателя не обязано одинаково менять другой.
Игра: примем решение при ограниченном бюджете
Цель — выбрать сочетание мер и обосновать его действие через модель.
Сначала предположим, какие переходы изменятся. Затем сопоставим случайную историю с вероятностным прогнозом на том же горизонте. Если результаты различаются, объясним различие случайностью исхода, начальным состоянием и выбранным показателем.
Реализация в Scilab: другой пример той же теории
В статье «Динамическая вероятностная модель взаимодействия САЗ ИС» рассмотрен другой граф — взаимодействие пяти программных компонентов активной защиты. Там можно проследить переход от системы уравнений к коду Scilab и поиску стационарных вероятностей. Это самостоятельный пример, а не продолжение графа «Защитника».
При сопоставлении формул учтём обозначения: в той статье используется вектор-столбец и матрица
