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 异常值是 almost 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范围内识别的不属于6.5.4.15-x范围(包括两个最新发布,6.5.4.15-116n和6.5.4.15-117n),因此关于系列6暴露的最大比例,我们可以推断它们运行在硬件设备上,并且 nearly up-to-date,但不当前。对于大多数其他系列6版本组,数据不足以让我们自信地说版本有多当前。
系列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。
这应有助于澄清为什么大多数暴露在此处落入“未知”类别——我们只能确定目标的支持状态,如果我们能唯一识别其组中的最新版本。如果该版本的最佳可用精度落在范围内,那么我们所能做的就是识别哪些目标 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设备受至少一个高或关键严重性漏洞影响。正如我们 earlier 强调的, significant 比例的系列7设备落后于当前固件发布,而这 unfortunately 是结果。
图11 - 按系列的漏洞状态(百分比)
按百分比的视图(图11 - 按系列的漏洞状态(百分比))揭示了一些额外兴趣点:系列4设备,尽管 end-of-support,仍不受任何已发布漏洞影响。我们对系列5设备的 visibility 缺乏,大多数暴露落在版本范围内,这些范围没有给我们清晰的漏洞状态指示。
当谈到关键漏洞时,至少7%的系列6和系列7设备受影响,这 leads us to our final graph – the big picture view。
图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。然而,正如我们已经看到的,一批新漏洞已经出现以取代这两个,并且整体数字看起来 not much better。信息保持不变:尽早修补并经常修补!
方法论
为了识别互联网上潜在的SonicWall防火墙,我们查询了Shodan和BinaryEdge for HTTP/S services categorized as “SonicWall”,并收到 approximately 732,000个唯一目标(IP地址和端口组合)。我们用专有脚本扫描这些目标,该脚本检查响应头、状态代码和多个URL路径的正文内容以确认可访问性,验证防火墙管理和SSL VPN接口,并筛选出低交互蜜罐。对于那些好奇的人,在 roughly 400,000个确认暴露中,Shodan和BinaryEdge各贡献了 about 100,000个唯一目标,这些目标未被其他服务提供。剩余200,000个目标存在于两个数据集中。
然后,我们使用专有技术分析响应数据,以确定底层SonicOS/X固件的最精确版本(或版本范围) possible。如上文 several places 所述,这些技术有局限性,导致我们识别任何给定目标版本的精度水平 variations。尽我们所能,我们仅呈现了高置信度结果,并在适当时指示了模糊性。
为了确定支持状态,我们将SonicWall的产品生命周期表信息与mysonicwall.com下载中心列出的固件版本相关联。为了确定漏洞状态,我们审查了所有影响下一代防火墙的SonicWall公告,具有关键、高或中等严重性。我们枚举了每个公告的受影响版本( accounting for version groups as described in “Exposure Analysis” above),并将受影响版本合并为基于影响每个的最高严重性漏洞的集合。有趣的是,所有中等严重性影响都被高严重性影响 overruled。
一旦我们映射出哪些版本与哪些支持状态和漏洞状态相关联,我们就使用每个目标的最佳可用精度对其进行适当分类,然后聚合结果。应注意的一个限制是,一些漏洞仅影响特定设备型号,而我们的指纹识别技术未识别型号,因此尽管某些目标的版本在易受攻击范围内,但它们可能不受影响。我们的感觉是,这对我们的结果影响 minimal,因为版本和型号之间往往存在高相关性(即每个型号只能运行有限 set of versions,并且具有相似版本支持的型号往往出现在相同的公告中)。
结论
总体而言,我们的互联网范围调查结果告诉我们,SonicWall安全状态虽然显示出进展迹象,但仍面临 significant challenges。超过430,000个防火墙设备可公开访问的简单事实就足以引起关注,但当你添加超过一半运行在过时硬件上,并且超过四分之一受严重漏洞影响时,大图景看起来 rather worrisome。
这里的亮点是,我们有证据表明大多数设备随时间被修补(如受CVE-2022-22274和CVE-2023-0656影响目标的下降所示)。问题似乎是修补速度跟不上新漏洞的速度。值得重复:尽早修补并经常修补。
鉴于Zero Day Initiative最近宣布了四个新的 upcoming 高和关键漏洞影响SonicWall产品,似乎很可能在 coming months 管理员将再次争先恐后地查找和修复其设备。Bishop Fox Cosmos的客户可以放心,我们将在下一次公告发布时(有时更早)通知他们有关受影响设备,因此他们知道他们的弱点在哪里,可以立即修补,并将被授权采取进一步措施以减少其暴露。
我们希望您享受这次对互联网上SonicWall安全状态的深入探讨!请继续关注本博客系列的最终部分,其中我们将逐步介绍逆向工程和解密SonicOS/X SIG格式固件(这些固件构成了可用固件镜像的大部分)。