如何擦除不活动的进程内存?

How to wipe inactive process memory?

我有 PHP 运行 作为 Debian 上 Apache2 下的一个模块。

当请求到达 Apache 时,我对服务器内存中已有的机密数据执行一些操作。此类数据已被自动覆盖和擦除。

另一方面,这就是重点,因为此类机密数据是在 PHP 脚本下操作的,并且肯定会复制到相关内存中 space,我担心的是确定在 HTTP 响应结束后(以及关联的 PHP/Apache2 进程终止?),绝对没有任何引用,也没有对内存中持久保存的机密数据的值。

可能是一种有效的方法,就是 cleanup/override 经常(作为 cronjob 或在 PHP 脚本结束后)整个非活动内存 space。问题:

1) 是否有 unix 命令或低级库 cleanup/override 所有非活动内存 space ?

2) 如果没有 PHP 进程而只涉及 Apache2 进程,并且由于 Apache2 进程不一定终止,是否有任何命令或库可以清除 "inactive memory" 活动进程?

3) PHP 脚本关闭前使用的 cleanup/override 内存是否有有效的解决方案?

谢谢

我认为安全站点上的这个答案与内存存储有些相关:https://security.stackexchange.com/questions/29019/are-passwords-stored-in-memory-safe

在我看来,不值得为此付出努力。如果用户可以访问脚本使用的内存,那么用户可能可以访问脚本本身,因此可以插入他们想要规避您采取的任何措施的任何代码。这也比从内存中抓取数据要容易得多。假设您管理 OS.

,尽您所能锁定操作系统