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ą

10.08.2022

Automatyczne planowanie czasu pracy / Optymalizacja zarządzania zasobami ludzkimi za pomocą badań operacyjnych

Upsaily

Przy odpowiednim nakładzie starań naukowców zajmujących się danymi, wszystko da się zmierzyć i skategoryzować pod względem parametrów. W miejscu pracy szczególnie szybko stosujemy te zasady, dzięki którym można zautomatyzować procesy. Jeden z obszarów, który nie zawsze jest brany pod uwagę, jeśli chodzi o automatyzację, to zasoby...

14.07.2022

Integracja z CSIRE, czyli największe wyzwanie rynku energetycznego okiem eksperta

Integracja systemów

Sektor energetyczny stoi obecnie przed jednym z największych wyzwań ostatnich czasów: koniecznością przygotowania się do procesu integracji z Centralnym Systemem Informacji o Rynku Energii (CSIRE). Zmiany prawne, jakie miały miejsce w ostatnich latach spowodowały, że dystrybutorzy i sprzedawcy energii elektrycznej znajdują się w obliczu...

05.07.2022

Rola personalizacji w Experience-Driven Commerce / Wprowadzenie

E-Commerce

W dzisiejszych czasach wszystko jest pewnego rodzaju doświadczeniem. Przynajmniej tak może się wydawać, kiedy wciąż słyszy się hasła, które mają z tym związek, na przykład customer experience i hiperpersonalizacja. Wyjaśnimy to już za chwilę 😉 Handel oparty na doświadczeniu użytkownika zyskuje na znaczeniu zwłaszcza w e-commerce i...

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>

[class^="wpforms-"]
[class^="wpforms-"]
[class^="wpforms-"]
[class^="wpforms-"]