Terrapin攻击:通过序列号操纵破坏SSH通道完整性
摘要
SSH协议提供对网络服务的安全访问,特别是组织网络内以及开放互联网上超过1500万台服务器的远程终端登录和文件传输。SSH使用经过认证的密钥交换在客户端和服务器之间建立安全通道,保护双向发送消息的机密性和完整性。该安全通道可防止消息操纵、重放、插入、删除和重排序。在网络层面,SSH在TCP上使用Binary Packet Protocol。在本文中,我们表明SSH Binary Packet Protocol不再是安全通道:对于三种广泛使用的加密模式,SSH通道完整性(INT-PST、aINT-PTXT和INT-sfCTF)被破坏。这允许前缀截断攻击,即在SSH通道开头的加密数据包可以在客户端或服务器未察觉的情况下被删除。我们演示了此攻击的几种实际应用。我们表明可以完全破坏SSH扩展协商(RFC 8308),使得攻击者可以降级用于用户认证的公钥算法,或关闭OpenSSH 9.5中引入的针对击键定时攻击的新对策。此外,我们在AsyncSSH中发现了一个实现缺陷,该缺陷与前缀截断结合,允许攻击者将受害者的登录重定向到由攻击者控制的shell。我们还进行了互联网范围的扫描,发现71.6%的SSH服务器支持易受攻击的加密模式,而63.2%甚至将其列为首选。我们确定了导致这些攻击的两个根本原因:首先,SSH握手支持未经认证的可选消息。其次,SSH在激活加密密钥时不会重置消息序列号。基于此分析,我们提出了有效且向后兼容的SSH更改以缓解我们的攻击。
引用
@article{arxiv.2312.12422,
title = {Terrapin Attack: Breaking SSH Channel Integrity By Sequence Number Manipulation},
author = {Fabian Bäumer and Marcus Brinkmann and Jörg Schwenk},
journal= {arXiv preprint arXiv:2312.12422},
year = {2024}
}
备注
21 pages, 7 figures; minor revision; accepted at USENIX Security 2024; also added Artifact Evaluation badges and final Artifact Appendix