Open Source IDS Tools: Comparing Suricata, Snort, Bro (Zeek), Linux

Oryginalnie napisane przez Joe Schreiber, przeredagowane i zredagowane przez Guest Blogger, ponownie zredagowane i rozszerzone przez Rich Langston

Czy potrzebujesz monitorować hosty lub łączące je sieci, aby zidentyfikować najnowsze zagrożenia, istnieje kilka świetnych narzędzi open source do wykrywania włamań (IDS).

Lista narzędzi IDS typu open source

  • Snort
  • Suricata
  • Bro (Zeek)
  • OSSEC
  • Samhain Labs
  • OpenDLP

Techniki wykrywania zagrożeń

Istnieją dwie podstawowe techniki wykrywania zagrożeń: wykrywanie oparte na sygnaturach i wykrywanie oparte na anomaliach. Te techniki wykrywania są ważne przy podejmowaniu decyzji o wyborze silnika wykrywającego sygnatury lub anomalie, ale producenci stali się świadomi korzyści płynących z każdej z nich, a niektórzy z nich wbudowują obie w swoje produkty. Poznanie ich mocnych i słabych stron pozwala zrozumieć, w jaki sposób mogą się one wzajemnie uzupełniać.

Narzędzia IDS oparte na sygnaturach

W przypadku IDS opartego na sygnaturach, czyli IDS opartego na wiedzy, wyszukiwane są reguły lub wzorce znanego złośliwego ruchu. Gdy zostanie znalezione dopasowanie do sygnatury, alert jest wysyłany do administratora. Alerty te mogą wykrywać problemy, takie jak znane złośliwe oprogramowanie, aktywność skanowania sieci i ataki na serwery.

Unified Security Management

Jedna platforma łącząca najważniejsze funkcje bezpieczeństwa, w tym IDS, wykrywanie zasobów i zarządzanie logami SIEM.

Dowiedz się więcej

Narzędzia IDS oparte na anomaliach

W przypadku IDS opartego na anomaliach, czyli IDS opartego na zachowaniu, aktywność, która wygenerowała ruch, jest o wiele ważniejsza niż dostarczany ładunek. Narzędzie IDS oparte na anomaliach opiera się raczej na liniach bazowych niż na sygnaturach. Wyszukuje ono nietypowe aktywności, które odbiegają od średnich statystycznych dla poprzednich aktywności lub wcześniej widzianych aktywności. Na przykład, jeśli użytkownik zawsze loguje się do sieci z Kalifornii i uzyskuje dostęp do plików inżynierskich, a ten sam użytkownik loguje się z Pekinu i przegląda pliki HR, jest to sygnał alarmowy.

Obie techniki wykrywania, zarówno te oparte na sygnaturach, jak i te oparte na anomaliach, są zazwyczaj wdrażane w ten sam sposób, choć można by postawić tezę, że można by (i tak się stało) stworzyć system IDS oparty na anomaliach na podstawie zewnętrznie zbieranych danych netflow lub podobnych informacji o ruchu.

Wady i zalety

W przypadku wykrywania opartego na sygnaturach występuje mniej fałszywych pozytywów, ale tylko znane sygnatury są oznaczane, pozostawiając lukę w zabezpieczeniach dla nowych i jeszcze niezidentyfikowanych zagrożeń. W przypadku wykrywania opartego na anomaliach występuje więcej fałszywych alarmów, ale jeśli zostanie ono odpowiednio skonfigurowane, wychwytuje wcześniej nieznane zagrożenia.

Systemy IDS oparte na sieci (NIDS)

Systemy wykrywania włamań oparte na sieci (NIDS) działają poprzez inspekcję całego ruchu w segmencie sieci w celu wykrycia złośliwej aktywności. W przypadku NIDS, kopia ruchu przechodzącego przez sieć jest dostarczana do urządzenia NIDS poprzez lustrzane odbicie ruchu przechodzącego przez przełączniki i/lub routery.

