Informazioni su come gestire la vulnerabilità di Log4Shell in Microsoft Defender per endpoint

Nota

La sezione Gestione vulnerabilità nel portale di Microsoft Defender si trova ora in Gestione dell'esposizione. Con questa modifica è ora possibile utilizzare e gestire i dati di esposizione alla sicurezza e i dati sulle vulnerabilità in una posizione unificata, per migliorare le funzionalità di Gestione vulnerabilità esistenti. Altre informazioni.

Queste modifiche sono rilevanti per i clienti in anteprima (opzione di anteprima Microsoft Defender XDR + Microsoft Defender per identità).

Rilevare e attenuare l'esposizione delle vulnerabilità di Log4Shell

La vulnerabilità Log4Shell è una vulnerabilità di esecuzione remota del codice (RCE) presente nella libreria di registrazione apache Log4j 2. Poiché Apache Log4j 2 è comunemente usato da molte applicazioni software e Servizi online, rappresenta una situazione complessa e ad alto rischio per le aziende di tutto il mondo. Definito "Log4Shell" (CVE-2021-44228, CVE-2021-45046) introduce un nuovo vettore di attacco che gli utenti malintenzionati possono sfruttare per estrarre dati e distribuire ransomware in un'organizzazione. Questo articolo illustra come usare Gestione delle vulnerabilità di Microsoft Defender per individuare i dispositivi esposti, rilevare software e file vulnerabili, applicare mitigazioni e cercare l'esposizione di Log4Shell nell'ambiente in uso.

Nota

Vedere i blog Linee guida per la prevenzione, il rilevamento e la ricerca dello sfruttamento della vulnerabilità Log4j 2 eMicrosoft Security Response Center per indicazioni e informazioni tecniche sulla vulnerabilità e raccomandazioni di mitigazione specifiche del prodotto per proteggere l'organizzazione.

Panoramica delle funzionalità di individuazione, monitoraggio e mitigazione

Gestione delle vulnerabilità di Defender offre le funzionalità seguenti per identificare, monitorare e attenuare l'esposizione dell'organizzazione alla vulnerabilità Log4Shell:

  • Rilevamento: il rilevamento dei dispositivi esposti, sia dei dispositivi sottoposti a onboarding in Microsoft Defender per endpoint sia dei dispositivi individuati ma non ancora sottoposti a onboarding, si basa sul software vulnerabile e sui file vulnerabili rilevati sul disco.
  • Consapevolezza delle minacce: Una visualizzazione consolidata per valutare l'esposizione dell'organizzazione. Questa visualizzazione mostra l'esposizione a livello di dispositivo e software. Fornisce anche l'accesso ai dettagli sui file vulnerabili. Ad esempio, è possibile vedere quando un file è stato visualizzato per l'ultima volta, l'ultima esecuzione e l'ultima esecuzione con porte aperte. Usare queste informazioni per classificare in ordine di priorità le azioni di correzione. I dati esposti dei dispositivi possono impiegare fino a 24 ore per apparire sul cruscotto.
  • Opzioni di mitigazione: Applicare le opzioni di mitigazione per ridurre il rischio di esposizione.
  • Ricerca avanzata: Usare la ricerca avanzata per restituire i dettagli per i file log4j vulnerabili identificati sul disco.

Nota

Queste funzionalità sono supportate in Windows 10 & Windows 11, Windows Server, Linux e macOS.

Il supporto in Linux richiede Microsoft Defender per endpoint Linux versione client 101.52.57 (30.121092.15257.0) o successiva.

Il supporto per macOS richiede Microsoft Defender per endpoint client macOS versione 20.121111.15416.0 o successiva.

Per altre informazioni sulle versioni supportate, vedere Piattaforme e funzionalità dei sistemi operativi supportati.

Individuazione dei dispositivi esposti

Gestione delle vulnerabilità di Defender funzionalità nel portale di Microsoft Defender consentono di individuare i dispositivi esposti alla vulnerabilità di Log4Shell. È anche possibile abilitare il rilevamento log4j per una copertura più ampia.

I dispositivi sottoposti a onboarding vengono valutati usando funzionalità integrate che individuano software e file vulnerabili.

Per i dispositivi rilevati ma non ancora sottoposti a onboarding, è necessario abilitare il rilevamento di Log4j. Il rilevamento Log4j invia sonde allo stesso modo in cui il rilevamento del dispositivo sonda la tua rete. Le probe vengono eseguite sugli endpoint sottoposti a onboarding (dispositivi Windows 10+ e Windows Server 2019+). Eseguono scansioni solo all'interno delle subnet per individuare i dispositivi vulnerabili ed esposti da remoto a CVE-2021-44228.

Per abilitare il rilevamento Log4:

  1. Vai a Impostazioni>Rilevamento dispositivi>Configurazione rilevamento.

  2. Selezionare Abilita rilevamento Log4j2 (CVE-2021-44228).

  3. Seleziona Salva.

Schermata dell'impostazione per abilitare il rilevamento di log4j2.

