Condividi tramite


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

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.

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

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

  • Individuazione: il rilevamento dei dispositivi esposti, sia Microsoft Defender per endpoint i dispositivi di cui è stato eseguito l'onboarding, sia quelli individuati ma non ancora caricati, si basa su software vulnerabile e su file vulnerabili rilevati su disco.
  • Consapevolezza delle minacce: Una visualizzazione consolidata per valutare l'esposizione dell'organizzazione. Questa visualizzazione mostra l'esposizione a livello di dispositivo e software e fornisce l'accesso ai dettagli sui file vulnerabili, ad esempio l'ultima volta che è stato visualizzato, l'ultima volta che è stato eseguito e l'ultima volta che è stato eseguito con porte aperte. È possibile usare queste informazioni per assegnare priorità alle azioni di correzione. La visualizzazione dei dati correlati ai dispositivi esposti nel dashboard può richiedere fino a 24 ore.
  • 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 client Linux versione 101.52.57 (30.121092.15257.0) o versione successiva.

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

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

Individuazione dei dispositivi esposti

Le funzionalità di gestione delle vulnerabilità di Defender incorporate, insieme all'abilitazione del rilevamento Log4j, nel portale di Microsoft Defender consentono di individuare i dispositivi esposti alla vulnerabilità Log4Shell.

I dispositivi caricati vengono valutati usando le funzionalità di gestione delle vulnerabilità di Defender incorporate esistenti in grado di individuare software e file vulnerabili.

Per il rilevamento nei dispositivi individuati ma non ancora caricati, è necessario abilitare il rilevamento Log4j. In questo modo i probe verranno avviati nello stesso modo in cui l'individuazione del dispositivo esegue attivamente il probe della rete. Ciò include il probe da più endpoint caricati (dispositivi Windows 10+ e Windows Server 2019+ ) e solo il probe all'interno di subnet, per rilevare i dispositivi vulnerabili ed esposti in remoto a CVE-2021-44228.

Per abilitare il rilevamento Log4:

  1. Passare a Impostazioni Configurazione>individuazione>dispositivi.
  2. Selezionare Abilita rilevamento Log4j2 (CVE-2021-44228).
  3. Seleziona Salva.

Screenshot dell'impostazione per abilitare il rilevamento log4j2.

L'esecuzione di questi probe attiverà il flusso Log4j standard senza causare alcun impatto dannoso sul dispositivo sottoposto a probe o sul dispositivo di sondaggio. 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 Log4j2 significa anche che i dispositivi caricati useranno il probe automatico per rilevare le vulnerabilità locali.

Rilevamento di software e file vulnerabili

Gestione vulnerabilità di Defender offre 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 la versione vulnerabile nota o uber-JAR che contiene una classe di ricerca jndi vulnerabile o un file log4j-core vulnerabile. In particolare, si tratta di:

    • determina se un file JAR contiene un file Log4j vulnerabile esaminando i file JAR e cercando il file seguente: \META-INF\maven\org.apache.logging.log4j\log4j-core\pom.properties. Se il file esiste, la versione di Log4j viene letta ed estratta.
    • cerca il file JndiLookup.class all'interno del file JAR cercando i percorsi che contengono la stringa "/log4j/core/lookup/JndiLookup.class". Se il file JndiLookup.class esiste, Defender Vulnerability Management determina se questo file JAR contiene un file Log4j con la versione definita in pom.properties.
    • cerca tutti i file JAR log4j-core vulnerabili incorporati all'interno di un file JAR annidato cercando 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 Windows10+,
server2019+
Server 2012R2,
server2016
Server 2008R2 Linux + macOS
Memoria Cerca in Log4j-core [1] -
Uber-JARs [1] -
Search 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

  1. Nel portale di Microsoft Defender passare a Vulnerabilità di gestione>delle vulnerabilità.
  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

La vulnerabilità log4Shell può essere attenuata impedendo ricerche JNDI in Log4j versioni 2.10 - 2.14.1 con configurazioni predefinite. Per creare questa azione di mitigazione, dal dashboard informazioni sulle 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 Create azione di mitigazione.

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

Stato mitigazione

Lo stato di mitigazione indica se la mitigazione della soluzione alternativa per disabilitare le ricerche JDNI è stata applicata al dispositivo. È possibile visualizzare lo stato di mitigazione per ogni dispositivo interessato nelle schede Dispositivi esposti. In questo modo è possibile assegnare priorità alla mitigazione e/o all'applicazione di patch ai dispositivi in base allo stato di mitigazione.

Screenshot di Possibili stati di mitigazione.

La tabella seguente elenca i potenziali stati di mitigazione:

Stato 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 in sospeso per il 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 supportato Dispositivi con file vulnerabili che non sono inclusi nell'intervallo di versioni della mitigazione.
Unknown Non è stato possibile determinare lo stato di mitigazione in questo momento.

Nota

Il riflesso dello stato di mitigazione aggiornato di un dispositivo potrebbe richiedere alcune ore.

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:
  [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à. In questo esempio, se si seleziona Aggiorna Apache Log4j , verrà visualizzato un altro riquadro a comparsa con altre informazioni:

Screenshot dell'aggiornamento della raccomandazione per la sicurezza apache log4j.

Selezionare Richiedi correzione per creare una richiesta di correzione.

Esplorare la vulnerabilità nel portale di Microsoft Defender

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

Inventario software

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

Screenshot della vulnerabilità log4j nella pagina dell'inventario software.

Debolezze

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

Screenshot della vulnerabilità log4j nella pagina dei punti deboli.

Usare la ricerca avanzata

È possibile usare la query di ricerca avanzata seguente per identificare le vulnerabilità nel software installato nei dispositivi:

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

È possibile usare la query di ricerca avanzata seguente per identificare le vulnerabilità nel software installato nei dispositivi per visualizzare i risultati a livello di file dal disco:

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