Il file di paging è una porzione del disco fisso dedicata all'uso della memoria virtuale. La memoria virtuale (VMM) consente di assegnare ai programmi e far credere loro di avere più memoria di quella fisica (RAM) installata sulla macchina.
Il funzionamento della VMM che sfrutta il file di paginazione è veramente ingegnoso, in pratica il sistema della memoria virtuale monitora la RAM e controlla i programmi che hanno celle di memoria allocate ma non usate, in altre parole programmi in esecuzione ma non attivi, non usati, in questo caso alloca i dati fermi sulla RAM sul disco fisso (nel file di paging), liberando così memoria e rendendola disponibile ai programmi che ne fanno richiesta.
Davvero bella questa memoria virtuale, però mentre la RAM è volatile e cancella tutti i suoi dati, i dati sul disco fisso invece persistono allo spegnimento, questo correlato al funzionamento del file di paging può portare ad un potenziale problema di sicurezza. La situazione si aggrava se il file di paging non viene cancellato durante lo spegnimento.
Andiamo a scoprire quali vantaggi e quali svantaggi comporta la cancellazione o meno del file di paging.
L'operazione della memoria virtuale che sposta i dati sul file di paging viene detta swapping (infatti si sente chiamarlo spesso come file di swap o file di swapping). Molte volte mi è capitato di leggere e sentire trucchi e suggerimenti che invitano a non sovrascrivere con degli zero il file di paging durante l'arresto del sistema, col fine di aumentare la velocità di spegnimento del sistema il quale ovviamente non viene impegnato in detta operzione di sovrascrittura.
Questo è sicuramente vero, evitare di cancellare il file di paging allo spegnimento aumenta sicuramente la velocità di arresto, per ottenere ciò, dobbiamo agire sul registro di sistema cambiando il valore della seguente chiave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Adesso dobbiamo cambiare il valore della chiave "ClearPageFileAtShutdown" facendogli doppio click di sopra, a questo punto vi si apre la finestra che vedete in figura, impostate il valore ad "1" per sovrascrivere con degli zeri il file di paging durante lo spegnimento, o mettete "0" per evitarlo ed aumentare la velocità di arresto, riaviare il sistema per rendere effettive le modifiche.
Non cancellare il file di paging quindi aumenta le performance del nostro sistema permettendogli di arrestarsi più velocemente, questo però potrebbe compromettere la nostra sicurezza? Come? Supponiamo che un programma che è in esecuzione sul nostro PC stia trattando dei dati sensibili, quali password, dati di carte di credito e simili, se la gestione della memoria virtuale accantona questi dati dalla RAM al file di paging e questo non viene azzerato allo spegnimento del PC, ci ritroviamo con password e dati non crittografati sul disco fisso.
Certo accedere il lettura al file di paging con il sistema operativo in esecuzione non è possibile, però nel caso in cui si accede al disco caricandolo da un'altro sistema allora il problema di sicurezza delle nostre informazioni da potenziale diventa reale.
La velocità con cui il file di paging viene cancellato dipende molto dall'hardware della macchina, la sceltà però di orientarsi verso la sicurezza o la velocità dovrebbe essere dettata di più dall'importanza delle informazioni che i nostri programmi trattano.
A mio avviso, anche visto e considerato le prestazioni dei moderni computer, sceglire di settare ad 1 la chiave del registro Memory Management per cancellare il file di paging è la soluzione da preferire.
Chiunque voglia aggiungere qualcosa in merito all'argomento, porre una domanda o dare un suggerimento, ogni commento è ben accetto.