Urządzenie NIDS monitoruje i alarmuje na podstawie wzorców ruchu lub sygnatur. Gdy złośliwe zdarzenia są sygnalizowane przez urządzenie NIDS, rejestrowane są istotne informacje. Dane te muszą być monitorowane, aby można było stwierdzić, że zdarzenie miało miejsce. Łącząc te informacje ze zdarzeniami zebranymi z innych systemów i urządzeń, można uzyskać pełny obraz stanu bezpieczeństwa sieci. Należy pamiętać, że żadne z wymienionych tutaj narzędzi nie koreluje logów samodzielnie. Jest to zazwyczaj funkcja menedżera informacji i zdarzeń bezpieczeństwa (SIEM).

Snort

Ach, czcigodna świnka, która uwielbia pakiety. Wiele osób pamięta rok 1998 jako rok pojawienia się Windows 98, ale był to również rok, w którym Martin Roesch po raz pierwszy wypuścił Snorta. Chociaż Snort nie był wtedy prawdziwym IDS-em, takie było jego przeznaczenie. Od tego czasu stał się de-facto standardem dla IDS, dzięki wkładowi społeczności.

Warto zauważyć, że Snort nie ma prawdziwego GUI ani łatwej w użyciu konsoli administracyjnej, chociaż stworzono wiele innych narzędzi open source, takich jak BASE i Sguil. BASE i Sguil. Narzędzia te dostarczają interfejsu sieciowego do odpytywania i analizowania alarmów pochodzących z Snort IDS.

Snort Podsumowanie

  • Długie życie produktu bez oznak odchodzenia
  • Wspaniałe wsparcie społeczności
  • Mnóstwo front-endów administracyjnych
  • Dokładnie sprawdzony i przetestowany
  • Wspaniałe wsparcie społeczności
  • Według strony internetowej Snorta, cechy obejmują:
    • Modularny projekt:
    • Multi-threading for packet processing
    • Shared configuration and attribute table
    • Use a simple, scriptable configuration
    • Plugin framework, make key components pluggable (and 200+ plugins)
    • Auto-detect services for portless configuration
    • Auto-generate reference documentation
    • Scalable memory profile
    • Rule parser and syntax (support sticky buffers in rules)
  • Documentation:
    • Ruleset Updates
    • Snort FAQ
    • A Snort Cheatsheet
    • A plugin for Snort is available for AlienVault USM Anywhere.

Suricata

What’s the only reason for not running Snort? If you’re using Suricata instead. Although Suricata’s architecture is different than Snort, it behaves the same way as Snort and can use the same signatures. What’s great about Suricata is what else it’s capable of over Snort. Robi tak wiele więcej, że prawdopodobnie zasługuje na osobny wpis.

Istnieją narzędzia open source innych firm, które pozwalają na tworzenie zapytań i analizowanie alarmów pochodzących z Suricata IDS.

Suricata Podsumowanie

  • Wielowątkowość – Snort działa z pojedynczym wątkiem, co oznacza, że może używać tylko jednego CPU (rdzenia) na raz. Suricata może uruchomić wiele wątków, dzięki czemu może wykorzystać wszystkie dostępne procesory/rdzenie. Istnieje wiele sporów na temat tego, czy jest to korzystne, Snort twierdzi, że nie, a kilka benchmarków twierdzi, że tak.
  • Wbudowana akceleracja sprzętowa – Czy wiesz, że możesz użyć kart graficznych do inspekcji ruchu sieciowego?
  • Wyciąganie plików – Ktoś pobiera złośliwe oprogramowanie? Możesz je przechwycić bezpośrednio z Suricaty i zbadać.
  • LuaJIT – Tak, to wiele liter, ale jest to również silnik skryptowy, który może być użyty z informacjami z pakietów kontrolowanych przez Suricatę. To sprawia, że skomplikowane dopasowywanie jest jeszcze łatwiejsze i można nawet zyskać na wydajności łącząc wiele reguł w jeden skrypt.
  • Logowanie więcej niż pakietów – Suricata może przechwytywać i logować takie rzeczy jak certyfikaty TLS/SSL, żądania HTTP, żądania DNS
  • Wsparcie społeczności
  • Zgodnie ze stroną internetową Suricata, cechy obejmują:
    • Wysoką wydajność – wielowątkowa, skalowalna baza kodu
    • Multipurpose Engine – NIDS, NIPS, NSM, analiza offline, itp.
    • Wsparcie międzyplatformowe – Linux, Windows, macOS, OpenBSD, etc.
    • Nowoczesne wsparcie TCP/IP, w tym skalowalny silnik przepływu, pełne IPv4/IPv6, strumienie TCP i defragmentacja pakietów IP
    • Parsery protokołów – dekodowanie pakietów, dekodowanie warstwy aplikacji
    • Silnik HTTP – parser HTTP, logger żądań, dopasowywanie słów kluczowych, etc.
    • Autodetect services for portless configuration
    • Lua scripting (LuaJIT)
    • Application-layer logging and analysis, including TLS/SSL certs, HTTP requests, DNS requests, and more
    • Built-in hardware acceleration (GPU for network sniffing)
    • File extraction
  • Documentation:
    • Suricata User Guide
    • User and Developer Docs
    • Suricata FAQ