L'esecuzione di questi probe attiva il flusso Log4j standard senza causare alcun impatto dannoso né sul dispositivo analizzato né su quello che esegue l'analisi. Il probe stesso viene eseguito inviando più richieste HTTP ai dispositivi individuati, indirizzando le porte comuni delle applicazioni Web (ad esempio, 80.8000.8080.443.8443) e gli URL. La richiesta contiene intestazioni HTTP con un payload JNDI che attiva una richiesta DNS dal computer sottoposto a probe.

Ad esempio, User-Agent: ${jndi:dns://192.168.1.3:5353/MDEDiscoveryUser-Agent} dove 192.168.1.3 è l'INDIRIZZO IP del computer di sondaggio.

Nota

L'abilitazione del rilevamento di Log4j2 significa anche che i dispositivi sottoposti a onboarding utilizzeranno l'autoanalisi per rilevare le vulnerabilità locali.

Rilevamento di software e file vulnerabili

Gestione delle vulnerabilità di Defender fornisce livelli di rilevamento che consentono di individuare:

  • Software vulnerabile: l'individuazione si basa sull'applicazione installata Common Platform Enumerations (CPE) che è nota per essere vulnerabile all'esecuzione di codice remoto Log4j.

  • File vulnerabili: Vengono valutati sia i file in memoria che i file nel file system. Questi file possono essere file JAR log4j-core con una versione vulnerabile nota. Possono anche essere un Uber-JAR che contiene una classe di ricerca JNDI vulnerabile o un file log4j-core vulnerabile. Il processo di rilevamento dei file esegue questi controlli:

    • Esamina i file JAR e cerca il file: \META-INF\maven\org.apache.logging.log4j\log4j-core\pom.properties. Se esiste pom.properties, la versione Log4j viene letta ed estratta.
    • Cerca il file JndiLookup.class all'interno del file JAR. Cerca i percorsi che contengono la stringa "/log4j/core/lookup/JndiLookup.class". Se esiste JndiLookup.class, lo strumento verifica se il JAR contiene una versione Log4j definita in pom.properties.
    • Cerca file JAR di Log4j-core vulnerabili all'interno di un file JAR annidato. Cerca i percorsi che contengono una di queste stringhe:
      • lib/log4j-core-
      • WEB-INF/lib/log4j-core-
      • App-INF/lib/log4j-core-

Questa tabella descrive le piattaforme e le versioni supportate dalle funzionalità di ricerca:

Funzionalità Tipo file Windows 10+,
server2019+
Server 2012R2,
server2016
Server 2008R2 Linux e macOS
Cerca nella memoria Log4j-core [1] -
Uber-JARs [1] -
Cercare tutti i file su disco Log4j-core [1] -
Uber-JARs [1] - -

(1) Le funzionalità sono disponibili quando KB5005292 è installato in Windows Server 2012 R2 e 2016.

Informazioni sulle opzioni di esposizione e mitigazione di Log4Shell

Per esaminare l'esposizione di Log4Shell dell'organizzazione e le opzioni di mitigazione disponibili, seguire questa procedura:

  1. Nel portale di Microsoft Defender eseguire una delle operazioni seguenti:

    • Se si è un cliente dell'anteprima Microsoft Defender XDR + Microsoft Defender per identità, selezionare Gestione dell'esposizione>Gestione delle vulnerabilità>Vulnerabilità.
    • Se si è un cliente esistente, selezionare Endpoints>Gestione vulnerabilità>Punti deboli.
  2. Selezionare CVE-2021-44228.

  3. Selezionare Apri pagina vulnerabilità.

Screenshot della pagina della vulnerabilità nel dashboard di gestione delle vulnerabilità.

Prevenzione della vulnerabilità di Log4Shell

Le ricerche Java Naming and Directory Interface (JNDI) sono una funzione Log4j che gli attaccanti possono sfruttare per eseguire codice remoto. La vulnerabilità di Log4Shell può essere mitigata impedendo le ricerche JNDI sulle versioni 2.10 - 2.14.1 di Log4j con configurazioni predefinite. Per creare un'azione di mitigazione che disabilita le ricerche JNDI, dal dashboard di riconoscimento delle minacce:

  1. Selezionare Visualizza i dettagli della vulnerabilità.

  2. Selezionare Opzioni di mitigazione.

È possibile scegliere di applicare la mitigazione a tutti i dispositivi esposti o selezionare dispositivi di onboarding specifici. Per completare il processo e applicare la mitigazione nei dispositivi, selezionare Crea azione di mitigazione.

Screenshot delle opzioni di mitigazione per CVE-2021-44228.

Stato della mitigazione

Lo stato della mitigazione indica se la mitigazione per disabilitare le ricerche JNDI (descritta nella sezione precedente) è stata applicata al dispositivo. È possibile visualizzare lo stato di mitigazione per ogni dispositivo interessato nelle schede Dispositivi esposti. Esaminare lo stato della mitigazione può aiutare a dare priorità alla mitigazione e alle patch dei dispositivi.

Schermata dei possibili stati di mitigazione.

Nella tabella seguente sono elencati i potenziali stati di mitigazione:

Stato della mitigazione Descrizione
Soluzione alternativa applicata Windows: la variabile di ambiente LOG4J_FORMAT_MSG_NO_LOOKUPS è stata osservata prima del riavvio più recente del dispositivo.

Linux + macOS: tutti i processi in esecuzione hanno LOG4J_FORMAT_MSG_NO_LOOKUPS=true nelle variabili di ambiente.
Soluzione alternativa fino al riavvio La variabile di ambiente LOG4J_FORMAT_MSG_NO_LOOKUPS è impostata, ma non è stato rilevato alcun riavvio successivo.
Non applicato Windows: la variabile di ambiente LOG4J_FORMAT_MSG_NO_LOOKUPS non è stata osservata.

Linux e macOS: non tutti i processi in esecuzione hanno LOG4J_FORMAT_MSG_NO_LOOKUPS=true nelle variabili di ambiente e l'azione di mitigazione non è stata applicata nel dispositivo.
Parzialmente mitigato Linux + macOS: sebbene l'azione di mitigazione sia stata applicata nel dispositivo, non tutti i processi in esecuzione hanno LOG4J_FORMAT_MSG_NO_LOOKUPS=true nelle variabili di ambiente.
Non applicabile Dispositivi con file vulnerabili che non sono inclusi nell'intervallo di versioni della mitigazione.
Sconosciuto Non è stato possibile determinare lo stato di mitigazione in questo momento.

Nota

Potrebbero essere necessarie alcune ore prima che lo stato di mitigazione aggiornato di un dispositivo venga visualizzato.

Ripristinare le mitigazioni applicate per la vulnerabilità Log4Shell

Nei casi in cui è necessario ripristinare la mitigazione, seguire questa procedura:

Per Windows:

  1. Aprire una finestra di PowerShell con privilegi elevati.

  2. Eseguire il comando seguente per rimuovere la variabile d'ambiente della macchina LOG4J_FORMAT_MSG_NO_LOOKUPS e riattivare le ricerche JNDI:

    [Environment]::SetEnvironmentVariable("LOG4J\_FORMAT\_MSG\_NO\_LOOKUPS", $null,[EnvironmentVariableTarget]::Machine)
    

La modifica avrà effetto dopo il riavvio del dispositivo.

Per Linux:

  1. Aprire il file /etc/environment ed eliminare la riga LOG4J_FORMAT_MSG_NO_LOOKUPS=true

  2. Eliminare il file /etc/systemd/system.conf.d/log4j_disable_jndi_lookups.conf

  3. Eliminare il file /etc/systemd/user.conf.d/log4j_disable_jndi_lookups.conf

La modifica avrà effetto dopo il riavvio del dispositivo.

Per macOS:

Rimuovere il file setenv. LOG4J_FORMAT_MSG_NO_LOOKUPS.plist dalle cartelle seguenti:

  • /Library/LaunchDaemons/
  • /Library/LaunchAgents/
  • /Users/[username]/Library/LaunchAgents/ - per tutti gli utenti

La modifica avrà effetto dopo il riavvio del dispositivo.

Raccomandazioni sulla sicurezza di Apache Log4j

Per visualizzare le raccomandazioni sulla sicurezza attiva correlate ad Apache log4j, selezionare la scheda Consigli di sicurezza nella pagina dei dettagli della vulnerabilità. Se si seleziona Aggiorna Apache Log4j, viene aperto un riquadro a comparsa con altre informazioni:

Schermata della raccomandazione di sicurezza aggiornata per Apache Log4j.

Selezionare Richiedi correzione per creare una richiesta di correzione.

Esplorare la vulnerabilità nel portale di Microsoft Defender

Una volta trovati dispositivi, file e software esposti, le informazioni rilevanti vengono trasmesse attraverso le esperienze seguenti nel portale di Microsoft Defender:

Esaminare i risultati di Log4Shell nell'inventario software

Nella pagina di inventario software cercare CVE-2021-44228 per visualizzare i dettagli sulle installazioni e l'esposizione del software Log4j:

Schermata della vulnerabilità log4j nella pagina dell'inventario del software.

Esaminare i risultati di Log4Shell nella pagina Vulnerabilità

Nella pagina Vulnerabilità o punti deboli cercare CVE-2021-44228 per visualizzare informazioni sulla vulnerabilità Log4Shell:

Schermata della vulnerabilità log4j nella pagina delle vulnerabilità.

Usare la ricerca avanzata

Query di ricerca avanzate per Log4Shell

La ricerca avanzata consente di eseguire query relative ai problemi di Log4j tra i tuoi dispositivi. Usare gli esempi seguenti per iniziare.

La seguente query identifica i dispositivi con software influenzati dai CVE Log4j (CVE-2021-44228 e CVE-2021-45046):

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

La seguente query cerca prove software e percorsi disco per trovare file correlati a Log4j su ciascun dispositivo:

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

Per altre informazioni, vedere gli articoli seguenti: