Апробация подхода для поиска аномалий на основе гибридных автоматов на датасете CIC Modbus 2023. modbus.. modbus. АСУ ТП.. modbus. АСУ ТП. гибридный автомат.. modbus. АСУ ТП. гибридный автомат. датасет.. modbus. АСУ ТП. гибридный автомат. датасет. обнаружение аномалий.

Современная система автоматизированного управления технологическими процессами (АСУ ТП) представляет собой киберфизическую систему, объединяющую информационные технологии (IT) и операционные технологии (OT). В таких системах OT-инфраструктура играет ключевую роль, обеспечивая управление производственными процессами. Однако именно атаки на OT-системы являются наиболее критичными и сложными для обнаружения, что делает их защиту одной из приоритетных задач в области кибербезопасности.

Основной задачей АСУ ТП является поддержание непрерывности OT-процессов, что напрямую связано с бесперебойной работой производственных систем. Сбои в OT могут привести к немедленным и необратимым повреждениям оборудования, а также к значительным финансовым потерям. Так, согласно данным Positive Technologies, в 2023 году и первой половине 2024-го наибольшее количество кибератак пришлось на промышленные предприятия (11%), что в некоторых случаях (37%) привело, в том числе, к нарушению основной деятельности [1]. В связи с этим, помимо усиления защиты цифровой среды (IT), для АСУ ТП крайне важно обеспечить надёжную защиту их основного функционала — OT-инфраструктуры.

В данной статье речь пойдет о классе решений, разработанных с целью обеспечения защиты OT-инфраструктур, включая системы, о которых наши знания ограничены. Это достигается за счёт использования адаптивных механизмов обеспечения безопасности, способных эффективно реагировать на изменяющиеся угрозы.

Для оценки эффективности разработанного решения проведён эксперимент по выявлению аномальной сетевой активности в CIC Modbus dataset 2023.

Датасет

Выбор датасета

В качестве датасета для эксперимента выбран CIC Modbus dataset 2023 [2], разработанный Canadian Institute for Cybersecurity (CIC), занимающимся, в числе прочего, созданием датасетов [3] для оценки эффективности работы средств защиты информации.

В отличие от, например, от Tennesse Eastman Process [4], представляющего данные в формате CSV, в CIC Modbus dataset 2023 данные поставляются в формате PCAP, что позволяет анализировать те же данные, которые попадали бы в систему при работе в режиме реальной эксплуатации (без учета предварительной обработки). В отличие от популярного Kitsune Network Attack Dataset [5], представляющего ориентир для выявления атак в корпоративных сетях, CIC Modbus dataset 2023 описывает промышленный трафик, и он больше подходит для оценки качества работы системы, разработанной для защиты OT-инфраструктуры. Также стоит упомянуть датасеты от iTrust, в том числе SWaT Dataset (A3 и A6, имеющие PCAP-дампы) [6], предоставляющий данные об атаках на смоделированную водоочистную станцию: несмотря на схожесть целей, этот датасет имеет меньший охват сценариев атак, что ограничивает его применимость.

Таким образом, CIC Modbus dataset 2023 становится предпочтительным выбором для эксперимента, направленного на защиту OT-инфраструктуры.

Описание датасета

CIC Modbus dataset 2023 содержит нормальную сетевую активность подстанции (в основном, Modbus-трафик) и различные атаки на неё, основанные на методах из MITRE ICS ATT&CK.

Датасет получен на моделируемом испытательном стенде (на Docker-контейнерах), включает исполнительные (IEDS) и управляющие (SCADA HMI) устройства. Логика работы IEDS – периодическое изменение значений напряжения случайным образом или при получении соответствующего запроса от SCADA HMI, логика работы SCADA HMI – отправка управляющих команд на основе значений, полученных от IED.

Рисунок 1 — Схема стенда

Рисунок 1 — Схема стенда

Алгоритмы обнаружения аномалий

Выбор подхода