Bro (renamed Zeek)

Bro, which was renamed Zeek in late 2018 and is sometimes referred to as Bro-IDS or now Zeek-IDS, is a bit different than Snort and Suricata. In a way, Bro is both a signature and anomaly-based IDS. Its analysis engine will convert traffic captured into a series of events. An event could be a user login to FTP, a connection to a website or practically anything. The power of the system is what comes after the event engine and that’s the Policy Script Interpreter. Ten silnik polityki ma swój własny język (Bro-Script) i może wykonać kilka bardzo potężnych i wszechstronnych zadań.

Jeśli jesteś analitykiem i zastanawiałeś się „Jak mogę zautomatyzować część mojej pracy?”, to jest to narzędzie, którego szukałeś. Chcesz pobierać pliki widziane w sieci, przesyłać je do analizy pod kątem złośliwego oprogramowania, informować Cię o znalezieniu problemu, a następnie wpisywać źródło na czarną listę i zamykać komputer użytkownika, który je pobrał? Chcesz śledzić wzorce użytkowania użytkownika po tym, jak skontaktował się z IP z bazy danych reputacji?

Jeśli nie jesteś analitykiem, to narzędzie to będzie miało trudną krzywą uczenia się. Ponieważ zostało ono stworzone jako narzędzie badawcze, nie skupiało się początkowo na takich rzeczach jak GUI, użyteczność i łatwość instalacji. Podczas gdy robi wiele fajnych rzeczy po wyjęciu z pudełka, wiele z nich nie nadaje się do natychmiastowego działania i może być trudnych do zinterpretowania.

Nie ma natywnego GUI, ale istnieją narzędzia open source innych firm, które pozwalają na tworzenie zapytań i analizowanie alarmów pochodzących z Bro-IDS. Consider ELK stack.

Bro Summary

  • Complicated to set up
  • Can detect patterns of activity other IDS systems can not
  • Very extensible architecture
  • Good community support
  • According to Bro’s website, features include:
    • Comprehensive traffic logging and analysis
    • Powerful and flexible event-driven scripting language (Bro scripts)
    • Deploys on UNIX-style systems, including Linux, FreeBSD, and MacOS
    • DNS/FTP/HTTP/IRC/SMTP/SSH/SSL/other protocol support
    • Fully passive traffic analysis with network tap or monitoring port
    • Real-time and offline analysis
    • Cluster-support for large-scale deployments
    • Comprehensive IPv6 support
    • IDS-style pattern matching
    • File extraction
    • Extensible architecture
    • Analysts can use Bro for automation (file extraction, malware analysis, blacklisting, track usage patterns, research work, etc.)
  • Dokumentacja:
    • Bro Manual
    • Bro Docs
    • Bro FAQ

Host-based IDS (HIDS)

Host-based intrusion detection systems (HIDS) działają poprzez monitorowanie aktywności występującej wewnętrznie na hoście punktu końcowego. Aplikacje HIDS (np. oprogramowanie antywirusowe, oprogramowanie wykrywające oprogramowanie szpiegujące, zapory sieciowe) są zazwyczaj instalowane na wszystkich podłączonych do Internetu komputerach w sieci lub na podzbiorze ważnych systemów, takich jak serwery. Obejmuje to również te w publicznych środowiskach chmurowych.

