首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.Net中的数据保护

.Net中的数据保护
EN

Stack Overflow用户
提问于 2018-08-31 02:14:22
回答 2查看 182关注 0票数 0

我从我们的客户那里得到了这个问题,他们说,如果我们复制、粘贴或将数据存储在一个变量中,那么数据就有可能被黑客入侵,黑客可以从RAM中获取数据并在GC处理数据之前使用。

我们通常不处理字符串对象,它存储在堆内存中,并且在GC刷新内存时将由GC收集。

这就是我对GC的看法

托管堆上分配的对象使用的内存超过了可接受的阈值。在进程运行时,将不断调整此阈值。调用GC.Collect方法。几乎在所有情况下,您都不必调用此方法,因为垃圾收集器持续运行。

在GC刷新之前,是否有任何黑客可以进入RAM并从其中读取数据?如果是,那我们如何克服它。

EN

回答 2

Stack Overflow用户

发布于 2018-08-31 03:15:34

如果黑客可以在您的进程中读取内存,则由于GC而导致的对象不可预测的生命周期是您的问题中最小的。任何语言都容易受到这种问题的影响,因为计算机可以有效地操作内存中的所有数据(无论是在可GC的堆中还是在其他地方--C和汇编语言也需要将数据存储在内存中)。

有一些技术(如英特尔SGX)试图克服这个问题,但它也有其优点。从根本上说,只有软件解决方案才能阻止坏人,只要他们能读懂你的记忆。

票数 1
EN

Stack Overflow用户

发布于 2018-08-31 03:37:54

如果攻击者已经能够完全读取进程内存,那么尝试保护内存中的数据是徒劳无益的,这一点我同意。

也就是说,许多攻击者将通过允许不完全访问系统内存子部分的漏洞进行攻击,这意味着使用SecureString仍然具有实用价值。

我建议阅读这个线程来讨论应用程序和限制:我什么时候需要SecureString in .NET?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52107597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档