SonicWall防火墙固件解密与安全态势深度分析

本文通过解密SonicWall防火墙固件,深入分析其在互联网上的暴露情况、版本分布及安全漏洞影响,揭示超过11.9万台设备存在高危漏洞,并探讨修补策略与防御建议。

SonicWall暴露现状:固件解密揭示新洞察

这是关于SonicWall防火墙的三部分系列文章的第二部分。第一部分深入探讨了破解保护SWI格式固件的加密。在第二部分中,我们调查了SonicWall设备在公共互联网上的当前状态。

背景与动机

在Bishop Fox,我们以让客户领先恶意对手一步为荣。为了保持技术前沿,我们投入研究以更好地理解客户面临的威胁 landscape。事实上,在获取网络立足点时,边缘安全设备,特别是VPN设备,仍然是攻击者的易目标。仅2024年,我们就看到了针对Check Point、Cisco、Ivanti、Fortinet、Palo Alto、Juniper和SonicWall等设备的针对性攻击(仅举几例)。

我们的客户也往往是这些供应商的客户,因此我们定期评估其产品的安全性。我们的目标是了解客户有哪些安全设备保护其边界、它们的最新程度、是否受到已知漏洞的影响,以及它们对攻击者的吸引力。预警即武装,因此我们努力用一流的情报保护客户。

我们对SonicWall的当前关注是由几个因素驱动的。2月,SonicWall发布了一份公告,描述了一个影响多个防火墙设备SSL VPN组件的高严重性身份验证绕过漏洞。这是首次运行SonicOSX的虚拟机设备(NSv)被纳入重大漏洞的范围。7月,另一份公告发布,这次是一个影响SSL VPN和管理组件的高严重性身份验证绕过漏洞。随后在8月又发布了一个严重性堆溢出漏洞。

至此,大多数现有关于SonicWall的研究都集中在上一代固件SonicOS上。随着系列7设备和固件的发布,SonicWall对底层操作系统以及其打包和分发方式进行了重大更改。SonicOSX还改变了用于保护固件图像免受黑客和逆向工程师攻击的加密方法。

由于新漏洞的存在,以及围绕近期固件的知识 gap,我们决定是时候卷起袖子深入SonicOSX了。新操作系统的虚拟机图像的发布(直到版本7.1.1才发生)给了我们逆向工程加密并访问底层文件系统所需的关键(更多内容将在本博客系列的第三部分中介绍)。

一旦我们完全访问了SonicOSX文件系统,我们就能够开发指纹识别技术,以远程识别特定的操作系统版本。只要设备将其SSL VPN或管理接口暴露给互联网,我们现在就可以比以前更自信地评估该设备的安全态势。

暴露分析

我们的扫描确定了总共430,363个唯一目标(IP地址和端口组合),这些目标在公共互联网上暴露了SonicOS/X登录页面。其中,大多数同时可访问管理接口和SSL VPN接口,而其余仅暴露一个接口。

接口 暴露数量 百分比
管理和SSL VPN 267,880 62%
仅管理 135,449 31%
仅SSL VPN 27,034 6%
总计 430,363 100%

需要指出的是,防火墙上的管理接口绝不应公开暴露,因为这 presents 不必要的风险。SSL VPN接口虽然设计为通过互联网为外部客户端提供访问,但理想情况下应受源IP地址限制保护。任何暴露都为恶意行为者提供了额外的攻击面。

如果我们按主要版本(SonicWall与“系列”互换使用)分解暴露,我们开始了解随时间发布的不同硬件系列的采用率。最新的系列7占近40%,有显著的采用,但之前的系列6仍然更 prevalent,占近50%。系列5除一个型号外均已达到支持终止,但仍保持显著存在,甚至完全不再支持的系列4仍有几百个目标可公开访问。剩余的3%目标无法明确识别。

图1 - 系列分布

系列 暴露数量 百分比
系列7 168,697 39%
系列6 211,952 49%
系列5 35,604 8%
系列4 283 0.1%
未知 13,827 3%

接下来,我们提高精度以检查版本组的分布。对于系列4、5和6,SonicWall按其补丁级别(如版本Major.Minor.Patch)分组其版本,而系列7版本在次要级别(如版本Major.Minor)分组。

这在确定漏洞范围时很重要——例如,如果SonicWall发布公告称漏洞影响版本6.5.3.4及更早版本,则包括从版本6.5.3.0到6.5.3.4的版本,但属于其他组的版本,如6.2.7.0,不受影响。对于系列7,影响版本7.1.2及更早版本的公告将包括7.1.0但不包括7.0.1。

以下两个图表(图2和图3)说明了互联网上暴露的版本组的普遍性。请注意,通过提高精度,“未知”设备的数量也增加了——这是因为我们无法在那个精度级别明确识别它们属于单个版本组(包括所有系列4设备)。

图2 - 版本组分布(线性)

从这个视图(图2 - 版本组分布(线性))的主要收获是,绝大多数可识别目标运行 somewhere within the newest three version groups 的固件发布。为了更清楚地查看其余组,我们可以在对数刻度上绘制相同的数据。

