学术研究人员开发了一种名为Terrapin的新攻击,该攻击在握手过程中操纵序列号,以在使用某些广泛使用的加密模式时破坏SSH通道的完整性。
这种操作让攻击者删除或修改通过通信信道交换的消息,这将导致OpenSSH 9.5中用于用户身份验证或禁用对击键计时攻击的防御的公钥算法降级。
“Terrapin攻击利用了SSH传输层协议的弱点,结合了OpenSSH 10多年前推出的较新的加密算法和加密模式。”
Terrapin攻击会在客户端或服务器注意不到的情况下截断重要的协商消息,从而降低已建立连接的安全性。
来自波鸿鲁尔大学的研究人员开发了Terrapin攻击,并在AsyncSSH中发现了可利用的实现漏洞。
与攻击相关的弱点和缺陷被识别为CVE-2023-48795、CVE-2024-46445和CVE-2023-46446。
关于Terrapin需要注意的一点是,攻击者需要在网络层处于中间对手(MiTM)的位置来拦截和修改握手交换,并且连接必须由ChaCha20-Poly1305或带有Encrypt-then-MAC的CBC保护。
握手完成后交换的消息中的数据决定了攻击后果的严重性。
尽管对Terrapin有特定的要求,但广泛采用上述加密模式(扫描显示77%)使攻击在现实世界中可行。
“Terrapin攻击利用了SSH传输层协议中的弱点,再加上OpenSSH在10多年前引入的新的密码算法和加密模式,”研究人员说,并补充说,“这些协议已经被广泛的SSH实现所采用,因此影响了大多数当前的实现。”
多供应商正在逐步缓解这一安全问题。一个解决方案是实现一个严格的密钥交换,使包注入在握手过程中无法实现。
然而,这将需要一段时间,这样一个问题得到普遍解决,研究人员指出,严格的密钥交换对策是只有在客户端和服务器上实现时才有效。
该团队在GitHub上发布了一个Terrapin漏洞扫描器,管理员可以使用它来确定SSH客户端或服务器是否容易受到攻击。
Terrapin不是一个简单的软件错误,可以通过更新单个库或组件来修复。相反,需要更新客户端和服务器,以保护连接免受前缀截断攻击。-波鸿鲁尔大学
现在,最大的缓解因素的攻击是MiTM的要求,这使得龟一个不太严重的威胁。因此,在许多情况下,修补CVE-2023-48795可能不是优先事项。
德国研究人员发布的技术白皮书提供了更多关于Terrapin攻击的细节。