HSM 模块中可能导致加密密钥攻击的漏洞

Ledger(一家生产加密货币硬件钱包的公司)的一组研究人员, 透露 HSM 设备中的多个漏洞(硬件安全模块),可用于提取密钥或进行远程攻击以替换 HSM 设备的固件。 目前正在报告问题 是可用的 仅提供法语版本,计划提供英语报告 发布 2019 月 Blackhat USA XNUMX 会议期间。HSM 是一种专用外部设备,旨在存储用于生成数字签名和数据加密的公钥和私钥。

HSM 可以显着提高安全性,因为它将密钥与系统和应用程序完全隔离,仅提供用于执行在设备端实现的基本加密原语的 API。 通常,HSM 用于需要最高级别安全性的领域,例如银行、加密货币交易所以及用于验证和生成证书和数字签名的证书颁发机构。

所提出的攻击方法允许未经身份验证的用户完全控制 HSM 的内容,包括提取设备上存储的所有加密密钥和管理员凭据。 这些问题是由内部 PKCS#11 命令处理程序中的缓冲区溢出以及加密固件保护实现中的错误引起的,这允许您使用 PKCS#1v1.5 数字签名绕过固件验证并启动加载您自己的固件固件写入 HSM。

作为演示,下载了修改后的固件,其中添加了后门,在后续安装制造商提供的标准固件更新后,后门仍保持活动状态。 据称,该攻击可以远程进行(未说明攻击方式,但很可能意味着更换下载的固件或传输专门颁发的证书进行处理)。

该问题是在对 HSM 中提出的 PKCS#11 命令的内部实现进行模糊测试时发现的。 通过使用标准 SDL 将其模块加载到 HSM 中来组织测试。 结果,在 PKCS#11 的实现中检测到了缓冲区溢出,该漏洞不仅可以从 HSM 的内部环境中利用,还可以通过从计算机的主操作系统访问 PKCS#11 驱动程序来利用。 HSM 模块连接到的位置。

接下来,利用缓冲区溢出在 HSM 端执行代码并覆盖访问参数。 在研究填充过程中,发现了另一个漏洞,该漏洞允许您在没有数字签名的情况下下载新固件。 最终,编写了一个自定义模块并将其加载到 HSM 中,该模块转储存储在 HSM 中的所有机密。

目前尚未披露其 HSM 设备中存在漏洞的制造商名称,但据称有问题的设备被一些大型银行和云服务提供商使用。 据悉,有关问题的信息此前已发送给制造商,他已经在最新的固件更新中消除了该漏洞。 独立研究人员表示,问题可能出在金雅拓的设备上,该设备于 XNUMX 月份推出 发布 Sentinel LDK 更新消除了漏洞,获取的信息仍然存在 已关闭.

来源: opennet.ru

添加评论