Windows Sandbox

Windows Sandbox. La nuova funzionalità di Windows 10

Windows Sandbox la nuova funzionalità messa a punto da Microsoft e dedicata alla sicurezza del sistema operativo. Di cosa si tratta? 
Di un “ambiente desktop temporaneo” all’interno del quale è possibile eseguire software di ogni tipo, anche quelli per i quali si sospetta la presenza di codice malevolo, senza dover temere alcunché per l’incolumità della macchina e per quella dei dati in essa contenuti.

Windows Sandbox  in Win 10

Una sandbox è un ambiente virtuale isolato dal sistema, utile per testare le funzionalità di un programma. In questo caso lo scopo è principalmente relativo la sicurezza, essendo dedicato per le versioni Pro ed Enterprise.

In questo modo è possibile eseguire un applicativo sconosciuto al suo interno senza intaccare in alcun modo il sistema operativo sottostante, utile in ambiente aziendale (e non solo) per evitare infezioni o simili.

Per chi è più esperto nel settore, possiamo definirla una macchina virtuale proprietaria del sistema operativo che viene creata senza l’utilizzo di software terzi. La macchina virtuale partirà con una versione pulita di Windows 10 e all’interno di essa sarà possibile eseguire ogni tipo di software, anche quelli per i quali si sospetta la presenza di codice malevolo, senza dover temere per l’incolumità del computer e dei dati in essa contenuti; una volta chiuso Windows Sandbox non sarà più possibile accedere ai file creati al suo interno.

Come funziona Windows Sandbox

Ad ogni esecuzione ci si troverà di fronte a quella che è a tutti gli effetti paragonabile a una nuova installazione di Windows, pulita e immacolata. Il funzionamento si basa sui Contenitori di Windows e sulla virtualizzazione hardware per l’isolamento del kernel, così da mantenere ciò che accade all’interno di Sandbox separato e indipendente dall’host. Per quanto concerne le performance, saranno garantite dall’utilizzo di quello che Microsoft definisce scheduler integrato, da una gestione intelligente della memoria e da una GPU virtuale. Un’attenzione particolare è stata riservata anche all’ottimizzazione del processo in termini di consumo energetico, immaginandone un suo impiego sui laptop.

Proprietà e requisiti di Windows Sandbox

Sandbox di Windows ha le seguenti proprietà:

  1. Parte di Windows : tutto ciò che è necessario per questa funzionalità è fornito con Windows 10 Pro ed Enterprise. Non c’è bisogno di scaricare un VHD!
  2. Ripristino/incontamintato : ogni volta che viene eseguito Windows Sandbox, è pulito come una nuova installazione di Windows
  3. Monouso – nulla persiste sul dispositivo; tutto viene scartato dopo aver chiuso l’applicazione
  4. Sicuro : utilizza la virtualizzazione basata sull’hardware per l’isolamento del kernel, che si basa sull’hypervisor di Microsoft per eseguire un kernel separato che isola Sandbox di Windows dall’host
  5. Efficiente : utilizza lo scheduler del kernel integrato, la gestione intelligente della memoria e la GPU virtuale

Prerequisiti per l’utilizzo della funzione

  1. Windows 10 Pro o Enterprise Insider build 18305 o successivo
  2. Architettura AMD64
  3. Funzionalità di virtualizzazione abilitate nel BIOS
  4. Almeno 4 GB di RAM (consigliati 8 GB)
  5. Almeno 1 GB di spazio libero su disco (consigliato SSD)
  6. Almeno 2 core CPU (4 core con hyperthreading consigliati)

Come funziona Windows Sandbox

La funzionalità non è attiva di default, per attivarla è necessario procedere in questo modo.

  1. Prima di tutto occorre avere installato Windows 10 Pro o Enterprise, Insider build 18305 o più recente.
  2.  Abilita la virtualizzazione: -Se si utilizza una macchina fisica, assicurarsi che le funzionalità di virtualizzazione siano abilitate nel BIOS. – Se si sta utilizzando una macchina virtuale, abilitare la virtualizzazione nidificata con questo cmdlet di PowerShell:
    Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $ true
  3. Apri le funzionalità di Windows, quindi seleziona Sandbox di Windows. Seleziona OK per installare Sandbox di Windows. Potrebbe essere richiesto di riavviare il computer.

