他们发现了一种通过分析 SSH 连接来重新创建 RSA 密钥的方法

漏洞

如果被利用,这些漏洞可能允许攻击者未经授权访问敏感信息或通常会导致问题

几天前,有消息称,加州大学圣地亚哥分校的一个研究团队已经证明,他们能够通过被动分析SSH 流量,SSH服务器重建RSA主机私钥。

发表的研究 节目 何时 使用数字签名 基于 算法 SSH 中的 RSA,将它们联系在一起使用格子方法 (故障攻击)  重新创建 la 谱号 私有RSA 适当 数字签名在 案件 de 泄漏 de 软件 或签名计算过程中的硬件。 这 本质 该方法的 al 比较 正确和错误的 RSA 数字签名,您可以 确定 最大的共同点 分离器,从而生成 UNO 使用的素数 产生 la 谱号.

RSA加密基于大数的求幂运算,而公钥则包含模数和次数。 该模块由两个随机素数组成,只有私钥的所有者知道。 该攻击可以应用于使用中国剩余定理和确定性填充方案(例如 PKCS#1 v1.5)的 RSA 实现。

攻击者可以对服务器发起攻击,在建立 SSH 连接时,由于多种因素或攻击者的操作,导致数字签名计算过程中出现错误。这些错误可能与软件相关(数学运算执行错误、内存损坏),也可能与硬件相关(NVRAM 和 DRAM 操作错误,或断电期间发生故障)。

一种诱发故障的方法是利用 RowHammer 攻击,这种攻击允许在对相邻内存单元进行密集循环读取时篡改单个内存位,攻击方式可以是远程的,也可以是通过在浏览器中处理 JavaScript 代码来实现的。另一种诱发故障的方法是利用漏洞,这些漏洞会导致缓冲区溢出和涉及内存键的数据损坏。

要实施攻击,只需被动监控与 SSH 服务器的合法连接,直到在流量中发现错误的数字签名。然后,可以利用该签名重建 RSA 私钥。重建主机的 RSA 密钥后,攻击者可以使用中间人攻击 (MITM) 将请求静默重定向到伪装成被入侵 SSH 服务器的虚假主机,并拦截传输到该主机的数据。

通过检查截获的网络数据集(其中包括大约 5200 亿条与 SSH 协议使用相关的记录),研究人员确定了 SSH 会话协商期间使用的大约 3200 亿条公共主机密钥和数字签名。 其中,1.200 亿(39,1%)是使用 RSA 算法生成的。

研究小组提到:

在 593671 个案例(0,048%)中,RSA 签名被损坏且无法验证,而对于 4962 个失败的签名,我们能够使用格因子分解方法从已知的公钥中确定私钥,从而重建 189 个唯一的 RSA密钥对(在许多情况下,相同的失败密钥和设备被用来生成不同的损坏签名)。 重新创建密钥大约需要 26 个 CPU 小时。

该问题仅影响 SSH 协议的特定实现,主要用于嵌入式设备。值得注意的是,OpenSSH 不受影响,因为它使用 OpenSSL(或 LibreSSL)库生成密钥,而该库自 2001 年以来就已受到保护,免受漏洞攻击。

此外,在 OpenSSH 中,ssh-rsa 数字签名方案(基于 sha1)自 2020 年起已弃用,并在版本 8.8 中禁用(仍然支持 rsa-sha2-256 和 rsa-sha2-512 方案)。 该攻击可能适用于 IPsec 协议,但研究人员没有足够的实验数据来在实践中证实这种攻击。

最后,如果您有兴趣了解更多信息,可以点击以下链接查看详情


在 Google 中将其添加为首选来源