Теги в АСУ ТП представляют собой ключевые элементы, хранящие важные параметры и настройки технологических процессов. Несанкционированное изменение или передача некорректных данных через них может привести к нарушению работы системы, что в свою очередь способно вызвать сбои в производственных процессах. Выявление аномалий возможно, если построена модель нормального функционирования защищаемой системы.

Для выявления аномалий в передаваемых данных существует множество подходов – от классических методов машинного обучения (например, одноклассовый SVM[7], разделяющей нормальные данные от всего остального пространства с помощью отображения в «удобное» пространство признаков) до нейронных сетей на основе архитектуры автокодировщика [8] (использование сжатия-разжатия для оценки похожести новых данных на те, которые сеть видела при обучении).

У каждого метода есть свои достоинства и недостатки. Так, например, OC SVM объясним, но ограничен в адаптивности: для каждой новой защищаемой системы потребуется донастройка. Автокодировщик – наоборот, имеет возможность адаптироваться к защищаемой системе без участия оператора, но при этом в силу особенностей нейронных сетей имеет некоторые дополнительные сложности в объяснимости.

Отдельное направление в моделировании систем – построение автоматов, описывающих передаваемые данные. Существуют конечные автоматы (FSM — Finite-state machine), которые позволяют описывать систему в терминах состояний S и переходов T [9] FSM = (S, T, s0), с возможностью указания начального состояния s0. Полезная особенность конечных автоматов – объяснимость и возможность дополнения экспертным знанием уже после обучения модели. Объяснимость возникает ввиду описания изменения переменных внутри состояний в формате уравнений, понятных оператору защищаемой системы. А возможность дополнения экспертным знанием может быть реализована путём анализа доменным экспертом сформированного автомата и, при необходимости, непосредственной корректировки коэффициентов уравнений.

При этом конечные автоматы описывают изменение системы только в рамках состояний, предполагая, что смена одного состояния на другое происходит бесследно. В реальности бывает так, что переход из одного состояния в другое сопровождается изменением внутренних переменных системы, не соответствующих ни начальному, ни конечному состояниям – для обработки таких ситуаций может быть использован механизм гибридных автоматов.

Гибридный автомат [10] в отличие от конечного характеризуется возможностью описания как дискретных, так и непрерывных величин в моделируемой киберфизической системе, что позволяет сформировать более точную модель.

Гибридный автомат можно определить как HA=(Loc,Edge,Flow,Jump,X), где:

  • Loc = {locn}1numOfModes – конечный набор состояний гибридного автомата;

  • Edge ∈ Loc × Loc – набор возможных переходов между состояниями;

  • Flow = {flown}1numOfModes – описание изменения переменных в каждом из состояний (система дифференциальных уравнений);

  •  Jump = {jumpn}1|Edge| = {(guard,reset )n}1|Edge| – описание условия на выполнение перехода системы из одного состояния в другое (guard-выражения) и описание изменения переменных при выполнении этого перехода (reset-выражения);

  • X – набор переменных, изменение которых отслеживает и моделирует автомат.

Существуют методы формирования гибридных автоматов по историческим данным. Некоторые из них [11] позволяют построить автомат, но имеют ограничения по обработке изменений, поступающих из внешней (неконтролируемой и не описываемой автоматом) среды. Другой метод [12] решает эту проблему, но имеет ограничение по формированию уравнений изменения данных при переходах. Работа [13], хотя и может быть улучшена (улучшения и доработки будут описаны в настоящей статье), лишена обоих этих недостатков, поэтому предложенный в ней алгоритм взят в качестве основы для разработки собственного решения.

Гибридный автомат

Основные компоненты гибридного автомата описаны выше (Loc, Edge, Flow, Jump, X).

Общая последовательность действий:

1) Обучение (по принципам, изложенным в [13], с некоторой доработкой):

a. Сформировать автомат по историческим данным (определить контролируемые переменные, описать состояния и переходы); полученный автомат позволяет по известному вектору значений для текущего шага и известному состоянию системы предсказывать значения в следующий момент времени.

