ACARM-нг

Программное обеспечение для компьютерных сетей
ACARM-нг
Оригинальный автор(ы)
  • Бартломей Бальцерек
  • Бартош Шургот
  • Войцех Вага
  • Мариуш Ухронский
Разработчик(и)ВКСС
Первоначальный выпуск14 февраля 2011 г. (2011-02-14)
Стабильный релиз
1.1.1 [1] / 29 мая 2012 г. ; 12 лет назад (2012-05-29)
Написано в
Операционная системаЛинукс
ПредшественникАКАРМ
Тип
ЛицензияGPLv2
Веб-сайтwww.acarm.wcss.wroc.pl

ACARM-ng (Alert Correlation, Assessment and Reaction Module - next generation) - это система IDS / IPS с открытым исходным кодом . ACARM-ng - это программное обеспечение для корреляции оповещений , которое может значительно облегчить анализ трафика в компьютерных сетях. Оно отвечает за сбор и корреляцию оповещений, отправленных сетевыми и хостовыми датчиками, также называемыми NIDS и HIDS соответственно. Процесс корреляции направлен на сокращение общего количества сообщений, которые должен просматривать системный администратор, до минимально возможного количества путем объединения похожих событий в группы, представляющие логические части вредоносной активности.

История

Первоначальная версия ACARM разрабатывалась в рамках европейского исследовательского проекта POSITIF в период с 2004 по 2007 год. Она была написана на Java в качестве практического доказательства концепции, представленной в статье. [2] Несмотря на плохую масштабируемость и проблемы с эффективностью, программное обеспечение оказалось весьма полезным.

В конце 2009 года стало очевидно, что текущая конструкция имеет серьезные недостатки, в первую очередь, из-за низкой производительности. В результате этого проект был прекращен. Позже в том же году был запущен новый проект под названием ACARM-ng, призванный заменить оригинальный ACARM. ACARM-ng должен был вывести корреляцию оповещений на новый уровень благодаря своей масштабируемости и архитектуре на основе подключаемых модулей. Он активно разрабатывался с 2009 года Вроцлавским центром сетевых технологий и суперкомпьютеров в рамках проекта PL-Grid . [3]

Функции

Основные возможности ACARM-ng включают в себя:

  • общая структура (система может быть легко расширена с помощью плагинов)
  • многопоточная реализация
  • низкая загрузка ЦП и памяти
  • реализация с использованием современных методов объектно-ориентированного проектирования
  • обработка повторяющихся оповещений
  • Информирование и реагирование в режиме реального времени
  • веб-визуализация данных
  • длительные временные окна корреляции, не задерживающие отчетность

Архитектура

ACARM-ng состоит из 3 основных элементов: демона корреляции , WUI и (опционально) ядра базы данных.

Демон ACARM-ng был разработан с нуля как фреймворк-решение. Он обеспечивает основные системные функции, такие как ведение журнала, оповещения и коррелированные метаоповещения, проходящие между частями системы, восстановление после ошибок, многопоточность и т. д. Остальная часть пакета — это плагины, разделенные на следующие классы:

  • постоянство (абстракция данных)
  • ввод (сбор данных)
  • фильтр (корреляция и модификация данных)
  • триггер (автоматическое оповещение и реакция) [4]

Встроенный программный сторожевой таймер предоставляет актуальную информацию о состоянии системы.

Внутренняя архитектура ACARM-ng, показывающая встроенные плагины.

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

График временного ряда оповещений, показывающий количество входящих сообщений за заданный период времени.
Страница оповещения с примером оповещения.

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

Обратите внимание, что хотя для работы демона не требуется движок базы данных, настоятельно рекомендуется сохранять данные постоянно. Отказ от использования базы данных делает невозможным получение системной информации через WUI и приводит к потере исторических данных при перезапуске системы. События, которые больше не обрабатываются демоном, также отбрасываются.

Препроцессор

Часто требуется ограничить объем входящих данных (например, удалить оповещения, периодически выдаваемые скриптами cron ). Чтобы позволить пользователям адаптировать входные данные системы к собственным потребностям, предоставляется специальный компонент «препроцессор». Он позволяет определить цепочку правил accept-if-match и reject-if-match для принятия или отклонения входящих оповещений до того, как они попадут в механизм корреляции.

Плагины

Демон ACARM-ng позволяет добавлять и удалять новые плагины без необходимости перекомпиляции основного пакета. Это значительно упрощает разработку и тестирование системы.

Каждый используемый плагин необходимо сначала настроить в основном файле конфигурации.

Настойчивость

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

