Em uma versão upstream atual do kernel do Linux, ele forçará a devolução das páginas, mas parecerá deixar cópias na troca.
Acredito que a maioria dos sistemas BSD e outros sistemas UNIX se comportam de maneira semelhante, embora não tenham certeza sobre o Windows.
Atrasar a gravação de qualquer coisa até que mlock () seja chamado impedirá que os dados sejam trocados, mas não pode garantir que os dados não sejam gravados no disco, a menos que a hibernação mediada por ACPI S4 e SO não seja possível e você não esteja em uma VM (se você estiver em uma VM, você pode estar sob um hypervisor tipo 1 e, portanto, estar sujeito às restrições de memória virtual do sistema host, que você não pode controlar).
Como resultado, a mitigação adequada envolve:
- Manipulação no nível do aplicativo para evitar que dados confidenciais residam na RAM por mais tempo do que o necessário, mesmo se a região estiver bloqueada.
- Manipulação no nível do sistema para desabilitar o ACPI S4 (geralmente necessário apenas em sistemas OEM), impedir a hibernação mediada pelo sistema operacional e garantir a confiança no sistema host se estiver em execução em uma VM.