Возвращаясь к вопросу безопасности данных, находящихся в оперативной памяти, столкнулся с необходимостью организации автоматической очистки файла подкачки в Windows. При выключении компьютера, данные в его памяти (RAM) автоматически очищаются, однако по-умолчанию данные из файла подкачки pagefile.sys не удаляются. При работе системы часть конфиденциальных данных или пароли сторонних приложений из памяти могут попасть в файл подкачки pagefile.sys на жестком диске (например, при нехватке физической памяти или при вытеснении данных неактивных приложений). И хотя в процессе работы системы файл подкачки доступен монопольно только для самой Windows, в том случае если компьютер выключить, то потенциально злоумышленник при наличии доступа к диску может скопировать файл подкачки и извлечь из него конфиденциальные данные.
Таким образом, было бы логично очищать при выключении (или перезагрузке) Windows. По умолчанию эта функций отключена.
Включить функцию автоматической очистки файла подкачки при перезагрузке можно через групповую политику либо через реестр.
В первом случае, нужно открыть консоль редактора групповых политик (локальный gpedit.msc или доменный gpmc.msc) и перейти в раздел Computer Configuration->Windows Settings -> Security Settings -> Local Policies -> Security Options . В левой панели найдите политику Shutdown: Clear virtual memory pagefile и включите ее ( Enabled ).
Также можно включить очистку виртуальной памяти через реестр. Для этого откройте редактор regedit.exe и перейдите в ветку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management . Создайте новый DWORD параметр с именем ClearPageFileAtShutdown и значением 1 (или если он уже существует, просто измените его значение).
Либо можно изменить значение ключа реестра командой Powershell :
Set-ItemProperty -Path 'HKLM:SYSTEMCurrentControlSetControlSession ManagerMemory Management' -Name ClearPageFileAtShutdown -Value 1
Чтобы изменения вступили в силу, нужно перезагрузить Windows.
При следующем выключении ОС, система очищает файл pagefile.sys, перезаписывая его нулями. В зависимости от размера файла подкачки это может существенно увеличить время выключения (перезагрузки) системы на 10-30 минут. Кроме того, при включении данной политики также выполняется обнуление и файла режима гибернации hiberfil.sys (если отключен спящий режим). Теперь восстановить данные из файла подкачки практически невозможно.