Analityka bezpieczeństwa na dużą skalę: Splunk vs. Flink do wykrywania incydentów w oparciu o reguły

Ilość danych generowanych przez nowoczesne systemy stała się mieczem obosiecznym dla zespołów ds. bezpieczeństwa. Choć oferuje ona cenne informacje, ręczne przeszukiwanie gór logów i alertów w celu zidentyfikowania złośliwej aktywności nie jest już wykonalne. W tym miejscu wkracza wykrywanie incydentów oparte na regułach, oferując sposób na zautomatyzowanie procesu poprzez wykorzystanie predefiniowanych reguł do oznaczania podejrzanej aktywności. Kluczowy jest jednak wybór narzędzia do przetwarzania dużych ilości danych w celu uzyskania wglądu w czasie rzeczywistym. W tym artykule omówiono mocne i słabe strony dwóch popularnych opcji: Splunk, wiodące narzędzie do wyszukiwania wsadowego, oraz Flink, potężny framework przetwarzania strumieniowego, szczególnie w kontekście wykrywania incydentów bezpieczeństwa opartego na regułach.

Splunk: Potężne wyszukiwanie i raportowanie

Splunk stał się platformą do udostępniania logów aplikacji i infrastruktury do wyszukiwania ad-hoc. Jego główną siłą jest zdolność do pozyskiwania danych logów z różnych źródeł, ich centralizacji i umożliwienia użytkownikom ich eksploracji za pomocą zaawansowanych zapytań. Umożliwia to zespołom ds. bezpieczeństwa tworzenie kompleksowych pulpitów nawigacyjnych i raportów, zapewniając całościowy obraz stanu bezpieczeństwa. Ponadto Splunk obsługuje zaplanowane wyszukiwania, umożliwiając użytkownikom automatyzację powtarzających się zapytań i otrzymywanie regularnych aktualizacji określonych wskaźników bezpieczeństwa. Może to być szczególnie cenne przy konfigurowaniu wykrywania opartego na regułach, monitorowaniu kluczowych wskaźników bezpieczeństwa i identyfikowaniu trendów w czasie.

Flink: Mistrz przetwarzania strumieniowego

Z drugiej strony, Apache Flink przyjmuje zasadniczo inne podejście. Jest to silnik przetwarzania rozproszonego zaprojektowany do obsługi obliczeń stanowych na nieograniczonych i ograniczonych strumieniach danych. W przeciwieństwie do przetwarzania wsadowego Splunk, Flink wyróżnia się w przetwarzaniu w czasie rzeczywistym, umożliwiając analizowanie danych w miarę ich napływania, oferując niemal natychmiastowy wgląd. Dzięki temu idealnie nadaje się do scenariuszy, w których natychmiastowe wykrywanie i reagowanie są najważniejsze, takich jak identyfikacja trwających zagrożeń bezpieczeństwa lub zapobieganie nieuczciwym transakcjom w czasie rzeczywistym. Zdolność Flink do poziomego skalowania w klastrach sprawia, że nadaje się on do obsługi ogromnych ilości danych, co jest krytycznym czynnikiem dla organizacji zmagających się z ciągle rosnącą ilością danych dotyczących bezpieczeństwa.

Studium przypadku: Wykrywanie ataków logowania użytkowników

Rozważmy praktyczny przykład: regułę zaprojektowaną do wykrywania potencjalnych prób logowania typu brute-force. Reguła ta ma na celu identyfikację użytkowników, którzy doświadczają dużej liczby nieudanych prób logowania w określonych ramach czasowych (np. w ciągu godziny). Oto jak implementacja reguły różniłaby się w Splunk i Flink:

Implementacja w Splunk

sourcetype=login_logs
(result="failure" OR "failed")
| stats count by user within 1h
| search count > 5
| alert "Potential Brute Force Login Attempt for user: $user$"

To zapytanie wyszukiwania Splunk filtruje dzienniki logowania pod kątem nieudanych prób, oblicza liczbę nieudanych prób na użytkownika w ciągu godziny, a następnie uruchamia alert, jeśli liczba ta przekroczy wstępnie zdefiniowany próg (5). Choć skuteczne w przypadku podstawowego wykrywania, opiera się na przetwarzaniu wsadowym, potencjalnie wprowadzając opóźnienia w identyfikacji trwających ataków.

Implementacja Flink

5;” data-lang=”text/x-sql”>

SELECT user, COUNT(*) AS failed_attempts
FROM login_logs
WHERE result="failure" OR result="failed"
GROUP BY user, TUMBLE(event_time, INTERVAL '1 HOUR')
HAVING failed_attempts > 5;