b. Рассчитать пороговые значения ошибки для выявления аномалий для каждой переменной и для их комплекса:

Апробация подхода для поиска аномалий на основе гибридных автоматов на датасете CIC Modbus 2023 - 2

Для каждого элемента вектора значений порог может быть выбран индивидуально, что позволит получать дополнительную информацию при объяснении причины принятия решения о наличии аномалии.

2) Эксплуатация (циклично):

a. Для текущего состояния l ∈ Loc и известного вектора значений Xt​ автомат предсказывает X(t+1) на следующий момент времени.

b. Сравнение предсказанных X(t+1) и фактических Xactual  с учётом выбранного при обучении порога: если |Xactual – X(t+1) | > ϵ, то фиксируется аномалия.

Для интерпретации модели и добавления знания доменных экспертов в модель необходимо в человекочитаемом виде экспортировать:

  • переменные X и их соответствие тегам в трафике;

  • состояния Loc и переходы Edge;

  • рассчитанные уравнения изменения переменных внутри состояний Flow и описания наличия и свойств переходов Jump.

Этапы обучения и эксплуатации модели, основанной на идее гибридного автомата, приведены в таблице ниже. Для удобства сопоставлены исходный алгоритм и доработанный нами. Предложенный алгоритм реализован для протокола Modbus, но может быть адаптирован и к другим протоколам: для интеграции достаточно корректно описать способ формирования векторов.

Таблица 1 – Этапы обучения и эксплуатации модели системы на основе гибридного автомата

Этап

Исходный алгоритм [13]

Доработанный алгоритм

Выбор исходных данных

Все траектории (записанные дампы) склеиваются в одну.

Пакеты трафика анализируются утилитой Zeek с доработанными скриптами для глубокого разбора протокола Modbus.

Для гибридного автомата формируются вектора, состоящие из набора контролируемых областей памяти. Xvt={xvk}1|X|, где xk – значение контролируемой области памяти.

Как только каждый контролируемая область памяти была передана хотя бы раз (в векторе не остаётся пустых ячеек), текущий вектор Xvt передаётся гибридному автомату и начинает формироваться следующий. Тут следует отметить, что в текущем гибридном автомате нет понятия времени, и t – это лишь номер шага, но временная шкала может быть искусственно добавлена интеграцией тега времени в вектор.

Сегментация трейсов

Для каждой точки вычисляются производные в прямом и обратном направлении. Границами сегментов называются такие точки, в которых производные «вперёд» и «назад» имеют разные знаки, а производные «назад» для этой и предыдущей точек имеют один знак.

Выполняется сглаживание полученного ряда значений Xv каждого тега. Рассчитываются значения первой Der1 и второй Der2 частных производных в каждой точке траектории, при этом для ∆t временная шкала заменяется отсчётами.

Задаётся порог чувствительности выделения сегментов segThr. При этом:
segThr > 1: учитывается только смену направления изменения функции;
– segThr ϵ (0,1) – учитываются все изменения скорости изменения функции с некоторым допуском;
segThr = 0: деление на сегменты, в каждом из которых изменение функции может быть описано линейной функцией.

Если |Der2 ⁄ Der1| > segThr, то точка – граница (край) сегмента.

В случае, если предсказаны границы в последовательных Xv(t=k), Xv(t=k+1), …, Xv(t=k+n), то для каждого t выбирается максимум среди |Der2 ⁄ Der1| для всех переменных, и выбор границы из всего набора соседних Xvt происходит по величине этого отношения.

В случае, если тег бинарный, то выбирается индекс следующего сегмента как такой, где действительно происходит изменение.

Кластеризация сегментов

Крайние (первые и последние) сегменты каждой траектории удаляются (предполагается, что они содержат неполную траекторию и могут мешать кластеризации).
Сегменты объединяются с помощью DTW. Обработка многомерных рядов с помощью DTW не описана.

