安全播报

防御吧作为15年知名老牌域名服务商,CNNIC和CANN双认证域名注册商,已经
持续为500多万个域名提供服务,包括智能DNS/自由转移/隐私保护等服务!
SSH服务器Terrapin攻击与防护详解
2023-12-22 09:48:45 【

SSH软件更新应该正在逐步向用户发布,并同时提供一些临时的缓解措施。这并不是一个需要恐慌的问题,因为攻击者是针对您脆弱的连接发动中间人攻击,而不是直接攻击您的服务器。这本质上是一种降级攻击,而非解密或命令注入问题。而且有很多方法,可以立即保护自己免受Terrapin攻击。

Terrapin攻击包括三个漏洞:CVE-2023-48795,这是通用的可利用的协议级SSH漏洞;CVE-2023-46445和CVE-2023-46446,这些是针对Python SSH客户端AsyncSSH的特定漏洞,该客户端每日下载量高达6万次。

AsyncSSH客户端的开源代码存在特定于该客户端的实现错误。这些错误可以被利用发动Terrapin风格的攻击,例如让受害者不知情地登录到攻击者控制的shell帐户,而不是他们自己的帐户。这说明不同客户端和服务器可能以不同方式容易受到Terrapin攻击。AsyncSSH已经发布修补版本,以解决版本2.14.1中的CVE-2023-46445和CVE-2023-46446问题,以及版本2.14.2中的通用CVE-2023-48795问题。

Terrapin攻击原理

Terrapin(CVE-2023-48795)是一种前缀截断攻击,攻击者使用中间人攻击,能在SSHv2连接的扩展协商期间降低其安全性。这与2015年Cédric Fournet在TLS 1.3协议中发现并于草案阶段修复的漏洞类似。

正如三位研究人员所述,一次成功的Terrapin攻击可能会“导致使用不够安全的客户端身份验证算法,并禁用OpenSSH 9.5中针对击键定时攻击的特定防御措施。”在某些非常特定的情况下,这种攻击手段可以用来解密一些机密信息,例如部分或全部破解用户登录密码。但这并不简单,在实际操作中很可能失败。

让我们更加深入地了解Terrapin攻击原理。SSH客户端连接到SSH服务器时,在建立安全加密通道之前,它们会进行一次握手。通过握手,它们以明文形式互相交换信息。每一方都拥有两个序列计数器:一个针对接收消息,另一个针对发送消息。每发送或接收一条消息,相应的序列计数器的计数就会增加。这样,这些计数器记录了每一方已发送和已接收消息的总数。

作为中间人攻击,Terrapin会在安全通道建立之前的握手阶段注入一条明文的“忽略”消息,使客户端误以为消息来自服务器,让接收消息序列计数器增加计数。消息本身将被忽略。此后,一旦建立了安全通道,中间人攻击者会阻止服务器向客户端发送有关额外防御措施的消息。消息是否加密并不重要:攻击者只是阻止其到达,客户端既看不到也不会对其做出反应。

由于之前插入了一条明文的“忽略”消息,客户端最终仍然会收到预期数量的接收消息,而服务器则认为它已发送了正确数量的消息。

即使在初始化过程中,消息被中间人攻击者拦截和阻止,双方的发送和接收的序列计数器都显示正确。这一点至关重要,因为这些计数器随后用于验证握手过程是否完整。只要计数正确,将被允许继续连接。这就是为什么要插入“忽略”消息。目的是在安全通道中阻塞扩展消息时,客户端和服务器都不知情。

可以在建立连接过程中插入任意数量的“忽略”消息,从而阻止来自服务器发送到客户端的消息。就像这篇技术论文展示的那样,您可以巧妙地调整注入和阻止消息的顺序,以进行更复杂的攻击。通过这种方式,可以干扰连接的设置,降低所使用的安全性,禁用扩展,并可能利用特定客户端或服务器实现中更深层次的漏洞。

以上说明,能否成功攻击SSH连接,安全通道所采用的加密算法起到决定性作用

据称,由于序列号在密钥派生中的使用方式,ChaCha20-Poly1305容易受到Terrapin攻击并可以完全被利用。这个算法本身并没有加密弱点,只是在SSH中的使用方式存在问题。

我们了解到,CBC-Encrypt-then-MAC(CBC-EtM)也容易受到攻击,并且“有概率”可以被利用。当然,根据具体的实现情况,攻击可能会失败。CTR-Encrypt-then-MAC算法容易受到攻击,但实际上无法被利用。

超过77%的面向公众的SSH服务器支持“至少一种在实践中可以被利用的模式”。三位研究人员表示,其中57%将可被利用的算法设置为首选。

打补丁还是采取缓解措施?

研究人员很快得出结论,这个漏洞并不需要立即停止工作并优先处理。

他们说:“这种攻击需要主动的中间人攻击者有能力拦截并修改连接在TCP/IP层的流量。此外,需要协商使用ChaCha20-Poly1305或任何密码分组链接(CBC)模式与Encrypt-then-MAC结合作为连接的加密模式。”

留意补丁或软件更新是一个不错的选择。这样,在有需要时可以快速安装。如果您使用Linux系统,通过常规的发行版更新应该可以获取补丁或软件更新。

本周一发布的OpenSSH 9.6包含了对Terrapin的严格密钥交换协议的修复。如果服务器和客户端都支持的话,这就足以挫败Terrapin攻击。

研究人员指出,“将一个容易受攻击的客户端连接到已修复的服务器上,或将容易受攻击的服务器连接到已修复的客户端上,仍然会导致连接易受攻击。”

与此同时,Putty 0.8于本周发布,以解决Terrapin问题。libssh 0.10.6和libssh 0.9.8也已发布,以抵御Terrapin攻击。我们预计还会有其他解决方案。

除了安装软件更新之外,管理员还可以通过在SSH服务器配置中禁用受影响的加密模式并使用无漏洞算法(如AES-GCM)来缓解攻击。

研究人员警告说,如果服务器配置不当或客户端不支持配置,可能会导致服务器访问失败。旧版本的OpenSSH(6.2和6.3)在使用AES-GCM时也容易受到缓冲区溢出的攻击,需要特别注意。


】【打印关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇没有了 下一篇网站小程序app打不开了服务器突然..

立足首都,辐射全球,防御吧专注云防御及云计算服务15年!

联系我们

服务热线:13051179500 18910191973
企业QQ:1245940436
技术支持:010-56159998
E-Mail:xihedata.com
Copyright ? 2003-2016 fangyuba. 防御吧(完美解决防御与加速) 版权所有 增值许可:京B2-20140042号
售前咨询
公司总机:18910191973
24小时电话:010-56159998
投诉电话:18910191973
值班售后/技术支持
售后服务/财务
备案专员
紧急电话:18610088800