Основные понятия Kaspersky MLAD
Этот раздел содержит развернутые определения основных понятий в Kaspersky MLAD.
Теги
Основными объектами наблюдения в Kaspersky MLAD являются теги. Тег – это параметр технологического процесса, передаваемый в промышленной сети (например, контролируемая температура). В виде тегов могут передаваться измерения физических параметров, а также уставки, команды или состояния систем регулирования. Значения тегов передаются и принимаются устройствами по определенным протоколам. Значения тегов отображаются на графиках в разделе История и Мониторинг, а также используются для обнаружения инцидентов.
В Kaspersky MLAD есть следующие типы тегов:
Kaspersky MLAD поддерживает несколько способов получения данных телеметрии (тегов). В зависимости от характеристик объекта мониторинга и возможностей передачи тегов вы можете выбрать один из следующих способов получения тегов:
- С помощью коннекторов Kaspersky Industrial CyberSecurity for Networks, которые анализируют зеркалированный трафик и отдают теги в Kaspersky MLAD в онлайн-режиме. Kaspersky MLAD передает обратно информацию об обнаруженных инцидентах.
- С помощью коннектора OPC UA Connector, если на объекте мониторинга есть возможность передавать теги от АСУ ТП по протоколу OPC UA в онлайн-режиме.
- С помощью коннектора MQTT Connector, если на объекте мониторинга есть возможность передавать теги по протоколу MQTT и принимать оповещения о регистрации инцидентов в онлайн-режиме.
- С помощью коннектора AMQP Connector, если на объекте мониторинга есть возможность передавать теги по протоколу AMQP и принимать оповещения о регистрации инцидентов в онлайн-режиме.
- С помощью коннектора WebSocket Connector, если на объекте мониторинга есть возможность передавать теги по протоколу WebSocket и принимать оповещения о регистрации инцидентов в онлайн-режиме.
- С помощью коннектора CEF Connector, если на объекте мониторинга есть возможность передавать теги с помощью технологии CEF и принимать оповещения о регистрации возникновении инцидентов в онлайн-режиме.
- Если первые четыре способа передачи тегов недоступны, с помощью коннектора HTTP Connector можно настроить регламентную выгрузку тегов в виде CSV-файлов по протоколу HTTP (например, один раз в час или один раз в минуту), написав скрипт выгрузки тегов.
ML-модели
ML-модель – это алгоритм, основанный на методах машинного обучения, задачей которого является анализ телеметрии объекта мониторинга и обнаружение аномалий.
ML-модель создается специалистами "Лаборатории Касперского" или сертифицированным интегратором для конкретного объекта мониторинга с учетом особенностей объекта и характеристик данных телеметрии. При создании ML-модели формируется общая структура алгоритма (архитектура), после чего ML-модель обучается на исторических данных телеметрии, таким образом настраиваясь на особенности поведения конкретного объекта.
ML-модель, загружаемая в Kaspersky MLAD для работы с объектом мониторинга, состоит из одного или нескольких элементов, каждый из которых представляет собой самостоятельную ML-модель, а общий результат работы службы Anomaly Detector складывается из объединения результатов работы элементов ML-модели. Как правило, чем сложнее технологические процессы объекта мониторинга, тем больше элементов будет содержать ML-модель.
ML-модель Kaspersky MLAD может строиться на основе одного или нескольких детекторов, работающих параллельно:
В Kaspersky MLAD ML-модель может быть импортирована или создана по шаблону. В свою очередь, шаблоны ML-моделей создаются на основе ранее добавленных ML-моделей. В шаблонах ML-моделей сохраняется структура алгоритма, набор элементов и состояние ML-модели, по которой был создан шаблон. Состояние созданной ML-модели будет соответствовать состоянию обучения исходной ML-модели в момент создания ее шаблона.
С помощью шаблонов вы можете добавить в Kaspersky MLAD однотипные ML-модели, которые будут анализировать данные, поступающие с оборудования одного типа с похожим набором тегов. При создании ML-модели по шаблону можно изменить состав используемых в ML-модели тегов, указав идентификаторы тегов, отличные от идентификаторов тегов исходной ML-модели.
Инциденты
Инцидент – это обнаруженное детектором аномалий отклонение от ожидаемого (нормального) поведения объекта мониторинга.
Kaspersky MLAD поддерживает несколько типов детекторов аномалий: Forecaster, Rule Detector, Limit Detector. Каждый детектор анализирует поступающие от объекта мониторинга данные телеметрии на предмет отклонений от нормального поведения объекта.
Кроме выявления отклонений от нормального поведения объекта Kaspersky MLAD контролирует качество поступающих данных. В случае прекращения или прерывания входного потока данных для определенного тега или обнаружения во входном потоке наблюдений, поступивших в программу слишком рано или поздно, служба Stream Processor регистрирует инциденты.
При обнаружении отклонения соответствующий детектор фиксирует дату, время, релевантные параметры отклонения и сохраняет их в виде записи в разделе Инциденты. Если в Kaspersky MLAD для пользователей или внешних систем настроены уведомления об инцидентах, то информация об инциденте отправляется адресатам через соответствующие компоненты Kaspersky MLAD.
Инциденты, обнаруженные детектором Forecaster
ML-модель, созданная на основе детектора Forecaster, обучена на определенном подмножестве тегов и может предсказывать поведение тегов в текущий момент. Инцидентом в этом случае считается существенное расхождение между наблюдаемыми (фактическими) значениями тегов и предсказанными значениями тегов, полученными в результате работы элемента ML-модели. В параметрах элемента модели вы можете просмотреть, какие теги анализируются нейронной сетью (параметр in_tags) и поведение каких тегов предсказывается (параметр out_tags).
ML-модель, построенная на основе детектора Forecaster, состоит из одного или нескольких элементов ML-модели, функционирующих параллельно. В разделах История и Мониторинг вы можете выбрать определенную ветку ML-модели для отображения на графиках MSE инцидентов, зарегистрированных в результате работы определенного элемента модели. Зарегистрированные инциденты отображаются в нижней части графика MSE в виде цветных точек-индикаторов.
На графике MSE также отображаются предсказанные значения тегов и ошибки MSE для выбранного элемента ML-модели. Ошибка MSE – это показатель отличия предсказанных значений от фактических, суммарно по всем тегам, включенным в выбранный элемент ML-модели. Чем выше значение MSE, тем сильнее поведение тегов отличается от ожидаемого (нормального). Порог MSE – это критический уровень значения MSE, при превышении которого детектор Forecaster регистрирует инцидент. Порог MSE на графике MSE отображается в виде оранжевой линии.
График MSE отображается в нижней части раздела История (см. рисунок ниже).
График MSE в разделе История
Для каждого инцидента автоматически определяются теги, поведение которых сильнее повлияло на регистрацию инцидента. Из этих тегов формируется пресет Tags for event #N, который доступен для выбора в разделе История. Теги в составе пресета Tags for event #N отсортированы в порядке убывания отклонения их поведения от ожидаемого. Первый, наиболее аномальный тег также выводится в таблице инцидентов в разделе Инциденты. В таблице инцидентов также указывается порог ошибки MSE и фактическое значение ошибки MSE в момент регистрации инцидента.
Информация, полученная при просмотре пресета Tags for event #N, не является диагностической с точки зрения определения причин инцидента, но ее можно использовать при анализе значений тегов с наибольшими отклонениями в поведении. Тег, поведение которого первым отклонилось от нормы и повлекло дальнейшие отклонения в других тегах, является тегом-причиной. В некоторых случаях тег-причина может находиться не на первом месте в пресете Tags for event #N или отсутствовать в нем. Это может произойти по следующим причинам:
- Незначительные по амплитуде изменения в поведении тега-причины произвели мультипликативный эффект и вызвали существенные отклонения других тегов, которые попали в пресет Tags for event #N.
- Тег-причина не анализируется ML-моделью, и Kaspersky MLAD регистрирует вторичные изменения поведения тегов, вызванные отклонением тега-причины.
- Изменения в поведении тега-причины имели отложенный эффект, и к моменту возникновения аномалии в работе объекта мониторинга поведение тега-причины вернулось в нормальный режим.
Инциденты, обнаруженные детектором Rule Detector
Элемент ML-модели, построенный на основе детектора Rule Detector, состоит из одного или несколько диагностических правил. Результатом работы каждого диагностического правила является получение значения индикаторного тега, которое вычисляется в каждый момент времени. Имя и описание индикаторного тега отражают назначение диагностического правила, например: Отказ сенсора X, Лопатки турбины загрязнены или Падение оборотов ротора. Вы можете интерпретировать значения индикаторного тега следующим образом:
- Получено значение
0
. Диагностическое правило в текущий момент не сработало или не применимо. - Получено значение
1
. Диагностическое правило в текущий момент сработало. - В отдельных случаях возможны промежуточные значения от
0
до1
. Диагностическое правило в текущий момент сработало частично.
В момент, когда значение индикаторного тега достигает установленного для диагностического правила порога (как правило, равного единице), детектор Rule Detector регистрирует инцидент. Индикаторный тег отображается в таблице инцидентов раздела Инциденты. Для каждого инцидента, зарегистрированного детектором Rule Detector автоматически формируется пресет Tags for event #N, который доступен для выбора в разделе История. В составе этого пресета присутствует индикаторный тег, вызвавший инцидент, а также теги, входящие в состав соответствующего диагностического правила.
Для отображения графиков индикаторных тегов вы можете включить отображение предсказанных значений тегов в разделе История.
В началоИнциденты, обнаруженные детектором Limit Detector
Если включен детектор Limit Detector, то при использовании любой ML-модели Kaspersky MLAD автоматически отслеживает все теги, для которых указаны допустимые технические пределы значений тега. Технические пределы могут быть указаны в конфигурации тегов, импортируемой в Kaspersky MLAD в начале работы. Вы можете изменить технические пределы значений тега при изменении тега.
Для визуального контроля положения графика тега относительно технических пределов включите функцию Всегда показывать технические пределы. Если эта функция выключена, то верхняя или нижняя предельная линия отображается только, если значения тега достигали соответствующего предела на промежутке времени, который в настоящий момент выводится на экране. Детектор Limit Detector определяет и регистрирует события независимо от работы функции Всегда показывать технические пределы.
В момент, когда значение тега достигает верхнего или нижнего технического предела, детектор Limit Detector регистрирует инцидент. Этот тег отображается в таблице инцидентов в разделе Инциденты. В таблице инцидентов указаны также технические пределы значений тега и фактическое значение тега, нарушившего один их этих пределов. Для каждого инцидента, зарегистрированного детектором Limit Detector автоматически формируется пресет Tags for event #N, который доступен для выбора в разделе История. В состав этого пресета включается единственный тег-причина возникновения инцидента.
В началоИнциденты, обнаруженные службой Stream Processor
Служба Stream Processor собирает данные телеметрии, поступающие от объекта мониторинга в произвольные моменты реального времени, и приводит их к равноинтервальной временной сетке. При сборе поступающих данных служба Stream Processor может обнаруживать потери данных телеметрии и наблюдения, поступившие в Kaspersky MLAD слишком рано или поздно. В таких случаях служба Stream Processor регистрирует инцидент.
Инциденты, обнаруженные службой Stream Processor, отображаются в таблице инцидентов раздела Инциденты. Каждому инциденту, зарегистрированному службой Stream Processor, автоматически присваивается один из следующих типов инцидента:
- Сбой часов объекта мониторинга – в случае обнаружения наблюдений, поступивших в Kaspersky MLAD слишком рано.
- Позднее поступление наблюдения – в случае обнаружения наблюдений, поступивших в Kaspersky MLAD поздно.
- Нет данных – в случае прекращения или прерывания входного потока данных определенного тега.
Аномалии
Аномалия – это нештатное, не предусмотренное регламентом работы и не обусловленное производственным процессом отклонение в поведении объекта мониторинга.
Kaspersky MLAD регистрирует только инциденты. Является тот или иной инцидент аномалией определяет специалист АСУ ТП после проведения анализа зарегистрированных программой инцидентов. В результате анализа инцидента может быть сделан один из следующих выводов:
- Инцидент является аномалией, требующей ответных действий со стороны оператора объекта мониторинга.
- Инцидент не является аномалией, это ложно-положительное срабатывание детектора.
- Используемый в ML-модели детектор отработал корректно, но инцидент не является аномалией.
Анализ и оценка инцидентов производится предметным экспертом. В некоторых случаях (при регистрации инцидентов, выявленных диагностическими правилами или инцидентов, случившихся повторно) возможна автоматическая оценка и группирование похожих инцидентов.
Используемый в ML-модели детектор может не обнаружить объективно существовавшую аномалию. В этом случае аномалия не будет соответствовать ни одному из зарегистрированных инцидентов и не отразится в истории Kaspersky MLAD. Если из наблюдений эксперта, оператора или сторонних источников станет известно о неоднократных фактах отсутствия срабатывания детектора, необходимо определить причину ухудшения качества работы детектора и провести дополнительную настройку или дополнительное обучение ML-модели. Дополнительное обучение ML-модели могут выполнять только специалисты "Лаборатории Касперского" или сертифицированные интеграторы.
На аномалию в работе объекта мониторинга также могут указывать новые
, и значения параметров событий, обнаруженные службой Event Processor (далее также "процессор событий") в потоке поступающих событий. При обнаружении новых событий, паттернов или значений параметров событий служба Event Processor не регистрирует инциденты. Для просмотра новых обнаружений в разделе Процессор событий вы можете просмотреть историю регистрации паттернов, выполнив фильтрацию по типу Новые. Вы также можете создать монитор для отслеживания новых событий, паттернов или значений параметров событий. Служба Event Processor активирует монитор при каждом выявлении событий, паттернов или значений параметров событий, соответствующих заданным критериям поиска. При достижении заданного порога количества активаций монитора на скользящем окне служба Event Processor отправит оповещение об активации монитора во внешнюю систему с помощью CEF-коннектора.Процессор событий
Процессор событий в составе Kaspersky MLAD предназначен для выявления в потоке событий, поступающих от объектов мониторинга и от службы Anomaly Detector, закономерностей в виде повторяющихся событий и паттернов, а также для выявления новых событий и паттернов. Новые события и паттерны могут указывать на аномалию в работе объекта мониторинга.
События
Служба Event Processor обрабатывает данные, поступающие от объектов мониторинга и от службы Anomaly Detector, в виде событий. Событие – это набор значений, описывающих изменение состояния объекта мониторинга по заранее заданному перечню параметров, с указанием момента времени, когда произошло изменение. Набор параметров событий зависит от объекта мониторинга и задается администратором в конфигурационном файле для службы Event Processor.
Процессор событий предназначен для работы только с категориальными значениями параметров событий. Значения параметров событий преобразуются к строковому типу. Для работы с численными значениями данных телеметрии при обработке потока событий Kaspersky MLAD использует службу Anomaly Detector. Администратор может включить обработку данных от службы Anomaly Detector при настройке параметров службы Event Processor.
Событие представляет собой явление, обособленное от других событий, и при этом могут существовать интервалы времени, в течение которых никаких событий не происходило. На регистрацию события могут повлиять такие факторы, как действия персонала, изменение режима работы устройства на предприятии или выполнение специалистом команд на АСУ ТП.
Примеры ситуаций, которые могут привести к регистрации событий в Kaspersky MLAD
Событие регистрируется службой Event Processor один раз. При поступлении потока событий процессор событий распознает ранее выявленные события. В случае обнаружения событий, которые не соответствуют ранее выявленным, процессор событий регистрирует новые события.
Вы можете просмотреть полученные события в виде графа или таблицы. Для просмотра событий требуется загрузить их в разделе Процессор событий → История событий. Параметры событий, указанные в конфигурационном файле для службы Event Processor, могут встречаться не во всех событиях, поступающих от объекта мониторинга. Таким образом, при просмотре полученных событий часть параметров может отсутствовать.
Паттерны
В потоке событий, поступающих от объекта мониторинга, процессор событий выявляет закономерности в виде иерархии стабильных (устойчиво повторяющихся) паттернов. Такие закономерности могут быть представлены простыми паттернами (последовательностью событий) или составными паттернами (последовательностью паттернов). В свою очередь паттерны, образующие составной паттерн, называются вложенными.
Последовательность событий или паттернов считается повторяющейся, если составляющие ее элементы следуют в одном и том же порядке, при этом интервалы времени между аналогичными элементами в разных последовательностях отличаются друг от друга не более чем на некоторый максимально допустимый диапазон. Допустимый диапазон интервалов между элементами паттерна рассчитывается с учетом значения параметра Коэффициент, определяющий допустимую дисперсию длительности паттерна. Паттерны обусловлены сложившимися на предприятии практиками, регламентами или техническими особенностями производственного процесса.
Процессор событий представляет выявленные закономерности как послойную иерархию вложенных элементов (структуру паттерна) до уровня событий. События являются элементами первого слоя, простые паттерны – элементами второго слоя, составные паттерны – элементами третьего слоя и выше. Значения параметров события являются элементами нулевого слоя.
Паттерн регистрируется службой Event Processor один раз. При поступлении потока событий процессор событий распознает ранее выявленные паттерны. В случае обнаружения паттернов, которые не соответствуют ранее выявленным закономерностям, процессор событий регистрирует новые паттерны.
К новым паттернам будут относиться последовательности событий или паттернов как с нарушением порядка или состава вложенных паттернов (например, включение агрегата до того, как оператор появился на рабочем месте), так и со значительным изменением интервалов между событиями или вложенными паттернами при сохранении их последовательности (например, включение агрегата через слишком короткий или, наоборот, слишком длинный интервал времени после появления оператора на рабочем месте). Таким образом, процессор событий регистрирует паттерны с новой структурой.
Новые паттерны могут указывать на аномалию в работе объекта мониторинга. Вы можете просмотреть структуру нового паттерна для изучения ее отклонений от структуры ранее выявленных закономерностей.
Если вновь выявленная последовательность событий или паттернов начинает устойчиво повторяться, такая последовательность превращается в стабильный паттерн.
Направления внимания
Поток событий, поступающих от объекта мониторинга, как правило, содержит множество несвязанных между собой событий. Служба Event Processor поддерживает механизм направлений внимания, который позволяет выявлять паттерны на определенном подмножестве событий из всего потока.
Внимание – это специальная конфигурация процессора событий, которую требуется настроить для отслеживания событий и паттернов по отдельным подмножествам истории событий (направлениям внимания). Направление внимания определяется значением параметра событий, которое должно присутствовать во всех событиях этого направления. Процессор событий будет выявлять события и паттерны только по тем направлениям внимания, которые задаются в конфигурации внимания.
Вы можете настроить направления внимания в разделе Процессор событий.
Режимы работы процессора событий
В Kaspersky MLAD предусмотрены следующие режимы работы службы Event Processor:
- Основной режим. В основном режиме работы процессор событий обрабатывает входящий поток событий в виде эпизодов. Эпизод – это последовательность событий из всего потока, ограниченная по времени и/или количеству событий. Эпизод считается сформированным при выполнении одного из следующих условий:
- Время накопления эпизода достигло предела, заданного в параметре Интервал получения событий эпизода (сек.) службы Event Processor.
- Количество накопленных событий достигло предела, заданного в параметре Размер эпизода в основном режиме (количество событий) службы Event Processor.
По полученному в потоке событий эпизоду служба Event Processor выявляет новые и/или повторяющиеся (стабильные) события и паттерны по каждому из заданных направлений внимания. Вы можете настроить направления внимания в разделе Процессор событий.
При поступлении события, временная метка которого относится к ранее обработанному эпизоду, служба Event Processor не пересматривает структуру паттернов, выявленных при обработке этого эпизода. Служба Event Processor учитывает события, поступившие в Kaspersky MLAD с временной задержкой, при выявлении паттернов во время повторной обработки истории событий в режиме сна.
- Режим сна. Для улучшения качества выявленных паттернов и их структуры процессор событий может переходить в режим сна в соответствии с заданным расписанием. Обработка потока событий в онлайн-режиме приостанавливается, при этом Kaspersky MLAD накапливает поступающие события во внутреннем ограниченном буфере сервера для последующей обработки после перехода из режима сна в основной режим работы.
В режиме сна процессор событий повторно анализирует последовательности событий, обработанные ранее в основном режиме работы. Для выявления более сложных структур паттернов в режиме сна процессор событий обрабатывает последовательности событий за более длительные интервалы времени, чем время накопления эпизода в основном режиме.
В параметрах службы Event Processor вы можете настроить расписание режима сна (например, на время, когда поток событий наименее интенсивен), а также интервал времени, за который требуется передать события, проанализированные в основном режиме работы, на повторную обработку.
Мониторы
Монитор – источник извещений о выявлении процессором событий паттернов, событий или значений параметров событий в соответствии с заданными критериями мониторинга. Критерии мониторинга определяют скользящий временной интервал, число последовательных обнаружений, фильтры для значения параметров событий, а также условие для обнаружения новых событий, паттернов или значений параметров событий.
Вы можете создать мониторы для оповещения о выявлении следующих вхождений в потоке событий:
- Значения параметров событий. Вы можете создать монитор для оповещения о выявлении новых или ранее встречавшихся значений определенного параметра события. Например, если вы хотите отслеживать новых пользователей на объекте мониторинга, то при создании монитора вам нужно выбрать тип подписки Значения параметров и настроить его на выявление новых значений по параметру Пользователь.
- События. Вы можете создать монитор для оповещения о выявлении новых или ранее встречавшихся событий. Вы также можете сфокусировать внимание процессора событий на определенном параметре событий. Например, если вы хотите отслеживать новые действия конкретного пользователя на объекте мониторинга, то при создании монитора вам нужно выбрать тип подписки События и указать в параметре события Пользователь имя пользователя, действия которого вы хотите отслеживать.
- Паттерны. Вы можете создать монитор для оповещения о выявлении новых или ранее встречавшихся паттернов по определенному направлению внимания. Например, если вы хотите отслеживать закономерности в действиях конкретного пользователя на объекте мониторинга, то при создании монитора вам нужно выбрать тип подписки Паттерны, сфокусировать внимание процессора событий на параметре Пользователь и указать в этом параметре имя пользователя, закономерности в действиях которого вы хотите отслеживать.
Фильтры в составе критериев мониторинга могут задаваться нечетко. Например, вы можете создать монитор для отслеживания ситуаций, при которых какой-либо пользователь (отслеживание по всем значениям параметра Пользователь) ходил к серверу бухгалтерии (значение параметра Сервер) более десяти раз (значение поля Порог) за последние пять минут (значение скользящего временного интервала).
При обнаружении в потоке поступающих данных событий, паттернов или значений параметров событий, соответствующих критериям мониторинга, процессор событий активирует монитор. Kaspersky MLAD отображает информацию о количестве активаций монитора при его просмотре, а также отправляет во внешнюю систему оповещения об активации мониторов при достижении заданного порога на скользящем окне с помощью коннектора CEF Connector.
Созданные пользователем мониторы отображаются в разделе Процессор событий на вкладке Мониторинг.