Flink przyjmuje podejście w czasie rzeczywistym. Gdy nadchodzi każde zdarzenie logowania, Flink sprawdza użytkownika i wynik. Jeśli jest to nieudana próba, licznik dla okna tego użytkownika (1 godzina) jest zwiększany. Jeśli licznik przekroczy próg (5) w oknie, Flink wyzwala alert. Zapewnia to niemal natychmiastowe wykrywanie podejrzanej aktywności logowania.

A Deep Dive: Splunk vs. Flink do wykrywania ataków logowania użytkowników

Bazowe modele przetwarzania Splunk i Flink prowadzą do fundamentalnych różnic w sposobie, w jaki radzą sobie one z wykrywaniem ataków logowania użytkowników. incydent bezpieczeństwa wykrywanie. Proszę przyjrzeć się bliżej kluczowym obszarom:

Przetwarzanie wsadowe a strumieniowe

Splunk

Splunk działa na danych historycznych. Analitycy bezpieczeństwa piszą zapytania, które pobierają i analizują odpowiednie logi. Zapytania te można skonfigurować tak, aby były okresowo uruchamiane automatycznie. Jest to podejście oparte na przetwarzaniu wsadowym, co oznacza, że Splunk musi przeszukiwać potencjalnie dużą ilość danych w celu zidentyfikowania anomalii lub trendów. W przypadku przykładowej próby logowania, Splunk musiałby przeszukiwać wszystkie logi logowania w ciągu ostatniej godziny za każdym razem, gdy wyszukiwanie jest uruchamiane, aby obliczyć liczbę nieudanych logowań na użytkownika. Może to wprowadzić znaczne opóźnienia w wykrywaniu i zwiększyć koszt obliczeń, zwłaszcza w przypadku dużych zbiorów danych.

Flink

Flink analizuje strumienie danych w czasie rzeczywistym. Gdy pojawia się każde zdarzenie logowania, Flink natychmiast je przetwarza. Takie podejście do przetwarzania strumieniowego pozwala Flink utrzymywać ciągły stan i aktualizować go wraz z każdym przychodzącym zdarzeniem. W scenariuszu próby logowania Flink śledzi nieudane próby logowania dla każdego użytkownika w ramach ciągłego jednogodzinnego okna. Przy każdym nowym zdarzeniu logowania Flink sprawdza użytkownika i wynik. Jeśli jest to nieudana próba, licznik dla okna tego użytkownika jest zwiększany. Eliminuje to konieczność każdorazowego sprawdzania dużej ilości danych historycznych.

Windowing

Splunk

Splunk wykonuje obliczenia okienkowania po pobraniu wszystkich istotnych logów. W naszym przykładzie, wyszukiwanie stats count by user within 1h pobiera wszystkie próby logowania w ciągu ostatniej godziny, a następnie oblicza liczbę dla każdego użytkownika. Takie podejście może być nieefektywne w przypadku analizy w czasie rzeczywistym, zwłaszcza gdy ilość danych wzrasta.

Flink

Flink utrzymuje okno kroczące i stale aktualizuje stan na podstawie przychodzących zdarzeń. Flink wykorzystuje koncepcję zwaną “oknami czasowymi” do podziału strumienia danych na określone przedziały czasowe (np. jedną godzinę). Dla każdego okna Flink śledzi istotne informacje, takie jak liczba nieudanych prób logowania na użytkownika. Gdy napływają nowe dane, Flink aktualizuje stan dla bieżącego okna. Eliminuje to potrzebę oddzielnego etapu przetwarzania końcowego w celu obliczenia agregacji okien.

Infrastruktura alertów

Splunk

Splunk opiera się na wstępnie skonfigurowanych akcjach alertowych w ramach platformy. Splunk pozwala użytkownikom definiować zapytania wyszukiwania, które wyzwalają alerty, gdy spełnione są określone warunki. Alerty te mogą być dostarczane za pośrednictwem różnych kanałów, takich jak e-mail, SMS lub integracja z innymi narzędziami bezpieczeństwa.

Flink

Flink może wymagać integracji z zewnętrznymi narzędziami do obsługi alertów. Chociaż Flink może identyfikować anomalie w czasie rzeczywistym, może nie mieć wbudowanych funkcji ostrzegania, takich jak Splunk. Zespoły ds. bezpieczeństwa często integrują Flink z zewnętrznymi Zarządzanie informacjami i zdarzeniami bezpieczeństwa (SIEM) rozwiązania do generowania alertów i zarządzania nimi.


Zasadniczo Splunk działa jak detektyw przeszukujący historyczne dowody, podczas gdy Flink działa jak strażnik stale monitorujący aktywność. Splunk jest cennym narzędziem do analizy kryminalistycznej i identyfikacji trendów historycznych. Jednak w celu wykrywania zagrożeń w czasie rzeczywistym i szybszego czasu reakcji, Flink przetwarzanie strumieniowe oferują znaczącą przewagę.