4. Usando il menu Start , trova Sandbox di Windows, eseguilo e consenti l’elevazione
5. Copia un file eseguibile dall’host
6. Incolla il file eseguibile nella finestra di Sandbox di Windows (sul desktop di Windows)
7. Esegui l’eseguibile nella sandbox di Windows; se si tratta di un programma di installazione, procedere e installarlo
8. Esegui l’applicazione e usala come al solito
9. Quando hai finito di sperimentare, puoi semplicemente chiudere l’applicazione Sandbox di Windows. Tutti i contenuti sandbox verranno eliminati e cancellati definitivamente.
10.Confermare che l’host non ha nessuna delle modifiche apportate in Sandbox di Windows.

Sandbox di Windows rispetta le impostazioni dei dati diagnostici dell’ospite. Tutte le altre impostazioni sulla privacy sono impostate sui loro valori predefiniti

Caratteristiche Windows Sandbox

Ora non ci resta che andare a vedere cosa c’è sotto il cofano di Windows Sandbox. 

Sandbox di Windows si basa sulle tecnologie utilizzate all’interno di Windows Container . I contenitori di Windows sono stati progettati per essere eseguiti nel cloud. Tecnologia aggiunta con l’integrazione di Windows 10 e sviluppata in modo che lo rendono più adatto per l’esecuzione su dispositivi e laptop senza richiedere la piena potenza di Windows Server.

Immagine generata dinamicamente

Al suo centro di base Sandbox di Windows è una macchina virtuale leggera, quindi ha bisogno di un’immagine del sistema operativo da cui avviare. Uno dei miglioramenti chiave apportati a Sandbox di Windows è la possibilità di utilizzare una copia di Windows 10 installata sul computer, anziché scaricare una nuova immagine VHD come si farebbe con una normale macchina virtuale.

La soluzione adottata da windows  è costruire ciò che chiamiamo “immagine di base dinamica”: un’immagine di un sistema operativo che ha copie pulite di file che possono essere modificati, ma collegamenti a file che non possono essere modificati nell’immagine Windows già esistente sull’host. La maggior parte dei file sono collegamenti (file immutabili) ed è per questo che le dimensioni ridotte (~ 100 MB) per un sistema operativo completo. 

Quando Sandbox di Windows non è installato,  Windows mantiene l’immagine di base dinamica in un pacchetto compresso che è solo 25 MB. Quando viene installato il pacchetto base dinamico occupa circa 100 MB di spazio su disco.

Gestione intelligente della memoria

La gestione della memoria è un’altra area in cui è integrato il kernel di Windows. L’hypervisor di Microsoft consente di scolpire una singola macchina fisica in più macchine virtuali che condividono lo stesso hardware fisico. Sebbene questo approccio funzioni bene per i carichi di lavoro dei server tradizionali, non è adatto per l’esecuzione di dispositivi con risorse più limitate. La Sandbox di Windows è configurata in modo tale che l’host possa recuperare memoria dalla Sandbox  stessa se necessario.

Inoltre, poiché Sandbox di Windows sta fondamentalmente eseguendo la stessa immagine del sistema operativo dell’host, è consentito a Sandbox di Windows di utilizzare le stesse pagine di memoria fisica dell’host per i file binari del sistema operativo tramite la tecnologia  “mappa diretta”. In altre parole, le stesse pagine eseguibili di ntdll sono mappate nella sandbox come quella sull’host. 

Scheduler del kernel integrato

Con le normali macchine virtuali, l’hypervisor di Microsoft controlla la pianificazione dei processori virtuali in esecuzione nelle VM. Tuttavia, per Sandbox di Windows è utilizzato una nuova tecnologia chiamata “scheduler integrato” che consente all’host di decidere quando viene eseguita la sandbox. 

