Condividi tramite


Informazioni sulla tabella di mitigazione della sicurezza di Windows SMM (WSMT)

La tabella di mitigazione della sicurezza di Windows SMM (WSMT) è una tabella ACPI definita da Microsoft che consente al firmware di sistema di confermare al sistema operativo che alcune procedure consigliate per la sicurezza sono state implementate nel software SMM (System Management Mode). La definizione della tabella WSMT è descritta nella specifica Windows SMM Security Mitigations Table (WMST).

Sfondo

WSMT è stato definito per supportare meglio le funzionalità di sicurezza basate su Windows Virtualization. Per altre informazioni in background su VBS, vedere Sicurezza basata su virtualizzazione . Poiché SMM opera senza la conoscenza o il controllo del sistema operativo, SMM rappresenta una superficie di attacco significativa che potrebbe essere abilitata da codice dannoso per compromettere o aggirare le protezioni del sistema operativo abilitate tramite VBS. La distribuzione di una piattaforma VBS affidabile e sicura richiede un'attenta analisi e probabilmente gli aggiornamenti del codice SMM da parte dell'OEM per eliminare le vulnerabilità comuni che potrebbero essere sfruttate. WSMT contiene flag che possono essere impostati per indicare al sistema operativo quali di queste procedure consigliate di sicurezza specifiche sono state implementate.

Implicazioni del servizio WSMT sul supporto di Windows VBS

Il campo Flag di protezione WSMT indica la presenza di queste specifiche mitigazioni della sicurezza SMM nel firmware dei sistemi. Le versioni supportate del sistema operativo Windows leggeno i flag di protezione WSMT presto durante l'inizializzazione, prima dell'avvio di hypervisor e VBS e possono scegliere di abilitare, disabilitare o de-feature determinate funzionalità di sicurezza in base alla presenza di questi flag di protezione SMM.

Note sull'implementazione

L'implementazione corretta delle mitigazioni della sicurezza rappresentate dai flag di protezione WSMT FIXED_COMM_BUFFERS e COMM_BUFFER_NESTED_PTR_PROTECTION richiederà al fornitore del firmware valutare attentamente e eventualmente progettare nuovamente i gestori SMI (System Management Interrupt). Tutti i gestori SMI devono essere limitati solo all'accesso (lettura o scrittura) alle aree di memoria consentite contenenti memoria MMIO e memoria allocata da EFI. Non è sufficiente controllare che i puntatori in SMM non facciano riferimento alla memoria completamente esterna a SMM. Invece, tutti i puntatori SMM devono essere convalidati all'interno di queste aree di memoria sicura. Ciò impedisce a SMM di essere sfruttato in un attacco "confuso vice", che potrebbe quindi essere sfruttato per compromettere le funzionalità di Windows VBS. I flag di protezione indicati in precedenza fanno riferimento solo ai controlli di convalida e puntatore di input e non richiedono attualmente l'applicazione tramite protezioni di pagina SMM. Ad esempio, SMM non deve leggere o scrivere in memoria descritta dal firmware come EfiConventionalMemory perché può contenere segreti o causare il comportamento imprevedibile del software.

Convalida delle protezioni WSMT

Poiché SMM è opaco al sistema operativo, non è possibile produrre un test eseguito in Windows per verificare che le protezioni previste nella specifica WSMT siano effettivamente implementate in SMM. Dal sistema operativo, l'unico controllo possibile consiste nel cercare la presenza di WSMT e controllare lo stato di tutti i flag di protezione definiti.

Pertanto, è responsabilità dell'OEM esaminare attentamente il codice SMM di ogni sistema e assicurarsi che il firmware sia conforme alle indicazioni descritte nella specifica WSMT e in questo articolo. Nessun flag di protezione deve essere impostato su "true" fino a quando l'OEM non ha confermato che le mitigazioni corrispondenti a ogni valore flag di protezione sono state implementate correttamente. La mancata conformità a questa procedura come procedura consigliata lascerà la piattaforma vulnerabile alla compromissione e nega l'efficacia di più protezioni del sistema operativo e funzionalità di sicurezza di Windows che si basano su VBS per mantenere limiti di sicurezza affidabili.

Versioni di Windows supportate

Il supporto per WSMT è incluso nelle versioni seguenti di Windows:

  • Windows Server Technical Preview 2016
  • Windows 10 versione 1607
  • Windows 10 versione 1703
  • Windows 10, versione 1709