SSH协议为网络服务提供安全访问,特别是在组织网络内和开放互联网上的超过1500万个服务器之间进行远程终端登录和文件传输。SSH使用身份验证密钥交换来建立客户端和服务器之间的安全通道,保护消息的机密性和完整性。安全通道可以防止消息被篡改、重播、插入、删除和重新排序。本文表明,随着新的加密算法和缓解措施被加入SSH,SSH二进制数据包协议不再是安全通道:对于三种广泛使用的加密模式,SSH通道完整性(INT-PST)已被破坏。这允许前缀截断攻击,即在SSH通道的开头删除一些加密数据包,而客户端或服务器不会注意到。我们展示了该攻击的几个实际应用。我们展示了我们可以完全破解SSH扩展协商(RFC 8308),使攻击者可以降级用户身份验证的公钥算法或关闭在OpenSSH 9.5中引入的针对按键计时攻击的新对策。我们还发现了AsyncSSH中的实现缺陷,与前缀截断一起,允许攻击者将受害者的登录重定向到被攻击者控制的shell。在针对易受攻击的加密模式和扩展协商支持进行的全球互联网扫描中,我们发现77%的SSH服务器支持易受攻击的加密模式,57%甚至将其列为首选选择。我们确定了两个根本原因,使这些攻击成为可能:第一,SSH握手支持未经身份验证的可选消息。第二,SSH在启用加密时不重置消息序列号。基于这个分析,我们提出了有效且向后兼容的SSH变更,以缓解我们的攻击。
提问交流