In Windows 10 Insider Preview Build 18305 (19H1), la release disponibile per gli Insider nel Fast Ring rilasciata alla fine di Dicembre 2018, è stata inserita una funzionalità decisamente interessante. Si tratta di Windows Sandbox, una funzionalità che permette di eseguire Windows 10  in un ambiente protetto all’interno del quale poter testare ed eseguire software che riteniamo non sicuro, senza il rischio che possa creare danni al nostro sistema.

 

Windows Sandbox è basato sulla tecnologia degli Hyper-V Containers, in cui ogni contenitore viene eseguito all'interno di una speciale macchina virtuale. In questo modo viene offerto un isolamento a livello di kernel tra ogni contenitore di Hyper-V e l'host Windows 10.

 

In questo ambiente desktop isolato siamo quindi sicuri che l’applicazione girerà in maniera completamente isolata rispetto al sistema operativo host e soprattutto non avremo la necessità di dover creare una macchina virtuale dedicata per questo scopo. Ogni software che verrà installato in Windows Sandbox rimarrà nella sandbox. Una volta che Windows Sandbox verrà chiuso, tutto il software installato e tutti i file creati verranno automaticamente cancellati.

 

Le caratteristiche principali di Windows Sandbox sono:

 

  • È parte del sistema operativo: Tutto ciò che è necessario per far funzionare Windows Sandbox è incluso in Windows 10 Pro e Enterprise. Non c’è bisogno di scaricare o di creare un virtual disk (VHD)
  • Installazione sempre pulita: Tutte le volte che Windows Sandbox viene eseguito è pulito come se fosse una nuova installazione di Windows.
  • Usa e getta: Nulla resta sul dispositivo, tutto verrà cancellato una volta chiusa l’applicazione Windows Sandobx.
  • Sicuro: Usa la virtualizzazione hardware-based per isolare il kernel, che si affida a Microsoft Hyper-V per eseguire un kernel separato che isola Windows Sandbox dal sistema operativo.

 

Windows Sandbox occupa solo 25MB e al momento dell’installazione occuperà circa 100MB. Si tratta infatti di un’immagine generata dinamicamente e che verrà utilizzata per creare un Hyper-V Container molto leggero. Utilizzerà infatti i file presenti all’interno del sistema operativo host Windows 10 per potersi generare, come mostrato nella figura sotto:

 

 

Figura 1: Principio di funzionamento dell'immagine di WIndows Sandbox

 

Prerequisiti per l’utilizzo della funzionalità Windows Sandbox

Per poter utilizzare questa nuova funzionalità è necessario che vengano rispettati i seguenti prerequisiti:

  • Windows 10 Pro oppure Enterprise Insider build 18305 o successiva
  • Architettura a 64bit
  • Virtualization capabilities abilitate nel BIOS
  • Almeno 4GB of RAM (8GB raccomandati)
  • Almeno 1 GB di spazio disco libero (disco SSD raccomandato)
  • Almeno 2 core (4 cores con hyperthreading raccomandati)

 

Se volete utilizzare questa funzionalità all’interno di una macchina virtuale, poiché verrà utilizzato Hyper-V, sarà necessario abilitare la virtualizzazione annidata (nested virtualization) nella VM. A macchina spenta, eseguite il seguente comando nell'host Hyper-V fisico:

 

Set-VMProcessor -VMName <Nome della VM> -ExposeVirtualizationExtensions $true

 

In questo modo viene abilitata la virtualizzazione nidificata per la macchina virtuale.

 

Abilitazione della funzionalità Windows Sandbox

Vi ricordo che  per poter abilitare la funzionalità è necessario che disponiate di Windows 10 Pro oppure Enterprise che sia almeno Build 18305. Attualmente la Build è disponibile solo a chi partecipa al programma Windows Insider.

 

Iscrivetevi al programma Insider dal sito Internet che vi ho segnalato e, dopo aver installato Windows 10 Pro oppure Enterprise sul vostro PC o all’interno di una VM, utilizzate l’app Settings > Update & Security > Windows Insider Program per ricevere le build Insider di Windows 10. Seguite le indicazioni mostrate nelle figure sotto:

 

 

