Ish*_*han 2 c# string memory-dump securestring
我有一个应用程序从Windows窗体文本框中获取一个字符串,并将其传递给使用字符串作为参数的API.我看到任务完成后仍然可以从进程内存中查询字符串.我遇到过SecureString用于字符串内存管理功能的建议.但是,如果我理解正确,如果安全字符串是从字符串构建的,或者安全字符串的值最终存储在字符串中,则字符串的用途就会失败.
请建议什么是最好的解决方案.
SecureString不被认为是安全的.如果你需要这样做,你可以使用a char[]并在完成后覆盖数据,或者你可以使用unsafe代码来覆盖string完成时间(只是...希望它不是实习或共享参考); 注意,这个应用无处不在的调用堆栈.请注意,操作系统可能由于各种原因复制了页面,如果没有非常仔细地分配内存,它甚至可能在磁盘上(交换文件).
但是,到目前为止,内存分析工具是winforms应用程序中的一个因素,使用密钥记录器会更容易,或者只是用扳手来威胁某人获取密码:
