Różne serwisy informacyjne związane z tematyką bezpieczeństwa informacji poinformowały o wykryciu krytycznej luki CVE-2021-44228 w bibliotece Apache Log4j (poziom ważności CVSS: 10 na 10). Biblioteki tej używają miliony aplikacji Java do rejestrowania komunikatów o błędach. Co gorsza, osoby atakujące już aktywnie wykorzystują tę lukę. Z tego powodu organizacja Apache Foundation zaleca wszystkim programistom aktualizację biblioteki do wersji 2.15.0, a jeśli nie jest to możliwe, użycie jednej z metod opisanych na stronie Apache Log4j Security Vulnerabilities.
Dlaczego luka CVE-2021-44228 jest tak niebezpieczna
CVE-2021-44228, nazywana również „Log4Shell” lub „LogJam”, jest luką w zabezpieczeniach klasy zdalnego wykonania kodu (RCE). Jeśli atakującym uda się wykorzystać ją na jednym z serwerów, zyskują możliwość wykonania dowolnego kodu i mogą potencjalnie przejąć pełną kontrolę nad systemem.
Luka CVE-2021-44228 jest szczególnie niebezpieczna dlatego, że jest łatwa w wykorzystaniu: atak może z powodzeniem przeprowadzić nawet niedoświadczony haker. Według badaczy taka osoba musi tylko zmusić aplikację do zapisania w dzienniku jednego ciągu, aby można było przesłać własny kod do aplikacji dzięki funkcji zastępowania wyszukiwania komunikatów.
W internecie są już dostępne dowody słuszności koncepcji (PoC) potwierdzające możliwość przeprowadzania ataków za pośrednictwem CVE-2021-44228. Nic więc dziwnego, że firmy zajmujące się cyberbezpieczeństwem już rejestrują masowe skanowanie sieci w poszukiwaniu podatnych na ataki aplikacji, a także ataki na honeypoty.
Lukę tę odkrył Chen Zhaojun z zespołu Alibaba Cloud Security Team.
Co to jest biblioteka Apache Log4J i dlaczego jest tak popularna?
Biblioteka Apache Log4j jest częścią Apache Logging Project. Korzystanie z niej jest jednym z najprostszych sposobów rejestrowania błędów, dlatego używa jej większość programistów Java.
Z biblioteki Log4j korzysta wiele dużych firm programistycznych i usług online, w tym Amazon, Apple iCloud, Cisco, Cloudflare, ElasticSearch, Red Hat, Steam, Tesla, Twitter i wiele innych. Ze względu na jej dużą popularność niektórzy badacze bezpieczeństwa informacji spodziewają się, że w nadchodzących dniach będzie miał miejsce znaczący wzrost liczby ataków na serwery, które są podatne na takie ataki.
Które wersje biblioteki Log4j są podatne na ataki i jak można chronić serwery?
Na ataki podatne są prawie wszystkie wersje Log4j, począwszy od 2.0-beta9 do 2.14.1. Najprostszą i najskuteczniejszą metodą ochrony jest zainstalowanie najnowszej wersji biblioteki, czyli 2.15.0. Można ją pobrać na stronie projektu.
Jeśli z jakiegoś powodu aktualizacja biblioteki nie jest możliwa, Apache Foundation zaleca użycie jednej z metod ograniczających zagrożenie. W przypadku wersji Log4J od 2.10 do 2.14.1 zalecają ustawienie właściwości systemu log4j2.formatMsgNoLookups lub ustawienie zmiennej środowiskowej LOG4J_FORMAT_MSG_NO_LOOKUPS na true.
Aby chronić wcześniejsze wersje Log4j (od 2.0-beta9 do 2.10.0), programiści biblioteki zalecają usunięcie klasy JndiLookup ze ścieżki klasy: zip -q -d log4j-core – *. Jar org / apache / logging / log4j / core / lookup / JndiLookup .class.
Ponadto zalecamy zainstalowanie na serwerach rozwiązań bezpieczeństwa — w wielu przypadkach pozwoli ono wykryć uruchomienie szkodliwego kodu i powstrzymać atak.