Для каждого сегмента, для каждого тега сегмента рассчитываются коэффициенты линейной функции, аппроксимирующей её изменение. В результате для каждого сегмента, для каждого тега формируются признаки – набор коэффициентов segA (включая свободный член segB), длина сегмента segLen, значение регистров в начальной точке сегмента Xvk.

Полученные сегменты кластеризуются с использованием самоорганизующейся сети Кохонена (SOM). В результате обработки картой Кохонена все сегменты разделяются на кластера, определяется конечное множество Loc = {locn}1numOfModes.

Расчёт уравнений состояний

Коэффициенты ОДУ рассчитываются с помощью линейной регрессии. Определяются инварианты для состояний: для каждого состояния выбираются минимальное и максимальное значения для переменных.

Коэффициенты ОДУ рассчитываются с помощью линейной регрессии с регуляризацией. При этом коэффициент регуляризации подбирается адаптивно. Модель минимизирует MSE. Скор-функция для выбора лучшей модели минимизирует максимальную ошибку предсказания (для уменьшения порога принятия решения об аномалии).

В результате каждое состояние из Loc описывается набором уравнений Xv = Xv × A + B.

Инварианты для состояний не вычисляются ввиду отсутствия необходимости.

Выявление переходов

Сначала определяются места перехода. Место перехода – такие три последовательные точки из исходных траекторий, чтобы первые две точки были в одном кластере (состоянии), а третья – в другом.

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

Изменение значений при переходе определяется с помощью построения модели линейной регрессии: по значениям последней точки исходного состояния модель учится предсказывать первую точку конечного состояния. Из обученной модели забираются коэффициенты для описания уравнений, описывающих изменение переменных при переходе из одного состояния в другое.

Для каждого Xvt указывается loc(t+1) ∈ Loc для Xv(t+1). Количество состояний конечно и определено заранее (на этапе объединения сегментов в состояния).

Обучается классификатор на основе SVM, исходные данные для которого – Xvt, цель – loc(t+1). При обучении SVM для каждого сегмента не учитывается последний (переходной) вектор Xv: экспериментально определено, что так уравнения плоскостей формируются точнее – ранее переход запаздывал.

Обученная модель (в виде набора гиперплоскостей как представления guard для каждого Jump) сохраняется в файл для использования в режиме предсказания.

Уравнения изменения значений тегов при переходе reset для каждого Jump определяются отдельно аналогично алгоритму из оригинальной статьи.

Расчёт максимальной допустимой ошибки

В исходном алгоритме отсутствует

Для тестовой части нормальных данных для каждого регистра вычисляется максимальный модуль относительной ошибки предсказания maxMAPE. Далее это значение умножается на коэффициент допуска tol и называется «порог ошибки» errorTol = maxMAPE ∙ tol для выявления аномалии для каждого регистра.

Эксплуатация модели для выявления аномалий

В исходном алгоритме отсутствует

Для Xvt выбрать loc(t+1) с помощью обученной SVC-модели.

Если loc(t+1) loct, то предсказать Xpredicted для t+1 с помощью reset из соответствующего Jump, иначе – с помощью соответствующего Flow.

Если при проверке отклонения предсказанного значения от актуального (с учетом погрешности) превышает рассчитанный ранее порог, то поднимается флаг, сообщающий об аномалии.

Набор детекторов для протокола Modbus

Также модель гибридного автомата дополнена детекторами для выявления отдельных аномалий в трафике протокола Modbus. Эти детекторы обеспечивают контроль следующих параметров:

  • контроль областей памяти: список используемых каждым узлом областей памяти;

  • состояние соединений: изменения в установленных соединениях, включая их разрывы и повторные подключения;

  • события некорректного завершения запросов (Exception в разных вариантах);

  • задержки между запросами для каждого узла: средние значения и стандартные отклонения для оценки допустимых временных интервалов;

  • количество запросов за временное окно.

Эти детекторы позволяют дополнять модель гибридного автомата, предоставляя дополнительные сигналы для выявления атак, связанных с нарушением протокольных спецификаций или поведением узлов.

