科学家设计的密码攻击有朝一日可能窃取秘密比特币密钥

科学家揭露了保护比特币的密码系统中以前未知的弱点,他们设计了一种攻击,当黑客在处理比特币的同一台计算机上运行甚至是未经授权的软件时,这种攻击可以窃取大量数字货币。

周三发表的一篇学术论文中阐述的这项技术不会对比特币用户构成直接威胁。成功的黑客依赖于窃贼能够访问处理目标比特币的同一台英特尔制造的处理器。这一要求意味着,几乎可以肯定的是,同一攻击者窃取数字硬币的方式会更加简单。尽管如此,这项研究还是有意义的,因为它不仅暴露了密钥比特币算法中的微妙密码弱点,而且暴露了在OpenSSL中的微妙密码弱点,OpenSSL是一个广泛使用的代码库,它在互联网上实现了核心密码保护。

攻击依赖于 side channel analysis,攻击者根据电磁辐射、数据缓存或目标加密系统的其他表现形式泄露的线索提取秘密解密密钥。在这种情况下,当CPU使用数字货币进行交易时,加密者可以通过对CPU进行微小测量来获取控制比特币所需的私钥。具体而言,当Intel处理器执行少至200个签名时,通过观察其最后一级( L3 ) CPU缓存,攻击者在许多情况下拥有足够的数据来完全重建取得所有权所需的密钥。攻击利用了OpenSSL基于比特币中被称为secp265 k1的特定曲线实现椭圆曲线数字签名算法( ECDSA )的方式。研究人员写道:

我们用很少的签名以很高的概率恢复密钥来说明攻击的有效性。之后,我们可以在隐藏的密钥下伪造无限制的签名。这一攻击的结果并不局限于ECDSA,而是对使用OpenSSL实现的许多其他加密协议有所影响,对于这些协议,标量乘法是使用滑动窗口执行的,标量旨在保持秘密。

进一步准备用于从同一服务器上的其他虚拟机窃取加密密钥的虚拟机。该发现构建了2012年出现的攻击,该攻击穿透了在诸如Amazon s EC2服务等云环境中发现的密钥防御。科学家利用旁通道分析,设计出一种虚拟机,当两者在同一硬件上运行时,提取存储在单独虚拟机上的私有密码密钥。这是对虚拟化多核服务器成功进行边通道攻击的第一次演示。

比特币攻击在很多方面受到限制。只有当私钥与攻击者使用专门设计的间谍程序监视的同一CPU交互时,它才成功。此外,研究人员编制了自己的OpenSSL版本,其中包含调试符号,这些符号映射了特定源代码行与其在计算机内存中各自位置之间的关系。现实世界的攻击者不会有这种好处。相反,他们将不得不经历相当费力的OpenSSL库逆向工程过程。

限制成功机会的另一个缓解措施:大多数大型云提供商使用高度定制的虚拟化环境,旨在防止数据泄漏。

尽管如此,这项研究是一种创造性和技术上优雅的方法,已经引起了学术和生产环境中密码学家的注意。安全启动PrivateCore的联合创始人兼首席技术官Steve Weis在一封电子邮件中写道:“

攻击不需要大量样本,只要有200个签名就可以获得合理的成功”。他在这里编制了一份正在进行的旁道攻击索引。过去的旁道攻击需要更多的样本来提取关键材料。

同样重要的是,比特币代码库中使用的特定椭圆曲线暴露了边通道漏洞,工程师和密码学家普遍尊重这一漏洞,因为它具有强大的安全性。Weis说:“

这很重要,因为有一个实际的用户群依赖secp256 k1”。阿德莱德大学计算机科学学院的研究助理、论文作者之一尤瓦尔·雅鲁同意这一观点。

应该注意的是,不管Intel处理器的弱点如何,加密演算法都不应该泄露资讯,他在一封电子邮件中写道。因此,我们可以从OpenSSL实现中获取数据的事实是OpenSSL的一个弱点,应该得到修复。

本文为OpenSSL中的封孔提供了指导。尽管袭击不太可能立即威胁到我们呃他们还可以采取预防措施。一是限制使用私钥对比特币交易进行数字签名的次数。人们可以通过创建一个钱包链并将比特币从一个钱包转移到另一个钱包来减少由单个私钥执行的签名操作的数量。的确,专家们早就建议比特币钥匙只能使用一次,但这一建议经常被忽视。雅鲁姆说,另一项措施是避免使用Intel处理器,因为攻击对AMD制造的现代CPU不起作用。

目前,读者应该认为这项研究是重要的一步,因为它为比特币和OpenSSL的安全带来了新的光明,而不是威胁他们的数字钱包。社会和科学系统首席安全工程师肯尼斯·怀特告诉Ars说:「这是一项重要的研究发现,它增加了我们对利用加密系统的软件实现而非底层加密本身的新的旁通道攻击的了解。」虽然这是一项重要发现,但建议不要在公共云虚拟机上存储敏感数据还不够。在我们的安全威胁模型和风险态势中,除L3 CPU缓存泄漏之外,当然还有足够多的其他引人注目的攻击媒介来区分优先级。

Copyright © 2017 真正的pk10高手 版权所有