Wybór odpowiedniego narzędzia: Równowaga

Podczas gdy Splunk zapewnia przyjazny dla użytkownika interfejs i upraszcza tworzenie reguł, jego przetwarzanie wsadowe wprowadza opóźnienia, które mogą być szkodliwe dla potrzeb bezpieczeństwa w czasie rzeczywistym. Flink wyróżnia się przetwarzaniem w czasie rzeczywistym i skalowalnością, ale wymaga większej wiedzy technicznej do konfiguracji i zarządzania.

Poza opóźnieniami i łatwością użytkowania: Dodatkowe rozważania

Decyzja pomiędzy Splunk i Flink wykracza poza przetwarzanie w czasie rzeczywistym i łatwość użytkowania. Proszę wziąć pod uwagę kilka dodatkowych czynników:

Ilość i różnorodność danych

Zespoły ds. bezpieczeństwa są często przytłoczone ogromną ilością i różnorodnością danych, które muszą analizować. Splunk doskonale radzi sobie z obsługą ustrukturyzowanych danych, takich jak logi, ale zmaga się z pozyskiwaniem w czasie rzeczywistym i analizą nieustrukturyzowanych danych, takich jak ruch sieciowy lub kanały mediów społecznościowych. Flink, z jego rozproszoną architekturąmoże obsługiwać różne typy danych na dużą skalę.

Alarmowanie i reagowanie

Zarówno Splunk, jak i Flink mogą wyzwalać alerty na podstawie naruszeń reguł. Jednak Splunk płynnie integruje się z istniejącymi systemami zarządzania informacjami i zdarzeniami bezpieczeństwa (SIEM), usprawniając przepływ pracy reagowania na incydenty. Flink może wymagać dodatkowego wysiłku programistycznego w celu integracji z zewnętrznymi narzędziami do alertowania i reagowania.

Koszt

Koszty licencjonowania Splunk opierają się na wolumenie pozyskiwanych danych, co może być kosztowne dla organizacji z ogromnymi zbiorami danych bezpieczeństwa. Flink, jako oprogramowanie open-source, eliminuje opłaty licencyjne. Należy jednak wziąć pod uwagę koszt wiedzy technicznej związanej z konfiguracją, utrzymaniem i tworzeniem reguł dla Flink.

Ewoluujący krajobraz bezpieczeństwa: Podejście hybrydowe

Krajobraz bezpieczeństwa nieustannie ewoluuje, wymagając wieloaspektowego podejścia. Wiele organizacji znajduje wartość w podejściu hybrydowym, wykorzystując mocne strony zarówno Splunk, jak i Flink.

  • Splunk jako centrum bezpieczeństwa: Splunk może służyć jako centralne repozytorium danych bezpieczeństwa, integrując logi z różnych źródeł, w tym dane przesyłane w czasie rzeczywistym z Flink. Analitycy bezpieczeństwa mogą wykorzystywać potężne możliwości wyszukiwania Splunk do analizy historycznej, wyszukiwania zagrożeń i prowadzenia dochodzeń.
  • Flink do wykrywania i reagowania w czasie rzeczywistym: Flink można wdrożyć do przetwarzania w czasie rzeczywistym krytycznych strumieni danych bezpieczeństwa, koncentrując się na identyfikacji i reagowaniu na bieżące zagrożenia.

Takie połączenie pozwala zespołom ds. bezpieczeństwa czerpać korzyści z obu światów:

  • Kompleksowa widoczność zabezpieczeń: Splunk zapewnia całościowy wgląd w historyczne i bieżące dane dotyczące bezpieczeństwa.
  • Wykrywanie i reagowanie na zagrożenia w czasie rzeczywistym: Flink umożliwia niemal natychmiastową identyfikację i łagodzenie trwających incydentów bezpieczeństwa.

Wnioski: Wybór odpowiedniego narzędzia do pracy

Ani Splunk, ani Flink nie są uniwersalnymi rozwiązaniami do wykrywania incydentów w oparciu o reguły. Optymalny wybór zależy od konkretnych potrzeb w zakresie bezpieczeństwa, ilości danych, wiedzy technicznej i budżetu. Zespoły ds. bezpieczeństwa powinny dokładnie ocenić te czynniki i potencjalnie rozważyć podejście hybrydowe, aby wykorzystać mocne strony zarówno Splunk, jak i Flink w celu zapewnienia solidnego i kompleksowego stanu bezpieczeństwa.

Dzięki zrozumieniu mocnych i słabych stron każdego narzędzia, zespoły bezpieczeństwa mogą podejmować świadome decyzje dotyczące najlepszego sposobu ich wykorzystania w celu wykrywania i reagowania na zagrożenia bezpieczeństwa w sposób terminowy i skuteczny.