我注意到一些程序在使用后明确将零敏感内存分配.例如,OpenSSL有一种清除RSA密钥占用内存的方法:
"释放RSA结构rsa.此函数应始终用于释放RSA结构,因为它还可以通过首先清除内存来安全地释放子字段."
如果任何(C/C++)程序包含这样的敏感变量,你应该如上所述明确归零内存吗?(或者,将记忆归为妄想或只是保护措施)?
此外,当程序完成时,任何分配的内存最终都会分配给另一个程序.在Linux系统上,是否在分配给另一个程序之前清理或清理了内存?或者,第二个程序可以读取第一个程序的一些旧内存内容吗?