Dowiedz się, jak zarządzać luką w zabezpieczeniach programu Log4Shell w Ochrona punktu końcowego w usłudze Microsoft Defender
Luka w zabezpieczeniach programu Log4Shell to luka w zabezpieczeniach zdalnego wykonywania kodu (RCE) znajdująca się w bibliotece rejestrowania usługi Apache Log4j 2. Ponieważ usługa Apache Log4j 2 jest często używana przez wiele aplikacji i Usługi online, stanowi złożoną i wysoce ryzykowną sytuację dla firm na całym świecie. Określany jako "Log4Shell" (CVE-2021-44228, CVE-2021-45046) wprowadza nowy wektor ataku, który atakujący mogą wykorzystać do wyodrębniania danych i wdrażania oprogramowania wymuszającego okup w organizacji.
Uwaga
Zapoznaj się z blogami Guidance for preventing, detecting, and hunting for exploitation of the Log4j 2 vulnerability and Microsoft Security Response Center for guidance and technical information about the vulnerability and product specific mitigation recommendations to protect your organization (Wskazówki dotyczące zapobiegania, wykrywania i wyszukiwania zagrożeń pod kątem wykorzystania luki w zabezpieczeniach log4j 2 oraz Centrum reagowania na zabezpieczenia firmy Microsoft), aby uzyskać wskazówki i informacje techniczne dotyczące luk w zabezpieczeniach i zaleceń dotyczących ograniczania ryzyka specyficznych dla produktu w celu ochrony organizacji.
Omówienie możliwości odnajdywania, monitorowania i ograniczania ryzyka
Usługa Defender Vulnerability Management oferuje następujące możliwości, które ułatwiają identyfikowanie, monitorowanie i ograniczanie narażenia organizacji na lukę w zabezpieczeniach programu Log4Shell:
- Odnajdywanie: Wykrywanie narażonych urządzeń, zarówno Ochrona punktu końcowego w usłudze Microsoft Defender urządzeń dołączonych, jak i urządzeń, które zostały odnalezione, ale nie zostały jeszcze dołączone, opiera się na oprogramowaniu narażonym na zagrożenia i plikach narażonych na zagrożenia wykrytych na dysku.
- Świadomość zagrożeń: Skonsolidowany widok do oceny narażenia organizacji. Ten widok przedstawia narażenie na poziomie urządzenia i oprogramowania oraz zapewnia dostęp do szczegółów dotyczących plików narażonych na zagrożenia, takich jak czas ostatniego wyświetlenia, czas ostatniego wykonania i czas ostatniego wykonania z otwartymi portami. Te informacje umożliwiają określenie priorytetów akcji korygowania. Wyświetlanie danych związanych z uwidocznianymi urządzeniami na pulpicie nawigacyjnym może potrwać do 24 godzin.
- Opcje ograniczania ryzyka: Zastosuj opcje ograniczania ryzyka, aby zmniejszyć ryzyko narażenia.
- Zaawansowane wyszukiwanie zagrożeń: Użyj zaawansowanego wyszukiwania zagrożeń, aby zwrócić szczegóły dotyczące wrażliwych plików log4j zidentyfikowanych na dysku.
Uwaga
Te możliwości są obsługiwane w systemach Windows 10 & Windows 11, Windows Server, Linux i macOS.
Obsługa systemu Linux wymaga Ochrona punktu końcowego w usłudze Microsoft Defender klienta systemu Linux w wersji 101.52.57 (30.121092.15257.0) lub nowszej.
Obsługa systemu macOS wymaga Ochrona punktu końcowego w usłudze Microsoft Defender klienta systemu macOS w wersji 20.121111.15416.0 lub nowszej.
Aby uzyskać więcej informacji na temat obsługiwanych wersji, zobacz Obsługiwane platformy i możliwości systemów operacyjnych.
Odnajdywanie uwidocznionych urządzeń
Funkcje zarządzania lukami w zabezpieczeniach usługi Embedded Defender oraz włączanie wykrywania log4j w portalu Microsoft Defender ułatwiają odnajdywanie urządzeń narażonych na lukę w zabezpieczeniach programu Log4Shell.
Dołączone urządzenia są oceniane przy użyciu istniejących wbudowanych funkcji zarządzania lukami w zabezpieczeniach usługi Defender, które mogą odnajdywać oprogramowanie i pliki znajdujące się w trudnej sytuacji.
W przypadku wykrywania na odnalezionych, ale jeszcze nie dołączonych urządzeniach należy włączyć wykrywanie log4j. Spowoduje to inicjowanie sond w taki sam sposób, w jaki odnajdywanie urządzeń aktywnie sonduje sieć. Obejmuje to sondowanie z wielu dołączonych punktów końcowych (urządzeń Windows 10+ i Windows Server 2019+ oraz sondowanie tylko w podsieciach w celu wykrywania urządzeń narażonych na zagrożenia i zdalnie narażonych na cve-2021-44228.
Aby włączyć wykrywanie log4:
- Przejdź do pozycji UstawieniaKonfiguracja odnajdywania>>urządzeń.
- Wybierz pozycję Włącz wykrywanie log4j2 (CVE-2021-44228).
- Wybierz Zapisz.
Uruchomienie tych sond spowoduje wyzwolenie standardowego przepływu usługi Log4j bez powodowania szkodliwego wpływu na sondowane urządzenie lub urządzenie sondujące. Samo sondowanie odbywa się przez wysłanie wielu żądań HTTP do odnalezionych urządzeń, ukierunkowanych na typowe porty aplikacji internetowej (na przykład 80 8000 8080 443 8443) i adresy URL. Żądanie zawiera nagłówki HTTP z ładunkiem JNDI, który wyzwala żądanie DNS z sondowanego komputera.
Na przykład user-agent: ${jndi:dns://192.168.1.3:5353/MDEDiscoveryUser-Agent}, gdzie 192.168.1.3 jest adresem IP maszyny sondowania.
Uwaga
Włączenie wykrywania log4j2 oznacza również, że dołączone urządzenia będą używać samodzielnego sondowania w celu wykrywania lokalnych luk w zabezpieczeniach.
Wykrywanie oprogramowania i plików podatnych na zagrożenia
Usługa Defender Vulnerability Management udostępnia warstwy wykrywania ułatwiające odnajdywanie:
Oprogramowanie podatne na zagrożenia: odnajdywanie jest oparte na zainstalowanych aplikacjach Common Platform Enumerations (CPE), o których wiadomo, że są narażone na zdalne wykonywanie kodu w usłudze Log4j.
Pliki narażone na ataki: Zarówno pliki w pamięci, jak i pliki w systemie plików są oceniane. Te pliki mogą być plikami jar typu log4j-core ze znaną wersją podatną na zagrożenia lub aplikacją Uber-JAR zawierającą klasę wyszukiwania JNDI lub plik log4j-core podatny na zagrożenia. W szczególności:
- Określa, czy plik JAR zawiera zagrożony plik Log4j, sprawdzając pliki JAR i wyszukując następujący plik: \META-INF\maven\org.apache.logging.log4j\log4j-core\pom.properties — jeśli ten plik istnieje, wersja Log4j jest odczytywana i wyodrębniana.
- Wyszukuje plik JndiLookup.class wewnątrz pliku JAR, szukając ścieżek zawierających ciąg "/log4j/core/lookup/JndiLookup.class" — jeśli istnieje plik JndiLookup.class, usługa Defender Vulnerability Management określa, czy ten plik JAR zawiera plik Log4j z wersją zdefiniowaną w pliku pom.properties.
- Wyszukuje wszystkie wrażliwe pliki JAR log4j-core osadzone w zagnieżdżonym pliku JAR, wyszukując ścieżki zawierające dowolny z tych ciągów:
- lib/log4j-core-
- WEB-INF/lib/log4j-core-
- App-INF/lib/log4j-core-
W tej tabeli opisano obsługiwane platformy i wersje funkcji wyszukiwania:
Możliwości | Typ pliku | Windows10+, server2019+ |
Serwer 2012R2, server2016 |
Serwer 2008R2 | Linux + macOS |
---|---|---|---|---|---|
Wyszukiwanie w pamięci | Log4j-core | Tak | Tak[1] | - | Tak |
Uber-JARs | Tak | Tak[1] | - | Tak | |
Wyszukaj wszystkie pliki na dysku | Log4j-core | Tak | Tak[1] | Tak | - |
Uber-JARs | Tak | Tak[1] | - | - |
(1) Możliwości są dostępne, gdy KB5005292 jest zainstalowany w Windows Server 2012 R2 i 2016.
Dowiedz się więcej o opcjach ekspozycji i ograniczania ryzyka w programie Log4Shell
- W portalu Microsoft Defender przejdź do obszaruLuki w zabezpieczeniach dotyczące słabych punktówzarządzania lukami> w zabezpieczeniach.
- Wybierz pozycję CVE-2021-44228.
- Wybierz pozycję Otwórz stronę luki w zabezpieczeniach.
Ograniczanie luk w zabezpieczeniach programu Log4Shell
Lukę w zabezpieczeniach programu log4Shell można zminimalizować, uniemożliwiając wyszukiwanie JNDI w usłudze Log4j w wersji 2.10–2.14.1 z konfiguracjami domyślnymi. Aby utworzyć tę akcję ograniczania ryzyka, na pulpicie nawigacyjnym rozpoznawania zagrożeń:
- Wybierz pozycję Wyświetl szczegóły luki w zabezpieczeniach.
- Wybierz pozycję Opcje ograniczania ryzyka.
Możesz zastosować środki zaradcze do wszystkich uwidocznionych urządzeń lub wybrać określone dołączone urządzenia. Aby ukończyć proces i zastosować środki zaradcze na urządzeniach, wybierz pozycję Utwórz akcję ograniczania ryzyka.
Stan ograniczania ryzyka
Stan ograniczenia ryzyka wskazuje, czy do urządzenia zastosowano obejście umożliwiające wyłączenie wyszukiwań JDNI. Stan ograniczania ryzyka dla każdego urządzenia, którego dotyczy problem, można wyświetlić na kartach Uwidocznione urządzenia. Może to pomóc w ustalaniu priorytetów ograniczania ryzyka i/lub stosowania poprawek urządzeń na podstawie ich stanu ograniczania ryzyka.
W poniższej tabeli wymieniono potencjalne stany ograniczania ryzyka:
Stan ograniczania ryzyka | Opis |
---|---|
Zastosowane obejście | Windows: zmienna środowiskowa LOG4J_FORMAT_MSG_NO_LOOKUPS była obserwowana przed ostatnim ponownym uruchomieniem urządzenia. Linux + macOS: wszystkie uruchomione procesy mają wartość LOG4J_FORMAT_MSG_NO_LOOKUPS=true w zmiennych środowiskowych. |
Obejście oczekującego ponownego uruchomienia | Zmienna środowiskowa LOG4J_FORMAT_MSG_NO_LOOKUPS jest ustawiona, ale nie wykryto ponownego uruchomienia. |
Nie zastosowano | Windows: nie zaobserwowano zmiennej środowiskowej LOG4J_FORMAT_MSG_NO_LOOKUPS. Linux + macOS: nie wszystkie uruchomione procesy mają LOG4J_FORMAT_MSG_NO_LOOKUPS =true w zmiennych środowiskowych, a akcja ograniczania ryzyka nie została zastosowana na urządzeniu. |
Częściowo złagodzone | Linux + macOS: Mimo że akcja ograniczania ryzyka została zastosowana na urządzeniu, nie wszystkie uruchomione procesy mają wartość LOG4J_FORMAT_MSG_NO_LOOKUPS=true w zmiennych środowiskowych. |
Nie dotyczy | Urządzenia, które mają wrażliwe pliki, które nie znajdują się w zakresie wersji ograniczania ryzyka. |
Unknown | W tej chwili nie można określić stanu ograniczenia ryzyka. |
Uwaga
Może upłynąć kilka godzin, zanim zaktualizowany stan ograniczenia ryzyka urządzenia zostanie odzwierciedlony.
Przywracanie środków zaradczych stosowanych w przypadku luki w zabezpieczeniach programu Log4Shell
W przypadkach, w których należy cofnąć środki zaradcze, wykonaj następujące kroki:
W przypadku systemu Windows:
- Otwórz okno programu PowerShell z podwyższonym poziomem uprawnień.
- Uruchom następujące polecenie:
[Environment]::SetEnvironmentVariable("LOG4J\_FORMAT\_MSG\_NO\_LOOKUPS", $null,[EnvironmentVariableTarget]::Machine)
Zmiana zacznie obowiązywać po ponownym uruchomieniu urządzenia.
W przypadku systemu Linux:
- Otwórz plik /etc/environment i usuń wiersz LOG4J_FORMAT_MSG_NO_LOOKUPS=true
- Usuń plik /etc/systemd/system.conf.d/log4j_disable_jndi_lookups.conf
- Usuń plik /etc/systemd/user.conf.d/log4j_disable_jndi_lookups.conf
Zmiana zacznie obowiązywać po ponownym uruchomieniu urządzenia.
W przypadku systemu macOS:
Usuń plik setenv. LOG4J_FORMAT_MSG_NO_LOOKUPS.plist z następujących folderów:
- /Library/LaunchDaemons/
- /Library/LaunchAgents/
- /Users/[username]/Library/LaunchAgents/ — dla wszystkich użytkowników
Zmiana zacznie obowiązywać po ponownym uruchomieniu urządzenia.
Zalecenia dotyczące zabezpieczeń usługi Apache Log4j
Aby wyświetlić aktywne rekomendacje dotyczące zabezpieczeń związane z usługą Apache log4j, wybierz kartę Zalecenia dotyczące zabezpieczeń na stronie szczegółów luk w zabezpieczeniach. W tym przykładzie po wybraniu pozycji Aktualizuj dziennik usługi Apache Log4j zostanie wyświetlone kolejne okno wysuwane z większą ilością informacji:
Wybierz pozycję Zażądaj korygowania , aby utworzyć żądanie korygowania.
Eksplorowanie luki w zabezpieczeniach w portalu Microsoft Defender
Po znalezieniu ujawnionych urządzeń, plików i oprogramowania odpowiednie informacje zostaną również przekazane za pośrednictwem następujących środowisk w portalu Microsoft Defender:
Spis oprogramowania
Na stronie spisu oprogramowania wyszukaj ciąg CVE-2021-44228 , aby wyświetlić szczegółowe informacje na temat instalacji oprogramowania Log4j i ekspozycji:
Słabości
Na stronie słabych punktów wyszukaj pozycję CVE-2021-44228 , aby wyświetlić informacje o lukach w zabezpieczeniach programu Log4Shell:
Korzystanie z zaawansowanego wyszukiwania zagrożeń
Aby zidentyfikować luki w zabezpieczeniach zainstalowanego oprogramowania na urządzeniach, można użyć następującego zaawansowanego zapytania dotyczącego wyszukiwania zagrożeń:
DeviceTvmSoftwareVulnerabilities
| where CveId in ("CVE-2021-44228", "CVE-2021-45046")
Aby zidentyfikować luki w zabezpieczeniach zainstalowanego oprogramowania na urządzeniach, można użyć następującego zaawansowanego zapytania wyszukiwania zagrożeń, aby wyświetlić wyniki na poziomie plików z dysku:
DeviceTvmSoftwareEvidenceBeta
| mv-expand DiskPaths
| where DiskPaths contains "log4j"
| project DeviceId, SoftwareName, SoftwareVendor, SoftwareVersion, DiskPaths
Artykuły pokrewne
Opinia
https://aka.ms/ContentUserFeedback.
Już wkrótce: w ciągu 2024 r. będziemy stopniowo usuwać problemy z usługą GitHub jako mechanizm opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla