Comprendere l'output dello script PowerShell Get-SpeculationControlSettings


Riepilogo


Per aiutare i clienti a verificare lo stato delle attenuazioni del livello di esecuzione speculativa lato canale, Microsoft ha pubblicato uno script di PowerShell che i clienti possono eseguire nei loro sistemi. In questo argomento viene illustrato come eseguire lo script e il significato dell'output.

Advisory, adv180002, adv180012e adv180018 comprende cinque vulnerabilità:

  • CVE-2017-5715 (branch target injection)
  • CVE-2017-5753 (bounds check bypass)
  • CVE-2017-5754 (rogue data cache load)
  • CVE-2018-3639 (archivio speculative bypass)
  • CVE-2018-3620 (errore terminal L1-OS)

Protezione per CVE-2017-5753 (controllo dei limiti) non richiede le impostazioni del Registro di sistema aggiuntive o aggiornamenti del firmware.In questo argomento vengono fornite informazioni dettagliate sulla script PowerShell che consente di determinare lo stato delle risoluzioni per CVE-2017-5715, CVE-2017-5754, CVE-2018-3639, CVE-2018-3620, che richiedono le impostazioni del Registro di sistema aggiuntive e, in alcuni casi, gli aggiornamenti del firmware.

Ulteriori informazioni


Installare ed eseguire lo script eseguendo i comandi seguenti:

Verifica di PowerShell utilizzando la raccolta di PowerShell (Windows Server 2016 o WMF 5.0/5.1)

Installare il modulo di PowerShell

PS> Install-Module SpeculationControl

Esegui il modulo di PowerShell per convalidare le protezioni sono attivati

PS> # Save the current execution policy so it can be reset

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> Import-Module SpeculationControl

PS> Get-SpeculationControlSettings

PS> # Reset the execution policy to the original state

PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser

Verifica di PowerShell utilizzando il download dalla TechNet (precedenti versioni del sistema operativo precedente con versioni/WMF)

Installare il modulo di PowerShell da TechNet ScriptCenter

  1. Vai a https://aka.ms/SpeculationControlPS.
  2. Scaricare SpeculationControl.zip in una cartella locale.
  3. Estrarre il contenuto in una cartella locale, ad esempio C:\ADV180002

Eseguire il modulo di PowerShell per convalidare che le misure di sicurezza sono attivati

Avviare PowerShell, quindi (utilizzando l'esempio precedente), copiare e utilizzare i seguenti comandi:

PS> # Save the current execution policy so it can be reset

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> CD C:\ADV180002\SpeculationControl

PS> Import-Module.\SpeculationControl.psd1

PS> Get-SpeculationControlSettings

PS> # Reset the execution policy to the original state

PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser

L'output di questo script PowerShell sarà simile alla seguente. Protezioni attivate vengono visualizzati nell'output come "True".

PS C:\> Get-SpeculationControlSettingsSpeculation control settings for CVE-2017-5715 [branch target injection]Hardware support for branch target injection mitigation is present: FalseWindows OS support for branch target injection mitigation is present: TrueWindows OS support for branch target injection mitigation is enabled: FalseWindows OS support for branch target injection mitigation is disabled by system policy: TrueWindows OS support for branch target injection mitigation is disabled by absence of hardware support: TrueSpeculation control settings for CVE-2017-5754 [rogue data cache load]Hardware requires kernel VA shadowing: TrueWindows OS support for kernel VA shadow is present: FalseWindows OS support for kernel VA shadow is enabled: FalseWindows OS support for PCID optimization is enabled: FalseSpeculation control settings for CVE-2018-3639 [speculative store bypass]Hardware is vulnerable to speculative store bypass: TrueHardware support for speculative store bypass mitigation is present: FalseWindows OS support for speculative store bypass mitigation is present: TrueWindows OS support for speculative store bypass mitigation is enabled system-wide: False

Impostazioni di controllo di speculazione per CVE-2018-3620 [L1 terminal errore]

Hardware is vulnerable to L1 terminal fault: TrueWindows OS support for L1 terminal fault mitigation is present: TrueWindows OS support for L1 terminal fault mitigation is enabled: TrueBTIHardwarePresent: FalseBTIWindowsSupportPresent: TrueBTIWindowsSupportEnabled: FalseBTIDisabledBySystemPolicy: TrueBTIDisabledByNoHardwareSupport: TrueKVAShadowRequired: TrueKVAShadowWindowsSupportPresent: FalseKVAShadowWindowsSupportEnabled: FalseKVAShadowPcidEnabled: FalseSSBDWindowsSupportPresent: TrueSSBDHardwareVulnerablePresent: TrueSSBDHardwarePresent: TrueSSBDWindowsSupportEnabledSystemWide: FalseL1TFHardwareVulnerable: TrueL1TFWindowsSupportPresent: TrueL1TFWindowsSupportEnabled: TrueL1TFInvalidPteBit: 45L1DFlushSupported: False

 

La griglia finale esegue il mapping dell'output delle righe precedenti. Viene visualizzato poiché l'oggetto restituito da una funzione di stampa PowerShell. Nella tabella seguente viene spiegata ciascuna riga.

Output

Spiegazione

Impostazioni di controllo di speculazione per CVE-2017-5715 [inserimento destinazione diramazione]

In questa sezione fornisce lo stato del sistema per la variante 2, CVE-2017-5715 , inserimento di diramazione di destinazione.

È presente il supporto hardware per l'attenuazione di iniezione destinazione diramazione

Esegue il mapping a BTIHardwarePresent. Questa riga indica se la funzionalità hardware è presente per supportare l'attenuazione di iniezione destinazione diramazione. Periferica OEM è responsabile di fornire il BIOS/firmware aggiornato che contiene il microcodice fornito dai produttori di CPU. Se questa riga èTrue, sono presenti le funzionalità dell'hardware necessari. Se la riga èFalse, le funzionalità dell'hardware necessari non sono presenti e pertanto non può essere attivata l'attenuazione di iniezione destinazione diramazione.

NotaBTIHardwarePresent saràTruese è stato applicato l'aggiornamento OEM all'host elinee guida perle macchine virtuali guest è seguita.

È presente il supporto del sistema operativo Windows per l'attenuazione di iniezione destinazione diramazione

Esegue il mapping a BTIWindowsSupportPresent. Questa riga indica se il supporto del sistema operativo Windows è presente per l'attenuazione di iniezione destinazione diramazione. Se èTrue, il sistema operativo supporta l'attenuazione di iniezione destinazione diramazione di attivazione (e pertanto è stato installato l'aggiornamento di gennaio 2018). Se èFalse, non è stato installato l'aggiornamento di gennaio 2018 sul sistema e l'attenuazione di iniezione destinazione diramazione non può essere attivata.

NotaSe un macchina virtuale guest non è in grado di rilevare l'aggiornamento di hardware host, BTIWindowsSupportEnabled sarà sempreFalse.

Si attiva il supporto del sistema operativo Windows per l'attenuazione di iniezione destinazione diramazione

Esegue il mapping a BTIWindowsSupportEnabled. Questa riga indica se il supporto del sistema operativo Windows è attivato per l'attenuazione di iniezione destinazione diramazione. Se èTrue, il supporto hardware e supporto per l'attenuazione di iniezione destinazione diramazione è abilitato per la periferica, pertanto la protezione contro2017-CVE-5715. Se èFalse, una delle seguenti condizioni è true:

  • Supporto hardware non è presente.
  • Supporto del sistema operativo non è presente.
  • L'attenuazione è stata disattivata dai criteri di sistema.

Il supporto del sistema operativo Windows per l'attenuazione di iniezione destinazione diramazione è disattivato dai criteri di sistema

Esegue il mapping a BTIDisabledBySystemPolicy. Questa riga indica se l'attenuazione di iniezione destinazione diramazione è stata disattivata dai criteri di sistema (ad esempio un criterio definito dall'amministratore). Criteri di sistema fa riferimento ai controlli del Registro di sistema come indicato nella4072698 KB. Se èTrue, il criterio di sistema è responsabile per la disabilitazione di attenuazione. Se èFalse, l'attenuazione è disattivato per una causa diversa.

Supporto del sistema operativo Windows per l'attenuazione di iniezione destinazione diramazione è disattivato per mancanza di supporto hardware

Esegue il mapping a BTIDisabledByNoHardwareSupport. Questa riga indica se l'attenuazione di iniezione destinazione diramazione è stata disattivata per la mancanza di supporto hardware. Se èTrue, l'assenza di supporto hardware è responsabile per la disabilitazione di attenuazione. Se èFalse, l'attenuazione è disattivato per una causa diversa.

NotaSe un macchina virtuale guest non è in grado di rilevare l'aggiornamento di hardware host, BTIDisabledByNoHardwareSupport sarà sempreTrue.

Impostazioni di controllo di speculazione per CVE-2017-5754 [caricamento della cache di dati rogue]

In questa sezione fornisce lo stato del sistema di riepilogo per la variante 3,CVE-2017-5754, carico della cache di dati inaffidabili. L'attenuazione per questo è noto come ombreggiatura indirizzo virtuale (VA) del kernel o l'attenuazione di carico della cache di dati inaffidabili.

Hardware richiede kernel VA shadowing

Esegue il mapping a KVAShadowRequired. Questa riga indica se l'hardware è vulnerabile a2017-CVE-5754. Se èTrue, l'hardware è credibile la vulnerabilità per CVE-2017-5754. Se èFalse, l'hardware è noto non sono esposti al 2017-CVE-5754.

È presente il supporto del sistema operativo Windows per shadow kernel VA

Esegue il mapping a KVAShadowWindowsSupportPresent. Questa riga indica se è presente il supporto del sistema operativo Windows per la feature di ombreggiatura kernel VA. Se èTrue, l'aggiornamento di gennaio 2018 è installato nel dispositivo e kernel shadow VA è supportato. Se èFalse, non è installato l'aggiornamento di gennaio 2018 e il supporto ombra kernel VA non esiste.

Il supporto del sistema operativo Windows per ombreggiatura kernel VA attivato

Esegue il mapping a KVAShadowWindowsSupportEnabled. Questa riga indica se è stata attivata la funzionalità di ombreggiatura VA kernel. Se èTrue, l'hardware viene ritenuta essere vulnerabile a2017-CVE-5754, supporto del sistema operativo Windows è presente e la funzionalità è stata attivata. La funzionalità di ombreggiatura Kernel VA è attiva per impostazione predefinita nelle versioni client di Windows e viene disabilitata per impostazione predefinita nelle versioni di Windows Server. Se èFalse, il supporto del sistema operativo Windows non è presente o non è stata abilitata la funzionalità.

Si attiva il supporto del sistema operativo Windows per ottimizzare le prestazioni PCID

NotaPCID non è necessaria per la protezione. Indica solo se è attivato un miglioramento delle prestazioni. PCID non è supportato in Windows Server 2008 R2

Esegue il mapping a KVAShadowPcidEnabled. Questa riga indica se è stata attivata un'ottimizzazione delle prestazioni aggiuntive per ombreggiatura kernel VA. Se èTrue, shadow VA kernel è attivata, è presente il supporto hardware per PCID e ottimizzazione di PCID per kernel shadow VA abilitata. Se èFalse, l'hardware o il sistema operativo potrebbe non supportare PCID. Non è un punto debole della protezione per l'ottimizzazione di PCID non sia abilitata.

È presente il supporto del sistema operativo Windows per disattivare l'esclusione archivio Speculative

Esegue il mapping a SSBDWindowsSupportPresent. Questa riga indica se è presente il supporto del sistema operativo Windows per disattivare l'esclusione archivio Speculative. Se è True , l'aggiornamento di gennaio 2018 è installato nel dispositivo e kernel shadow VA è supportato. Se è False , non è installato l'aggiornamento di gennaio 2018 e il supporto ombra kernel VA non esiste.

Hardware è necessario disattivare l'esclusione archivio Speculative

Esegue il mapping a SSBDHardwareVulnerablePresent. Questa riga indica se l'hardware è vulnerabile a CVE-2018-3639 . Se è True , l'hardware è credibile la vulnerabilità per CVE-2018-3639. Se è False , l'hardware è noto che non sia vulnerabile a CVE-2018-3639.

È presente il supporto hardware per disattivare l'esclusione archivio Speculative

Esegue il mapping a SSBDHardwarePresent. Questa riga indica se le funzionalità hardware sono presente per il supporto di disattivare l'esclusione archivio Speculative. Periferica OEM è responsabile di fornire il BIOS/firmware aggiornato che contiene il microcodice fornito da Intel. Se questa riga è True , sono presenti le funzionalità dell'hardware necessari. Se la riga è False , le funzionalità dell'hardware necessari non sono presenti e pertanto disattivare l'esclusione archivio Speculative non potrà essere attivato.

Nota SSBDHardwarePresent sarà True nelle macchine virtuali guest se è stato applicato l'aggiornamento OEM all'host.

 

È attivato il supporto del sistema operativo Windows per disattivare l'esclusione archivio Speculative

Esegue il mapping a SSBDWindowsSupportEnabledSystemWide. Questa riga indica se disattivare l'esclusione archivio Speculative è stata attivata nel sistema operativo Windows. Se è True , supporto hardware e sistema operativo il supporto per disattivare l'esclusione archivio Speculative è attivata per il dispositivo che impediscono un archivio Speculative ignorare accada, eliminando così completamente il rischio di protezione. Se è False , una delle seguenti condizioni è vera:

  • Supporto hardware non è presente.
  • Supporto del sistema operativo non è presente.
  • Disattivare l'esclusione archivio speculative non è stata attivata tramite le chiavi del Registro di sistema. Vedere i seguenti articoli per istruzioni su come attivare:

Linee guida per il Client Windows per i professionisti IT per la protezione contro le vulnerabilità di esecuzione speculativa canale laterale

Guida di Windows Server per la protezione contro le vulnerabilità di esecuzione speculativa canale laterale

 

Impostazioni di controllo di speculazione per CVE-2018-3620 [L1 terminal errore]

In questa sezione vengono riepilogo lo stato del sistema per L1TF (sistema operativo) a cui fa riferimento CVE-2018-3620. Questa attenuazione garantisce bit cornice pagina provvisoria vengono utilizzate per le voci tabella pagine non presente o non valido.

Nota, in questa sezione non fornisce che un riepilogo dello stato di riduzione dei rischi di L1TF (VMM) a cui fa riferimento CVE-2018-3646.

Hardware è vulnerabile a L1 terminal guasto: True Esegue il mapping a L1TFHardwareVulnerable. Questa riga indica se l'hardware è vulnerabile a L1 Terminal Fault (L1TF, CVE-2018-3620). Se è True, l'hardware è credibile la vulnerabilità per CVE-2018-3620. Se è False, l'hardware è noto che non sia vulnerabile a 2018-CVE-3620.
È presente il supporto del sistema operativo Windows per l'attenuazione di guasto terminal L1: True Esegue il mapping a L1TFWindowsSupportPresent. Questa riga indica se è presente il supporto del sistema operativo Windows per l'attenuazione del sistema operativo Fault Terminal L1 (L1TF). Se è True, l'aggiornamento di agosto 2018 è installato sul dispositivo e l'attenuazione per CVE-2018-3620 è presente. In caso contrario, non è installato l'aggiornamento di agosto 2018 e l'attenuazione per CVE-2018-3620 non è presente.
Sistema operativo Windows il supporto per L1 attenuazione guasto terminal è attivato: True Esegue il mapping a L1TFWindowsSupportEnabled. Questa riga indica se è attivata la funzionalità di sistema operativo Windows per L1 Terminal Fault (L1TF, CVE-2018-3620). Se è True, l'hardware viene ritenuta essere vulnerabile a 2018-CVE-3620, supporto di sistema operativo Windows per l'attenuazione è presente e l'attenuazione è stata attivata. Se è False, l'hardware non è vulnerabile, supporto del sistema operativo Windows non è presente, o l'attenuazione non è stata attivata.

Il seguente output previsto per un computer con tutti i fattori attenuanti attivati, e cosa è necessario per soddisfare ogni condizione.

BTIHardwarePresent: True -> apply OEM BIOS/firmware updateBTIWindowsSupportPresent: True -> install January 2018 updateBTIWindowsSupportEnabled: True -> on client, no action required. On server, follow guidance .BTIDisabledBySystemPolicy: False -> ensure not disabled by policy.BTIDisabledByNoHardwareSupport: False -> ensure OEM BIOS/firmware update is applied.KVAShadowRequired: True or False -> no action, this is a function of the CPU the computer usesIf KVAShadowRequired is TrueKVAShadowWindowsSupportPresent: True -> install January 2018 updateKVAShadowWindowsSupportEnabled: True -> on client, no action required. On server, follow guidance .KVAShadowPcidEnabled: True or False -> no action , this is a function of the CPU the computer uses

If SSBDHardwareVulnerablePresent is True SSBDWindowsSupportPresent: True -> install Windows updates as documented in adv180012 SSBDHardwarePresent: True -> install BIOS/firmware update with support for SSBD from your device OEM SSBDWindowsSupportEnabledSystemWide: True -> follow recommended actions to turn on SSBD

If L1TFHardwareVulnerable is True L1TFWindowsSupportPresent: True -> install Windows updates as documented in adv180018 L1TFWindowsSupportEnabled: True -> follow actions outlined in adv180018 for Windows Server or Client as appropriate to enable the mitigation

Nella tabella seguente esegue il mapping dell'output alle chiavi del Registro di sistema che sono descritte nella Guida di Windows Server per la protezione contro le vulnerabilità di esecuzione speculativa canale laterale .

Chiave del Registro di sistema

Mapping

FeatureSettingsOverride: Bit 0

Esegue il mapping a - diramazione inserimento destinazione - BTIWindowsSupportEnabled

FeatureSettingsOverride – Bit 1

Esegue il mapping a - inaffidabili caricamento della cache di dati - VAShadowWindowsSupportEnabled