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格式固件(这些固件构成了可用固件图像的大部分)。