Eseguire Microsoft Defender Antivirus in una sandbox
Si applica a:
- Microsoft Defender XDR
- Microsoft Defender per endpoint Piano 2
- Microsoft Defender for Business
- Microsoft Defender per endpoint Piano 1
- Antivirus Microsoft Defender
Piattaforme:
- Windows
Si desidera provare Microsoft Defender per endpoint? iscriversi a una versione di valutazione gratuita.
Questo articolo descrive come eseguire Microsoft Defender Antivirus in un ambiente sandbox per una protezione avanzata dalle manomissioni.
Microsoft Defender Antivirus con le sue funzionalità antivirus predefinite può essere eseguito all'interno di una sandbox in Windows a partire dal 26 ottobre 2018. È stata la prima soluzione antivirus completa ad avere questa funzionalità e continua a guidare il settore nell'alzare l'asticella per la sicurezza.
Prima di iniziare, è necessario soddisfare i requisiti seguenti:
- Microsoft Defender Antivirus (modalità attiva)
- Windows 11 o Windows 10 versione 1703 o successiva
- Windows Server 2022 o Windows Server 2019 o Windows Server 2016 o versioni successive
I ricercatori di sicurezza, sia all'interno che all'esterno di Microsoft, hanno identificato in precedenza modi in cui un utente malintenzionato può sfruttare le vulnerabilità nei parser di contenuto di Microsoft Defender Antivirus che potrebbero abilitare l'esecuzione arbitraria del codice. Per controllare la presenza di contenuti e artefatti dannosi nell'intero sistema, l'antivirus viene eseguito con privilegi elevati (sistema locale, NT Authority\SYSTEM), rendendolo una destinazione per gli attacchi.
Mentre l'escalation dei privilegi da una sandbox è molto difficile nelle versioni più recenti di Windows 10 o versioni successive e, l'esecuzione di Microsoft Defender Antivirus in una sandbox garantisce che nell'improbabile caso di compromissione, le azioni dannose siano limitate all'ambiente isolato, proteggendo il resto del sistema da danni. Questo fa parte del continuo investimento di Microsoft per rimanere al passo con gli utenti malintenzionati attraverso innovazioni per la sicurezza.
I prodotti antimalware moderni esaminano molti input, ad esempio file su disco, flussi di dati in memoria ed eventi comportamentali in tempo reale. Molte di queste funzionalità richiedono l'accesso completo alle risorse in questione. Il primo grande sforzo di sandboxing è stato correlato alla sovrapposizione delle funzionalità di ispezione di Microsoft Defender Antivirus nei componenti che devono assolutamente essere eseguiti con privilegi completi e i componenti che possono essere sandbox. L'obiettivo per i componenti in modalità sandbox era garantire che comprendessero le funzionalità a rischio più elevato, ad esempio l'analisi di input non attendibile, l'espansione di contenitori e così via. Allo stesso tempo, è stato necessario ridurre al minimo il numero di interazioni tra i due livelli per evitare un costo significativo per le prestazioni.
L'utilizzo delle risorse è anche un altro problema che richiede investimenti significativi, sia il processo con privilegi che il processo sandbox devono avere accesso agli aggiornamenti di Security Intelligence, ad altri rilevamenti e ai metadati di correzione. Per evitare la duplicazione e mantenere garanzie di sicurezza complesse che consentono di evitare modi non sicuri per condividere lo stato o introdurre costi di runtime significativi per il passaggio di dati/contenuto tra i processi, viene usato un modello in cui la maggior parte dei dati di protezione è ospitata in file mappati alla memoria di sola lettura in fase di esecuzione. Ciò significa che i dati di protezione possono essere ospitati in più processi senza alcun sovraccarico.
È possibile seguire questa procedura per abilitare il sandboxing impostando una variabile di ambiente a livello di computer:
Eseguire il comando seguente come amministratore in PowerShell o CMD:
setx /M MP_FORCE_USE_SANDBOX 1
Riavviare il dispositivo. Dopo il riavvio, verrà visualizzato un nuovo processo oltre a MsMpEng.exe nelle
MsMpEngCP.exe
cartelle seguenti:Percorso Processo Descrizione C:\ProgramData\Microsoft\Windows Defender\Scans MsMpEngCP.exe Processo di contenuto eseguibile del servizio antimalware C:\Users\All Users\Microsoft\Windows Defender\Scans MsMpEngCP.exe Processo di contenuto eseguibile del servizio antimalware Nota
CP in
MsMpEngCP.exe
è il processo di contenuto.
Per disabilitare la sandboxing per Microsoft Defender Antivirus, eseguire il comando seguente come amministratore in PowerShell o CMD:
setx /M MP_FORCE_USE_SANDBOX 0
Microsoft Defender Antivirus esegue un fallback in-proc che ospita l'analisi del contenuto nel processo con privilegi/padre per fornire protezione.
I processi di contenuto, eseguiti con privilegi bassi, usano anche in modo aggressivo tutti i criteri di mitigazione disponibili per ridurre l'attacco di superficie. Abilitano e impediscono le modifiche di runtime per le moderne tecniche di mitigazione degli exploit, ad esempio prevenzione dell'esecuzione dei dati (DEP), randomizzazione del layout dello spazio degli indirizzi (ASLR) e Control Flow Guard (CFG). Disabilitano anche le chiamate di sistema Win32K e tutti i punti di estendibilità, nonché applicano il caricamento solo di codice firmato e attendibile.
Prestazioni di MDAV con sandbox abilitato
Le prestazioni sono spesso la preoccupazione principale per il sandboxing, soprattutto perché i prodotti antimalware si trovano in molti percorsi critici, ad esempio l'ispezione sincrona delle operazioni sui file e l'elaborazione e l'aggregazione o la corrispondenza di un numero elevato di eventi di runtime. Per garantire che le prestazioni non diminuiscano, è stato necessario ridurre al minimo il numero di interazioni tra la sandbox e il processo con privilegi. Allo stesso tempo, eseguire queste interazioni solo nei momenti chiave in cui il costo non sarebbe significativo, ad esempio durante l'esecuzione dell'I/O.
Microsoft Defender Antivirus fa uno sforzo orchestrato per evitare operazioni di I/O non necessarie, ad esempio, ridurre al minimo la quantità di dati letti per ogni file ispezionato è fondamentale per mantenere buone prestazioni, soprattutto su hardware meno recente (disco rotazionale, risorse remote). Pertanto, è stato fondamentale mantenere un modello in cui la sandbox può richiedere i dati per l'ispezione in base alle esigenze, invece di passare l'intero contenuto.
Affidabilità di MDAV con sandbox abilitato
Nota
Il passaggio di handle alla sandbox (per evitare il costo del passaggio del contenuto effettivo) non è un'opzione perché esistono molti scenari, ad esempio l'ispezione in tempo reale, AMSI e così via, in cui non esiste un handle "condivisibile" che può essere usato dalla sandbox senza concedere privilegi significativi, il che riduce la sicurezza.
Un'altra preoccupazione significativa per il sandboxing è legata al meccanismo di comunicazione tra processi per evitare potenziali problemi come deadlock e inversioni di priorità. La comunicazione non deve introdurre potenziali colli di bottiglia, limitando il chiamante o limitando il numero di richieste simultanee che possono essere elaborate. Inoltre, il processo sandbox non deve attivare le operazioni di ispezione da solo. Tutte le ispezioni devono avvenire senza attivare più scansioni. Ciò richiede il controllo completo delle funzionalità della sandbox e la garanzia che non sia possibile attivare operazioni impreviste. Gli AppContainer con privilegi limitati sono il modo perfetto per implementare garanzie solide perché il modello basato sulle funzionalità consentirà un controllo granulare per specificare le operazioni che il processo sandbox può eseguire.
Correzione di MDAV con sandbox abilitato
Infine, una sfida significativa dal punto di vista della sicurezza è correlata alla correzione o alla disinfezione del contenuto. Data la natura sensibile dell'azione (tentativi di ripristinare un file binario al contenuto di preinfezione originale), è necessario assicurarsi che ciò avvenga con privilegi elevati per attenuare i casi in cui il processo di contenuto (sandbox) potrebbe essere compromesso e la disinfezione potrebbe essere usata per modificare il file binario rilevato in modi imprevisti.
Cosa fare durante la risoluzione dei problemi del processo di MsMpEng.CP.exe, se viene avviato e arrestato dopo alcuni minuti?
Raccogliere i log di diagnostica del supporto e tutte le informazioni relative a dump/arresto anomalo se sono associati eventi di Segnalazione errori Windows (WER) nel momento in cui il processo si arresta.