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:

  1. Przejdź do pozycji UstawieniaKonfiguracja odnajdywania>>urządzeń.
  2. Wybierz pozycję Włącz wykrywanie log4j2 (CVE-2021-44228).
  3. Wybierz Zapisz.

Zrzut ekranu przedstawiający ustawienie włączania wykrywania log4j2.

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

  1. W portalu Microsoft Defender przejdź do obszaruLuki w zabezpieczeniach dotyczące słabych punktówzarządzania lukami> w zabezpieczeniach.
  2. Wybierz pozycję CVE-2021-44228.
  3. Wybierz pozycję Otwórz stronę luki w zabezpieczeniach.

Zrzut ekranu przedstawiający stronę luk w zabezpieczeniach na pulpicie nawigacyjnym zarządzania lukami 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ń:

  1. Wybierz pozycję Wyświetl szczegóły luki w zabezpieczeniach.
  2. 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.

Zrzut ekranu przedstawiający opcje ograniczania ryzyka dla CVE-2021-44228.

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.

Zrzut ekranu przedstawiający możliwe stany 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:

  1. Otwórz okno programu PowerShell z podwyższonym poziomem uprawnień.
  2. 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:

  1. Otwórz plik /etc/environment i usuń wiersz LOG4J_FORMAT_MSG_NO_LOOKUPS=true
  2. Usuń plik /etc/systemd/system.conf.d/log4j_disable_jndi_lookups.conf
  3. 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:

Zrzut ekranu przedstawiający rekomendację dotyczącą zabezpieczeń usługi apache log4j aktualizacji.

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:

Zrzut ekranu przedstawiający lukę w zabezpieczeniach log4j na stronie spisu oprogramowania.

Słabości

Na stronie słabych punktów wyszukaj pozycję CVE-2021-44228 , aby wyświetlić informacje o lukach w zabezpieczeniach programu Log4Shell:

Zrzut ekranu przedstawiający lukę w zabezpieczeniach log4j na stronie słabych punktów.

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