HIDS poszukuje nietypowych lub podejrzanych działań poprzez badanie logów tworzonych przez system operacyjny, szukanie zmian w kluczowych plikach systemowych, śledzenie zainstalowanego oprogramowania, a czasami badanie połączeń sieciowych wykonywanych przez hosta.

Pierwsze systemy HIDS były podstawowe, zazwyczaj po prostu tworzyły cyklicznie skrót MD5 plików i szukały rozbieżności, wykorzystując proces zwany monitorowaniem integralności plików (FIM). Od tego czasu, systemy HIDS stały się o wiele bardziej złożone i wykonują wiele użytecznych funkcji bezpieczeństwa, a ich rola będzie nadal rosła. Obejmuje to nowoczesne możliwości Endpoint Response (EDR).

Jeżeli Twoja organizacja posiada mandat zgodności, taki jak dla PCI DSS, HIPAA, lub ISO 27001, wtedy możesz wymagać od HIDS zademonstrowania monitorowania integralności plików (FIM), jak również aktywnego monitorowania zagrożeń.

OSSEC

W sferze w pełni funkcjonalnych narzędzi open source HIDS, jest OSSEC i niewiele więcej. Wspaniałą wiadomością jest to, że OSSEC jest bardzo dobry w tym co robi i jest raczej rozszerzalny.

OSSEC działa na prawie każdym głównym systemie operacyjnym i zawiera architekturę zarządzania i logowania opartą na klient/serwer, co jest bardzo ważne w systemie HIDS. Ponieważ lokalny HIDS może zostać skompromitowany w tym samym czasie, co system operacyjny, bardzo ważne jest, aby informacje dotyczące bezpieczeństwa i kryminalistyki opuściły hosta i były przechowywane w innym miejscu tak szybko, aby uniknąć wszelkiego rodzaju manipulacji lub zaciemniania, które uniemożliwiłyby wykrycie.

Architektura klient/serwer systemuOSSEC obejmuje tę strategię poprzez dostarczanie alertów i logów do scentralizowanego serwera, gdzie analiza i powiadomienia mogą mieć miejsce nawet wtedy, gdy system hosta jest wyłączony lub skompromitowany. Kolejną zaletą architektury klient/serwer jest możliwość centralnego zarządzania agentami z jednego serwera. Ponieważ wdrożenia mogą obejmować od jednej do tysięcy instalacji, możliwość wprowadzania globalnych zmian z centralnego serwera jest krytyczna dla rozsądku administratora.

Podczas dyskusji na temat OSSEC (i innych HIDS) często pojawiają się obawy związane z instalacją agenta lub oprogramowania na krytycznych serwerach. Należy zauważyć, że instalacja OSSEC jest bardzo prosta (instalator ma mniej niż 1MB), a większość analiz odbywa się na serwerze, co oznacza, że OSSEC zużywa bardzo mało CPU na hoście. OSSEC posiada również możliwość wysyłania logów systemu operacyjnego na serwer w celu ich analizy i przechowywania, co jest szczególnie pomocne w przypadku maszyn z systemem Windows, które nie posiadają natywnych i międzyplatformowych mechanizmów logowania.

Podsumowanie OSSEC:

  • Agenty dla prawie każdego systemu operacyjnego
  • Skompilowany agent dla Windows
  • Dużo funkcjonalności niż tylko FIM
  • Solidny, ale prosty proces instalacji
  • Dobre wsparcie społeczności
  • Według strony internetowej OSSEC, funkcje obejmują:
    • File integrity monitoring (FIM)
    • Log monitoring collects, analyzes, and correlates system logs
    • Rootkit detection, which searches for system modifications similar to rootkits
    • Active response can invoke automated response action when alerts are triggered
    • Client/Server architecture
    • Multi-platform support (Linux, Solaris, Windows, MacOS, etc.)
    • Supports compliance requirements for FIM
    • Real-time and configurable alerts
    • Integration with current infrastructure
    • Centralized server for mass policy management
    • Agent and agentless monitoring
  • A plugin for OSSEC is available for AlienVault USM Anywhere. To learn more, read here.
  • Documentation:
    • OSSEC Docs
    • OSSEC FAQ
    • OSSEC Github

