Czego nauczyła nas luka log4j2?

W czwartek 9 grudnia, kilka minut przed północą świat IT obiegła informacja o poważnej podatności biblioteki Log4J2. Szczątkowe informacje ogłoszone rano rysowały bardzo ponury obraz. Sama konstrukcja wektora ataku przypomina popularne w latach 90. “format string” (specyficzny dla aplikacji w języku C) i wciąż niestety popularny atak typu stored XSS. Podatność ma dodatkowe właściwości – w prosty sposób pozwala na penetracje infrastruktury, mapowanie sieci i zdalne wykonywanie złośliwego kodu.

Czym jest log4j2?

Biblioteka ta jest używana w aplikacjach javowych do logowania wewnętrznych komunikatów. Nie oznacza to, że środowiska oparte o aplikacje .NET, PHP albo inne języki programowania są w pełni bezpieczne, gdyż bardzo często przytrafiają się w nich komponenty schowane głęboko w infrastrukturze, ale oparte na Javie – np. mechanizmy do przetwarzania logów czy raportowania.

Jako jeden z przykładów, który udało się nam zidentyfikować, można przytoczyć case serwisu e-commerce opartego o Magento. Potencjalnie niezwiązany z Javą i niekorzystający z log4j2. Jednak, zespołowi szybkiego reagowania udało się dokonać zdalnej egzekucji kodu z wewnątrz głęboko schowanej infrastruktury przez odpowiednio spreparowane zamówienie w sklepie internetowym. Przyczyną był komponent Logstash, który za pomocą log4j2 przetwarzał logi serwisu, w tym złożone zamówienia. 

Odkryta luka pozwala na zdalne wykonanie dowolnego kodu i jest bardzo prosta do wykorzystania. Można oczekiwać, że za chwilę będzie wykorzystywana bardzo powszechnie. Już niespełna półtorej godziny po publikacji na Twitterze kodu wykorzystującego lukę, pojawiły się próby wykorzystania luki przez hakerów i instalacje na przejmowanych serwerach kodu kopiącego kryptowaluty. Z całą pewnością przez wiele tygodni będziemy jeszcze słyszeć o log4j2 i dotkniętych nią systemach.

Jak chronić się przed takimi zdarzeniami jak log4j2?

W jaki sposób, mając pod opieką wiele, często pochodzących od różnych dostawców systemów, zareagować na czas i nie ponieść dotkliwych strat? Recept jest co najmniej kilka:

Utrzymywanie zespołu szybkiego reagowania

Dobry zespół IT odpowiedzialny za utrzymanie systemów monitoruje na bieżąco portale i feed-y, w których publikowane są informacje o istotnych zagrożeniach. Warunek: zespół musi mieć kompetencje w technologiach, w których zbudowane są posiadane systemy, musi też mieć czas na błyskawiczne „łatanie” systemów. Niestety, w wielu przedsiębiorstwach brakuje takiej rezerwy czasu, brakuje również sprawnie działających procesów pozwalających na szybką identyfikację wszystkich miejsc, które mogą być na daną lukę narażone. Jeśli tak jest – warto pomyśleć o inwentaryzacji własnych zasobów i przejście kilku scenariuszy typu “Jak szybko jesteśmy w stanie znaleźć wszystkie podatne na taką lukę systemy?” Najlepiej odrobić tę lekcję na czas, zanim ktoś inny zrobi to za nas.

Ochrona systemów przy pomocy Web Application Firewall

Schowanie aplikacji za WAF-em, do których dajemy dostęp z Internetu, często pomaga, zwłaszcza, gdy jest to WAF pochodzący od sprawnie działającego dostawcy. Fortinet, AWS, F5, czy Checkpoint to tylko niektórzy spośród tych, którzy zareagowali szybko. Wielu innych dostawców opublikowało też reguły i instrukcje zabezpieczenia przy użyciu ich urządzeń. Chociaż zabezpieczenie się często i tak wymaga śledzenia informacji na bieżąco i wykonania akcji na Firewallu, to WAF od dobrego dostawcy jest sporym ułatwieniem w porównaniu do szybkiego „łatania” wielu potencjalnie narażonych systemów.

Powierzenie opieki nad systemem profesjonalistom 

Po stronie klienta bezpieczeństwem systemów zazwyczaj zajmują się zespoły IT, które na co dzień dzielą obowiązki między utrzymanie systemów a realizację nowych projektów. Te same zespoły uruchamiają firewalla, który nie zawsze jest doglądany na bieżąco. Działania te nie zapewniają dostatecznej ochrony w przypadku zagrożenia. Dlatego zdecydowanie wyższą gwarancję szybkiej reakcji na potencjalne zagrożenia otrzymujemy oddając kwestie bezpieczeństwa systemów IT w ręce dedykowanych zespołów partnera technologicznego. Zespoły te posiadają pod swoją opieką wiele podobnych systemów, a ich codzienną pracą jest „wyłapywanie” poważnych zagrożeń i adekwatna reakcja do ich powagi. Pamiętajmy, że bezpieczeństwo systemów wpływa bezpośrednio na prowadzenie biznesu.

