Способ выявления аномалий в работе сети автоматизированной системы
METHOD FOR DETECTING ANOMALIES IN OPERATION OF AUTOMATED SYSTEM NETWORK

Область техники
Настоящее изобретение относится к средствам мониторинга безопасности, а именно к имеющим компьютерную реализацию способам выявления аномалий в работе сети автоматизированной системы. Изобретение может быть использовано в составе промышленных систем автоматизации и управления (ПСАиУ).
Уровень техники
Известен способ удаленного мониторинга энергетических установок (турбоагрегатов), раскрытый в патенте на изобретение РФ № 2626780 (опубл. 01.08.2017, МПК G05B 23/00).
В известном способе на основе данных, характеризующих показатели технологических параметров (ТП) объекта контроля формируют эталонную выборку, из точек которой строят матрицу состояний. В этой матрице компонентами являются значения показателей работы объекта, характеризующих нормальные состояния работы объекта контроля. Затем, используя метод MSET (Multivariate State Estimation Technique), строят эмпирические модели прогнозирования состояния объекта контроля, каждая из которых отображает наблюдаемую точку состояния объекта в пространстве показателей работы объекта в точку, моделирующую состояние объекта. В ходе осуществления контроля объекта, рассчитывают статистические показатели, характеризующие отклонения показателей ТП объекта в процессе его работы, степень отклонения последних, а также ранжируют их для того, чтобы определить, какой из показателей ТП вносит наибольший вклад в изменение состояния объекта. При этом для эталонной выборки осуществляют ее пополнение выборкой точек за новый промежуток времени и выборкой отфильтрованных точек, соответствующую режиму работы, описываемому моделью, и соответствующую новому техническому состоянию объекта контроля, на основании отфильтрованной выборки обновляют эмпирические модели. Для оператора ПСАиУ формируют оповещение об отклонении показателей ТП на основании обновленной модели.
Известный способ позволяет сформировать матрицу для оценки показателей работы объекта мониторинга в том случае, если все его составляющие подчинены единой модели функционирования. В частности, турбоагрегаты имеют схожую укрупненную структуру, соответственно, их модель функционирования можно назвать общей. Однако при использовании известного способа применительно к разнородным типам составляющих объекта мониторинга, известный способ может показать низкую точность выявления нежелательных состояний в работе такого объекта.
При этом затруднительным является перенос метода MSET применительно к компьютерным сетям автоматизированных систем в отсутствие формализованного универсального определения нормального (безопасного) состояния автоматизированной системы. Для автоматизированных систем и их узлов предположение о том, что они действуют в рамках общей универсальной модели, является неверным, поэтому обучение методом MSET на одной такой системе будет приводить к результату, являющемуся значительно менее точным, для другой системы.
Упомянутые недостатки приводят к тому, что в случае применения метода MSET для выявления нежелательных состояний в работе сети АС, обучение необходимо проводить для каждого экземпляра АС, мониторинг состояния которой осуществляется. В процессе такого обучения будут определены критерии для суждения о нормальном состоянии системы, а также состав и значения параметров системы, на основе которых определяется ее текущее состояние. Таким образом, все эти положения значительно усложняют синтез эмпирических моделей прогнозирования для сети АС, без чего невозможна достаточная точность выявления нежелательных состояний в ее работе. Дополнительным недостатком является низкая степень автоматизации процесса обучения для работы способа.
Известен способ мониторинга безопасности автоматизированных систем, раскрытый в патенте на изобретение РФ № 2355024 (опубл. 10.05.2009, МПК G06F 15/00).
В известном способе задают множество контролируемых параметров, характеризующих состояние безопасности АС, при этом для каждого из параметров определяют эталонные значения и коэффициенты важности. Для каждого структурного элемента и функционального процесса формируют группы из упомянутых параметров, а также значения временных интервалов измерений и момент времени формирования отчета о состоянии АС. В отчете указывают результаты сравнения значений контролируемых параметров и соответствующих для них эталонных значений.
Однако точность возникновения нежелательных состояний в работе АС в известном способе целиком зависит от изначально заданного множества контролируемых параметров. По причине того, что унифицированный набор таких параметров, который мог бы достаточно точно указывать на нормальное или аномальное состояние работы системы отсутствует, требуются значительные затраты ресурсов и времени, а также привлечения экспертных знаний для формирования упомянутого множества параметров и соответствующих им других показателей (коэффициенты важности, эталонные значения, соответствие группы структурному элементу или процессу), что накладывает существенные ограничения на точность работы известного способа. Дополнительным недостатком является низкая степень автоматизации процесса подготовки множеств исходных данных для реализации способа.
Известен способ обнаружения компьютерных атак, раскрытый в патенте на изобретение РФ № 2683631 (опубл. 29.03.2019, МПК G06F 21/55).
В известном способе устанавливают и запоминают пороговые значения параметров, необходимое число определяемых типов атак, для которых задают количество обучающих и контрольных примеров для нейронной сети, подготавливают характеристические векторы для каждого типа атаки, определяют виды протоколов и информативные параметры для пакетов данных. Затем задают структуру нейронной сети, включающей входные, скрытые и выходные нейроны, и проводят ее обучение с использованием предварительно подготовленных примеров по достижении требуемой достоверности распознавания. При наличии компьютерной атаки определяют одиночный или комбинированный тип атаки по сочетанию рассчитанных значений параметров на выходных нейронах нейронной сети.
Однако недостатком известного способа является невозможность определения неизвестной атаки, которая не была распознана на стадии обучения нейронной сети. Обучение нейронной сети предполагается на наборе входных данных, который должен подбираться для каждой защищаемой системы оптимальным образом (как количественно, так и качественно) с привлечением экспертных знаний, что характеризует стадию обучения в известном способе как недостаточно автоматизированную. При этом достаточно сложно установить точность выявления нежелательных состояний в защищаемой системе, поскольку для известного изобретения не раскрыты конкретные детали построения характеристического вектора для атаки конкретного типа.
Известен способ обнаружения аномального поведения устройства в компьютерной системе, раскрытый в заявке на патент США № 2017/0230392 (опубл. 10.08.2017, МПК G06F 21/55).
Известное техническое решение включает в себя выявление вредоносной активности и представление результатов выявления аномалий для пользователя системы. Выявление вредоносной активности включает в себя сбор метрик сетевого трафика, построения на его основе нормального профиля активности и анализ поведения каждого устройства сети с целью выявления аномалии в его поведении.
При сборе метрик сетевого трафика в качестве метрик используют непосредственно измеряемые метрики сети передачи данных (например, количество пакетов, полученных и отправленных сетевым устройством, объем передаваемых и получаемых данных), а также вычисляемые метрики, в качестве которых используют результаты работы классических алгоритмов выявления аномалий во входных данных (например, метод опорных векторов, локальный уровень выброса). В результате для каждого сетевого устройства формируют набор присвоенных ему метрик с историей их измерений.
Затем применяют метод пиков над порогами (англ. - Peak Over Threshold, POT) для выявления аномальных значений текущего замера наблюдаемого параметра, путем вычисления вероятности и сравнения этой вероятности с некоторым пороговым значением. Если наблюдаемое значение вероятности ниже порога, то фиксируют аномалию в работе сети. Использование метода POT позволяет также автоматически менять пороговые значения для параметров сетевых устройств, учитывая историю измерения параметров. Это позволяет проводить модификацию моделей распознавания аномалий на основе фиксированных данных без участия оператора.
Представление результатов выявления аномалий для пользователя системы включает в себя ранжирование наблюдаемых событий в сети по степени влияния на аномалию в работе сетевого устройства, и вывод пользователю тех событий, вклад которых в обнаружение аномалии превышает пороговое значение.
Однако описанный способ имеет ряд недостатков, приводящих к повышению вероятности возникновения ложноположительных и ложноотрицательных срабатываний. К таким недостаткам можно отнести:
- наблюдаемые параметры системы (и отдельных ее объектов) представлены случайными величинами, причем сделано предположение об их независимости (для разных объектов), что не соответствует реальной детерминистской природе автоматизированных систем, а также сути распределенной системы, где компоненты активно влияют друг на друга;
- выявляемые аномалии сложно увязать с реальными изменениями/событиями в системе, что не позволяет эффективно провести расследование причин аномалии (например, если аномалия вызвана повышением количества входящих сетевых пакетов на объект защиты, то это может свидетельствовать и о DoS атаке, и о передаче объемных данных, которая ранее просто не встречалась (началось резервное копирование), и о изменении режима функционирования объекта (например, перепрограммирование контроллера));
- анализу подвергаются только метаданные, метод не анализирует значимые для системы параметры (например, состав, частота или топология входных и выходных сигналов).
Известен способ обнаружения кибер-атак в автоматизированных системах управления технологическими процессами, раскрытый в патенте на изобретение США 10015188 (опубл. 03.07.2018, МПК H04L 63/1441).
Для известного способа описаны режим обучения и режим защиты.
В режиме обучения перехватывают сетевые пакеты, являющиеся сетевым трафиком ПСАиУ, и формируют для каждого перехваченного пакета характеристический вектор на основе параметров такого пакета. В качестве параметров пакета используют поля протокола, которые могут быть выявлены методом глубокой инспекции пакетов (англ. - Deep Packet Inspection, DPI), метаданные пакета (частота, время, источник и приемник и пр.), контекстно-зависимую информацию, связанную с предшествующими перехваченными пакетами. На основе характеристического вектора пакета вычисляют новое наблюдаемое состояние ПСАиУ, при этом модель защищаемой ПСАиУ рассматривают в качестве конечного автомата. Результатом вычисления является выявление соответствия нового состояния одному из числа ранее наблюдаемых состояний или вывод о том, что новое состояние ранее не было выявлено и зафиксировано. В последнем случае для конечного автомата создают еще одно состояние и ребро, соответствующее переходу системы из предшествующего состояния в новое. Вес для такого ребра принимают за единицу. Если новое состояние ранее было зафиксировано, то для ребра, соответствующему переходу из предшествующего состояния в новое, увеличивают вес на единицу. Режим обучения завершается, когда для конечного автомата ПСАиУ не происходит создания новых ребер и состояний.
В режиме защиты перехватывают сетевые пакеты ПСАиУ и формируют для каждого из них характеристический вектор, используя параметры пакета аналогичным образом, как и в режиме обучения. На основе характеристического вектора вычисляют новое наблюдаемое состояние ПСАиУ, в результате вычисления определяют ребро конечного автомата, соединяющее предыдущее и текущее состояние ПСАиУ, а также вес этого ребра. Для ребра определяют вероятность перехода из предыдущего в текущее состояние, при этом принимают, что чем выше вес ребра, тем выше вероятность перехода. Дополнительно вычисляют вероятность перехода для цепочки из нескольких предыдущих состояний. Значения полученных вероятностей сравнивают с установленными в режиме обучения граничными значениями. Если вычисленное значение вероятности перехода ниже соответствующего граничного значения, то оповещают оператора о выявлении аномалии в работе защищаемой ПСАиУ.
n
Однако известный способ характеризуется непредсказуемо длительным временем обучения, поскольку число состояний конечного автомата для реальной ПСАиУ будет расти экспоненциально с ростом числа узлов системы. Если предположить, что каждый отдельный узел ПСАиУ является конечным автоматом с m состояний, а всего узлов n, то общее число состояний системы будет пропорционально значению m. Другим недостатком известного способа является высокая вероятность возникновения ошибок второго рода (ложноотрицательных срабатываний). Это вызвано тем, что реальная ПСАиУ с математической точки зрения не является конечным автоматом, так как в ПСАиУ отдельные узлы формируют и принимают сигналы независимо от прочих узлов, а также обладают собственной памятью, что может менять поведение узла при одних и тех же входных сигналах. При этом в известном способе различные переходы из одного состояния в другое характеризуются с точки зрения вероятности, но в реальной системе переход является детерминированным. Исключение состояния памяти узла может привести к построению ошибочных моделей в ходе обучения.
Раскрытие сущности изобретения
Техническая задача, положенная в основу настоящего изобретения, заключается в обеспечении возможности выявления аномалий в работе сети автоматизированной системы.
Технический результат, достигаемый при осуществлении настоящего изобретения, заключается в повышении точности при выявлении аномалий в работе сети автоматизированной системы.
Технический результат достигается за счет способа выявления аномалий в работе сети автоматизированной системы (АС), который включает следующие этапы:
- принимают перехваченный в сети АС сетевой пакет и выявляют в нем адресные поля и поля данных на основе правил разбора сетевого пакета, при этом адресные поля пакета включают адрес и интерфейс по меньшей мере одного узла-отправителя и адрес и интерфейс по меньшей мере одного узла-получателя;
- выявляют адрес и интерфейс узла-отправителя и адрес и интерфейс узла-получателя на основе поиска по каталогу интерфейсов сетевых узлов сети АС, и для выявленной пары "узел-отправитель - узел-получатель" находят запись в словаре сигналов, причем запись словаря сигналов включает адреса и интерфейсы этих узлов и поля данных принятого сетевого пакета;
- выявляют реакцию узла-получателя на выявленную запись словаря сигналов и сопоставляют эту реакцию с ожидаемой реакцией на эту запись, заложенной для узла-получателя в соответствующем для него агенте из многоагентной модели сети АС;
- возвращают пользователю карточку аномалии, при этом карточка аномалии включает в себя сведения, включающие по меньшей мере один из видов сведений, выбранных из группы: автоматически сформированные правила разбора сетевого пакета, структура которого не была известна и для которого не были выявлены адресные поля и поля данных; адрес и/или интерфейс узла-источника и/или узла-получателя, не найденные в каталоге интерфейсов сетевых узлов сети АС; отклонение между наблюдаемой и ожидаемой реакцией на запись словаря сигналов в случае выявления такого отклонения при заданном значении погрешности для отклонения;
причем многоагентная модель сети АС состоит из соответствующих узлам сети АС программных агентов, для которых определена их ожидаемая реакция на выходе при поступлении на их вход записи словаря сигналов.
В частности, сетевые пакеты в сети АС могут быть перехвачены посредством зеркалирования сетевого трафика, поступающего на интерфейсы коммутационного оборудования в сети АС.
В частности, база правил разбора протоколов может описывать признаки, которые указывают на принадлежность пакета к тому или иному протоколу и правила анализа этого конкретного протокола.
В частности, автоматическое формирование правил разбора протокола может быть осуществлено на основе определения границ полей пакета по совокупности энтропии и взаимной информации.
В частности, каталог интерфейсов сетевых узлов может представлять собой массив деревьев, где в роли корня выступают уникальные адреса первого уровня - адреса узлов, подчиненными вершинами которых являются адреса нижележащих уровней, для которых установлена корреляция с вышестоящим адресом - интерфейсы.
В частности, словарь сигналов может включать в себя записи вида «интерфейс узла-источника, интерфейс узла-получателя, значение семантических полей».
В частности, программный агент многоагентной модели сети АС может быть представлен математической сущностью, способной предоставлять на своем выходе реакцию на сигнал, подаваемый на ее вход. При этом программный агент может быть представлен конечным автоматом. В качестве конечного автомата используют автомат Мили или вероятностный автомат.
Краткое описание чертежей
На ФИГ.1а представлена блок-схема разбора сетевого пакета.
На ФИГ.1б представлен пример разбора сетевого пакета, принадлежащего известному сетевому протоколу.
На ФИГ.1в представлена блок-схема разбора пакета, принадлежащего неизвестному сетевому протоколу.
На ФИГ.1г представлен пример выявления полей неизвестных протоколов.
На ФИГ.2а представлена блок-схема анализа сетевого пакета.
На ФИГ.2б представлен пример каталога интерфейсов сетевых узлов.
На ФИГ.3 представлена блок-схема создания каталога интерфейсов сетевых узлов.
На ФИГ.4а представлена блок-схема формирования поколения агентов.
На ФИГ.4б представлена дополнительная блок-схема формирования поколения агентов.
На ФИГ.4в представлен пример реализации агента, представленного автоматом Мили.
На ФИГ.5а и ФИГ.5б представлена блок-схема способа выявления аномалий в работе сети АС.
Осуществление изобретения
Настоящее изобретение относится к средствам мониторинга безопасности и является способом, предназначенным для реализации при помощи средств вычислительной техники. Изобретение может быть использовано в составе промышленных систем автоматизации и управления (ПСАиУ). ПСАиУ может быть представлена совокупностью компьютерных узлов, связанных между собой при помощи компьютерной сети. При этом узлы могут быть представлены постоянно подключенными к сети персональными компьютерами, серверами, коммутационными устройствами, датчиками для контроля оборудования и выполнения технологических процессов, а также мобильными устройствами, не являющимися подключенными к сети постоянно, такими как смартфоны, ноутбуки. В целом, термин «узел» в контексте описания настоящего изобретения используется в широком смысле, означая средство вычислительной техники, способное осуществлять информационный обмен, прием, передачу, коммутацию данных с использованием по меньшей мере одного сетевого протокола.
В частных случаях, промышленные системы автоматизации и управления могут быть представлены следующими автоматизированными системами:
- автоматизированные системы управления технологическими процессами (АСУ ТП);
- системы управления производством;
- системы автоматизации и мониторинга инженерного оборудования жилых и нежилых помещений (системы класса «умный» дом, «умный» офис);
- системы автоматизации и мониторинга центров обработки данных;
- сети интеллектуальных устройств («интернет вещей» и «индустриальный интернет вещей»);
- корпоративные информационные системы.
С целью обеспечения большей ясности при изложении настоящего описания примеры упомянутых систем, термин “автоматизированные системы” и аббревиатура “АС” употреблены как синонимичные.
В целом термины, используемые в настоящем описании должны быть истолкованы, как известные для специалиста в данной области техники. Некоторые термины определены ниже, для того, чтобы обеспечить дополнительную ясность. В случае конфликта между известным значением и представленным определением, должно быть использовано представленное определение.
Под термином “интерфейс” понимается точка соединения сетевого узла (отдельного программного сервиса на сетевом узле) с другим сетевым узлом (отдельным программным сервисом на сетевом узле). Интерфейс представляет собой совокупность адресов, однозначно определяющих точку соединения. При этом адреса могут выстраивать иерархию (например, адрес физического сетевого узла (устройства), идентификатор приложения на сетевом узле (номер порта).
Под термином “коммуникация” понимается любой обмен информацией в рамках соединения (определяемого парой интерфейсов, между которыми происходит обмен информацией).
Под термином “протокол” понимается набор правил и действий (очерёдности действий), позволяющий осуществлять соединение и обмен данными между двумя и более сетевыми узлами (интерфейсами).
Под термином “аномалия” понимается расхождение наблюдаемого состояния защищаемой системы с предсказанным многоагентной моделью состоянием. В частности, под аномалией понимается выявление новых сетевых узлов (интерфейсов), а также изменения в порядке их коммуникаций.
Под термином “DPI” понимается технология, осуществляющая разбор сетевых пакетов на основе спецификаций сетевых протоколов, обеспечивая детальный анализ информационного обмена (глубокую инспекцию).
Способ выявления аномалий в работе АС для того, чтобы быть реализованным на практике, предусматривает выполнение процедуры обучения. Результатом процедуры обучения являются база правил разбора пакетов, схема известных коммуникаций сетевых узлов и словарь сигналов, в которых описаны механизмы (протоколы) взаимодействия между узлами сети АС, а также многоагентная модель сети АС.
Многоагентная модель АС предполагает рассмотрение АС как набора коммуницирующих между собой агентов. В многоагентной модели каждый узел АС представлен как агент или группа агентов модели. В частном варианте осуществления каждый такой агент может представлять собой конечный автомат определенного типа. Назначение типа автомата для каждого агента или группы агентов осуществляют на стадии обучения, т.е. формирования многоагентной модели. В таком случае конечные автоматы могут быть представлены транспьюдерами (автоматами Мили) или вероятностными автоматами, но не ограничиваются лишь этими типами автоматов. В общем случае в качестве агента может быть использовано любая другая математическая сущность, способная предоставлять на своем выходе реакцию на сигнал, подаваемый на ее вход. Таким сущностями могут являться, например, нейронные сети или их отдельные нейроны.
Каждый агент модели является участником коммуникации, выступая в одной или нескольких ролях, выбирая из по меньшей мере трех ролей: источника, приемника или ретранслятора (коммутатора) информации. Для различных конфигураций АС спецификация ролей агентов может быть дополнена иными ролями. Коммуникация представляет собой обмен порциями информации, например, пакетами или сигналами, которые содержат адресную информацию - адресные поля, и полезную нагрузку - поля данных. Одним из достоинств заявленного способа является возможность работы в условиях, когда конкретные спецификации протоколов обмена информацией являются неизвестными. Это означает, что информации о структуре полей в сетевом пакете не требуется, а входной поток байт разделяют на смысловые поля.
Стадия изучения сетевых протоколов включает в себя операцию разбора сетевых пакетов и операцию анализа полей сетевых пакетов.
i
i
В соответствии с ФИГ.1а, разбор пакета начинается с получения 101 очередного сетевого пакета от сетевого интерфейса. На основе базы правил 102 разбора протоколов осуществляет разбор 103 пакета. Если проверка 104 успешности разбора пакета завершается с отрицательным результатом, то считают очередной пакет неизвестным и переходят к разбиению 105 неизвестного пакета на элементы. Действие 105 может быть выполнено с привлечением предыдущих 106 сетевых пакетов, механизм использования которых будет раскрыт более подробно с ссылкой на ФИГ.1в. После этого осуществляют выделение 107 адресных полей и полей данных неизвестного пакета, после чего обновляют 108 базу правил 102 разбора протоколов. Если проверка 104 успешности разбора пакета завершается с положительным результатом, то для пакета осуществляют формирование 109 набора адресных полей и полей данных пакета. На выходе операции получают массивы 110 адресных полей A и полей данных D, где:
1
n
A = (a, …, a),
1
m
D = (d, …, d).
База правил 102 разбора протоколов описывает признаки, которые указывают на принадлежность пакета к тому или иному протоколу и правила анализа этого конкретного протокола. В качестве одного из примеров осуществления базы правил 102 разбора протоколов может быть рассмотрено описание на языке NetPDL, представленное в таблице 1.
Таблица 1
Описание протокола на языке NetPDL
Комментарии
<protocol name="ethernet">
Начало описания протокола. Name - указывает короткое имя протокола, в данном случае протокол IEEE 802.3 - Ethernet II
<format><fields><field type="fixed" name="dst" size="6" /><field type="fixed" name="src" size="6" /> <field type="fixed" name="type" size="2" /></fields></format>
Описание структуры заголовка пакета Ethernet:первые 6 байт - MAC-адрес получателя пакетаследующие 6 байт - MAC-адрес отправителяпоследние 2 байта - тип протокола, инкапсулированного в пакет Ethernet
<encapsulation><switch expr="buf2int(type)"><case value="0" maxvalue="1500"><nextproto proto="#llc"/> </case><case value="0x800"> <nextproto proto="#ip"/> </case><case value="0x806"><nextproto proto="#arp"/> </case><case value="0x86DD"><nextproto proto="#ipv6"/> </case></switch></encapsulation>
Определение вложенного протокола по значению поля type:если значение от 0 до 1500 - протокол LLC;если значение равно 2048 - протокол IPv4;если значение равно 2054 - протокол ARP;если значение равно 34525 - протокол IPv6.
</protocol>
Завершение описания протокола Ethernet II
<protocol name="ip">
Начало описания протокола IPv4
<format><fields><field type="bit" name="ver" mask="0xF0" size="1"/><field type="bit" name="hlen" mask="0x0F" size="1"/><field type="fixed" name="tos" size="1"/><field type="fixed" name="tlen" size="2"/><field type="fixed" name="identification" size="2"/><block name="ffo"><field type="bit" name="unused" mask="0x8000" size="2"/><field type="bit" name="df" mask="0x4000" size="2"/><field type="bit" name="mf" mask="0x2000" size="2"/><field type="bit" name="foffset" mask="0x1FFF" size="2"/></block><field type="fixed" name="ttl" size="1"/><field type="fixed" name="nextp" size="1"/><field type="fixed" name="hchecksum" size="2"/><field type="fixed" name="src" size="4"/><field type="fixed" name="dst" size="4"/></fields></format>
Описание полей заголовка протокола IPv4. Помимо полей типа fixed, занимающих фиксированное количество байт, в заголовке IP фигурируют поля типа bit, являющиеся отдельными битами (наборами битов) в пределах одного или нескольких байтов.Основными полями являются:src - IP-адрес отправителя;dst - IP-адрес получателя;nextp - код вложенного протокола в пакет IP.
<encapsulation><switch expr="buf2int(nextp)"><case value="1"><nextproto proto="#icmp"/></case><case value="2"><nextproto proto="#igmp"/></case><case value="4"><nextproto proto="#ip"/></case><case value="6"><nextproto proto="#tcp"/></case><case value="17"><nextproto proto="#udp"/></case><case value="41"><nextproto proto="#ipv6"/></case></switch></encapsulation>
Определение вложенного протокола по значению поля nextp:если значение равно 1 - протокол ICMP;если значение равно 2 - протокол IGMP;если значение равно 4 - протокол IP;если значение равно 6 - протокол TCP;если значение равно 17 - протокол UDP;если значение равно 41 - протокол IPv6.
</protocol>
Завершение описания протокола IPv4
<protocol name="udp">
Начало описания протокола UDP
<format><fields><field type="fixed" name="sport" size="2"/><field type="fixed" name="dport" size="2"/><field type="fixed" name="len" size="2"/><field type="fixed" name="crc" size="2"/></fields></format>
Описание полей заголовка протокола UDP. Все поля имеют фиксированный тип:порт источника;порт назначения;длина;контрольная сумма.
</protocol>
Завершение описания протокола UDP
Следует отметить, что база правил 102 может быть описана любым другим способом описания правил DPI, и представленный пример не должен рассматриваться как ограничивающий сущность изобретения.
На ФИГ.1б представлен пример сетевого пакета, принадлежащего известному протоколу, то есть такому протоколу, правила разбора которого содержатся в базе правил 102. Пакет включает в себя следующие поля: 111 - MAC-адрес назначения, 112 - MAC-адрес источника, 113 - вложенный протокол, 114 - IP-адрес источника, 115 - IP-адрес назначения, 116 - порт источника, 117 - порт назначения.
Для этого примера сетевого пакета результатом разбора является набор полей, представленный в таблице 2.
Таблица 2
Наименование поля
Значение
Ethernet II
dst (MAC-адрес назначения)
f4-1d-6b-87-5c-7c
src (MAC-адрес источника)
98-de-d0-1a-27-53
type
2048
IPv4
nextp (вложенный протокол)
17 (UDP)
src (IP-адрес источника)
192.168.38.38
dst (IP-адрес назначения)
192.168.12.6
UDP
sport (порт источника)
62462
dport (порт назначения)
53
Если в ходе разбора пакета модуль DPI не находит соответствующее описание протокола, т.е. проверка 104 успешности разбора пакета завершается с отрицательным результатом, считают очередной пакет неизвестным и переходят к разбиению 105 неизвестного пакета на поля. Пакет передается для разбора в модуль анализа неизвестного трафика.
Модуль анализа неизвестного трафика решает две задачи:
1. Находит границы полей в сетевом пакете.
2. Определяет тип поля - относится ли оно к адресной информации или полезной нагрузке пакета (полям данных).
Для решения первой задачи применяется алгоритм расчета информационной энтропии байт пакета, а также взаимной информации байт пакета. Блок-схема этого алгоритма представлена на ФИГ.1в, в соответствии с которым принимают 118 очередной пакет с неизвестной структурой, вычисляют 119 количество возможных значений и частоты их появления для каждого смещения, вычисляют энтропию 120 и взаимную информацию 121, определяют 122 границы полей по совокупности энтропии и взаимной информации, выдают 123 границы полей.
Информационная энтропия и взаимная информация вычисляются для каждого возможного значения байта, расположенного на позиции j по формулам:
j - местоположение байта в пакете;
i,j
Ph- вероятность того, что байт в пакете на позиции с номером i примет значение j (где j принимает значения от 1 до 256);
j
H - информационная энтропия байта на позиции j;
i,j
Pmi - вероятность того, что пара байт (i-й и i+1-й) примут значение j (где j принимает значения от 1 до 65536);
j
MI - взаимная информация i-го и i+1-го байт в пакете.
После подсчета взаимной информации и энтропии границы полей определяются путем анализа изменения энтропии (ΔH) и значения взаимной информации (MI): на границе поля энтропия уменьшается (ΔH < 0), а взаимная информация значительно меньше энтропии (пороговое значение разницы энтропии и взаимной информации является входными данными для алгоритма). На ФИГ.1г представлен пример разделения сетевого трафика на поля методом информационной энтропии.
Ярко выраженные границы полей видны между байтами 5 и 6, 11 и 12, 25 и 26, 35 и 36. В таблице 3 приведены значения изменения энтропии и отношения взаимной информации к энтропии на этих позициях.
Таблица 3
№ байта, соответствующего границе поля
ΔH
MI/H
5
-0.2
0.16
11
-0.3
0.007
25
-0.85
0.01
35
-0.14
0.24
После определения границ полей протоколов производится разбор каждого пакета на совокупность полей , где k - количество выделенных в пакете полей.
i
Для полей d для всех пакетов анализируется количество различных значений поля, при этом задается допустимое расхождение значений поля, например, в виде нормированного расстояния Хэмминга (значения пакетов при этом рассматриваются как строки).
Для полей, соответствующих адресам источника и получателя количество различных значений должно быть ниже, чем для полей, соответствующих данным. На основе заданной разницы в количестве различных значений определяется принадлежность поля к адресной или семантической информации. Пример выделения адресных и семантических полей на образце трафика с общим количеством пакетов 342 353 приведен в таблице 4.
Таблица 4
Поле
Количество различных значений
Тип поля
MAC источника
54
Адресное
MAC назначения
58
Адресное
IP источника
69
Адресное
IP назначения
76
Адресное
Данные TCP
38383
Семантическое
Распределение адресов по источнику и получателю производится путем определения связи величин различных типов адреса (корреляции). Высокий коэффициент корреляции соответствует адресу одного и того же узла, низкий или отрицательный коэффициент говорит, что адреса принадлежат разным узлам. Пример определения частей адреса отправителя и получателя по расчету коэффициента корреляции представлен в таблице 5. В соответствии с приведенными данными, к одному узлу относятся адреса MAC1, IP2, Port2, а ко второму: MAC2, IP1, Port1 (что соответствует реальным форматам пакетов Ethernet, IP и TCP, так как в Ethernet сначала идет адрес назначения, а затем источника, а в IP и TCP - сначала адрес источника, а потом назначения).
Таблица 5
MAC1
MAC2
IP1
IP2
Port1
Port2
MAC1
1.000000
-0.893767
0.008971
0.030062
-0.161599
0.168005
MAC2
-0.893767
1.000000
0.027562
0.008770
0.173319
-0.154374
IP1
0.008971
0.027562
1.000000
-0.618710
0.224795
-0.239160
IP2
0.030062
0.008770
-0.618710
1.000000
-0.247340
0.233887
Port1
-0.161599
0.173319
0.224795
-0.247340
1.000000
-0.949339
Port2
0.168005
-0.154374
-0.239160
0.233887
-0.949339
1.000000
Описанный алгоритм выделения полей, анализа их принадлежности к адресным или полям данных и отнесение к конкретному узлу повторяется итеративно: на первом шаге определяются наиболее близкие к началу пакета адресные поля, после чего для оставшейся части пакета алгоритм выполняется сначала. Для повышения точности работы алгоритма при анализе вложенных пакетов также используется разбиение всего набора пакетов на классы по значениям адресных полей.
i
i
i
i1
ik
В соответствии с ФИГ.2a, на стадии анализа пакета осуществляют прием 201 очередных массивов адресных полей A и полей данных D. Затем для массива адресных полей A осуществляют поиск 202 известной, т.е. ранее встречавшейся в адресных полях сетевого трафика, подпоследовательности a, …, a, при этом дополнительным условием является k ≤ n, где:
i1
a - корень дерева интерфейсов узла (наиболее низкоуровневый, в терминах модели OSI, адрес);
k - количество уровней адресов, которые совпали с текущим рассматриваемым адресом интерфейса узла;
n - текущее максимальное количество уровней адресов интерфейсов узла.
Для записи и хранения упомянутых последовательностей используется каталог 203 интерфейсов сетевых узлов, пример которого представлен на ФИГ.2б. Каталог 203 представляет собой массив деревьев, где в роли корня выступают уникальные адреса первого уровня (найденные при первой итерации алгоритма) - адреса узлов 208, подчиненными вершинами которых являются адреса нижележащих уровней, для которых установлена корреляция с вышестоящим адресом - интерфейсы 209 и 210.
i1
ik
i
i1
in
i
src
dst
Если проверка 204 успешности поиска известной подпоследовательности a, …, a завершается с отрицательным результатом, что говорит о возникновении или обнаружении в сети нового узла a, то к корню дерева A добавляют 205 поддерево a,..,a, соответствующее новому узлу a, что отражается в каталоге 203. После этого вносят 206 сигнал, представленный как запись вида (A, A, D, t), в словарь сигналов 207, при этом:
src
A - массив адресных полей сетевого пакета для по меньшей мере одного узла-источника;
dst
A - массив адресных полей сетевого пакета для по меньшей мере одного узла-получателя;
D - массив полей данных сетевого пакета;
t - время обнаружения сетевого пакета.
i1
ik
i
ik
ik+1
in
Если проверка 204 завершается с положительным результатом, то есть подпоследовательность a, …, a найдена, то проводят проверку 208 соблюдения условия k < n. Если проверка 208 завершается с положительным результатом, что говорит о возникновении или обнаружении в сети АС нового интерфейса узла a, то к узлу a дерева A добавляют 209 поддерево a, …, a, что отражается в каталоге 203. После этого вносят 206 сигнал в словарь сигналов 207. Если проверка 208 завершается с отрицательным результатом, то вносят 206 сигнал в словарь сигналов 207 без внесения изменений в каталог 203.
Словарь сигналов 206 включает в себя записи вида «интерфейс узла-источника, интерфейс узла-получателя, значение семантических полей». Пример сформированного словаря сигналов представлен в таблице 6.
Таблица 6
Узел-источник
Узел-получатель
Сигнал
00:0a:f7:18:5f:43
00:0a:f7:40:66:2b
0d0a434f4e54454e542d545950453a2020746578742f786d
00:0a:f7:18:5f:43
00:0a:f7:40:66:2b
0d0a434f4e54454e545f545950453a20696d6167652f706e
00:0a:f7:18:5f:43
00:0a:f7:40:66:2b
485454502f312e3120323030204f4b
00:0a:f7:18:5f:43
00:0a:f7:40:66:2b
70653e3c77696474683e3132303c2f77696474683e3c6865
00:0a:f7:18:5f:43
00:0a:f7:40:66:2b
b9d13ca3d5468d460f8c69c65ce324e36dc66dc6a3260626
00:0a:f7:18:5f:43
00:0a:f7:40:66:2b
bfac11392d0c51200a432e7fc73bf07d9f5e7a1711922409
00:0a:f7:40:61:73
00:0a:f7:40:66:2b
0d0a434f4e54454e542d545950453a2020746578742f786d
00:0a:f7:40:61:73
00:0a:f7:40:66:2b
0d0a434f4e54454e545f545950453a20696d6167652f706e
00:0a:f7:40:61:73
00:0a:f7:40:66:2b
485454502f312e3120323030204f4b
00:0a:f7:40:61:73
00:0a:f7:40:66:2b
70653e3c77696474683e3132303c2f77696474683e3c6865
00:0a:f7:40:61:73
00:0a:f7:40:66:2b
b9d13ca3d5468d460f8c69c65ce324e36dc66dc6a3260626
00:0a:f7:40:61:73
00:0a:f7:40:66:2b
bfac11392d0c51200a432e7fc73bf07d9f5e7a1711922409
Для более быстрого разбора последующих аналогичных пакетов алгоритм дополняет базу правил разбора протоколов (например, использующую язык NetPDL) автоматически сформированными правилами. В таблице 7 приведен пример автоматически сформированного правила для протокола Ethernet.
Таблица 7
Описание протокола на языке NetPDL
Комментарии
<protocol name="ML_proto_1">
Начало описания протокола. Имя генерируется при создании автоматического правила, например, по шаблону ML_proto_N, где N - порядковый номер автоматически созданного правила
<format><fields><field type="fixed" name="addr_1_1" size="6" /><field type="fixed" name="addr_1_2" size="6" /></fields></format>
Описание выявленных адресных полей протокола:− первые 6 байт - MAC-адрес получателя пакета− следующие 6 байт - MAC-адрес отправителяПолям присваивается имя вида addr_N_M, где N берется из имени протокола, а M - порядковый номер автоматически сформированного описания поля
Рассмотрим более детально процесс создания каталога 203 интерфейсов сетевых узлов, как это показано на ФИГ. 3.
В соответствии с ФИГ. 3, полная копия необработанного сетевого трафика из сети АС 301 посредством устройства съема трафика 302, способного осуществлять зеркалирование сетевого трафика, поступающего на интерфейсы коммутационного оборудования в сети АС, поступает на вход модуля DPI 303, предназначенного для разделения сетевого трафика на известный и неизвестный. В качестве модуля DPI может выступать какое-либо известное программное решение для этого, например, модуль godpi программного комплекса DATAPK. Разделение сетевого трафика происходит под управлением модуля описания полей протоколов 304. Неизвестный трафик с выхода модуля 303 поступает на вход модуля анализа неизвестного трафика 305, способного пополнять базу описания протоколов для модуля 304. Результатом совместной работы модулей 303 и 304 является сетевой пакет 306, разобранный на массивы полей A и D, как это более детально проиллюстрировано на ФИГ.1а. Массивы полей A и D сетевого пакета передают на вход модуля поиска интерфейсов 307. Модуль 307 способен формировать кластеры на основе похожести множества полей D, что соответствует множеству пакетов, прошедших разные интерфейсы одного и того же сетевого узла.
Сформированные кластеры на модуле 307 передают на вход модуля формирования сетевой топологии 308, где происходит формирование дерева A для каталога 203 интерфейсов сетевых узлов. Процедуры, связанные с формированием базы правил 102 разбора протоколов, каталога 203 интерфейсов сетевых узлов и словаря сигналов 207, описанные со ссылкой на ФИГ.1а, ФИГ.2а и ФИГ.3, повторяют до тех пор, пока для сети АС 301 не перестают встречаться ранее неизвестные пакеты.
Стоит отметить, что определенные выше модули, которые обеспечивают работу настоящего изобретения, могут быть реализованы посредством различных сочетаний аппаратных и программных средств. В общем случае изобретение реализуется по меньшей мере одним процессором, устройством оперативной и/или долговременной памяти способными обеспечивать функционирование программных модулей, а также по меньшей мере одним физическим сетевым интерфейсом, способным обеспечивать обмен данными и командами с сетью АС или сегментами сети АС, в зависимости от конкретных целей использования изобретения на практике. Упомянутые программные модули могут быть представлены любым требуемым числом компьютерных программных модулей и могут использовать любое требуемое число библиотек, оболочек, приложений, программных пакетов в зависимости от конкретной функции или этапа способа, реализуемых определенным модулем. Компьютерные программные модули могут быть реализованы в виде машинного кода или в виде текста программы на языке программирования, таком как C, C++, C#, Java, Python, Perl, Ruby, но не ограничивающемся лишь этими примерами языков программирования.
Каждый выявленный сетевой узел может быть представлен в реальной АС программно-техническим средством (ПТС), реализующим заданный алгоритм. С целью моделирования поведения АС отдельные ПТС могут быть отражены в многоагентной модели в качестве агентов, представленных конечными автоматами. Одним из примеров осуществления агента может являться его представление в качестве автомата Мили.
src
dst
src
src
dst
В соответствии с ФИГ.4а, осуществляют получение 401 нового сигнала (A, A, D, t) из словаря сигналов 207. Затем проводят прогноз 402 этого сигнала для поколения агентов 403 узла A на основе имеющихся записей вида (A, A, *, *) в словаре сигналов, где символ «*» следует понимать как произвольное значение, соответствующее значению массива полей данных и времени обнаружения сетевого пакета. В зависимости от точности прогноза и используемого типа агента осуществляют корректировку 404 поколения агентов 403.
Рассмотрим более подробно процесс формирования многоагентной модели сети АС, как это показано на ФИГ.4б.
i
i
j-1
j
В соответствии с ФИГ.4б, для каждого обнаруженного в сети АС сетевого узла создается 405 программный агент N 406, являющийся представлением сетевого узла в виде конечного автомата. Программный агент может быть представлен транспьюдером (автоматом Мили) или вероятностным автоматом, но не ограничиваться лишь этими примерами конечных автоматов. Для каждого агента осуществляют решение автоматного уравнения на базе собранной информации о действии автомата на входную информацию (входные сетевые сигналы) и порождаемую им выходную информацию (выходные сетевые сигналы). Решение автоматного уравнения может быть осуществлено, например, с использованием генетических алгоритмов. Для очередного поколения решений автоматного уравнения (Gj[Ni,k]) 407, моделирующих узел сети N производится расчет функции приспособляемости (fitness-function) F 408 на основе данных о состоянии реальной модели, содержащихся в словаре сигналов 207. При этом наибольшее значение функции F соответствует тем решениям в поколении, которые смогли показать наибольшую близость работы автомата к реальным наблюдениям за системой, полученным от модуля анализа трафика 305 - либо из исторических данных, либо в реальном времени. Из всего множества решений поколения G выбирается k решений с максимальным значением функции F для них. Затем формируют поколение G  407 с использованием функции скрещивания X 409, например, основанной на скрещивании конечных автоматов, представленных деревьями решений. Процедуры, связанные с формированием многоагентной модели АС, описанные со ссылкой на ФИГ.4а, ФИГ.4б, повторяют до тех пор, пока агенты не станут способны предсказывать наблюдаемое состояние сети АС с заданной точностью P.
Теперь рассмотрим более детально алгоритм формирования поколения агентов на примере автомата Мили.
Под автоматом Мили (A) понимается конечный автомат, определяемый шестеркой, где
S - конечное множество состояний автомата.
X - конечное множество входных сигналов.
Y - конечное множество выходных сигналов.
Автомат Мили может быть представлен в графическом, как это представлено на ФИГ.4в или табличном виде (таблица 8).
Таблица 8
S/X
0
1
S<sub>0</sub>
S<sub>2</sub>/0
S<sub>1</sub>/1
S<sub>1</sub>
S<sub>2</sub>/1
S<sub>1</sub>/1
S<sub>2</sub>
S<sub>2</sub>/0
S<sub>1</sub>/0
Строки таблицы соответствуют текущему состоянию автомата, столбцы - символу входного алфавита. В ячейке таблицы представлено новое состояние и выходной символ.
В соответствии с ФИГ.4в, автомат Мили может быть представлен в виде диаграммы, на которой кругами обозначены состояния (S0, S1, S2) 410, стрелками 411 - переход из текущего состояния в новое, надписи над стрелками - символ входного алфавита, который инициирует переход (до символа «/») и символ выходного алфавита, возвращаемого автоматом (после символа «/»).
Алгоритм работы автомата может быть описан следующим образом: при получении очередного входного символа  автомат осуществляет переход в новое состояние  такое что где s - текущее состояние автомата. При этом автомат генерирует выходной символ такой что
ПТС реальной АС также могут быть описаны автоматом Мили. Рассмотрим «умный» выключатель, который умеет принимать команду «переключить» (входной алфавит), после чего выключатель включает свет, если тот был выключен, или выключает, если свет уже горел. В качестве выходного сигнала выключатель сообщает текущее состояние света: 1 - если свет включен, 0 - если выключен. В таблице 9 представлено описание автомата Мили, реализующего описанный алгоритм работы «умного» выключателя.
Таблица 9
S/X
переключить
S<sub>0</sub>
S<sub>1</sub>/1
S<sub>1</sub>
S<sub>0</sub>/0
i
i
i
i
Анализ «черного» ящика предполагает, что на входе известны алфавиты X и Y, а также есть история наблюдений за работой «черного» ящика (т.е. связки конкретных значений x и y, таких что y было сформировано в качестве выходного сигнала на x. Прочие параметры (текущее состояние, количество состояний, функции перехода и выходов являются неизвестными).
Множеством входных сигналов для автомата являются элементы словаря сигналов 207, в которых интерфейс назначения принадлежит моделируемому элементу АС.
Множеством выходных сигналов являются записи словаря сигналов 207, в которых интерфейс источника принадлежит моделируемому элементу АС.
Для каждого моделируемого элемента АС формируется начальный автомат (поколение 0), например, случайным образом, для которого производится прогон всех входных сигналов и получение выходных сигналов. После этого для построенного автомата рассчитывается функция штрафа P, которая равна, например, отношению числа ошибочных выходных сигналов к общему числу сигналов.
Например, для «умного» выключателя, описанного выше, начальным автоматом может быть автомат, приведенный в таблице 10.
Таблица 10 - автомат, моделирующий «умный» выключатель, поколение 0
S/X
переключить
S<sub>0</sub>
S<sub>0</sub>/0
Пары входных/выходных сигналов, полученные в ходе наблюдения за АС, а также результат работы автомата поколения 0, представлены в таблице 11.
Таблица 11 - результаты моделирования «умного» выключателя автоматом поколения 0
Время
1
2
3
4
5
X
переключить
переключить
переключить
переключить
переключить
Y
0
1
0
1
0
Y (автомат)
0
0
0
0
0
P (нарастающим итогом)
0
0.5
0.33
0.5
0.4
Автоматы последующего поколения формируются путем применения случайных мутаций к K лучших автоматов текущего поколения (где под лучшим понимается минимальное значение P). Примерами мутаций могут быть:
- изменение выходного символа - в автомате потомке меняется один выходной символ в значениях функции выходов;
- изменение функции перехода - в автомате потомке меняется результирующее состояние функции перехода для одного из сочетаний (s,x);
- изменение начального состояния;
- изменение числа состояний - в автомате потомке добавляется новое состояние и доопределяются функции переходов и выходов.
В процессе мутации формируется M автоматов нового поколения, для которых также проводится расчет штрафа P, выбирается K лучших автоматов и формируется очередное поколение. Завершается формирование поколений, когда появляется автомат с нулевым штрафом.
Для приведенного выше примера автомата поколения 0, автоматами следующего поколения могут быть
Таблица 12 - примеры автоматов поколения 1
S/X
переключить
Автомат №1 поколения 1
S<sub>0</sub>
S<sub>0</sub>/1
Автомат №2 поколения 1
S<sub>0</sub>
S<sub>0</sub>/0
S<sub>1</sub>
S<sub>1</sub>/0
Для указанных автоматов значение P будут 0.6 для автомата №1 и 0.4 для автомата №2. Если предположить K равным 1, то для следующего поколения будет выбран только автомат №2, который сформирует потомков, например, как приведенные в таблице 13.
Таблица 13 - примеры автоматов поколения 2
S/X
переключить
Автомат №1 поколения 2
S<sub>0</sub>
S<sub>0</sub>/1
S<sub>1</sub>
S<sub>1</sub>/0
Автомат №2 поколения 2
S<sub>0</sub>
S<sub>0</sub>/0
S<sub>1</sub>
S<sub>1</sub>/1
Автомат №3 поколения 2
S<sub>0</sub>
S<sub>0</sub>/1
S<sub>1</sub>
S<sub>1</sub>/1
Автомат №4 поколения 2
S<sub>0</sub>
S<sub>1</sub>/0
S<sub>1</sub>
S<sub>1</sub>/0
Автомат №5 поколения 2
S<sub>0</sub>
S<sub>0</sub>/0
S<sub>1</sub>
S<sub>0</sub>/0
Автомат №6 поколения 2
S<sub>0</sub>
S<sub>0</sub>/0
S<sub>1</sub>
S<sub>1</sub>/0
Автомат №7 поколения 2
S<sub>0</sub>
S<sub>0</sub>/0
S<sub>1</sub>
S<sub>1</sub>/0
S<sub>2</sub>
S<sub>2</sub>/0
Для полученного поколения автоматов значения P будут равны 0.6, 0.4, 0.6, 0.4, 0.4, 0.4, 0.4. Таким образом, далее потомки должны рассматриваться для автоматов 2, 4, 5, 6 и 7.
Автомат №2 поколения 2 еще через 2 поколения породит корректный автомат (мутация - изменение функции переходов), что приведет к решению задачи «черного» ящика.
В результате работы указанного алгоритма для каждого интерфейса массива деревьев Addr будет сформирован автомат A, эмулирующий работу соответствующего компонента АС.
Теперь более детально рассмотрим способ выявления аномалий в работе АС, использующий сформированную ранее базу правил 102 разбора протоколов, каталог 203 интерфейсов сетевых узлов, словарь сигналов 207 и поколение агентов 403 многоагентной модели сети АС.
В соответствии с ФИГ.5а и ФИГ.5б, осуществляют прием 501 очередного сетевого пакета, переданного в сети АС от узла-источника к узлу-получателю. Затем проводят его разбор 502 на массивы полей A и D, где A - адресные поля пакета, D - поля данных пакета. Адресные поля пакета включают адрес и интерфейс узла-источника и адрес и интерфейс узла-получателя. Разбор 502 осуществляют в соответствии с процедурой разбора пакета, представленной на ФИГ.1а, исходя из правил, записанных в базе правил 102 разбора протоколов, сформированной на стадии обучения. Если проверка 503 успешности разбора пакета завершилась с отрицательным результатом, то записывают 504 параметры неизвестного пакета в карточку аномалии 505. Затем формируют 506 правила разбора полей пакета, которые также предпочтительно записывают в карточку аномалии 505. Формирование 506 правил разбора полей пакета осуществляют автоматически на основе энтропии сетевого пакета. Эта процедура была описана ранее с примерами, представленным на ФИГ.1б, ФИГ.1в, ФИГ.1г.
Проверка 503 может быть завершена с положительным результатом в случае, если правила разбора для сетевого пакета были сформированы на стадии обучения и записаны в базу правил 102, его структура известна, соответственно, возможно выделение адресных полей и полей данных. В этом случае переходят к анализу 507 пакета. Переход к операции 507 также может быть осуществлен после формирования 506 правил разбора полей пакета и их внесения в карточку аномалии 505. Анализ 507 пакета проводят путем выявления адреса и интерфейса узла-отправителя и адрес и интерфейс узла получателя на основе поиска по каталогу 203 интерфейсов сетевых узлов сети АС. Для выявленной пары "узел-источник - узел-получатель" находят запись в словаре сигналов 207, которая включает адреса и интерфейсы этих узлов, а также поля данных для принятого сетевого пакета.
При проверке 508 определяют, что выявлен новый узел, если адрес узла-источника или адрес узла-получателя не были найдены в каталоге 203 интерфейсов и/или словаре сигналов 207. Если новый узел выявлен, то проводят запись 509 параметров неизвестного узла в карточку аномалии 505. Если новый узел не выявлен, то переходят к проверке 510, при которой проверяют, выявлен ли новый интерфейс. Если новый интерфейс выявлен, то, аналогично, записывают 511 параметры неизвестного узла в карточку аномалии 505. В обратном случае проводят прогноз 512 сигнала. Прогноз сигнала заключается в выявлении реакции узла-получателя на выявленную запись словаря сигналов 207 и сопоставляют эту реакцию с ожидаемой реакцией на такую запись, заложенную для узла-получателя в соответствующем для него агенте из поколения агентов 403 многоагентной модели сети АС. Затем проводят проверку 513, при которой определяют, превышает ли погрешность прогноза значение T. В качестве меры различия может использоваться, например, расстояние Хэмминга. В случае выявления отклонения в наблюдаемой реакции узла-получателя от ожидаемой реакции на запись словаря сигналов 207, то параметры наблюдаемого и прогнозируемого сигналов, соответствующих реакциям на упомянутую запись, записывает 514 в карточку аномалии 505.
Результат выводят 515 оператору путем возврата для него карточки аномалии. Учитывая результаты описанных выше операций над сетевым пакетом, карточка аномалии может включать в себя сведения, включающие по меньшей мере один из видов сведений, выбранных из группы: автоматически сформированные правила разбора сетевого пакета, структура которого не была известна и для которого не были выявлены адресные поля и поля данных; адрес и/или интерфейс узла-источника и/или узла получателя, не найденные в каталоге интерфейсов сетевых узлов сети АС; отклонение между наблюдаемой и ожидаемой реакцией на запись словаря сигналов в случае выявления такого отклонения при заданном значении погрешности T для отклонения.
В качестве одного из результатов осуществления заявленного способа выявления аномалий в работе сети автоматизированной системы рассматривается возможность обнаружения аномалии в работе сети АС. Обнаруженная аномалия может быть интерпретирована как инцидент информационной безопасности. Примерами таких инцидентов могут являться несанкционированное подключение устройства к сети АС, несанкционированное сетевое подключение к устройству сети АС, вредоносная активность, отклонение параметров функционирования узлов сети АС от нормы, но не ограничиваться лишь упомянутыми примерами. При этом в качестве возможных средств для интерпретирования могут быть использованы специальные рекуррентные нейронные сети, не являющиеся предметом заявленного изобретения.
Стоит отметить, что представленное выше описание приведено в качестве примера, и не должно быть истолкованным как ограничивающее объем охраны настоящего изобретения, определяемым исключительно объемом приложенной формулы изобретения.
Несмотря на то, что описанные выше частные случаи осуществления приведены со ссылкой на конкретные шаги, выполняемые в определенном порядке, должно быть очевидно, что эти шаги могут быть объединены, разделены или их порядок может быть изменен без отклонения от сущности настоящего изобретения. Соответственно, порядок и группировка шагов не носят ограничительного характера для сущности настоящего изобретения.