Aumentare la sicurezza delle VM grazie al Total Memory Encryption – Multi Key (TME-MK) in Windows 11 22H2

Il lavoro che Microsoft sta facendo per assicurare privacy e sicurezza dei dati dei propri clienti è davvero notevole ed è una priorità nello sviluppo di nuove funzionalità sia in Azure che on-premises.

Abbiamo già parlato di Azure Confidential Computing nell’articolo Azure Confidential VM: protezione dei dati in uso – ICT Power. Azure offre già molti strumenti per salvaguardare i dati inattivi tramite modelli come la crittografia lato client e lato server. Inoltre, Azure include meccanismi per crittografare i dati in transito tramite protocolli sicuri come TLS e HTTPS. Azure Confidential Computing introduce una terza parte della crittografia dei dati, ovvero la crittografia dei dati in uso.

Così come a tutti è ben nota la funzionalità Bitlocker, che permette di preservare l’accesso ai dati e di crittografare i dischi. In più vi ricordo anche La crittografia dei dati personali (PDE), funzionalità di sicurezza introdotta in Windows 11 versione 22H2 che fornisce funzionalità di crittografia aggiuntive a Windows. Personal Data Encryption differisce da BitLocker in quanto crittografa singoli file anziché interi volumi e dischi.

Ma gli attacchi hacker stanno diventando sempre più sofisticati e cercano di recuperare informazioni anche dai dispositivi di memoria volatile (ad esempio le DRAM).

Quindi il passo successivo che Microsoft ha affrontato per la protezione dei dati è stato proprio quello relativo all’estensione della crittografia e alla protezione dei dati che si trovano nella memoria volatile.

Nelle CPU più recenti è stata implementata la Total Memory Encryption – Multi Key (TME-MK), una funzionalità hardware che permette ai controller della memoria RAM di cifrare il contenuto prima di scriverlo sulle DIMM e di decifrarlo quando deve essere utilizzato.

La Memory controller-based encryption impedisce ad un attaccante che ha accesso fisico alla DRAM di poter leggerne il contenuto in chiaro.

Grazie alla Total Memory Encryption – Multi Key (TME-MK) ogni macchina virtuale può avere la propria chiave di crittografia per la cifratura della memoria.

Figura 1: Total Memory Encryption – Multi Key (TME-MK)

La Total Memory Encryption – Multi Key (TME-MK) è disponibile nel processori server Intel Xeon 3rd Generation e nei processori client Intel Core 12th Generation. Potete leggere il whitepaper Intel® Total Memory Encryption – Multi-Key per maggiori informazioni.

Questo permette di poter utilizzare la tecnologia in Azure, Azure Stack HCI e anche in Windows 11 22H2.

Attualmente in Azure sono supportate macchine della serie DCsv3 e serie DCdsv3 – Azure Virtual Machines | Microsoft Learn

Prerequisiti per implementare Total Memory Encryption – Multi Key (TME-MK) in Hyper-V in Windows 11 22H2

I prerequisiti per implementare TME-MK in Hyper-V in Windows 11 22H2 sono:

  • Processori server Intel Xeon 3rd Generation
  • Processori client Intel Core 12th Generation
  • Virtual machine configuration version in Hyper-V uguale o superiore a 10
  • VM Generation 2

Potete verificare le Virtual machine configuration version supportate utilizzando sulla vostra macchina Windows 11 22H2 la cmdlet Get-VMHostSupportedVersion (Hyper-V) | Microsoft Learn

Ho anche avuto modo di scrivere nel dettaglio a cosa serve la Virtual machine configuration version nella guida Virtual machine configuration version in Hyper-V in Windows 10, Windows Server 2016 e Windows Server 2019 – ICT Power

Figura 2: Verifica delle Virtual machine configuration version supportate in Windows 11 22H2

Per abilitare la Total Memory Encryption – Multi Key (TME-MK) per la macchina virtuale è necessario utilizzare il comando Set-VMMemory -VMName <name> -MemoryEncryptionPolicy EnabledIfSupported

Figura 3: Total Memory Encryption – Multi Key (TME-MK) per la macchina virtuale

Potete verificare che la TME-MK sia stata abilitata utilizzando il comando Get-VMMemory -VmName <name> | fl

Figura 4: Verifica dell’abilitazione del Total Memory Encryption – Multi Key (TME-MK) per la VM

Conclusioni

Gli attacchi hacker stanno diventando sempre più sofisticati e cercano di recuperare informazioni anche dai dispositivi di memoria volatile (ad esempio le DRAM). Grazie alla funzionalità Total Memory Encryption – Multi Key (TME-MK) offerta dai processori Intel più recenti abbiamo la possibilità di crittografare e quindi di proteggere anche i dati che si trovano in memoria, utilizzando la protezione Data-in-use.