Последняя стабильная версия ACARM-ng обеспечивает следующие реализации персистентности:

  • заглушки (игнорируют все запросы на запись — данные не сохраняются)
  • postgres (использует базу данных PostgreSQL для хранения информации)

Вход

Вход обеспечивает абстракцию механизма сбора данных. Единственное требование к реализации — выводить оповещения в форме, совместимой с ACARM-ng.

Последняя стабильная версия ACARM-ng обеспечивает следующие реализации входных данных:

  • файл (читает XML- файлы в формате IDMEF )
  • prelude (чтение оповещений из точки сбора данных Prelude-Manager )

Фильтр

Фильтр обеспечивает абстракцию механизма корреляции и обновления данных. Нет никаких ограничений на то, что фильтр может делать с мета-оповещением, хотя наиболее распространенным применением является корреляция похожих оповещений ( для этого особого случая предоставляется специально настроенный API ).

Последняя стабильная версия ACARM-ng обеспечивает следующие реализации фильтров:

  • один к одному (соотносит события между парой хостов)
  • один ко многим (сопоставляет события, где исходный хост один и тот же для всех оповещений)
  • многие к одному (сопоставляет события, где целевой хост один и тот же для всех оповещений)
  • многие ко многим (связывает события, где набор исходных и целевых хостов коррелированных оповещений схож)
  • DNS- резолвер (преобразует IP- адреса в DNS-имена, если это возможно)
  • Черный список IP-адресов (меняет приоритет оповещений с адресами источника/назначения, принадлежащими подозрительным сетям)
  • одно и то же имя (соотносит события с одинаковым именем)
  • цепочка событий (сопоставляет события, произошедшие в хронологическом порядке на следующих в очереди машинах; такое решение встречается редко и может указывать на последовательность «сканирование, торможение, эскалация»)
  • мониторинг пользователей (сопоставляет события, вызванные действиями одного пользователя)
  • сходство (сопоставляет события, похожие друг на друга, выше заданного порога; все данные принимаются во внимание при сравнении двух элементов)
  • новое событие (меняет приоритет событий, которые ранее не были видны в системе)
  • python (использует предоставленный пользователем скрипт Python для корреляции событий)

Курок

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

Последняя стабильная версия ACARM-ng обеспечивает следующие реализации триггеров:

  • информирование администратора о подозрительных событиях:
  • предоставление средств автоматического реагирования:
    • extapp (выполняет внешнее приложение/скрипт, передавая все коррелированные события в качестве параметра)
    • python (использует предоставленный пользователем скрипт Python для корреляции событий)
    • snort sam (перенастраивает многие типы брандмауэров с помощью подключаемого модуля Snort Sam от Snort )

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

Смотрите также

Ссылки

  1. ^ Страница загрузок ACARM-ng
  2. ^ Valeur, F.; Vigna, G.; Kruegel, C.; Kemmerer, RA (2004). «Комплексный подход к корреляции оповещений об обнаружении вторжений». IEEE Transactions on Dependable and Secure Computing . 1 (3): 146– 169. CiteSeerX  10.1.1.60.6872 . doi :10.1109/TDSC.2004.21. S2CID  2603627.
  3. ^ Бартломей Бальцерек; Бартош Сзургот; Войцех Вага; Мариуш Ухронский (2012). «ACARM-ng: Структура корреляции следующего поколения». У Мариана Бубака; Томаш Шепенец; Казимеж Виатр (ред.). Построение национальной распределенной электронной инфраструктуры — PL-Grid . Конспекты лекций по информатике. Том. 7136. Спрингер. стр.  114–127 . doi : 10.1007/978-3-642-28267-6_9. ISBN 978-3-642-28266-9.
  4. ^ Бальцерек, Бартломей; Сзургот, Бартош; Ухронский, Мариуш; Вага, Войцех (2012), Бубак, Мариан; Шепенец, Томаш; Виатр, Казимеж (ред.), «ACARM-ng: Структура корреляции следующего поколения», Создание национальной распределенной электронной инфраструктуры – PL-Grid: научные и технические достижения , Конспекты лекций по информатике, Берлин, Гейдельберг: Springer, стр.  114–127 , doi :10.1007/978-3-642-28267-6_9, ISBN 978-3-642-28267-6, получено 2021-05-02
  • Официальный сайт
  • ACARM-ng на sourceforge
  • основная ветка разработки ( базарный репозиторий)
  • Папка POSITIF Архивировано 2016-03-04 на Wayback Machine
Retrieved from "https://en.wikipedia.org/w/index.php?title=ACARM-ng&oldid=1233505258"