Figura 2: Partecipazione al programma Windows Insider

 

 

 

Figura 3: Inserimento dell'account utilizzato per registrarsi al programma Windows Insider

 

 

 

Figura 4: Scelta della modalità di ricezione delle Build Insider

 

Successivamente vi verrà chiesto di riavviare la macchina.

 

 

Figura 5: Riavvio di Windows 10 per abilitare la funzionalità Insider

 

Assicuratevi di scegliere il canale Fast per ricevere le ultime Build Insider disponibili

 

 

Figura 6: Scelta del canale Fast per ricevere le ultime build Insider disponibili

 

É anche possible scaricare direttamente la ISO della versione Insider utilizzando il link https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewadvanced. Al momento l’ultima build scaricabile direttamente è la Build 18290, come evidenziato nella figura sotto:

 

 

Figura 7: Donwload della ISO di Windows 10 Insider

Procedete all’installazione della ISO di Windows 10 Insider e abilitate il Fast Ring come mostrato prima

 

 

Figura 8: Abilitazione del Fast Ring in WIndows 10 Insider Preview

 

Alla data di stesura del presente articolo è disponibile la Build 18317 per il download da Windows Update. Verificate quindi da Windows Update la presenza di una nuova Build Insider e procedete al relativo download e alla successiva installazione.

 

 

Figura 9: Download della build 18317 nel Windows 10 Insider Fast Ring

 

Abilitazione della funzionalità di Windows Sandbox

Per abilitare la funzionalità è sufficiente andare in Settings > Apps > Programs and Features > Turn Windows Features on or off, quindi selezionare Windows Sandbox come mostrato in figura:

 

 

Figura 10: Abilitazione della funzionalità Windows Sandbox

 

 

 

Figura 11: Riavvio di Windows 10 per completare l'installazione

 

Il sistema di riavvierà un paio di volte, per permettere l’installazione della funzionalità.

 

Terminata l’installazione basterà cercare Windows Sandbox nel menù Start per poter avviare la sandbox.

 

 

Figura 12: Avvio di Windows Sandbox tramite ricerca nel menù Start

 

Semplicemente con Copia-Incolla potrete copiare l’eseguibile dall’host all’interno della Sandbox e poi testarlo, oppure potrete scaricarlo direttamente da Internet.

 

 

Figura 13: Windows Sandbox avviato e funzionante

 

Una volta chiusa la sandbox, tutto ciò che avrete installato e modificato verrà eliminato permanentemente.

 

 

Figura 14: Messaggio di avviso di perdita dati alla chiusura di Windows Sandbox

 

Ho notato che nonostante Hyper-V non sia stato installato (Infatti non risulta presente tra le funzionalità aggiunte), l’hypervisor è avviato nella macchina host. Potete verificarlo semplicemente lanciando il comando Get-Service | findstr vmcompute da un prompt di PowerShell eseguito con privilegi elevati.

 

 

Figura 15: L'Hypervisor è in esecuzione nella macchina host

 

 

Figura 16: Hyper-V non è stato installato

 

La Windows Sandbox riesce a navigare tramite una rete NAT grazie al Default Virtual Switch che viene creatoin Windows 10.

 

 

Figura 17: Windows Sandbox naviga grazie ad una rete NAT creata tramite il Default Virtual Switch

 

 

 

Figura 18: Default Virtual Switch creato nella macchina host

 

Conclusioni

 

Windows Sandbox rappresenta una novità interessante ed utilissima per poter testare le applicazioni senza correre il rischio di infettare il pc con virus o malware. Questo ambiente desktop isolato e temporaneo, che è sempre pulito ogni volta che lo avviamo e che assicura che ogni software installato in Windows Sandbox rimane solo nella sandbox e non può influire sull'host, è un’idea vincente che ci permette di lavorare decisamente in maniera più sicura.

 

Per approfondimenti vi invito a leggere l’articolo https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/Windows-Sandbox/ba-p/301849