Samhain Labs

Samhain is probably the only HIDS open-source that gives OSSEC a run for its money. Jednak porównanie tych dwóch systemów jest w dużej mierze przypadkiem „tego samego, ale innego”. Samhain ma tą samą architekturę klient/serwer, ale nie wymaga jej tak jak OSSEC. Sam agent ma wiele metod wyjścia, jedną z nich jest centralne repozytorium logów, ale zawiera też inne jak Syslog, Email i RDBMS. Istnieje nawet opcja używania Samhaina jako samodzielnej aplikacji na pojedynczym hoście.

Inną ważną różnicą jest miejsce, w którym zachodzi analiza. W przeciwieństwie do OSSEC, przetwarzanie odbywa się na samym kliencie, co ma implikacje operacyjne. From a practical point of view, care must be taken it doesn’t overload a busy server and interfere with operations. From the security point of view, having the brains on the endpoint invites hackers to deactivate the tool so warnings aren’t issued.

Samhain Summary:

  • Harder to install
  • Windows clients require Cygwin
  • Great FIM functionality
  • More flexible client
  • Okay community support
  • According to Samhain’s website, features include:
    • File integrity monitoring (FIM)
    • Log file monitoring and analysis
    • Rootkit detection
    • Port monitoring
    • Detection of rogue SUID executables and hidden processes
    • Multi-platform support
    • Centralized logging and maintenance
    • Client/Server architecture (mostly)
    • Variety of output methods (e.g. syslog, email RDBMS)
    • Can be used as a standalone application on a single host
  • Documentation:
    • Samhain Docs
    • Samhain User Manual
    • Samhain FAQ

File Integrity Monitoring (FIM Only)

Wiele narzędzi do monitorowania integralności plików (FIM) jest kategoryzowanych jako HIDS, ponieważ FIM wiąże się z wykrywaniem zagrożeń, więc porozmawiajmy o nich. FIM jest narzędziem, które sprawdza integralność plików systemu operacyjnego i określonej aplikacji poprzez porównanie aktualnych wersji ze znanymi poprawnymi wersjami, alarmując administratora, gdy tylko zostaną one zmodyfikowane. Jest to ważne, ponieważ zmiany na krytycznych serwerach często sygnalizują, że doszło do naruszenia bezpieczeństwa. Jeśli nadal zastanawiasz się „co to jest monitoring integralności plików i dlaczego go potrzebuję?”, mamy cały wpis na blogu wyjaśniający dlaczego.

Niektóre FIM są aktywnie rozwijane, podczas gdy inne nie były aktualizowane od lat. Open Source Tripwire i AFICK są dwoma opcjami produktów FIM o otwartym kodzie źródłowym. Dla samodzielnych systemów opartych na Uniksie, warto rozważyć sprawdzenie programów do sprawdzania integralności plików wyszukujących rootkity, takich jak chkrootkit, rkhunter lub Unhide. Unikalny mechanizm wykrywania rootkitów sprawia, że warto rozważyć te rozwiązania. Dostępne są również własne rozwiązania dla systemu Windows.

AlienVault Unified Security Management (USM) Platform zapewnia wbudowane możliwości FIM, aby napędzać technologie wykrywania zagrożeń i przyspieszać wysiłki w zakresie zgodności z przepisami cyberbezpieczeństwa. Aby dowiedzieć się więcej o tym, jak AlienVault USM wykorzystuje FIM do ochrony Twoich zasobów, przeczytaj tutaj.

Podsumowanie

Mam nadzieję, że ten przewodnik pomógł Ci zrozumieć niektóre z opcji open source. Jak pokazano tutaj, nigdy wcześniej nie było tak wielu możliwości wyboru lub szerszego zestawu dostępnych narzędzi. Przy starannym planowaniu i planie bieżącej konserwacji, możesz zbudować bezpieczną sieć przy użyciu tych narzędzi. Z ostrożnym planowaniem, i planem dla bieżącej konserwacji, można zbudować bezpieczną sieć z tych narzędzi.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *