首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在零日前减轻心脏出血

如何在零日前减轻心脏出血
EN

Security用户
提问于 2015-11-05 03:54:46
回答 3查看 249关注 0票数 5

每当在服务器上使用诸如密码之类的敏感数据时,它就会在内存中驻留很短的时间。考虑到像“心脏出血”这样的安全漏洞,有能力为它们的内容“出血”记忆,在零日之前,这种攻击存在什么样的先发制人防御?

是否有在使用后清除“敏感”内存的方法,以便例如,密码不会停留在可能的缓冲区溢出可以访问的内存区域(甚至已释放)?

EN

回答 3

Security用户

回答已采纳

发布于 2015-11-05 05:55:26

心脏出血的主要问题不是还在内存中的未使用的秘密数据,而是内存中包含正在使用的秘密数据。这些是来自并行请求的数据,但更重要的是,建立SSL握手所需的是证书的私钥。

防止这种攻击的一种典型技术是特权分离。在SSL握手的情况下,这可能是使用一个HSM,它可以加密/签名,但从不使密钥可访问。它可以是一个进程级的分离,例如OpenSSH使用的。或者,临界计算甚至可以由另一个由另一方控制的计算机系统发出,就像使用Cloudflare无密钥SSL一样。

票数 7
EN

Security用户

发布于 2015-11-05 04:36:13

绝对一点儿没错。几十年来,在C/C++中,清除关键数据的内存一直很普遍。.NET甚至提供了一个SecureString类,记录为:

表示应保密的文本,例如在不再需要时从计算机内存中删除该文本。

但是数据通常需要在某个时间点在内存中的明文中,所以没有一个解决方案是完美的。

票数 0
EN

Security用户

发布于 2015-11-08 08:50:52

非常安全的ftp使用的方法是通过API处理字符串和缓冲区的使用。这并不是完全删除数据(您的问题建议的选项),但这是解决问题的一种方法。

https://security.appspot.com/vsftpd/IMPLEMENTATION.txt

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

https://security.stackexchange.com/questions/104667

复制
相关文章

相似问题

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