Полученные результаты

В CIC Modbus dataset 2023 заявлено присутствие нескольких типов атак.

Таблица 2 – Типы атак в CIC Modbus dataset 2023

Атака

Суть

Recon. Range: N

Recon = Reconnaissance — разведка. Целью злоумышленника является разведка опытным путем параметров устройств Modbus: поддерживаемые номера функций, поддерживаемые адреса в памяти

Query Flooding

Атака представляет собой отправку большого числа идентичных запросов в сторону ПЛК. Либо если скомпрометирован сам ПЛК, то в ответ на один запрос ПЛК отправляет множество ответов с идентичным Transaction ID.

Brute force or specific coil. Address N

Использование функции №5 (Write Single Coil) для записи информации по адресу N

Length manipulation

Суть атаки состоит в том, что в modbus-заголовке поле длина содержит неверное значение. Согласно спецификации modbus это поле определяет размер следующей за этим полем части пакета. В данном случае указан размер Modbus пакета целиком (00 0С). Wireshark, например, не разбирает этот пакет, как и Zeek.

Replay

Повторение ранее замеченного запроса с другим transaction id

Payload injection

Попытки считать данные разными функциями с первых адресов с transactionID=0. В трафике ответа от ПЛК нет.

Stacked Modbus Frames

Объединение нескольких Modbus-пакетов в один TCP-пакет

False data injection

В случае скомпрометированного ПЛК в ответ на запрос отправляются данные, которые не могут быть декодированы как нормальный ответ из-за размерности.

Delay response

Скомпрометированное устройство отвечает на запрос дольше, чем обычно (в примерах задержки до 8 секунд).

В качестве защищаемых узлов выбраны ПЛК IED1A (185.175.0.4) и IED1B (185.175.0.5). Атака считалась обнаруженной, если разработанный алгоритм поднимал флаг об аномалии в течение не более чем 5 секунд после её появления в трафике. Оценка точности выполнялась по разметке, представленной в репозитории CIC Modbus 2023 [3].

В результате получены следующие метрики:

Рисунок 2 – Результаты выявления атак для IED1A (185.175.0.4)

Рисунок 2 – Результаты выявления атак для IED1A (185.175.0.4)
Рисунок 3 – Результаты выявления атак для IED1B (185.175.0.5)

Рисунок 3 – Результаты выявления атак для IED1B (185.175.0.5)

Здесь можно было бы показать рассчитанную полноту (recall) для класса «аномалии», которая показательно была бы близка к 1.0 из-за десятков тысяч атак типа «Brute force», каждый элемент которых обозначен в датасете отдельно. Но фактически эти аномалии расположены очень близко во времени, поэтому по-честному поднятие флага хотя бы об одной аномалии из группы говорит о возможности выявления всей группы. С другой стороны, атак типа «Length manipulation» было всего три-четыре сотни на весь датасет, но во времени они распределены – соответственно, выявление одной атаки не позволяет выявить и другие.

Поэтому все тестовые данные были разделены на интервалы около 5 секунд, для каждого из которых по разметке известно, были ли в нём аномалии. Для таких интервалов рассчитаны точность и полнота выявления аномалий и результаты работы на «чистом» трафике (режим нормального функционирования OT-системы при отсутствии атак).

Рисунок 4 – Результаты выявления аномальных окон для IED1A (185.175.0.4)

Рисунок 4 – Результаты выявления аномальных окон для IED1A (185.175.0.4)
Рисунок 5 – Результаты выявления аномальных окон для IED1B (185.175.0.5)

Рисунок 5 – Результаты выявления аномальных окон для IED1B (185.175.0.5)

