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