Lär dig hur du hanterar Log4Shell-säkerhetsrisken i Microsoft Defender för Endpoint

Log4Shell-sårbarheten är en sårbarhet för fjärrkörning av kod (RCE) som finns i Apache Log4j 2-loggningsbiblioteket. Eftersom Apache Log4j 2 ofta används av många program och onlinetjänster representerar det en komplex och högrisksituation för företag över hela världen. Kallas "Log4Shell" (CVE-2021-44228, CVE-2021-45046) och introducerar en ny attackvektor som angripare kan utnyttja för att extrahera data och distribuera utpressningstrojaner i en organisation.

Obs!

I bloggarna Vägledning för att förhindra, identifiera och jaga efter exploatering av Log4j 2-säkerhetsrisken ochMicrosoft Security Response Center finns vägledning och teknisk information om sårbarhets- och produktspecifika rekommendationer för att skydda din organisation.

Översikt över identifierings-, övervaknings- och åtgärdsfunktioner

Säkerhetsriskhantering i Defender ger dig följande funktioner som hjälper dig att identifiera, övervaka och minska organisationens exponering för Log4Shell-säkerhetsrisken:

  • Identifiering: Identifiering av exponerade enheter, både Microsoft Defender för Endpoint registrerade enheter och enheter som har identifierats men ännu inte har registrerats, baseras på sårbar programvara och sårbara filer som identifierats på disken.
  • Hotmedvetenhet: En konsoliderad vy för att utvärdera organisationens exponering. Den här vyn visar din exponering på enhetsnivå och programvarunivå och ger åtkomst till information om sårbara filer, till exempel senaste gången den visades, den senaste gången den kördes och den senaste gången den kördes med öppna portar. Du kan använda den här informationen för att prioritera dina reparationsåtgärder. Det kan ta upp till 24 timmar innan data relaterade till exponerade enheter visas på instrumentpanelen.
  • Åtgärdsalternativ: Använd riskreduceringsalternativ för att minska exponeringsrisken.
  • Avancerad jakt: Använd avancerad jakt för att returnera information om sårbara log4j-filer som identifierats på disken.

Obs!

Dessa funktioner stöds på Windows 10 & Windows 11, Windows Server, Linux och macOS.

Stöd för Linux kräver Microsoft Defender för Endpoint Linux-klientversion 101.52.57 (30.121092.15257.0) eller senare.

Stöd för macOS kräver Microsoft Defender för Endpoint macOS-klientversion 20.121111.15416.0 eller senare.

Mer information om versioner som stöds finns i Plattformar och funktioner för operativsystem som stöds.

Identifiering av exponerade enheter

Inbäddade defender-funktioner för sårbarhetshantering, tillsammans med aktivering av Log4j-identifiering, i Microsoft Defender-portalen, hjälper dig att identifiera enheter som exponeras för Log4Shell-sårbarheten.

Registrerade enheter utvärderas med hjälp av befintliga inbäddade Defender Vulnerability Management-funktioner som kan identifiera sårbar programvara och filer.

För identifiering på identifierade men ännu inte registrerade enheter måste Log4j-identifiering vara aktiverat. Detta initierar avsökningar på samma sätt som enhetsidentifiering aktivt avsöker nätverket. Detta inkluderar avsökning från flera registrerade slutpunkter (Windows 10+ och Windows Server 2019+-enheter) och endast avsökning i undernät, för att identifiera enheter som är sårbara och fjärrexponerade för CVE-2021-44228.

Så här aktiverar du Log4-identifiering:

  1. Gå till Inställningar> Installationav identifiering av enhetsidentifiering>.
  2. Välj Aktivera Log4j2-identifiering (CVE-2021-44228).
  3. Välj Spara.

Skärmbild av inställningen för att aktivera log4j2-identifiering.

Om du kör dessa avsökningar utlöses Standard Log4j-flödet utan att orsaka någon skadlig inverkan på enheten som avsöks eller avsökningsenheten. Själva avsökningen görs genom att skicka flera HTTP-begäranden till identifierade enheter, riktade mot vanliga webbprogramportar (till exempel 80 8000 8080 443 8443) och URL:er. Begäran innehåller HTTP-huvuden med en JNDI-nyttolast som utlöser en DNS-begäran från den avsökningsdatorn.