По метрикам видно, что на одном из устройств ложных сработок нет, а на другом доля ложных срабатываний (False Positive Rate) менее 0,5%. Выявляется от 81% до 94% всех аномальных 5-секундных окон. При этом следует помнить (из Рисунок 2 и Рисунок 3), что 19% и 6% невыявленных окон – это, вероятнее всего, атаки типа Length Manipulation, которые не могут быть выявлены из-за особенностей работы используемого анализатора сетевых пакетов (Zeek). Гибридный автомат имеет возможность выявлять аномалии только в том, что обнаруживает Zeek, поэтому некоторые атаки, например, относящиеся к типу Length Manipulation, не могут быть выявлены из-за пропуска таких пакетов на уровне Modbus (архитектурно).

Кроме достаточно неплохих метрик качества (и доли выявленных атак разных типов) к достоинствам гибридного автомата следует отнести интерпретируемость и возможность интеграции экспертного знания доменных экспертов.

Также стоит отметить, что в текущей реализации используется автомат, относящийся к классу «без памяти», не имеющий понятия о времени. Это вносит некоторые ограничения в его работу, и в будущем добавление памяти автомату может быть одним из направлений исследований по повышению точности детектирования аномалий в OT-системах.

Список литературы

  1. TAdviser. Потери от киберпреступности.
    https://www.tadviser.ru/index.php/Статья:Потери_от_киберпреступности

  2. Kwasi Boakye-Boateng, Ali A. Ghorbani, and Arash Habibi Lashkari, “Securing Substations with Trust, Risk Posture and Multi-Agent Systems: A Comprehensive Approach,” 20th International Conference on Privacy, Security and Trust (PST), Copenhagen, Denmark, August. 2023.

  3. Canadian Institute for Cybersecurity Datasets https://www.unb.ca/cic/datasets/index.html.

  4. Downs, J. J., & Vogel, E. F. (1993). A plant-wide industrial process control problem. Computers & chemical engineering, 17(3), 245-255.

  5. Kitsune Network Attack [Dataset]. (2019). UCI Machine Learning Repository. https://doi.org/10.24432/C5D90Q.

  6. iTrust, Center for Research in Cyber Security, Singapore University of Technology and Design. iTrust Labs Datasets. [Online]. https://itrust.sutd.edu.sg/itrust-labs_datasets/dataset_info/.

  7. Estimating the support of a high-dimensional distribution Schölkopf, Bernhard, et al. Neural computation 13.7 (2001): 1443-1471.

  8. Kramer, Mark A. (1991). “Nonlinear principal component analysis using autoassociative neural networks” (PDF). AIChE Journal. 37 (2): 233–243. https://doi.org/10.1002/aic.690370209.

  9. A. Salomaa, “Michael A. Arbib. Theories of abstract automata. Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1969, xiii + 412 pp.,” Journal of Symbolic Logic, vol. 37, no. 2. Cambridge University Press (CUP), pp. 412–413, Jun. 1972. https://doi.org/10.2307/2273007

  10. Raskin, JF. (2005). An Introduction to Hybrid Automata. In: Hristu-Varsakelis, D., Levine, W.S. (eds) Handbook of Networked and Embedded Control Systems. Control Engineering. Birkhäuser Boston. https://doi.org/10.1007/0-8176-4404-0_21

  11. M. García Soto, T. A. Henzinger, and C. Schilling, “Synthesis of Parametric Hybrid Automata from Time Series,” Automated Technology for Verification and Analysis. Springer International Publishing, pp. 337–353, 2022. https://doi.org/10.1007/978-3-031-19992-9_22.

  12. X. Yang, O. A. Beg, M. Kenigsberg, and T. T. Johnson, “A Framework for Identification and Validation of Affine Hybrid Automata from Input-Output Traces,” ACM Transactions on Cyber-Physical Systems, vol. 6, no. 2. Association for Computing Machinery (ACM), pp. 1–24, Apr. 11, 2022. https://doi.org/10.1145/3470455.

  13. A. Gurung, M. Waga, and K. Suenaga, “Learning nonlinear hybrid automata from input-output time-series data.” arXiv, 2023. https://doi.org/10.48550/ARXIV.2301.03915.

Автор статьи: Алексей Синадский, исследователь исследовательского центра UDV Group

Автор: CyberLympha

Источник

Rambler's Top100