Per Sandbox di Windows è utilizzato un criterio di pianificazione univoco che consente di pianificare i processori virtuali della sandbox nello stesso modo in cui i thread sarebbero pianificati per un processo. Attività ad alta priorità sull’host possono prevenire attività meno importanti nella sandbox. Il vantaggio dell’utilizzo dello scheduler integrato è che l’host gestisce Sandbox di Windows come un processo piuttosto che una macchina virtuale che si traduce in un host molto più reattivo, simile a KVM Linux .

L’obiettivo  è trattare la Sandbox come un’app ma con le garanzie di sicurezza di una Macchina Virtuale. 

Istantanea e clone

Come indicato sopra, Sandbox di Windows utilizza l’hypervisor di Microsoft. Si sta essenzialmente eseguendo un’altra copia di Windows che deve essere avviata e questo può richiedere del tempo. Quindi, piuttosto che pagare l’intero costo di avvio del sistema operativo sandbox ad ogni avvio di Sandbox di Windows, vengono utilizzate altre due tecnologie; “Istantanea” e “clone”.

L’istantanea  consente di avviare l’ambiente sandbox una volta e di conservare la memoria, la CPU e lo stato del dispositivo sul disco. Quindi possiamo ripristinare l’ambiente sandbox dal disco e metterlo in memoria piuttosto che avviarlo, quando abbiamo bisogno di una nuova istanza di Sandbox di Windows. Ciò migliora significativamente l’ora di avvio di Sandbox di Windows. 

Virtualizzazione grafica

Il rendering con accelerazione hardware è la chiave per un’esperienza utente fluida e reattiva, in particolare per casi di utilizzo intensi o pesanti per la grafica. Tuttavia, le macchine virtuali sono isolate dai loro host e non sono in grado di accedere a dispositivi avanzati come le GPU. Il ruolo delle tecnologie di virtualizzazione grafica, quindi, è quello di colmare questa lacuna e fornire l’accelerazione hardware negli ambienti virtualizzati; ad esempio Microsoft RemoteFX .

Più recentemente, Microsoft ha collaborato con partner dell’ecosistema grafico per integrare le moderne funzionalità di virtualizzazione grafica direttamente in DirectX e WDDM, il modello di driver utilizzato dai driver di visualizzazione su Windows.

Ad un alto livello, questa forma di virtualizzazione grafica funziona come segue:

  1. Le app in esecuzione in una VM Hyper-V utilizzano le API della grafica normalmente.
  2. I componenti grafici nella VM, che sono stati illuminati per supportare la virtualizzazione, si coordinano attraverso il confine della VM con l’host per l’esecuzione di carichi di lavoro grafici.
  3. L’host assegna e pianifica le risorse grafiche tra le app nella VM accanto alle app eseguite in modo nativo. Concettualmente si comportano come un pool di client grafici.

Ciò consente alla VM di Windows Sandbox di beneficiare del rendering accelerato hardware, con Windows che assegna dinamicamente le risorse grafiche dove sono necessarie attraverso l’host e il guest. Il risultato è un miglioramento delle prestazioni e della reattività per le app in esecuzione su Sandbox di Windows, oltre a una maggiore durata della batteria per casi di utilizzo con grafica eccessiva.

Per approfittare di questi vantaggi, avrai bisogno di un sistema con GPU e driver grafici compatibili (WDDM 2.5 o successivi). Sistemi incompatibili renderanno le app in Sandbox di Windows con la tecnologia di rendering basata sulla CPU di Microsoft.

Pass-through della batteria

Windows Sandbox è inoltre a conoscenza dello stato della batteria dell’host, che consente di ottimizzare il consumo energetico. Questo è fondamentale per una tecnologia che verrà utilizzata sui laptop, dove non sprecare la batteria è importante per l’utente.

 

Conclusione

Abbiamo appena visto con dettaglio la nuova funzionalità di windows. 

Per maggiori approfondimenti trovi qui il link.

Autore Bartolomeo

Mi chiamo Bartolomeo Alberico, sono un consulente tecnico con la passione per il web e la tecnologia e tutto quello che le ronza intorno.
Nel tempo libero scrivo articoli per il mio blog su argomenti vari, in particolare su WordPress e SEO.

Condividi questo articolo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Ho letto la policy privacy e accetto il trattamento dei miei dati personali in conformità al D.Lgs. 196/2003