CVE-2015-5464 分析第一部分:Safenet HSM 键提取漏洞

华盟原创文章投稿奖励计划

CVE-2015-5464 分析第一部分:Safenet HSM 键提取漏洞
 

  我们发现了这个”键提取“漏洞,并将其报告给了Safenet,公司将这个漏洞编号定为CVE-2015-5464。我们在这一系列的文章中,会对这个键提取漏洞进行详细和深入的介绍。

  PKCS#11

  Safenet HSM是基于PKCS#11(公钥加密标准)规范的。实际上,这个加密标准可以通过一个一致的软件接口,从而提升加密硬件之间协同工作的能力。假设你现在需要开发一个类似于比特币钱包的加密程序,而且还需要这个加密程序能够与设备的内部硬件进行协同工作,你可以想象一下,如果每一种设备都需要使用一个不同的API接口,那么这一切实现起来将会有多么大的困难。当然了,设备之间存在细微的差别也是很正常的:某些设备是通过USB进行连接的,而有的设备却是通过TCP/IP进行通信的,每一种设备都会需要不同的设备驱动程序,就像很多不同品牌的打印机一样。与这样的机制相反,PKCS#11能够提供一个层次更高的着手点,这些设备间的区别能够在一个统一的API之中进行抽象化处理,供应商所提供的PKCS#11模块会将不同品牌设备中的每一个功能转译成为相对应的命令。

  PKCS#11是一个拥有大量API接口的复杂标准,而且还提供了许多加密操作,这种机制可以给用户提供加密以及生成随机数等功能。Safenet漏洞涉及到键提取机制。它可以用于创建一个密码键,这个密码键可以提供其他键的功能。如果设计恰当,键提取机制可以在我们想要保护隐私数据和秘密信息时提供很大的帮助。即便是这些键被攻击者获取到了,用户的损失也是很小的。但是,如果设计不当,这些键将会直接与数据源产生某种联系,并有可能泄漏其中的私密数据。

  有的选项还是不要采用为好

  Safenet所采用的键提取机制是定义在PKCS#11规范中的,而事实证明,这种键提取机制是存在漏洞的(为了让大家了解Safenet所有支持的功能,我们在此给出了一份选项列表,这些功能均来自于Safenet的客户端程序)。其中,大多数功能都是功能完善的,只有少数几个功能存在问题。例如,使用异或处理来进行密钥位切换,以及利用某些加密算法来执行相关操作等。

  相关键的密码分析可以专门用于进行此类攻击。研究证明,对于Safenet HSM来说,我们并不需要对密码分析的结果进行深入的研究。我们有至少两种机制可以利用,并破坏其相应算法:Extract-key-from-key 以及XOR-base-and-data。

  Slicing和dicing的秘密

  PKCS#11在2.30版本中定义了Extract-key-from-key。它也许已经被重命名为“extract-substring”了,用以模拟字符串的标准操作。这种提取模式会从一个现有的键中提取出一串连续的位序列,并根据所需的偏移量和长度对其进行处理,从而生成一个新的键。下面,我们会通过一步一步的实际操作来来给大家演示Safenet的ckdemo utility。

  首先,我们从一个已经存在的256位AES密钥开始(AES,即高级加密标准,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,目前已经被多方分析且广为全世界所使用),处理对象为#37。下面是其PKCS#11的相关属性:

CVE-2015-5464

  原始AES密钥的PKCS#11属性

  请注意,CKA_VALUE_LEN属性值为十六进制数0x20,这个值已经根据256位AES密钥而转化成了相应的32字节长度了。因为处理对象是敏感数据,所以这些字节所组成的键是不会显示出来的。但是我们可以使用键提取机制来从原始键中提取出一个长度为两字节的子键。我们选择使用Extract-key-from-key机制,然后从最有实际意义的数值位开始,并提取长度为两字节的数据:

CVE-2015-5464

  使用Extract-key-from-key机制来进行提取

  现在,我们可以查看提取出来的键属性。特别需要注意的是,键的长度为两个字节:

CVE-2015-5464

  提取出来的键的PKCS#11属性

  那么,我们可以使用这长度为两字节的键来做什么呢?也许对其进行暴力破解并不会非常的困难。Safenet的HMAC支持任意长度的键,所以我们可以选择相应的数据:

CVE-2015-5464

  使用提取的键,并进行选择明文攻击

  鉴于这样的机制,那么攻击就非常的容易了:暴力破解短键,并尝试所有可能的信息组合。在实验条件下,我们从下面的操作中得到了0x5CD3:

以下是代码片段:

本文原创,作者:华盟君,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/21657.html