Registro delle modifiche
| Data | Descrizione della modifica |
|---|---|
| 27 ottobre 2023 | Aggiunti riferimenti alla mitigazione B |
| Luglio 17, 2023 | Aggiunta di informazioni su MMIO |
Riepilogo
Microsoft è a conoscenza di nuove varianti della classe di attacchi nota come vulnerabilità del canale laterale dell'esecuzione speculativa. Le varianti sono denominate L1 Terminal Fault (L1TF) e Microarchitectural Data Sampling (MDS). Un utente malintenzionato in grado di sfruttare con successo L1TF o MDS potrebbe essere in grado di leggere i dati privilegiati oltre i limiti di trust.
AGGIORNATO IL 14 MAGGIO 2019: Il 14 maggio 2019, Intel ha pubblicato informazioni su una nuova sottoclasse di vulnerabilità del canale laterale dell'esecuzione speculativa note come campionamento dei dati microarchitetturali. A loro sono stati assegnati i seguenti CVE:
- CVE-2018-11091 | MDSUM (Microarchitectural Data Sampling Uncacheable Memory)
- CVE-2018-12126 | Campionamento dei dati del buffer dell'archivio microarchitettonico (MSBDS)
- CVE-2018-12127 | Campionamento dei dati del buffer di riempimento microarchitettonico (MFBDS)
- CVE-2018-12130 | Campionamento dei dati della porta di caricamento microarchitettonico (MLPDS)
AGGIORNATO IL 12 NOVEMBRE 2019: Il 12 novembre 2019, Intel ha pubblicato un avviso tecnico sulla vulnerabilità di interruzione asincrona delle transazioni Intel® Transactional Synchronization Extensions (Intel® TSX) a cui è assegnato CVE-2019-11135. Microsoft ha rilasciato aggiornamenti per mitigare questa vulnerabilità. Si noti quanto segue:
- Per impostazione predefinita, le protezioni del sistema operativo sono abilitate per alcune edizioni del sistema operativo di Windows Server. Per ulteriori informazioni , vedere l'articolo della Microsoft Knowledge Base 4072698.
- Per impostazione predefinita, le protezioni del sistema operativo sono abilitate per tutte le edizioni del sistema operativo client Windows. Per ulteriori informazioni , vedere l'articolo della Microsoft Knowledge Base 4073119.
Panoramica delle vulnerabilità
Negli ambienti in cui le risorse sono condivise, come gli host di virtualizzazione, un utente malintenzionato in grado di eseguire codice arbitrario su una macchina virtuale può essere in grado di accedere alle informazioni da un'altra macchina virtuale o dall'host di virtualizzazione stesso.
Anche i carichi di lavoro server, ad esempio Servizi Desktop remoto di Windows Server, e ruoli più dedicati come i controller di dominio di Active Directory, sono a rischio. Gli utenti malintenzionati in grado di eseguire codice arbitrario (indipendentemente dal livello di privilegio) possono essere in grado di accedere ai segreti del sistema operativo o del carico di lavoro, ad esempio chiavi di crittografia, password e altri dati sensibili.
Anche i sistemi operativi dei client Windows sono a rischio, soprattutto se eseguono codice non attendibile, sfruttano le funzionalità di sicurezza basata su virtualizzazione come Windows Defender Credential Guard o usano Hyper-V per eseguire macchine virtuali.
Nota: Queste vulnerabilità interessano solo i processori Intel Core e Intel Xeon.
Panoramica sulla mitigazione
Per risolvere questi problemi, Microsoft sta collaborando con Intel per sviluppare mitigazioni software e linee guida. Sono stati rilasciati aggiornamenti software per mitigare le vulnerabilità. Per ottenere tutte le protezioni disponibili, potrebbero essere necessari aggiornamenti che potrebbero includere anche microcodice da parte degli OEM dei dispositivi.
Questo articolo descrive come mitigare le vulnerabilità seguenti:
- CVE-2018-3620 | Guasto terminale L1 – OS, SMM
- CVE-2018-3646 | Guasto terminale L1 – VMM
- CVE-2018-11091 | MDSUM (Microarchitectural Data Sampling Uncacheable Memory)
- CVE-2018-12126 | Campionamento dei dati del buffer dell'archivio microarchitettonico (MSBDS)
- CVE-2018-12127 | Campionamento dei dati della porta di caricamento microarchitettonico (MLPDS)
- CVE-2018-12130 | Campionamento dei dati del buffer di riempimento microarchitettonico (MFBDS)
- CVE-2019-11135 | Vulnerabilità legata all'intercettazione di informazioni sul kernel di Windows
- CVE-2022-21123 | Lettura dati buffer condiviso (SBDR)
- CVE-2022-21125 | Campionamento dei dati del buffer condiviso (SBDS)
- CVE-2022-21127 | Aggiornamento del campionamento dei dati del buffer del registro speciale (aggiornamento SRBDS)
- CVE-2022-21166 | Scrittura parziale registro dispositivo (DRPW)
Per altre informazioni sulle vulnerabilità, vedere i seguenti avvisi di sicurezza:
L1TF:ADV180018 | Indicazioni Microsoft per mitigare la variante L1TF
Vulnerabilità legata alla divulgazione delle informazioni del kernel di Windows:CVE-2019-11135 | Vulnerabilità legata all'intercettazione di informazioni sul kernel di Windows
Determinare le azioni necessarie per mitigare la minaccia
Le sezioni seguenti consentono di identificare i sistemi interessati dalle vulnerabilità L1TF e/o MDS e di comprendere e attenuare i rischi.
Potenziale impatto sulle prestazioni
Nei test, Microsoft ha riscontrato un certo impatto sulle prestazioni da queste misure di prevenzione, a seconda della configurazione del sistema e delle misure di prevenzione necessarie.
Alcuni clienti potrebbero dover disabilitare l'hyper-threading (noto anche come multithreading simultaneo o SMT) per risolvere completamente il rischio derivante da L1TF e MDS. Tenere presente che la disabilitazione dell'hyperthreading può causare una riduzione delle prestazioni. Questa situazione si applica ai clienti che utilizzano quanto segue:
- Versioni di Hyper-V precedenti a Windows Server 2016 o Windows 10 versione 1607 (Aggiornamento dell'anniversario)
- Funzionalità di sicurezza basata su virtualizzazione (VBS), ad esempio Credential Guard e Device Guard
- Software che consente l'esecuzione di codice non attendibile (ad esempio, un server di automazione della compilazione o un ambiente di hosting IIS condiviso)
L'impatto può variare in base all'hardware e ai carichi di lavoro in esecuzione nel sistema. La configurazione di sistema più comune consiste nell'abilitare l'hyper-threading. Di conseguenza, l'impatto sulle prestazioni è limitato all'utente o all'amministratore che sta intraprendendo l'azione per disabilitare l'hyper-threading nel sistema.
Nota: Per determinare se il sistema utilizza funzionalità di protezione protette da VBS, attenersi alla seguente procedura:
Nel menu Start digitare MSINFO32.
Nota: Viene visualizzata la finestra Informazioni di sistema .
Nella casella Trova digitare sicurezza.
Nel riquadro destro, individuare le due righe selezionate nella schermata e controllare la colonna Valore per verificare se la sicurezza basata sulla virtualizzazione è abilitata e quali servizi di sicurezza basata sulla virtualizzazione sono in esecuzione.
L'utilità di pianificazione core di Hyper-V attenua i vettori di attacco L1TF e MDS sulle macchine virtuali Hyper-V, consentendo comunque l'abilitazione dell'hyperthreading. L'utilità di pianificazione principale è disponibile a partire da Windows Server 2016 e Windows 10 versione 1607. Ciò ha un impatto minimo sulle prestazioni delle macchine virtuali.
L'utilità di pianificazione principale non mitiga i vettori di attacco L1TF o MDS contro le funzionalità di sicurezza protette da VBS. Per ulteriori informazioni, fare riferimento a Mitigazione C e al seguente articolo del blog sulla virtualizzazione:
Per informazioni dettagliate da Intel sull'impatto sulle prestazioni, visitare il seguente sito Web Intel:
Identificazione dei sistemi interessati e mitigazioni necessarie
Il diagramma di flusso nella figura 1 consente di identificare i sistemi interessati e determinare il set corretto di azioni.
Importante: Se si usano macchine virtuali, è necessario considerare e applicare il diagramma di flusso agli host Hyper-V e a ogni guest della macchina virtuale interessata singolarmente perché le mitigazioni possono essere applicate a entrambi. In particolare, per un host Hyper-V, i passaggi del diagramma di flusso forniscono protezioni tra macchine virtuali e protezioni all'interno dell'host. Tuttavia, l'applicazione di queste mitigazioni solo all'host Hyper-V non è sufficiente per fornire la protezione all'interno della macchina virtuale. Per fornire la protezione all'interno della macchina virtuale, è necessario applicare il diagramma di flusso a ogni macchina virtuale Windows. Nella maggior parte dei casi, ciò significa assicurarsi che le chiavi del Registro di sistema siano impostate nella macchina virtuale.
Mentre navighi nel diagramma di flusso, incontrerai cerchi blu con lettere che corrispondono a un'azione o a una serie di azioni necessarie per mitigare i vettori di attacco L1TF specifici delle configurazioni del tuo sistema. Ogni azione che incontri deve essere applicata. Quando si incontra una linea verde, indica un percorso diretto alla fine e non ci sono altri passaggi di prevenzione.
Una spiegazione in forma breve di ogni prevenzione con lettere è inclusa nella legenda a destra. Le spiegazioni dettagliate per ogni mitigazione che includono istruzioni dettagliate per l'installazione e la configurazione sono disponibili nella sezione "Prevenzioni".
Opzioni di prevenzione
Importante: La sezione seguente descrive le mitigazioni che devono essere applicate SOLO nelle condizioni specifiche determinate dal diagramma di flusso nella Figura 1 della sezione precedente. NON applicare queste mitigazioni a meno che il diagramma di flusso non indichi che la mitigazione specifica è necessaria.
Oltre agli aggiornamenti del software e del microcodice, potrebbero essere necessarie anche modifiche manuali alla configurazione per abilitare determinate protezioni. È inoltre consigliabile che i clienti aziendali si registrino per ricevere notifiche di sicurezza per essere avvisati delle modifiche apportate al contenuto. (Vedere Notifiche di sicurezza tecnica Microsoft.)
Mitigazione A
Ottenere e applicare gli aggiornamenti di Windows più recenti
Applica tutti gli aggiornamenti del sistema operativo Windows disponibili, inclusi gli aggiornamenti mensili della sicurezza di Windows. È possibile visualizzare la tabella dei prodotti interessati nell'avviso di sicurezza Microsoft | ADV 180018 per L1TF, avviso di sicurezza | ADV 190013 per MDS, Avviso di Sicurezza | ADV220002 per MMIO e vulnerabilità di sicurezza | CVE-2019-11135 per la vulnerabilità di divulgazione di informazioni del kernel di Windows.
Mitigazione B
Ottenere e applicare gli aggiornamenti più recenti del microcodice o del firmware
Oltre all'installazione degli ultimi aggiornamenti di sicurezza di Windows, potrebbe essere necessario anche un aggiornamento del microcodice del processore o del firmware. È consigliabile ottenere e applicare l'aggiornamento del microcodice più recente appropriato per il dispositivo dall'OEM del dispositivo. Per ulteriori informazioni sul microcodice o sugli aggiornamenti del firmware, vedi i seguenti riferimenti:
- KB4093836: Riepilogo di Intel Microcode Aggiornamenti
- Demistificazione degli Aggiornamenti del Microcodice per processori Intel e AMD Articolo della community
- Avvisi relativi al Centro sicurezza prodotti Intel
- Sicurezza dei prodotti AMD
Nota: Se si usa la virtualizzazione annidata (inclusa l'esecuzione di contenitori Hyper-V in una macchina virtuale guest), è necessario esporre i nuovi privilegi di microcodice alla macchina virtuale guest. Ciò potrebbe richiedere l'aggiornamento della configurazione della macchina virtuale alla versione 8. La versione 8 include i rilevamenti del microcodice per impostazione predefinita. Per altre informazioni e i passaggi necessari, vedere l'articolo seguente Microsoft Docs:
Eseguire Hyper-V in una macchina virtuale con virtualizzazione annidata
Mitigazione C
È consigliabile disabilitare l'hyperthreading (HT)?
Le vulnerabilità L1TF e MDS introducono il rischio che la riservatezza delle macchine virtuali Hyper-V e i segreti gestiti da Microsoft Virtualization Based Security (VBS) possano essere compromessi utilizzando un attacco side-channel. Quando Hyper-Threading (HT) è abilitato, i limiti di sicurezza forniti da Hyper-V e VBS sono indeboliti.
L'utilità di pianificazione core Hyper-V (disponibile a partire da Windows Server 2016 e Windows 10 versione 1607) riduce i vettori di attacco L1TF e MDS contro le macchine virtuali Hyper-V, pur consentendo all'Hyper-Threading di rimanere abilitata. Ciò ha un impatto minimo sulle prestazioni.
L'utilità di pianificazione principale di Hyper-V non mitiga i vettori di attacco L1TF o MDS contro le funzionalità di sicurezza protette da VBS. Le vulnerabilità L1TF e MDS introducono il rischio che la riservatezza dei segreti VBS possa essere compromessa tramite un attacco side-channel quando Hyper-Threading (HT) è abilitato, indebolendo il limite di sicurezza fornito da VBS. Anche con questo aumento del rischio, VBS offre comunque preziosi vantaggi in termini di sicurezza e mitiga una serie di attacchi con HT abilitato. Pertanto, è consigliabile continuare a usare VBS nei sistemi abilitati per HT. I clienti che desiderano eliminare il potenziale rischio delle vulnerabilità L1TF e MDS sulla riservatezza di VBS dovrebbero prendere in considerazione la disabilitazione di HT per mitigare questo rischio aggiuntivo.
I clienti che desiderano eliminare il rischio rappresentato dalle vulnerabilità L1TF e MDS, sia per la riservatezza delle versioni di Hyper-V precedenti a Windows Server 2016 o per le funzionalità di sicurezza VBS, devono valutare la decisione e considerare la disabilitazione di HT per ridurre il rischio. In generale, questa decisione può essere basata sulle seguenti linee guida:
- Per Windows 10 versione 1607, Windows Server 2016 e sistemi più recenti che non eseguono Hyper-V e non usano funzionalità di sicurezza protette da VBS, i clienti non devono disabilitare HT.
- Per Windows 10 versione 1607, Windows Server 2016 e sistemi più recenti che eseguono Hyper-V con l'utilità di pianificazione principale, ma non usano funzionalità di sicurezza protette da VBS, i clienti non devono disabilitare HT.
- Per Windows 10 versione 1511, Windows Server 2012 R2 e sistemi precedenti che eseguono Hyper-V, i clienti devono considerare la possibilità di disabilitare HT per ridurre il rischio.
I passaggi necessari per disabilitare HT variano da OEM a OEM. Tuttavia, in genere fanno parte degli strumenti di installazione e configurazione del BIOS o del firmware.
Microsoft ha anche introdotto la possibilità di disabilitare la tecnologia Hyper-Threading tramite un'impostazione software se è difficile o impossibile disabilitare HT negli strumenti di installazione e configurazione del BIOS o del firmware. L'impostazione software per disabilitare HT è secondaria rispetto all'impostazione del BIOS o del firmware ed è disabilitata per impostazione predefinita (ovvero HT seguirà l'impostazione del BIOS o del firmware). Per altre informazioni su questa impostazione e su come disabilitare HT, vedere l'articolo seguente:
4072698 Windows Server linee guida per proteggersi dalle vulnerabilità del canale laterale dell'esecuzione speculativa
Se possibile, è consigliabile disabilitare la funzionalità HT nel BIOS o nel firmware per avere la massima garanzia che la funzionalità HT sia disabilitata.
Nota: La disabilitazione dell'hyperthreading ridurrà i core della CPU. Ciò può avere un effetto sulle funzionalità che richiedono un numero minimo di core della CPU per funzionare. Ad esempio, Windows Defender Application Guard (WDAG).
Mitigazione D
Abilitare l'utilità di pianificazione core di Hyper-V e impostare il numero di thread hardware della macchina virtuale per core su 2
Nota: Questi passaggi di prevenzione si applicano solo alle versioni di Windows Server 2016 e Windows 10 precedenti alla versione 1809. L'utilità di pianificazione principale è abilitata per impostazione predefinita in Windows Server 2019 e Windows 10 versione 1809.
L'uso dell'utilità di pianificazione core è un processo in due fasi che richiede prima di tutto di abilitare l'utilità di pianificazione nell'host Hyper-V e quindi configurare ogni macchina virtuale per trarne vantaggio impostando il numero di thread hardware per core su due (2).
L'utilità di pianificazione principale Hyper-V introdotta in Windows Server 2016 e Windows 10 versione 1607 è una nuova alternativa alla logica classica dell'utilità di pianificazione. L'utilità di pianificazione core offre una minore variabilità delle prestazioni per i carichi di lavoro all'interno di macchine virtuali in esecuzione in un host Hyper-V abilitato per HT.
Per una spiegazione dettagliata dell'utilità di pianificazione principale di Hyper-V e dei passaggi per abilitarla, vedi l'articolo Windows IT Center seguente:
Informazioni e uso dei tipi di utilità di pianificazione hypervisor Hyper-V
Per abilitare l'utilità di pianificazione di Hyper-V Core in Windows Server 2016 o Windows 10, immetti il comando seguente:
bcdedit /set HypervisorSchedulerType core
Decidere quindi se configurare il numero di thread hardware per core di una determinata macchina virtuale su due (2). Se si espone il fatto che i processori virtuali sono sottoposti a hyper-threading in una macchina virtuale guest, si consente all'utilità di pianificazione nel sistema operativo della macchina virtuale e anche ai carichi di lavoro della macchina virtuale di utilizzare HT nella propria pianificazione del lavoro. A tale scopo, immettere il seguente comando PowerShell, in cui <VMName> è il nome della macchina virtuale:
Set-VMProcessor -VMName <VMName> -HwThreadCountPerCore 2
Mitigazione E
Abilita le misure di prevenzione per gli avvisi CVE-2017-5715, CVE-2017-5754 e CVE-2019-11135
Nota: Queste mitigazioni sono abilitate per impostazione predefinita nei sistemi operativi Windows Server 2019 e Windows client.
Per abilitare le mitigazioni per gli avvisi CVE-2017-5715, CVE-2017-5754 e CVE-2019-11135, usa le indicazioni riportate negli articoli seguenti:
Nota: Queste mitigazioni includono e abilitano automaticamente la mitigazione dei bit del frame della pagina sicura per il kernel di Windows e anche per le mitigazioni descritte in CVE-2018-3620. Per una spiegazione dettagliata della prevenzione dei bit di frame delle pagine sicure, vedere l'articolo del blog Security Research & Defense seguente:
Analisi e mitigazione del guasto terminale L1 (L1TF)
Riferimenti
Indicazioni per attenuare le vulnerabilità del canale laterale dell'esecuzione speculativa in Azure
Dichiarazione di non responsabilità sulle informazioni di terze parti
I prodotti di terze parti descritti in questo articolo sono realizzati da società indipendenti da Microsoft. Non forniamo alcuna garanzia, implicita o di altro tipo, sulle prestazioni o sull'affidabilità di questi prodotti.
Forniamo informazioni di contatto di terze parti per aiutarti a trovare il supporto tecnico. Le informazioni di contatto sono soggette a modifica senza preavviso. Non garantiamo l'accuratezza delle informazioni di contatto di terze parti.