В этой статье пойдет речь об IDS Tools и преимуществах использования Suricata, Snort, Bro (Zeek) и Linux. Информация будет полезна как опытным, так и начинающим специалистам.
IDS: методы обнаружения угроз
Существует два основных метода обнаружения угроз: обнаружение на основе сигнатур и обнаружение на основе аномалий. Эти способы пригодятся, когда пользователь решает, следует ли использовать механизм обнаружения сигнатур или аномалий. Однако поставщики услуг уже успели изучить преимущества каждого из них, и некоторые стараются задействовать оба в своих продуктах. Изучение сильных и слабых сторон методов позволяет понять, как они могут дополнять друг друга.
IDS Tools на основе сигнатур
Для IDS Tools на основе сигнатур есть особые правила или шаблоны поиска уже заранее известного вредоносного трафика. Как только будет найдено совпадение, администратору будет отправлено предупреждение о возможной угрозе. Эти предупреждения могут сообщать о таких проблемах, как вредоносные программы, мошенническое сканирование сети и атака на сервер.
IDS Tools на основе аномалий
Для IDS Tools на основе аномалий активность, которая оставляет за собой трафик, гораздо важнее, чем доставляемая полезная нагрузка. Эти инструменты опираются на базовые линии, а не на сигнатуры. Они будут искать необычную деятельность, которая считается отклонением от статистических средних значений предыдущей или ранее замеченной активности. Например, если пользователь всегда входит в сеть из Калифорнии и получает доступ к инженерным файлам, когда кто-то попытается войти в систему из Пекина и просмотреть HR-файлы, это будет восприниматься как угроза.
Как сигнатурные, так и аномальные методы обнаружения обычно развертываются одним и тем же способом, хотя можно было бы сделать так, что человек мог бы создавать аномальные идентификаторы на основе собранных извне данных Netflow или аналогичной информации о трафике.
Преимущества и недостатки
Меньше ложных сообщений приходит при обнаружении на основе сигнатур, но будут отмечены только известные сигнатуры, оставляя дыры в отношении безопасности новых и еще не идентифицированных угроз.
Много ложных уведомлений приходит при обнаружении аномалий, но при правильной настройке инструмент будет улавливать ранее неизвестные угрозы.
Network-Based IDS (NIDS)
Network-Based IDS (сетевые IDS) проверяют весь трафик на сегменте сети, чтобы обнаружить вредоносную активность. С помощью NIDS копия трафика доставляется на устройство NIDS.
Устройство IDS отслеживает и предупреждает о шаблонах трафика или сигнатурах. Когда вредоносные события будут замечены NIDS, эта важная информация регистрируется в программе. Данные необходимо отслеживать, чтобы знать, что происходит в системе. Объединив эту информацию с событиями, собранными с других систем и устройств, пользователь может увидеть полную картину состояния безопасности его сети. Стоит обратить свое внимание, что ни один из инструментов в данной статье не коррелирует журналы сами по себе. Как правило, это функция SIEM.
Snort
Многие люди знают 1998 год как год выхода Windows 98, но это было также время, когда Martin Roesch впервые выпустил в свет Snort. Хотя тогда Snort не был настоящим IDS, сейчас все изменилось. С недавних пор он стал де-факто стандартом для IDS, благодаря огромному вкладу в IT-сообщество.
Важно отметить, что Snort не имеет графического интерфейса или простой в использовании административной консоли, хотя до этого были уже созданы многие другие инструменты с открытым исходным кодом, такие как BASE и Sguil. Эти утилиты обладают веб-интерфейсом для запросов и анализа предупреждений, поступающих от Snort IDS.
Краткое резюме:
- Длительный срок службы продукта
- Множество административных интерфейсов
- Тщательно проверенная и протестированная программа
Согласно сайту Snort, ее особые черты включают в себя:
- Модульную разработку
- Многопоточность для обработки пакетов
- Общую конфигурацию и таблицу атрибутов
- Простую скриптовую конфигурацию
- Плагин Framework, чтобы сделать ключевые компоненты доступными (и 200 других плагинов)
- Автоматическое обнаружение портов
- Автоматическое создание справочной документации
- Масштабируемый профиль памяти
- Синтаксический анализатор правил и особый синтаксис
Документы и полезные ссылки:
- Обновления
Плагин Snort доступен для AlienVault USM.
Suricata
Что можно использовать помимо Snort? Конечно же, Suricata. Хотя ее архитектура отличается от Snort, она ведет себя так же, как и эта программа, и может использовать те же сигнатуры. Что замечательно, так это то, что Suricata имеет еще больший функционал. Она способна на многое, по правде говоря.
Существуют и сторонние инструменты с открытым исходным кодом, в которых есть веб-интерфейс для запросов и анализа предупреждений, поступающих от идентификаторов Suricata.
Краткое резюме:
- Многопоточность – Snort с его одним потоком может использовать только также один процессор (ядро) одновременно. Suricata способна запускать много потоков, поэтому она может задействовать преимущества всех доступных процессоров. Было много споров о том, выгодно ли это, Snort говорит, что «нет», а несколько контрольных показателей говорят, что «да»
- Встроенное аппаратное ускорение – пользователь может использовать графические карты для проверки сетевого трафика
- Извлечение файлов – кто-то устанавливает вредоносное ПО? Пользователь может захватить его c помощью Suricata и изучить
- LuaJIT – это скриптовый движок, который может быть использован для проверки информации из пакетов. Это делает сложное сопоставление данных еще проще, и человек имеет возможность объединить несколько правил в один скрипт
- Постоянная поддержка сообщества
Согласно веб-сайту Suricata, ее особые черты включают в себя:
- Высокую производительность – многопоточная, масштабируемая база кодов
- Универсальный движок – NIDS, NIPS, NSM, автономный анализ
- Кроссплатформенную поддержку – Linux, Windows, macOS, OpenBSD и др.
- Современную поддержку TCP / IP, включая масштабируемый механизм потока, полный IPv4 / IPv6, TCP-потоки и дефрагментацию IP-пакетов
- Парсеры протоколов – декодирование пакетов
- HTTP – регистратор запросов, сопоставление ключевых слов
- Автонастройку конфигурации
- Lua scripting (LuaJIT)
- Ведение журнала и анализ прикладного уровня, включая сертификаты TLS / SSL, HTTP и DNS-запросы
- Встроенное аппаратное ускорение (GPU для сниффинга сети)
- Извлечение файлов
Документы и полезные ссылки:
Bro (Zeek)
Bro была переименована в Zeek в конце 2018 года и иногда упоминается в статьях как BroIDS или non-Zeek-IDS. Она немного отличается от Snort и Suricata. В каком-то смысле Bro – это и сигнатура, и идентификатор аномалии. Ее механизм анализа преобразует захваченный трафик в серию событий. Событие может быть именем пользователя FTP, подключением к веб-сайту или чем-то еще. Мощь системы заключается в интерпретаторе сценариев политики. Этот механизм политики имеет свой собственный язык (Bro-Script) и может выполнять некоторые универсальные задачи.
Если пользователь является аналитиком и задается вопросом: “Как я могу автоматизировать часть своей работы?», тогда это тот самый инструмент, который он искал. Человек хочет загрузить файлы и отправить их на анализ вредоносных программ. Инструмент уведомит его, если обнаружена проблема, а затем внесет источник в черный список и выключит компьютер пользователя. Можно отслеживать шаблоны использования сети пользователем после того, как он связался с IP-адресом из базы данных.
Если пользователь не аналитик, то ему будет сложно. Поскольку инструмент был разработан в качестве эксперимента – он изначально не фокусировался на таких вещах, как GUI, удобство его использования и простота установки. У него нет собственного графического интерфейса, но есть сторонние инструменты с открытым исходным кодом, доступные для получения запросов и анализа предупреждений, поступающих от Bro-IDS. К примеру, ELK stack.
Краткое резюме:
- Сложная настройка
- Может обнаруживать паттерны активности, которые другие системы идентификаторов не могут найти
- Расширяемая архитектура
- Отличная поддержка сообщества
Согласно веб-сайту Bro, ее особые черты включают в себя:
- Комплексное протоколирование и анализ трафика
- Мощный и гибкий событийно-ориентированный язык скриптов (скрипты Bro)
- Развертывается в системах UNIX, включая Linux, FreeBSD и Mac OS
- Поддерживает DNS/FTP/HTTP/IRC/SMTP/SSH/SSL и другие протоколы
- Производит полностью пассивный анализ трафика сетевого экрана
- Анализ в реальном времени и в автономном режиме
- Кластер-поддержку крупномасштабных развертываний
- Комплексную поддержку IPv6
- Наличие шаблонов IDS
- Извлечение файлов
- Расширяемую архитектуру
- Аналитики могут использовать Bro в целях автоматизации (извлечение файлов, анализ вредоносных программ, создание черного списка, отслеживание шаблонов, исследовательская работа)
Документы и полезные ссылки:
Host-based IDS (HIDS)
Host-based intrusion detection systems мониторят активность, происходящую внутри конечной точки. Приложения HIDS (например, антивирусное программное обеспечение, программное обеспечение для обнаружения шпионских программ, межсетевые экраны) обычно устанавливаются на всех подключенных к Интернету компьютерах в сети или сервере. Это относится и к общедоступным облачным средам.
HIDS ищут необычные или вредоносные действия, изучая журналы, созданные операционной системой. Они занимаются поиском изменений, внесенных в ключевые системные файлы, отслеживая установленное программное обеспечение, а иногда и исследуя сетевые соединения, которые устанавливает хост.
Первые системы HIDS были базовыми – они просто создавали хэши MD5 файлов на регулярной основе и искали несоответствия, используя процесс, получивший название мониторинг целостности файлов (FIM). С тех пор HIDS выполняют множество полезных функций безопасности. Это включает в себя и современные возможности Endpoint Response (EDR).
Если организация выполняет требования, например, для PCI DSS, HIPAA или ISO 27001, то ей может потребоваться HIDS для демонстрации мониторинга целостности файлов (FIM), а также активного мониторинга угроз.
OSSEC
В области полнофункциональных инструментов с открытым исходным кодом есть только OSSEC. Хорошая новость заключается в том, что OSSEC очень хороша в том, что она делает.
OSSEC работает практически на любой операционной системе и включает в себя клиент-серверную архитектуру управления и ведения журналов, что очень важно. Локальные HIDS могут быть скомпрометированы в то же время, что и ОС, необходимо чтобы информация о безопасности и криминалистике покинула хост и была сохранена в другом месте как можно скорее, чтобы избежать любого рода фальсификации, которые предотвратили бы обнаружение.
Архитектура клиент-сервер OSSEC включает в себя эту стратегию путем доставки предупреждений и журналов на централизованный сервер, где анализ и уведомление могут происходить даже в том случае, если хост-система отключена или скомпрометирована. Еще одним преимуществом архитектуры клиент-сервер является возможность централизованного управления агентами с одного сервера. Поскольку число развертываний может варьироваться от одной до нескольких тысяч установок, способность вносить глобальные изменения с центрального сервера имеет решающее значение для администратора.
При обсуждении OSSEC (и других HIDS) часто возникает вопрос по поводу установки программного обеспечения на критически важных серверах. Следует отметить, что установка OSSEC чрезвычайно легка (установщик весит менее 1 МБ), и большая часть анализа фактически происходит на сервере, что означает, что OSSEC занимает немного места на хосте. OSSEC также имеет возможность отправлять журналы ОС на сервер для анализа и хранения, что особенно полезно на машинах Windows, которые не имеют собственных и кроссплатформенных механизмов ведения журнала.
Краткое резюме:
- Агенты почти для каждой ОС
- Скомпилированный агент для Windows
- Большой функционал
- Простой процесс установки
- Отличная поддержка сообщества
Согласно веб-сайту OSSEC, ее особые черты включают в себя:
- Мониторинг целостности файлов (FIM)
- Мониторинг журналов
- Обнаружение rootkit
- Автоматическое реагирование
- Архитектуру клиент-сервер
- Мультиплатформенную поддержку (Linux, Solaris, Windows, MacOS и др.)
- Поддерживает требования соответствиям FIM
- Оповещения в реальном времени и настраиваемые уведомления
- Интеграцию с текущей инфраструктурой
- Централизованный сервер для массового управления политиками
Плагин для OSSEC доступен для AlienVault USM.
Документы и полезные ссылки:
Samhain Labs
Samhain – это HIDS с открытым исходным кодом, что дает OSSEC возможность ставить такую цену. Samhain имеет ту же архитектуру клиент-сервер, но не использует ее во всю мощь, как OSSEC. Сам агент имеет множество методов выводов, один из которых является центральным хранилищем журналов, но включает в себя, такие как системный журнал, электронная почта и RDBMS. Существует даже возможность использовать Samhain в качестве автономного приложения на одном хосте.
Еще одно важное различие заключается в том, где происходит анализ. В отличие от OSSEC, обработка происходит на самом клиенте, что имеет последствия. С практической точки зрения необходимо позаботиться о том, чтобы он не перегружал сервер и не мешал работе. С точки зрения безопасности, наличие анализа на конечной точке дает возможность хакерам деактивировать инструмент, чтобы предупреждения не были показаны.
Краткое резюме:
- Сложная установка
- Windows требует Cygwin
- Отличная функциональность
- Более гибкий клиент
- Постоянная поддержка сообщества
Согласно веб-сайту Samhain, ее особые черты включают в себя:
- Мониторинг целостности файлов (FIM)
- Мониторинг и анализ журнала файлов
- Обнаружение rootkit
- Мониторинг портов
- Обнаружение мошеннических файлов SUID и скрытых процессов
- Многоплатформенную поддержку
- Централизованное ведение журнала и техническое обслуживание
- Архитектуру клиент-сервер (в основном)
- Разнообразие методов вывода (например, системный журнал, электронная почта)
- Может использоваться как автономное приложение на одном хосте
Документы и полезные ссылки:
File Integrity Monitoring (FIM)
Многие инструменты мониторинга целостности файлов (FIM) классифицируются с помощью HIDS, поскольку FIM включает в себя обнаружение угроз. FIM – инструмент, который проверяет целостность операционной системы и указанного файла путем сравнения текущих версий с известными допустимыми версиями, предупреждая администратора всякий раз, когда происходят изменения. Это важно, потому что они сигнализируют о нарушении.
Некоторые инструменты FIM активно развиваются, то время как другие не обновлялись годами. Open Source Tripwire и AFICK – это два подходящих варианта. Для автономных Unix-систем необходимо рассмотреть возможность проверки целостности файлов с помощью rootkit, таких как chkrootkit, rkhunter или Unhide.
Заключение
Эта статья поможет пользователю познакомиться с набором доступных инструментов. При тщательном планировании он сможет обезопасить свою сеть с помощью них.
Автор переведенной статьи: Guest Blogger.