Решение UDV EDR for PLC, использующее часть алгоритмов CyberLympha Thymus, разработано с целью обеспечения защиты OT-инфраструктур, включая системы, о которых наши знания ограничены. Это достигается за счёт использования адаптивных механизмов обеспечения безопасности, способных эффективно реагировать на изменяющиеся угрозы.
Основной задачей АСУ ТП является поддержание непрерывности OT-процессов, что напрямую связано с бесперебойной работой производственных систем. Сбои в OT могут привести к немедленным и необратимым повреждениям оборудования, а также к значительным финансовым потерям. В связи с этим, помимо усиления защиты цифровой среды (IT), для АСУ ТП крайне важно обеспечить надёжную защиту их основного функционала — OT-инфраструктуры.
Для оценки эффективности разработанного решения проведён эксперимент по выявлению аномальной сетевой активности в CIC Modbus dataset 2023.
Датасет
Выбор датасета
В качестве датасета для эксперимента выбран CIC Modbus dataset 20231, разработанный Canadian Institute for Cybersecurity (CIC), занимающимся, в числе прочего, созданием датасетов2 для оценки эффективности работы средств защиты информации. В отличие от, например, от Tennesse Eastman Process3, представляющего данные в формате CSV, в CIC Modbus dataset 2023 данные поставляются в формате PCAP, что позволяет анализировать те же данные, которые попадали бы в систему при работе в режиме реальной эксплуатации (без учета предварительной обработки). В отличие от популярного Kitsune Network Attack Dataset4, представляющего ориентир для выявления атак в корпоративных сетях, 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 – Схема стенда
Алгоритмы обнаружения аномалий
Выбор подхода
Теги в АСУ ТП представляют собой ключевые элементы, хранящие важные параметры и показатели технологических процессов. Несанкционированное изменение или передача некорректных данных через них может привести к нарушению работы системы, что в свою очередь способно вызвать сбои в производственных процессах. Выявление аномалий возможно, если построена модель нормального функционирования защищаемой системы.
Для выявления аномалий в передаваемых данных существует множество подходов – от классических методов машинного обучения (например, одноклассовый SVM5) до нейронных сетей на основе архитектуры автокодировщика6.
У каждого метода есть свои достоинства и недостатки. Так, например, OC SVM объясним (т.е. модель выдает информацию о признаках и причинах формирования сообщения об аномалии), но ограничен в адаптивности: для каждой новой защищаемой системы потребуется донастройка. Автокодировщик – наоборот, имеет возможность адаптироваться к защищаемой системе без участия оператора, но при этом в силу особенностей нейронных сетей имеет некоторые дополнительные сложности в объяснимости.
Отдельное направление в моделировании систем – построение автоматов, описывающих передаваемые данные. Существуют конечные автоматы (FSM — Finite-state machine), которые позволяют описывать систему в терминах состояний и переходов7. Полезная особенность конечных автоматов – объяснимость и возможность дополнения экспертным знанием уже после обучения модели. Объяснимость возникает ввиду описания изменения переменных внутри состояний в формате уравнений, понятных оператору защищаемой системы. А возможность дополнения экспертным знанием может быть реализована путём анализа доменным экспертом сформированного автомата и, при необходимости, непосредственной корректировки коэффициентов уравнений.
При этом конечные автоматы описывают изменение системы только в рамках состояний, предполагая, что смена одного состояния на другое происходит бесследно. В реальности бывает так, что переход из одного состояния в другое сопровождается изменением внутренних переменных системы, не соответствующих ни начальному, ни конечному состояниям – для обработки таких ситуаций может быть использован механизм гибридных автоматов.
Гибридный автомат в отличие от конечного характеризуется возможностью описания как дискретных, так и непрерывных величин в моделируемой киберфизической системе, что позволяет сформировать более точную модель.
Существуют методы формирования гибридных автоматов по историческим данным. Некоторые из них [8] позволяют построить автомат, но имеют ограничения по обработке изменений, поступающих из внешней (неконтролируемой и не описываемой автоматом) среды. Другой метод9 решает эту проблему, но имеет ограничение по формированию уравнений изменения данных при переходах. Работа10, хотя и может быть улучшена (улучшения и доработки будут описаны в настоящей статье), лишена обоих этих недостатков, поэтому предложенный в ней алгоритм взят в качестве основы для разработки собственного решения.
Гибридный автомат
Общая последовательность действий – сформировать автомат по историческим данным, рассчитать пороговые значения для выявления аномалий, в режиме эксплуатации выявлять аномалии с помощью разработанного автомата и выбранного порога.
Для интерпретации и добавления экспертного знания доменных экспертов в модель может быть использован режим экспорта модели в файл. В этом случае в текстовом представлении сохраняются используемые переменные (соответствие областей памяти в трафике и внутренних переменных автомата), рассчитанные состояния и переходы.
Формирование автомата может быть выполнено по принципам, изложенным в источнике10, с некоторой доработкой. Полученный автомат позволяет по известному вектору значений для текущего шага и известному состоянию системы предсказывать значения в следующий момент времени.
Для определения наличия аномалии полученный в следующий момент времени вектор значений сравнивается с предсказанным. Если отличие больше заданного порога, то генерируется сообщение об аномалии.
Порог может быть рассчитан путём предсказания автоматом истинно-нормальных данных и оценки относительной ошибки предсказания. Для каждого элемента вектора значений порог может быть выбран индивидуально, что позволит получать дополнительную информацию при объяснении причины принятия решения о наличии аномалии.
Этапы обучения и эксплуатации модели, основанной на идее гибридного автомата, приведены в таблице ниже. Для удобства сопоставлены доработанный алгоритм и используемый в UDV EDR for PLC (в приложении к протоколу Modbus). Предложенный алгоритм реализован для протокола Modbus, но может быть адаптирован и к другим протоколам: для интеграции достаточно корректно описать способ формирования векторов.
Таблица 1 – Этапы обучения и эксплуатации модели системы на основе гибридного автомата
Исходный алгоритм10 | EDR for PLC | |
---|---|---|
Выбор исходных данных | Все траектории (записанные дампы) склеиваются в одну. | Пакеты трафика анализируются утилитой Zeek с доработанными скриптами для глубокого разбора протокола Modbus. Для гибридного автомата формируются вектора, состоящие из набора контролируемых областей памяти. Как только каждая контролируемая область памяти была передана хотя бы раз (в векторе не остаётся пустых ячеек), текущий вектор передаётся гибридному автомату и начинает формироваться следующий. |
Сегментация трейсов | Для каждой точки вычисляются производные в прямом и обратном направлении. Границами сегментов называются такие точки, в которых производные «вперёд» и «назад» имеют разные знаки, а производные «назад» для этой и предыдущей точек имеют один знак. |
Выполняется сглаживание полученного ряда значений каждого тега. Рассчитываются значения первой и второй частных производных в каждой точке траектории. Если модуль отношения второй производной к первой больше порога, то точка – граница (край) сегмента. Изменением порога регулируется чувствительность выделения сегментов. Порог больше 1 будет учитывать только смену направления изменения функции, порог от 0 до 1 - все изменения скорости изменения функции с некоторым допуском, порог, равный 0, разделит на сегменты, в каждом из которых изменение функции может быть описано линейной функцией. В случае, если предсказаны границы в последовательных векторах, то для каждого смещения выбирается максимум среди отношений производных для всех переменных, и выбор границы из соседних происходит по величине этого отношения. В случае, если тег бинарный, то выбирается индекс следующего сегмента как такой, где действительно происходит изменение. Для первых двух элементов последовательности векторов значение не определяется, чтобы компенсировать особенность численного расчёта производной - она не существует для первого элемента (а для второй производной - для двух начальных элементов). |
Кластеризация сегментов |
Крайние (первые и последние) сегменты каждой траектории удаляются (предполагается, что они содержат неполную траекторию и могут мешать кластеризации). Сегменты объединяются с помощью DTW. Обработка многомерных рядов с помощью DTW не описана. |
Для каждого сегмента, для каждого регистра (область памяти holding registers и input registers) сегмента рассчитываем коэффициенты линейной функции, аппроксимирующей её изменение. В результате для каждого сегмента, для каждого регистра формируются признаки – набор коэффициентов (включая свободный член), длина сегмента, значение регистров в начальной точке сегмента. Полученные сегменты кластеризуются с использованием самоорганизующейся сети Кохонена (SOM). В результате обработки картой Кохонена все сегменты разделяются на кластера. |
Расчёт уравнений состояний |
Коэффициенты ОДУ рассчитываются с помощью линейной регрессии. Определяются инварианты для состояний: для каждого состояния выбираются минимальное и максимальное значения для переменных. |
Коэффициенты ОДУ рассчитываются с помощью линейной регрессии с регуляризацией. При этом коэффициент регуляризации подбирается адаптивно. Модель минимизирует MSE. Скор-функция для выбора лучшей модели минимизирует максимальную ошибку предсказания (для уменьшения порога принятия решения об аномалии). Инварианты для состояний не вычисляются ввиду отсутствия необходимости. |
Выявление переходов |
Сначала определяются места перехода. Место перехода – такие три последовательные точки из исходных траекторий, чтобы первые две точки были в одном кластере (состоянии), а третья – в другом. После определения места перехода рассчитываются условия выполнения перехода. Для этого значения в выбранных точках центруются, нормализуются. Обучается SVM для нескольких наборов гиперпараметров, перебором выбирается лучший. Из обученной SVM-модели выделяются коэффициенты гиперплоскости, которые присваиваются переходам. С использованием коэффициентов нормализации и центрирования значения возвращаются в исходный диапазон. Изменение значений при переходе определяется с помощью построения модели линейной регрессии: по значениям последней точки исходного состояния модель учится предсказывать первую точку конечного состояния. Из обученной модели забираются коэффициенты для описания уравнений, описывающих изменение переменных при переходе из одного состояния в другое. |
Для каждой точки (вектора) данных указывается состояние системы на следующем шаге (для следующей точки). Количество состояний конечно и определено заранее (на этапе объединения сегментов в состояния). Обучается классификатор на основе SVM, исходные данные для которого – вектор данных (целочисленных регистров) текущей точки, целевая функция – состояние системы на следующем шаге. При обучении SVM для каждого сегмента не учитывается последний (переходной) вектор (экспериментально определено, что так уравнения плоскостей формируются точнее – ранее переход запаздывал). Обученная модель (в виде набора гиперплоскостей) сохраняется в файл для использования в режиме предсказания. Уравнения изменения перехода определяются отдельно аналогично алгоритму из оригинальной статьи. |
Расчёт максимальной допустимой ошибки | В исходном алгоритме отсутствует | Для тестовой части нормальных данных для каждого регистра вычисляется максимальный модуль относительной ошибки предсказания. Далее это значение умножается на коэффициент допуска и называется «порог ошибки» для выявления аномалии для каждого регистра. |
Эксплуатация модели для выявления аномалий | В исходном алгоритме отсутствует |
Для текущей точки данных выбрать следующее состояние с помощью обученной SVC-модели. Если следующее состояние отличается от текущего, то предсказать данные с помощью LR-модели, обученной на переходах, иначе – с помощью модели, обученной на данных внутри текущего состояния. Если при проверке предсказанное значение регистра отличается от истинного (фактически полученного) более, чем в «порог ошибки» раз, то поднимается флаг, сообщающий об аномалии. |
Набор детекторов для протокола Modbus
Также, кроме модели гибридного автомата, в UDV EDR for PLC используются детекторы для выявления отдельных аномалий в трафике протокола 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). Атака считалась обнаруженной, если UDV EDR for PLC поднимал флаг об аномалии в течение не более чем 5 секунд после её появления в трафике. Оценка точности выполнялась по разметке, представленной в репозитории CIC Modbus 2023 [2].
В результате получены следующие метрики:
Рисунок 2 – Результаты выявления атак для IED1A (185.175.0.4)
Рисунок 3 – Результаты выявления атак для IED1B (185.175.0.5)
Здесь можно было бы показать рассчитанную полноту (recall) для класса «аномалии», которая показательно была бы близка к 1.0 из-за десятков тысяч атак типа «Brute force», каждый элемент которых обозначен в датасете отдельно. Но фактически эти аномалии расположены очень близко во времени, поэтому по-честному поднятие флага хотя бы об одной аномалии из группы говорит о возможности выявления всей группы. С другой стороны, атак типа «Length manipulation» было всего три-четыре сотни на весь датасет, но во времени они распределены – соответственно, выявление одной атаки не позволяет выявить и другие.
Поэтому все тестовые данные были разделены на интервалы около 5 секунд, для каждого из которых по разметке известно, были ли в нём аномалии. Для таких интервалов рассчитаны точность и полнота выявления аномалий и результаты работы на «чистом» трафике (режим нормального функционирования OT-системы при отсутствии атак).
Рисунок 4 – Результаты выявления аномальных окон для IED1A (185.175.0.4)
Рисунок 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 (архитектурно).
Кроме достаточно неплохих метрик качества (и доли выявленных атак разных типов) к достоинствам гибридного автомата следует отнести интерпретируемость и возможность интеграции экспертного знания доменных экспертов.
Также стоит отметить, что в текущей реализации используется автомат, относящийся к классу «без памяти», не имеющий понятия о времени. Это вносит некоторые ограничения в его работу, и в будущем добавление памяти автомату может быть одним из направлений исследований по улучшению качества работы UDV EDR for PLC.
Список литературы
- 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.
- Canadian Institute for Cybersecurity Datasets.
- Downs, J. J., & Vogel, E. F. (1993). A plant-wide industrial process control problem. Computers & chemical engineering, 17(3), 245-255.
- Kitsune Network Attack [Dataset]. (2019). UCI Machine Learning Repository.
- Estimating the support of a high-dimensional distribution Schölkopf, Bernhard, et al. Neural computation 13.7 (2001): 1443-1471.
- Kramer, Mark A. (1991). "Nonlinear principal component analysis using autoassociative neural networks" (PDF). AIChE Journal. 37 (2): 233–243.
- 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.
- 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.
- 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.
- A. Gurung, M. Waga, and K. Suenaga, “Learning nonlinear hybrid automata from input-output time-series data.” arXiv, 2023.