sha*_*oth 7 c++ security winapi
WinAPI中有一个SecureZeroMemory()函数,用于在不再需要缓冲区时擦除用于存储密码/加密密钥/类似内容的内存.它与ZeroMemory()的不同之处在于它的调用不会被编译器优化掉.
是否真的有必要擦除用于存储敏感数据的内存?它真的能使应用程序更安全吗?
我知道数据可以写入交换文件或休眠文件,其他进程可能会读取我程序的内存.但是当数据仍在使用时,同样可能发生.为什么使用,然后擦除比使用更好?
Meh*_*ari 10
确实如此.例如,休眠文件未加密.如果你没有安全地清除内存,你可能会遇到麻烦.不过,这只是一个例子.只要需要,你应该始终在内存中保存秘密内容.
它存在是有原因的.:)如果将敏感数据保留在内存中,则其他进程可能会读取它.
当然,在您的应用程序中,密码或其他安全数据可能不是那么重要,需要这样做.但在某些应用程序中,恶意代码不仅可以窥探您的密码或信用卡号或应用程序使用的任何其他数据,这一点至关重要.
| 归档时间: |
|
| 查看次数: |
2347 次 |
| 最近记录: |