Операционная система ЗОСРВ «Нейтрино» > Системная архитектура > Мониторинг состояния системы > Обзор программного комплекса мониторинга аномальной активности



Обзор программного комплекса мониторинга аномальной активности

Основные сведения и описание архитектуры программного комплекса для мониторинга аномальной активности (amon)

Предисловие
Ключевые особенности
Архитектура
Состав комплекса
Подключаемые модули (операторы данных)
Оператор данных kernel (модуль amon-operator-kernel.so)
Разработка собственных операторов данных
Сценарий использования

Предисловие

Активности в операционной системе могут быть самыми разнообразными. Это может быть и запуск нового процесса или потока, и обращение к файловой системе, и выделение памяти, и многое другое. Могут возникнуть ситуации, когда (вследствие действий злоумышленника и\или программной\аппаратной ошибки) эта активность становится аномальной, то есть поведение системы начинает отличаться от ожидаемого. Запуск неизвестного процесса на этапе эксплуатации изделия, потребление процессом необычно большого количества памяти, установка сетевых соединений, которых быть не должно в системе - всё это примеры аномальной активности, возможно требующие внимания со стороны пользователя или разработчика.

Потребители ЗОСРВ «Нейтрино» имеют доступ к достаточно большому арсеналу средств, обеспечивающих надежность и безопасность системы. Среди них системы контроля целостности компонентов, встроенные средства защиты информации, средство обнаружения потенциально опасных программ (антивирус) и средства обеспечения высокой готовности (отказоустойчивости). Однако, в контексте мониторинга аномальных активностей их становится недостаточно. Это подтолкнуло нас к разработке программного комплекса мониторинга аномальных процессов (ПК МАП). В его основу лежат механизмы сбора и анализа состояния системы, а также технологии машинного обучения.

Ключевые особенности

Особенностями программного комплекса являются:

Архитектура

Монитор аномальной активности использует платформу Синаптика для анализа данных и выявления аномалий из различных источников. Взаимодействие с источниками данных и ядром приложения осуществляется через API платформы.

Структура комплекса представлена на следующей схеме:

amon_structure.png
Рисунок 1. Структура amon

На схеме представлены следующие компоненты:

Слой обработки данных и слой анализа являются частью платформы Синаптика.

Состав комплекса

Программный комплекс состоит из следующих компонентов:

Подключаемые модули (операторы данных)

Операторы данных - это специальные модули для сервиса amon. Поставляются в виде разделяемых библиотек, которые подгружаются сервисом во время исполнения. Они выполняют получение и анализ данных об активности с целью выявления аномалий. В ЗОСРВ «Нейтрино» имеется большое количество способов получения информации об активности. Схематически они показаны на рисунке:

activity_structure.png
Рисунок 2. Способы получения информации об активности

Оператор данных kernel (модуль amon-operator-kernel.so)

В качестве источника информации об активности процессов может использоваться виртуальная файловая система /proc и модуль amon-operator-kernel.so. В сравнении с трассировкой она не влияет на производительность целевой системы, но позволяет получать некоторые данные для анализа. В этом случае мы получаем значительно меньшее количество информации, нежели в случае с использованием диагностического ядра, но этого вполне достаточно, чтобы оценить состояние того или иного процесса.

Таким образом, операционная система позволяет привилегированному процессу получать информацию об активности процессов и потоков в системе. Оператор данных kernel использует виртуальную файловую систему /proc и собирает и анализирует для сервиса amon следующую информацию:

Помимо перечисленных источников информации об активности, ими также может выступать сетевой стек (анализ сетевого трафика), дисковая подсистема (операции чтения/записи), или, например, подсистема ввода (анализ действий пользователя). Вариантов действительно много.

Разработка собственных операторов данных

Программный интерфейс amon предоставляет возможность создавать свои операторы данных.

Сценарий использования

Схематически сценарий использования монитора аномальной активности представлен на картинке:

usage_structure.png
Рисунок 3. Сценарий использования монитора аномальной активности

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

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

Поддерживается большое количество способов взаимодействия с сервисом amon (через менеджер ресурсов /dev/amon). Основное взаимодействие осуществляется через утилиту amonctl. С помощью утилиты cat можно вывести журнал обнаруженных аномалий. Открытое API позволяет разработать собственное клиентское приложение, взаимодействующее с сервисом amon. Также получать информацию о состоянии системы можно с помощью графического приложения amongui. Внешний вид приложения представлен на картинке:

amongui.png
Рисунок 4. Внешний вид графического приложения amongui

Тематические ссылки

amon, amonctl, amongui, amon-operator-kernel.so




Предыдущий раздел: перейти