Основные сведения и описание архитектуры программного комплекса для мониторинга аномальной активности (amon)
Потребители ЗОСРВ «Нейтрино» имеют доступ к достаточно большому арсеналу средств, обеспечивающих надежность и безопасность системы. Среди них системы контроля целостности компонентов, встроенные средства защиты информации, средство обнаружения потенциально опасных программ (антивирус) и средства обеспечения высокой готовности (отказоустойчивости). Однако, в контексте мониторинга аномальных активностей их становится недостаточно. Это подтолкнуло нас к разработке программного комплекса мониторинга аномальных процессов (ПК МАП). В его основу лежат механизмы сбора и анализа состояния системы, а также технологии машинного обучения.
Структура комплекса представлена на следующей схеме:
На схеме представлены следующие компоненты:
Слой обработки данных и слой анализа являются частью платформы Синаптика.
В качестве источника информации об активности процессов может использоваться виртуальная файловая система /proc
и модуль amon-operator-kernel.so. В сравнении с трассировкой она не влияет на производительность целевой системы, но позволяет получать некоторые данные для анализа. В этом случае мы получаем значительно меньшее количество информации, нежели в случае с использованием диагностического ядра, но этого вполне достаточно, чтобы оценить состояние того или иного процесса.
Таким образом, операционная система позволяет привилегированному процессу получать информацию об активности процессов и потоков в системе. Оператор данных kernel использует виртуальную файловую систему /proc
и собирает и анализирует для сервиса amon следующую информацию:
Помимо перечисленных источников информации об активности, ими также может выступать сетевой стек (анализ сетевого трафика), дисковая подсистема (операции чтения/записи), или, например, подсистема ввода (анализ действий пользователя). Вариантов действительно много.
Программный интерфейс amon предоставляет возможность создавать свои операторы данных.
После запуска amon необходимо однократно выполнить обучение нейронной сети на эталонной системе в течение некоторого времени. Обучение является ответственным процессом и напрямую влияет на эффективность выявления аномалий, поэтому следует убедиться, что активность во время обучения является доверенной.
После окончания обучения комплекс переключается в режим анализа активности. При обнаружении аномальной активности, информация о ней будет сохранена в лог и может быть прочитана различными способами. Если обнаруженная активность на самом деле не является аномальной, администратор имеет возможность дообучить нейронную сеть и принять эту активность как доверенную без переобучения всей сети. Также поддерживается автоматическое выполнение сценариев при обнаружении аномальной активности.
Поддерживается большое количество способов взаимодействия с сервисом amon (через менеджер ресурсов /dev/amon
). Основное взаимодействие осуществляется через утилиту amonctl. С помощью утилиты cat можно вывести журнал обнаруженных аномалий. Открытое API позволяет разработать собственное клиентское приложение, взаимодействующее с сервисом amon. Также получать информацию о состоянии системы можно с помощью графического приложения amongui. Внешний вид приложения представлен на картинке:
amon, amonctl, amongui, amon-operator-kernel.so
Предыдущий раздел: перейти