新型攻击动摇互联网安全基础,SSH安全性是否被打破?

VSole2023-12-21 17:09:05

安全内参12月21日消息,如果满足条件,处于优势位置的攻击者可以利用SSH协议中的一个漏洞,削弱人们连接的安全性。

SSH协议是一种远程连接计算机的标准。该协议在互联网中扮演了极其重要的角色,它是数百万组织内部应用程序安全的基石,保护了谷歌、亚马逊、Facebook和其他大公司至关重要的云环境。

Terrapin攻击概述

通过中间人攻击,攻击者可能迫使SSH客户端采用较弱的身份验证方式,并停用一些防御机制。目前很难准确评估这个漏洞的真正影响,因为它完全取决于各个客户端-服务器的配置、协议实现及其他因素。SSH软件的主要用途是通过命令行界面连接远程系统,从而使用或管理这些系统。

德国波鸿鲁尔大学的计算机科学家Fabian Bäumer、Marcus Brinkmann和Jörg Schwenk发表合著的技术论文,描述了Terrapin攻击技术。他们于今年10月发现这一漏洞,私下向SSH客户端和服务器的开发人员披露了细节。目前所有的补丁和信息都已经公开。

如果各位读者对底层细节感兴趣的话,三位研究人员在GitHub上发布了相关的概念验证脚本和其他材料。此外,他们还提供了一个开源工具,可用于检测用户SSH客户端或服务器是否容易受到Terrapin攻击。

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

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

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

这篇关于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时也容易受到缓冲区溢出的攻击,需要特别注意。

三位研究人员总结道:“Terrapin不是一个可以通过更新单个库或组件来修复的简单软件漏洞。相反,客户端和服务器都需要更新,保护连接免受前缀截断攻击。这意味着我们需要加强对所有SSH客户端和服务器实现问题的认识,这需要相当大的工作量。”

参考资料:theregister.com

网络安全ssh
本作品采用《CC 协议》,转载必须注明作者和本文链接
SSH协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的登录和其他安全网络服务。作为Telnet和其他不安全远程shell协议的安全替代方案,目前SSH协议已经被全世界广泛使用,大多数设备都支持SSH功能。用户认证SSH客户端向服务器端发起认证请求,服务器端对客户端进行认证。非对称加密的发送和接收需要使用一对关联的SSH密钥,公钥和私钥。
SSH协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的登录和其他安全网络服务。作为Telnet和其他不安全远程shell协议的安全替代方案,目前SSH协议已经被全世界广泛使用,大多数设备都支持SSH功能。用户认证SSH客户端向服务器端发起认证请求,服务器端对客户端进行认证。非对称加密的发送和接收需要使用一对关联的SSH密钥,公钥和私钥。
概述2022年3月底,我安服团队在网络安全监测中发现某网络攻击组织利用SSH爆破投放挖矿程序的活动比较活跃,主要涉及的是一个haiduc的工具。01检测定位阶段工作说明1、异常现象确认服务器被植入木马病毒,并对内网进行暴力破解。本次发起暴力破解的主机为10.101.2.210。04跟踪阶段工作说明截止目前,病毒未复发,未发现木马病毒二次扩散传播,待后续继续跟踪观察网络安全态势和告警。
SSH是远程访问和管理的事实标准,它是所有这些远程努力的核心。因此,SSH风险正在增加。否则,私钥可能会被泄露,并使攻击者能够对私钥受信任的服务器帐户进行身份验证。如何控制SSH风险 为确保SSH不会将企业的网络和数据置于风险之中,安全团队应执行SSH风险评估。与所有安全任务一样,SSH风险评估并非一次性任务,必须定期进行扫描。但企业必须有效地管理SSH风险。
SSH是远程访问和管理的事实标准,它是所有这些远程努力的核心。因此,SSH风险正在增加。否则,私钥可能会被泄露,并使攻击者能够对私钥受信任的服务器帐户进行身份验证。如何控制SSH风险为确保SSH不会将企业的网络和数据置于风险之中,安全团队应执行SSH风险评估。与所有安全任务一样,SSH风险评估并非一次性任务,必须定期进行扫描。但企业必须有效地管理SSH风险。
物联网似乎具有无穷无尽的潜力。从智能家居到联网汽车再到监控交通和自然灾害的传感器,物联网将让我们的世界变得更安全、更方便。根据调研机构IoT Analytics公司进行的研究,到2022年,物联网活动连接数将增长18%,物联网设备数量将达到144亿台。根据调研机构Gartner公司的预测,云服务规模预计将在2022年增长20.4%。
目前安全研究员还未能分析出RapperBot僵尸网络的主要目标对象,我们需要对该僵尸网络保持警惕的心理。此外,僵尸网络攻击还可以窃取个人的数据信息,以及使用被感染的设备进行访问网站,从而造成虚假的流量。
旨在确定组织的用户群对鱼叉式网络钓鱼攻击的敏感性。这些评估的结果可以用于增强组织的反社会工程意识计划。在此评估类型中,测试人员会将部署看似普通的USB驱动器,并诱使用户将该设备插入公司系统。在此评估期间,组织通常会向测试人员提供凭据访问权限,以审查整个应用程序。这类测试通常会在安全团队大多数成员完全不知情的情况下执行。红蓝对抗测试有多种形式。有时蓝队被告知模拟或渗透测试的时间,有时则完全不知情。
VSole
网络安全专家