Data |
Descrizione della modifica |
---|---|
27 ottobre 2023 |
Aggiunti riferimenti a Mitigation B |
17 luglio 2023 |
Aggiunta di informazioni MMIO |
Riassunto
Microsoft è a conoscenza di nuove varianti della classe di attacco nota come vulnerabilità di esecuzione speculativa del canale laterale. Le varianti sono denominate L1 Terminal Fault (L1TF) e Microarchitectural Data Sampling (MDS).The variants are named L1 Terminal Fault (L1TF) and Microarchitectural Data Sampling (MDS). Un utente malintenzionato che può sfruttare correttamente L1TF o MDS potrebbe essere in grado di leggere i dati privilegiati oltre i limiti dell'attendibilità.
AGGIORNATO IL 14 maggio 2019: Il 14 maggio 2019 Intel ha pubblicato informazioni su una nuova sottoclasse di vulnerabilità di esecuzione speculativa del canale laterale nota come Microarchitectural Data Sampling. Sono stati assegnati i seguenti CVE:
-
CVE-2018-11091 | Microarchitectural Data Sampling Uncacheable Memory (MDSUM)
-
CVE-2018-12126 | Microarchitectural Store Buffer Data Sampling (MSBDS)
-
CVE-2018-12127 | Campionamento dei dati del buffer di riempimento microarchitetturale (MFBDS)
-
CVE-2018-12130 | Microarchitectural Load Port Data Sampling (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 ridurre questa vulnerabilità. Tieni presente quanto segue:
-
Per impostazione predefinita, le protezioni dei sistemi operativi sono abilitate per alcune edizioni del sistema operativo Windows Server. Per altre informazioni, vedere l'articolo della Microsoft Knowledge Base 4072698.
-
Per impostazione predefinita, le protezioni dei sistemi operativi sono abilitate per tutte le edizioni del sistema operativo Windows Client. Per altre informazioni, vedere l'articolo della Microsoft Knowledge Base 4073119.
Panoramica sulle vulnerabilità
In ambienti in cui le risorse sono condivise, ad esempio host di virtualizzazione, un utente malintenzionato che può eseguire codice arbitrario su una macchina virtuale potrebbe essere in grado di accedere alle informazioni da un'altra macchina virtuale o dall'host di virtualizzazione stesso.
Sono a rischio anche i carichi di lavoro del server come Servizi Desktop remoto di Windows Server e ruoli più dedicati, ad esempio i controller di dominio Active Directory. Gli utenti malintenzionati che possono eseguire codice arbitrario (indipendentemente dal livello di privilegi) possono accedere al sistema operativo o ai segreti del carico di lavoro, ad esempio chiavi di crittografia, password e altri dati sensibili.
Anche i sistemi operativi client Windows sono a rischio, soprattutto se eseguono codice non attendibile, usano le funzionalità di Sicurezza basata sulla virtualizzazione come Windows Defender Credential Guard o usano Hyper-V per eseguire macchine virtuali.
Nota: Queste vulnerabilità interessano solo i processori Intel Core e i processori Intel Xeon.
Panoramica sulle misure di prevenzione
Per risolvere questi problemi, Microsoft sta collaborando con Intel allo sviluppo di linee guida e misure di prevenzione del software. Sono stati rilasciati aggiornamenti software per ridurre le vulnerabilità. Per ottenere tutte le protezioni disponibili, potrebbero essere necessari aggiornamenti che potrebbero includere anche microcodice degli OEM dei dispositivi.
Questo articolo descrive come attenuare le vulnerabilità seguenti:
-
CVE-2018-3620 | Errore terminale L1 - Sistema operativo, SMM
-
CVE-2018-3646 | Errore terminale L1 - VMM
-
CVE-2018-11091 | Microarchitectural Data Sampling Uncacheable Memory (MDSUM)
-
CVE-2018-12126 | Microarchitectural Store Buffer Data Sampling (MSBDS)
-
CVE-2018-12127 | Microarchitectural Load Port Data Sampling (MLPDS)
-
CVE-2018-12130 | Campionamento dei dati del buffer di riempimento microarchitetturale (MFBDS)
-
CVE-2019-11135 | Vulnerabilità divulgazione di informazioni kernel di Windows
-
CVE-2022-21123 | Lettura dei dati del buffer condiviso (SBDR)
-
CVE-2022-21125 | SBDS (Shared Buffer Data Sampling)
-
CVE-2022-21127 | Aggiornamento speciale per il campionamento dei dati del buffer di registro (aggiornamento SRBDS)
-
CVE-2022-21166 | Registrazione dispositivo scrittura parziale (DRPW)
Per altre informazioni sulle vulnerabilità, vedere i seguenti avvisi di sicurezza:
L1TF: ADV180018 | Linee guida Microsoft per attenuare la variante L1TF
MMIO: ADV220002 | Linee guida Microsoft sulle vulnerabilità dei dati obsoleti del processore Intel MMIO
Vulnerabilità divulgazione delle informazioni del kernel di Windows: CVE-2019-11135 | Vulnerabilità divulgazione di informazioni kernel di Windows
Determinazione delle azioni necessarie per mitigare la minaccia
Le sezioni seguenti possono essere utili per identificare i sistemi interessati dalle vulnerabilità L1TF e/o MDS e anche per comprendere e ridurre i rischi.
Potenziale impatto delle prestazioni
Nei test, Microsoft ha riscontrato un impatto sulle prestazioni di 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 affrontare completamente il rischio di L1TF e MDS. Tenere presente che la disabilitazione dell'hyper-threading 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 sulla virtualizzazione (VBS), come Credential Guard e Device Guard
-
Software che consente l'esecuzione di codice non attendibile (ad esempio, un server di automazione build 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 è l'hyper-threading abilitato. Pertanto, l'impatto sulle prestazioni viene bloccato sull'utente o sull'amministratore che sta eseguendo l'azione per disabilitare l'hyper-threading nel sistema.
Nota: Per determinare se il sistema usa le funzionalità di sicurezza protette da VBS, seguire questa procedura:
-
Nel menu Start digita MSINFO32.
Nota: Si apre la finestra System Information . -
Nella casella Trova digitare sicurezza.
-
Nel riquadro destro individuare le due righe selezionate nello screenshot e controllare la colonna Valore per verificare se Sicurezza basata sulla virtualizzazione è abilitata e quali servizi di sicurezza basati su virtualizzazione sono in esecuzione.
L'utilità di pianificazione core Hyper-V riduce i vettori di attacco L1TF e MDS contro le macchine virtuali Hyper-V, consentendo comunque l'abilitazione dell'hyper-threading. L'utilità di pianificazione principale è disponibile a partire da Windows Server 2016 e Windows 10 versione 1607. In questo modo si ha un impatto minimo sulle prestazioni delle macchine virtuali.
L'utilità di pianificazione di base non mitiga i vettori di attacco L1TF o MDS contro le funzionalità di sicurezza protette da VBS. Per altre informazioni, vedi Mitigation C e il seguente articolo del blog sulla virtualizzazione:
Per informazioni dettagliate da Parte di Intel sull'impatto sulle prestazioni, visita il seguente sito Web Intel:
Identificare i sistemi interessati e le misure di prevenzione richieste
Il diagramma di flusso nella figura 1 consente di identificare i sistemi interessati e determinare il set di azioni corretto.
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 interessato singolarmente perché le misure di prevenzione 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 intra-host. Tuttavia, l'applicazione di queste misure di prevenzione solo all'host Hyper-V non è sufficiente per fornire la protezione intra-VM. Per garantire 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 ci si sposta nel diagramma di flusso, vengono visualizzati cerchi blu con lettere mappate a un'azione o a una serie di azioni necessarie per ridurre i vettori di attacco L1TF specifici delle configurazioni di sistema. Ogni azione che si verifica deve essere applicata. Quando viene visualizzata una linea verde, indica un percorso diretto verso la fine e non ci sono altri passaggi di attenuazione.
Una spiegazione in forma breve di ogni prevenzione letterata è inclusa nella legenda a destra. Le spiegazioni dettagliate per ogni prevenzione che includono istruzioni dettagliate per l'installazione e la configurazione sono fornite nella sezione "Misure di prevenzione".
Misure di prevenzione
Importante: La sezione seguente descrive le misure di prevenzione che devono essere applicate SOLO nelle condizioni specifiche determinate dal diagramma di flusso nella figura 1 della sezione precedente. NON applicare queste misure di prevenzione a meno che il diagramma di flusso non indichi che è necessaria una specifica prevenzione.
Oltre agli aggiornamenti di software e microcodice, potrebbero essere necessarie anche modifiche manuali alla configurazione per abilitare determinate protezioni. È inoltre consigliabile che i clienti Enterprise si registrino per le notifiche di sicurezza mailer per ricevere avvisi sulle modifiche al contenuto. (Vedi Notifiche sulla sicurezza tecnica Microsoft).
Prevenzione A
Ottenere e applicare gli aggiornamenti più recenti di Windows
Applica tutti gli aggiornamenti disponibili del sistema operativo Windows, inclusi gli aggiornamenti mensili della sicurezza di Windows. Puoi vedere la tabella dei prodotti interessati nell'avviso di sicurezza Microsoft | 180018 ADV per L1TF, avviso di sicurezza | 190013 ADV per MDS, avviso di sicurezza | ADV220002 per MMIO e vulnerabilità di protezione | CVE-2019-11135 per la vulnerabilità di divulgazione di informazioni sul kernel di Windows.
Mitigazione B
Ottenere e applicare gli aggiornamenti più recenti del microcodice o del firmware
Oltre a installare gli ultimi aggiornamenti della sicurezza di Windows, potrebbe essere necessario anche un microcodice del processore o un aggiornamento del firmware. È consigliabile ottenere e applicare l'aggiornamento più recente del microcodice appropriato per il dispositivo dall'OEM del dispositivo. Per ulteriori informazioni sugli aggiornamenti del microcodice o del firmware, vedi i riferimenti seguenti:
Nota: Se si usa la virtualizzazione annidata (inclusa l'esecuzione di contenitori Hyper-V in una macchina virtuale guest), è necessario esporre i nuovi elementi di illuminazione del microcodice alla macchina virtuale guest. Ciò potrebbe richiedere l'aggiornamento della configurazione della macchina virtuale alla versione 8. La versione 8 include il livello di illuminazione del microcodice per impostazione predefinita. Per altre informazioni e i passaggi necessari, vedere l'articolo seguente Microsoft Docs articolo:
Eseguire Hyper-V in una macchina virtuale con virtualizzazione annidata
Mitigazione C
Devo disabilitare l'hyper-threading (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 usando un attacco del canale laterale. Quando Hyper-Threading (HT) è abilitato, i limiti di sicurezza forniti da Hyper-V e VBS si indeboliscono.
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 a Hyper-Threading di rimanere abilitati. In questo modo si ha un impatto minimo sul rendimento.
L'utilità di pianificazione core 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 del canale laterale quando è abilitato Hyper-Threading (HT), indeboliscendo il limite di sicurezza fornito da VBS. Anche con questo aumento del rischio, VBS continua a fornire preziosi vantaggi di sicurezza e riduce una serie di attacchi con HT abilitato. Quindi, è consigliabile continuare a usare VBS nei sistemi abilitati per HT. I clienti che vogliono eliminare il potenziale rischio delle vulnerabilità L1TF e MDS sulla riservatezza di VBS devono prendere in considerazione la possibilità di disabilitare HT per mitigare questo rischio aggiuntivo.
I clienti che vogliono eliminare il rischio che le vulnerabilità L1TF e MDS rappresentino, sia per la riservatezza delle versioni Hyper-V precedenti al Windows Server 2016 che per le funzionalità di sicurezza VBS, devono valutare la decisione e valutare la possibilità di disabilitare HT per mitigare il rischio. In generale, questa decisione può essere basata sulle linee guida seguenti:
-
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, i sistemi Windows Server 2016 e più recenti che eseguono Hyper-V con Core Scheduler 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 i sistemi precedenti che eseguono Hyper-V, i clienti devono prendere in considerazione la possibilità di disabilitare HT per ridurre il rischio.
I passaggi necessari per disabilitare HT sono diversi da OEM a OEM. Tuttavia, in genere fanno parte del BIOS o degli strumenti di configurazione e configurazione del firmware.
Microsoft ha inoltre introdotto la possibilità di disabilitare Hyper-Threading tecnologia tramite un'impostazione software se è difficile o impossibile disabilitare HT nel BIOS o negli strumenti di configurazione e configurazione del firmware. L'impostazione software per disabilitare HT è secondaria all'impostazione del BIOS o del firmware e viene disabilitata per impostazione predefinita (il che significa che HT seguirà il BIOS o l'impostazione del firmware). Per ulteriori informazioni su questa impostazione e su come disabilitare l'utilizzo di HT, vedere il seguente articolo:
4072698 Linee guida di Windows Server per la protezione dalle vulnerabilità di esecuzione speculativa del canale laterale
Se possibile, è consigliabile disabilitare HT nel BIOS o nel firmware per garantire la disabilitazione di HT.
Nota: La disabilitazione dell'iperthreading riduce i core della CPU. Ciò può avere un effetto sulle funzionalità che richiedono core minimi della CPU per funzionare. Ad esempio, Windows Defender Application Guard (WDAG).
Mitigazione D
Abilita l'utilità di pianificazione core Hyper-V e imposta il numero di thread hardware della macchina virtuale per core su 2
Nota: Questi passaggi di prevenzione si applicano solo alle versioni 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 principale è un processo in due fasi che richiede di abilitare prima l'utilità di pianificazione nell'host Hyper-V e quindi di configurare ogni macchina virtuale in modo da sfruttarla impostando il relativo numero di thread hardware per core su due (2).
L'utilità di pianificazione di base Hyper-V introdotta in Windows Server 2016 e Windows 10 versione 1607 è una nuova alternativa alla logica dell'utilità di pianificazione classica. L'utilità di pianificazione di base offre una minore variabilità delle prestazioni per i carichi di lavoro all'interno di macchine virtuali in esecuzione su 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 il seguente articolo di Windows IT Pro Center:
Informazioni e uso dei tipi di utilità di pianificazione hypervisor Hyper-V
Per abilitare l'utilità di pianificazione principale Hyper-V in Windows Server 2016 o Windows 10, immettere il comando seguente:
bcdedit /set HypervisorSchedulerType core
Decidi quindi se configurare il numero di thread hardware di una determinata macchina virtuale per core a due (2). Se si espone il fatto che i processori virtuali sono iperthread a una macchina virtuale guest, è possibile abilitare l'utilità di pianificazione nel sistema operativo della macchina virtuale, e anche i carichi di lavoro della macchina virtuale, per utilizzare HT nella propria pianificazione del lavoro. A tale scopo, immettere il comando di PowerShell seguente, 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 misure di prevenzione sono abilitate per impostazione predefinita nei sistemi operativi client Windows Server 2019 e Windows.
Per abilitare le misure di prevenzione per gli avvisi CVE-2017-5715, CVE-2017-5754 e CVE-2019-11135, usare le linee guida negli articoli seguenti:
Nota: Queste misure di prevenzione includono e abilitano automaticamente la prevenzione dei bit dei frame della pagina sicura per il kernel di Windows e anche per le misure di prevenzione descritte in CVE-2018-3620. Per una spiegazione dettagliata della prevenzione dei bit dei frame di pagina sicuri, vedi il seguente articolo del blog sulla sicurezza & difesa:
Riferimenti
I prodotti di terze parti citati in questo articolo sono prodotti da società indipendenti di Microsoft. Microsoft non riconosce alcuna garanzia, implicita o espressa, in relazione alle prestazioni o all'affidabilità di questi prodotti.
Microsoft fornisce informazioni di contatto di terze parti per aiutare l'utente a trovare supporto tecnico. Le informazioni di contatto sono soggette a modifica senza preavviso. Microsoft non garantisce l'accuratezza di queste informazioni di contatto di terze parti.