Till exempel User-Agent: ${jndi:dns://192.168.1.3:5353/MDEDiscoveryUser-Agent} där 192.168.1.3 är IP-adressen för avsökningsdatorn.

Obs!

Om du aktiverar Log4j2-identifiering innebär det också att registrerade enheter använder självavsökning för att identifiera lokala säkerhetsrisker.

Sårbar program- och filidentifiering

Defender Vulnerability Management tillhandahåller identifieringslager som hjälper dig att identifiera:

  • Sårbar programvara: Identifiering baseras på installerat program Common Platform Enumerations (CPE) som är kända för att vara sårbara för Log4j fjärrkodkörning.

  • Sårbara filer: Både filer i minnet och filer i filsystemet utvärderas. Dessa filer kan vara Log4j-core jar-filer med den kända sårbara versionen eller en Uber-JAR som innehåller antingen en sårbar jndi-uppslagsklass eller en sårbar log4j-core-fil. Mer specifikt:

    • avgör om en JAR-fil innehåller en sårbar Log4j-fil genom att undersöka JAR-filer och söka efter följande fil: \META-INF\maven\org.apache.logging.log4j\log4j-core\pom.properties – om den här filen finns läs- och extraheras Log4j-versionen.
    • söker efter JndiLookup.class-filen i JAR-filen genom att leta efter sökvägar som innehåller strängen "/log4j/core/lookup/JndiLookup.class" – om filen JndiLookup.class finns avgör Defender Vulnerability Management om den här JAR-filen innehåller en Log4j-fil med den version som definierats i pom.properties.
    • söker efter sårbara Log4j-core JAR-filer inbäddade i en kapslad JAR genom att söka efter sökvägar som innehåller någon av dessa strängar:
      • lib/log4j-core-
      • WEB-INF/lib/log4j-core-
      • App-INF/lib/log4j-core-

I den här tabellen beskrivs de sökfunktioner som stöds av plattformar och versioner:

Funktion Filtyp Windows10+,
server2019+
Server 2012R2,
server2016
Server 2008R2 Linux + macOS
Search In minne Log4j-core Ja Ja[1] - Ja
Uber-JARs Ja Ja[1] - Ja
Search alla filer på disken Log4j-core Ja Ja[1] Ja -
Uber-JARs Ja Ja[1] - -

(1) Funktioner är tillgängliga när KB5005292 installeras på Windows Server 2012 R2 och 2016.

Lär dig mer om dina exponerings- och riskreduceringsalternativ för Log4Shell

  1. I Microsoft Defender-portalen går du till Sårbarhetshantering>Svagheter.
  2. Välj CVE-2021-44228.
  3. Välj Öppna sårbarhetssida.

Skärmbild av sårbarhetssidan på instrumentpanelen för sårbarhetshantering.

Log4Shell-sårbarhetsreducering

Log4Shell-säkerhetsrisken kan åtgärdas genom att förhindra JNDI-sökningar i Log4j-versionerna 2.10–2.14.1 med standardkonfigurationer. Skapa den här åtgärdsåtgärden från instrumentpanelen för hotmedvetenhet:

  1. Välj Visa sårbarhetsinformation.
  2. Välj Åtgärdsalternativ.

Du kan välja att tillämpa åtgärden på alla exponerade enheter eller välja specifika registrerade enheter. Om du vill slutföra processen och tillämpa begränsningen på enheter väljer du Skapa åtgärd.

Skärmbild av åtgärdsalternativ för CVE-2021-44228.

Åtgärdsstatus

Åtgärdsstatusen anger om lösningen för att inaktivera JDNI-sökningar har tillämpats på enheten. Du kan visa åtgärdsstatusen för varje berörd enhet på flikarna Exponerade enheter. Detta kan hjälpa dig att prioritera åtgärder och/eller korrigeringar av enheter baserat på deras åtgärdsstatus.

Skärmbild av möjliga åtgärdsstatusar.

I tabellen nedan visas de potentiella riskreduceringsstatusarna:

Åtgärdsstatus Beskrivning
Lösning tillämpad Windows: Miljövariabeln LOG4J_FORMAT_MSG_NO_LOOKUPS observerades före den senaste omstarten av enheten.

Linux + macOS: Alla processer som körs har LOG4J_FORMAT_MSG_NO_LOOKUPS= true i dess miljövariabler.
Lösning väntar på omstart Miljövariabeln LOG4J_FORMAT_MSG_NO_LOOKUPS har angetts, men ingen efter omstart har identifierats.
Tillämpas inte Windows: Miljövariabeln LOG4J_FORMAT_MSG_NO_LOOKUPS observerades inte.

Linux + macOS: Alla processer som körs har inte LOG4J_FORMAT_MSG_NO_LOOKUPS= sant i dess miljövariabler och åtgärdsåtgärden tillämpades inte på enheten.
Delvis åtgärdad Linux + macOS: Även om åtgärdsåtgärden tillämpades på enheten har inte alla processer som körs LOG4J_FORMAT_MSG_NO_LOOKUPS=true i dess miljövariabler.
Ej tillämpligt Enheter som har sårbara filer som inte finns i versionsintervallet för åtgärden.
Okänd Det gick inte att fastställa åtgärdsstatusen just nu.

Obs!

Det kan ta några timmar innan den uppdaterade åtgärdsstatusen för en enhet återspeglas.

Återställa åtgärder som tillämpas för Log4Shell-säkerhetsrisken

I de fall då åtgärden måste återställas följer du dessa steg:

För Windows:

  1. Öppna ett upphöjt PowerShell-fönster.
  2. Kör följande kommando:
  [Environment]::SetEnvironmentVariable("LOG4J\_FORMAT\_MSG\_NO\_LOOKUPS", $null,[EnvironmentVariableTarget]::Machine)

Ändringen börjar gälla när enheten har startats om.

För Linux:

  1. Öppna filen /etc/environment och ta bort raden LOG4J_FORMAT_MSG_NO_LOOKUPS=true
  2. Ta bort filen /etc/systemd/system.conf.d/log4j_disable_jndi_lookups.conf
  3. Ta bort filen /etc/systemd/user.conf.d/log4j_disable_jndi_lookups.conf

Ändringen börjar gälla när enheten har startats om.

För macOS:

Ta bort filuppsättningen. LOG4J_FORMAT_MSG_NO_LOOKUPS.plist från följande mappar:

  • /Library/LaunchDaemons/
  • /Library/LaunchAgents/
  • /Users/[username]/Library/LaunchAgents/ – för alla användare

Ändringen börjar gälla när enheten har startats om.

Säkerhetsrekommendationer för Apache Log4j

Om du vill se en aktiv säkerhetsrekommendering relaterad till Apache log4j väljer du fliken Säkerhetsrekommendationer på sidan med information om säkerhetsrisker. Om du i det här exemplet väljer Uppdatera Apache Log4j visas en annan utfälld meny med mer information:

Skärmbild av uppdatering av säkerhetsrekommendering för Apache Log4j.

Välj Begär reparation för att skapa en reparationsbegäran.

Utforska säkerhetsrisken i Microsoft Defender-portalen

När exponerade enheter, filer och programvara hittas kommer relevant information också att förmedlas via följande upplevelser i Microsoft Defender-portalen:

Programvaruinventering

På sidan för programvaruinventering söker du efter CVE-2021-44228 för att se information om Log4j-programvaruinstallationer och exponering:

Skärmbild av log4j-sårbarhet på sidan för programvaruinventering.

Svagheter

På sidan svagheter söker du efter CVE-2021-44228 för att se information om Log4Shell-sårbarheten:

Skärmbild av log4j-säkerhetsrisken på sidan med svagheter.

Använda avancerad jakt

Du kan använda följande avancerade jaktfråga för att identifiera sårbarheter i installerad programvara på enheter:

   DeviceTvmSoftwareVulnerabilities
   | where CveId in ("CVE-2021-44228", "CVE-2021-45046")

Du kan använda följande avancerade jaktfråga för att identifiera sårbarheter i installerad programvara på enheter för att visa resultat på filnivå från disken:

   DeviceTvmSoftwareEvidenceBeta
   | mv-expand DiskPaths
   | where DiskPaths contains "log4j"
   | project DeviceId, SoftwareName, SoftwareVendor, SoftwareVersion, DiskPaths