图3 - 版本组分布(对数)

这个视图(图3 - 版本组分布(对数))揭示了较旧的系列6型号倾向于运行版本组6.2.7和6.5.1内的固件,而系列5倾向于组5.8.1和5.9.0。当然,我们也可以看到仍在使用的各种遗留版本。

下面,我们将更仔细地查看这些版本的安全性,但首先,让我们进一步放大,看看我们的版本检测能有多精确。

图4 - 系列7发布分布

此图表(图4 - 系列7发布分布)显示了系列7暴露中特定发布的分布,以达到每个目标的最大可能精度。无论您在版本字符串中看到“x”,都表示可能版本的范围,例如,“7.1.1-x” means “我们知道此目标运行版本7.1.1,但我们不能自信地识别它是哪个发布。” 诸如此类的范围 colored gray 以便更容易识别;浅蓝色条表示每个版本组中的当前发布(7.0和7.1)。

这个视图(图4 - 系列7发布分布)主要告诉我们两件事:高比例的系列7设备运行其版本组中最新可用的固件发布(7.0.1-5161和7.1.2-7019),并且每个版本组也有高比例的设备运行落后几个发布的版本(7.0.1-5119和7.1.1-7051)。在7.0组的情况下,落后者的数量略高于保持最新者。我们还看到7.0组中暴露的发布分布比7.1组更广。一个 curious 异常值是几乎3,300个目标运行版本7.0.0-414,该版本于2020年12月仅针对NSsp 15700设备发布。

接下来,让我们查看系列6的相同数据。

图5 - 系列6发布分布

在此图表(图5 - 系列6发布分布)上首先明显的是整体精度低得多,这归因于我们用于系列7与早期系列的指纹识别技术的差异。由于一个特定范围使大多数其他条不可见,表示确切版本的值以蓝色呈现。

从这个视图的关键收获是,绝大多数系列6设备运行(最新)6.5.4版本组内的固件,并且 notably,不属于6.5.4.4-44v-21-x范围,该范围捕获所有系列6 NSv(虚拟机)发布。我们还知道那些在6.5.4.x范围内 identified 的不属于6.5.4.15-x范围(包括两个最新发布,6.5.4.15-116n和6.5.4.15-117n),因此我们可以推断关于最大比例的系列6暴露的是,它们运行在硬件设备上,并且 nearly up-to-date,但不 current。对于大多数其他系列6版本组,数据不足以为我们 confidence 地说版本有多新。

系列5继续精度下降的趋势。

图6 - 系列5发布分布

这个视图(图6 - 系列5发布分布)主要告诉我们,大多数系列5暴露在5.9.1和5.9.2版本组中(从5.9.x范围内的高比例推断,不包括5.9.0.x范围),但我们不能自信地区分它们,因此它们可能运行也可能不运行当前固件。值得指出的是,只有版本5.9.2.13在系列5中仍然 actively supported。

安全分析

现在我们了解了互联网上SonicWall防火墙暴露的整体分布,我们转向问题“这些暴露设备的安全性如何?”为了回答这个问题,我们将版本组与两个额外指标相关联:支持状态和漏洞状态。

首先,我们查看 actively supported by SonicWall 的目标比例与那些已达到支持终止的目标比例。

图7 - 支持状态

基于可用数据,我们可以自信地说169,473个暴露设备(39%)是活动的,20,710(5%)不受支持。我们无法以足够的精度识别剩余的240,180(56%)以确定其状态——指纹识别通常需要一些 triangulation,因此准确解释数据涉及 nuance(更多内容 below)。

一旦我们按系列分发此信息,它会变得更有趣。

图8 - 按系列的支持状态

系列 活动 终止 未知
系列4 0 283 0
系列5 0 6,350 29,254
系列6 776 14,077 197,099
系列7 168,697 0 0
未知 0 0 13,827
总计 169,473 20,710 240,180

在这里我们开始看到大多数支持状态未知的设备属于系列5和6。查看按系列的百分比可能有助于解释原因。

图9 - 按系列的支持状态(百分比)

现在我们可以看到所有系列7设备当前是活动的,而系列4设备不受支持。只有系列5和6有混合支持状态,并且对于这些,通常只有每个版本组中的最新版本 under active support。

这应该有助于澄清为什么大多数暴露 fall into the “unknown” category here——我们只能确定目标的支持状态,如果我们能唯一识别其组中的最新版本。如果该版本的最佳可用精度 fall within a range,那么所有我们能做的就是识别哪些目标 outside of that range。尽管如此,知道超过20,000个防火墙暴露在互联网上已达到支持终止并非 insignificant。

最后,我们将查看有多少设备受高和/或严重漏洞影响,从按系列的视图开始(受多个漏洞影响的目标根据具有最高严重性的一个分类)。

图10 - 按系列的漏洞状态

系列 未知 严重 未受影响
系列4 0 0 0 283
系列5 29,890 0 67 5,647
系列6 33,294 0 14,025 164,633
系列7 10,516 94,018 11,393 52,770
未知 13,827 0 0 0
总计 87,527 94,018 25,485 223,333