Jak sobie poradziliśmy z log4j2?

  1. W ciągu godziny udało się ustawić mechanizm pozwalający na szybką weryfikację podatności: spreparowany serwer DNS ze strefą o niskim negatywnym TTL, logujący wszystkie zapytania i zwracający zawsze ten sam adres IP, należący do honeypota logującego ruch. Przygotowana została instrukcja szybkiej weryfikacji komponentów, polegająca – w uproszczeniu – na wstrzykiwaniu payloadu i weryfikacji czy zostanie zalogowany przez honeypot. Instrukcja trafiła do osób wykonujących testy penetracyjne.
  2. W krótkim czasie udało się zwalidować i potwierdzić podatność, co pozwoliło na zainicjowanie pełnego Emergency Response.
  3. Zespoły developerskie zostały zaangażowane do wgrywania zabezpieczeń do systemów i komponentów, co do których było wiadomo, że są podatne na log4j2.
  4. Dodatkowym zabezpieczeniem wdrożonym jeszcze przed zakończeniem aktualizacji było rozszerzenie firewalli i WAF o reguły blokujące payload i logujące takie wydarzenia. 
  5. Stworzony został mechanizm skanowania serwerów, który potrafił zidentyfikować komponenty korzystające z log4j2 oraz zabezpieczać je w trybie ad-hoc. Uruchomiony w tle mechanizm pozwolił na zabezpieczenie tych elementów infrastruktury, do których nie zdążyły dotrzeć jeszcze zespoły developerskie.

Zanim minęła doba od ogłoszenia podatności, uruchomiliśmy kilka niezależnych ścieżek reakcji na ujawnione zagrożenie, a przeprowadzone testy przed i po pozwoliły uzyskać pewność odnośnie skuteczności podjętych działań. Wkrótce administratorzy dyżurni zauważyli ataki na tę podatność, które były wykrywane i niwelowane przez WAF w środowiskach, w których taki komponent jest wykorzystywany.

“Czy mój biznes wymaga dodatkowego zabezpieczenia?”  

Jeśli przechodzi Wam przez myśl takie pytanie – zapraszamy do rozmowy z naszym zespołem. Pomożemy w identyfikacji zagrożeń i przedstawimy rekomendację działań mających na celu zwiększenie bezpieczeństwa systemów, na których działa Wasza firma.  

Nasi eksperci
/ Dzielą się wiedzą

19.11.2024

PIM + AI = Sukces / Optymalizacja systemów PIM z wykorzystaniem sztucznej inteligencji

AI

W dzisiejszym dynamicznie zmieniającym się świecie biznesu zarządzanie informacjami produktowymi stało się jednym z kluczowych wyzwań, szczególnie dla firm działających na wielu rynkach. Choć o sztucznej inteligencji mówi się coraz więcej, wiele dostępnych materiałów dotyczy głównie teorii lub odległej przyszłości. My idziemy o krok...

Ilustracja przedstawiająca robota reprezentującego sztuczną inteligencję, otoczonego symbolami wyzwań i błędów w sztucznej inteligencji. Obraz zawiera pomarańczowy mózg, zepsutą żarówkę i cyfrowe piksele, symbolizujące dane i zagrożenia etyczne związane z awariami sztucznej inteligencji
30.10.2024

Wpadki AI / Gdy sztuczna inteligencja wymyka się spod kontroli

AI

Sztuczna inteligencja rewolucjonizuje wszystkie branże, oferując naprawdę imponujące możliwości w zakresie wydajności, szybkości i innowacyjności. Jednak w miarę jak systemy AI stają się coraz bardziej zintegrowane z procesami biznesowymi, staje się oczywiste, że narzędzia te nie są również pozbawione wad. Od małych błędów po poważne...

AI w optymalizacji łańcucha dostaw materiałów budowlanych
28.10.2024

Zastosowanie sztucznej inteligencji w optymalizacji łańcucha dostaw materiałów budowlanych 

E-Commerce

Czy sztuczna inteligencja może zrewolucjonizować zarządzanie łańcuchami dostaw materiałów budowlanych? Dowiedz się, jak AI może pomóc w optymalizacji prognozowania zapotrzebowania, zarządzaniu zamówieniami i stanami magazynowymi, a także zminimalizować ryzyko i spersonalizować ofertę dla klientów. Odkryj przyszłość AI w branży...

Ekspercka wiedza
dla Twojego biznesu

Jak widać, przez lata zdobyliśmy ogromną wiedzę - i uwielbiamy się nią dzielić! Porozmawiajmy o tym, jak możemy Ci pomóc.

Napisz do nas

<dialogue.opened>