Le macchine virtuali sono senza dubbio uno degli strumenti migliori per evitare di applicare modifiche sul sistema ospitante (host). L’uso delle cosiddette istantanee, poi, aiuta a recuperare una precedente configurazione della macchina virtuale in modo da annullare rapidamente le modifiche applicate: Virtualbox: come utilizzare le istantanee per creare un ambiente di test.
Se non si volesse ricorrere all’utilizzo delle macchine virtuali o, in Windows 10, usare la nuova sandbox (vedere Windows Sandbox, come funziona lo strumento per isolare qualunque programma), è interessante sapere che il sistema operativo Microsoft integra “di serie” una funzionalità chiamata UWF (Unified Write Filter).
Si tratta di un componente software che attiva la protezione da scrittura su hard disk e unità SSD: tutti i tentativi di scrittura posti in essere, per esempio, dalle applicazioni installate vengono soddisfatti ma i dati vengono automaticamente salvati in un’area protetta. Al riavvio della macchina tutte le informazioni scritte sulle unità di memorizzazione mentre UWF risultava abilitato vengono automaticamente perse.
UWF non è integrato solo nelle edizioni Enterprise ed Education di Windows 10 è attivabile ma anche nell’edizione Pro del sistema operativo.
Prima di usare UWF, che è comunque da intendersi come un componente software progettato per professionisti, sviluppatori e tester, suggeriamo di effettuare delle prove esclusivamente su PC non usati per scopi lavorativi.
Windows 10, installare UWF per l’attivazione della protezione da scrittura sulle unità di memorizzazione
Installare e configurare UWF su una macchina Windows 10 è piuttosto semplice. È possibile seguire alternativamente una delle tre strade proposte di seguito:
1) Premere la combinazione di tasti Windows+R
quindi digitare optionalfeatures
e premere Invio.
Fare clic sul Blocco dispositivo quindi sulla voce Filtro scrittura unificato. Per avviare l’installazione automatica di UWF premere il pulsante OK.
2) Aprire il prompt dei comandi con i diritti di amministratore (scrivere cmd
nella casella di ricerca di Windows 10 quindi premere la combinazione di tasti CTRL+MAIUSC+INVIO
.
Digitare poi il comando dism /online /enable-feature /FeatureName:client-DeviceLockdown /FeatureName:client-UnifiedWriteFilter
3) Aprire Windows PowerShell con i diritti di amministratore (Windows+X
, scegliere Windows PowerShell (amministratore)) quindi digitare Enable-WindowsOptionalFeature -Online -FeatureName "Client-UnifiedWriteFilter" -All
.
Come proteggere da scrittura l’unità contenente Windows 10
A questo punto, una volta installato UWF sulla macchina Windows 10, è possibile proteggere da scrittura l’unità del sistema operativo (supponiamo sia C:) ma è ovviamente possibile proteggere anche altre unità contraddistinte da lettere identificative diverse.
Per procedere in tal senso, basta aprire il prompt dei comandi o PowerShell con i diritti di amministratore, esattamente come visto in precedenza, quindi scegliere dove deve essere creato il cosiddetto overlay ossia l’area in cui verranno temporaneamente salvate le modifiche in scrittura richieste da applicazioni e sistema operativo. Si può scegliere la RAM o il disco fisso:
uwfmgr overlay set-type RAM
uwfmgr overlay set-type Disk
Per usare la RAM bisognerà poter contare su un PC dotato di una buona dotazione di memoria volatile.
Il comando seguente consente di definire quanta memoria (volatile o non volatile) destinare all’overlay:
Supponendo di aver scelto Disk, il comando destinerà 20 GB di spazio su disco (o unità SSD) per annotare temporaneamente le modifiche in scrittura sul sistema in uso (il valore 20480 deriva dalla semplice moltiplicazione 1024 MB x 20; vedere Hard disk e SSD, le dimensioni non coincidono con quelle dichiarate dal produttore).
I seguenti comandi, infine, permettono di ricevere un avviso allorquando lo spazio destinato all’overlay dovesse iniziare a scarseggiare:
uwfmgr overlay set-warningthreshold 512
uwfmgr overlay set-criticalthreshold 1024
Va tenuto ben presente che quando tutto l’overlay risultasse pieno, il sistema inizierà ad essere instabile quindi non sarà in grado di funzionare o si riavvierà.
I comandi seguenti sono opzionali e permettono di attivare eventualmente delle esclusioni ovvero permettere operazioni di scrittura definitive su alcune aree del file system e del registro di sistema (fonte: documentazione Microsoft):
uwfmgr file add-exclusion "C:\test"
uwfmgr file add-exclusion "C:\Program Files\Windows Defender"
uwfmgr file add-exclusion "C:\ProgramData\Microsoft\Windows Defender"
uwfmgr file add-exclusion "C:\Windows\WindowsUpdate.log"
uwfmgr registry add-exclusion "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender"
uwfmgr registry add-exclusion HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WdBoot
uwfmgr registry add-exclusion HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WdFilter
uwfmgr registry add-exclusion HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WdNisSvc
uwfmgr registry add-exclusion HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WdNisDrv
uwfmgr registry add-exclusion HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinDefend
A questo punto, per attivare la protezione da scrittura sull’unità C: del sistema Windows 10, sarà sufficiente impartire i seguenti comandi:
uwfmgr volume protect C:
uwfmgr filter enable
Banalmente, per interrompere la protezione da scrittura e applicare modifiche “definitive” sulla macchina, si dovrà impartire il comando uwfmgr filter disable
. Una volta applicati gli interventi desiderati, si dovrà usare di nuovo il comando uwfmgr filter enable
sempre da finestra del prompt dei comandi o di PowerShell aperta con i diritti amministrativi.
La configurazione di UWF è verificabile in qualunque momento usando il comando uwfmgr get-config
.
Da ultimo è opportuno ricordare che sui sistemi protetti da scrittura con UWF, per installare gli aggiornamenti Microsoft attraverso Windows Update è fondamentale usare la seguente sintassi quindi riavviare la macchina:
Dopo il riavvio, gli aggiornamenti saranno automaticamente scaricati e installati quindi il sistema sarà di nuovo riavviato.
Maggiori informazioni sulle opzioni da usare con il comando uwfmgr
sono disponibili in questo documento di supporto Microsoft.