从这个视图(图10 - 按系列的漏洞状态)的好消息是,大多数系列6设备未受影响。坏消息是,我们可以自信地说,大多数暴露在线的系列7设备受至少一个高或严重严重性漏洞影响。正如我们之前强调的, significant 比例的系列7设备落后于当前固件发布,而这 unfortunately 是结果。

图11 - 按系列的漏洞状态(百分比)

按百分比的视图(图11 - 按系列的漏洞状态(百分比))揭示了一些额外的兴趣点:系列4设备,尽管 end-of-support,仍然不受任何已发布漏洞的影响。我们对系列5设备的 visibility 缺乏,大多数暴露落在版本范围内,这些范围没有给我们清晰的漏洞状态指示。

当谈到严重漏洞时,至少7%的系列6和系列7设备受到影响,这 leads us to our final graph——大局视图。

图12 - 漏洞状态

在扫描互联网以识别暴露的SonicWall防火墙及其固件版本后,我们发现了119,503台设备受严重漏洞影响——25,485个严重严重性和94,018个高严重性。受影响设备占确认暴露的28%,而223,333(52%)仍然未受影响(目前)。另外87,527台设备(20%)的状态无法使用我们当前的方法确定。

上次我们查看SonicWall防火墙安全状态时,我们发现超过178,000台设备暴露在线易受CVE-2022-22274和/或CVE-2023-0656攻击。幸运的是,看起来这个数字在过去十个月中有所下降。虽然我们这次没有执行相同的漏洞测试,但基于我们看到的暴露版本,受影响目标的数量现在看起来 closer to 37,000。然而,正如我们已经看到的,一批新的漏洞已经 popped up to take the place of those two,并且整体数字看起来 not much better。信息 remains the same:尽早修补并经常修补!

方法论

为了识别互联网上潜在的SonicWall防火墙,我们查询了Shodan和BinaryEdge for HTTP/S services categorized as “SonicWall”,并收到了大约732,000个唯一目标(IP地址和端口组合)。我们使用专有脚本扫描这些目标,该脚本检查响应头、状态代码和多个URL路径的正文内容,以确认可访问性,验证防火墙管理和SSL VPN接口,并筛选出低交互蜜罐。对于那些好奇的人,在大约400,000个确认暴露中,Shodan和BinaryEdge各贡献了 about 100,000个唯一目标,这些目标未被其他服务提供。剩余的200,000个目标 present in both data sets。

然后,我们使用专有技术分析响应数据,以确定底层SonicOS/X固件的最精确版本(或版本范围)。如上文 several places 所述,这些技术有局限性, produced variations in the level of precision to which we could identify the version of any given target。尽我们所能,我们仅呈现了高置信度结果,并在适当处 indicated ambiguity。

为了确定支持状态,我们将SonicWall的产品生命周期表信息与mysonicwall.com下载中心列出的固件版本相关联。为了确定漏洞状态,我们审查了所有影响下一代防火墙的SonicWall公告,具有严重、高或中等严重性。我们枚举了每个公告的受影响版本( accounting for version groups as described in “Exposure Analysis” above),并将受影响版本 consolidated into sets based on the highest-severity vulnerability affecting each。有趣的是,所有中等严重性影响都被高严重性影响 overruled。

一旦我们映射出哪些版本与哪些支持状态和漏洞状态相关联,我们使用每个目标的最佳可用精度对其进行适当分类,然后 aggregated the results。应注意的一个限制是,一些漏洞仅影响特定设备型号,而我们的指纹识别技术未识别型号,因此尽管某些目标版本 within a vulnerable range,它们可能不受影响。我们的 sense 是这对我们的结果有 minimal impact,因为版本和型号之间往往有高相关性(即每个型号只能运行有限的一组版本,并且具有相似版本支持的型号往往出现在相同的公告中)。

结论

总体而言,我们的互联网范围调查结果告诉我们,SonicWall安全状态,虽然显示出进展迹象,但仍然面临 significant challenges。超过430,000台防火墙设备可公开访问的简单事实就足以引起关注,但当你添加超过一半运行在过时硬件上,并且超过四分之一受严重漏洞影响时,大局看起来 rather worrisome。

这里的亮点是,我们有证据表明大多数设备随时间被修补(如受CVE-2022-22274和CVE-2023-0656影响目标的下降所示)。问题似乎是修补速度跟不上新漏洞的速度。值得重复:尽早修补并经常修补。

鉴于Zero Day Initiative最近宣布了四个新的即将影响SonicWall产品的高和严重漏洞,似乎很可能在 coming months 管理员将 scrambling to find and fix their devices yet again。Bishop Fox Cosmos的客户可以放心,我们将在下一次公告发布时(有时更早)通知他们有关受影响设备的信息,以便他们知道他们的弱点在哪里,可以立即修补,并将 empowered to take further measures to reduce their exposure。

我们希望您 enjoyed this deep dive into the state of SonicWall security on the internet!请继续关注本博客系列的最终部分,其中我们将逐步介绍逆向工程和解密SonicOS/X SIG格式固件(这些固件构成了可用固件图像的大部分)。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计