SonicWall暴露现状:固件解密解锁新洞察
这是关于SonicWall防火墙的三部分系列文章的第二篇。第一部分深入探讨了破解SWI格式固件加密的技术细节。在第二部分中,我们调查了公共互联网上SonicWall设备的当前状态。
背景与动机
在Bishop Fox,我们以帮助客户领先恶意对手一步而自豪。为了保持技术前沿,我们投入研究以更好地理解客户面临的威胁 landscape。事实上,在获取网络立足点时,边缘安全设备(尤其是VPN设备)仍然是攻击者的易得目标。仅2024年,我们就观察到了针对Check Point、思科、Ivanti、Fortinet、Palo Alto、Juniper和SonicWall等设备的定向攻击(仅举几例)。
我们的客户也往往是这些供应商的客户,因此我们定期评估其产品的安全性。我们的目标是了解客户用于保护边界的安全设备、其更新状态、是否受已知漏洞影响以及它们对攻击者的吸引力。预知即预武装,我们努力用一流的情报保护客户。
当前对SonicWall的关注由几个因素驱动。2月,SonicWall发布了一份公告,描述了一个影响多个防火墙设备SSL VPN组件的高严重性身份验证绕过漏洞。这是首次运行SonicOSX的虚拟机设备(NSv)被纳入重大漏洞的影响范围。7月,另一份公告发布,这次是一个影响SSL VPN和管理组件的高严重性身份验证绕过漏洞。随后在8月又发布了一个关键严重性的堆溢出漏洞。
至此,大多数现有研究都集中在上一代固件SonicOS上。随着系列7设备和固件的发布,SonicWall对底层操作系统以及其打包和分发方式进行了重大更改。SonicOSX还改变了用于保护固件镜像免受黑客和逆向工程师攻击的加密方法。
由于新漏洞的出现以及对近期固件的认知差距,我们决定深入研究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% |
需要指出的是,防火墙的管理接口绝不应公开暴露,因为这带来了不必要的风险。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按其补丁级别(如版本主.次.补丁)分组版本,而系列7版本在次要级别(如版本主.次)分组。
这在确定漏洞范围时很重要------例如,如果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 - 版本组分布(线性))的主要结论是,绝大多数可识别目标运行的固件版本位于最新的三个版本组中。为了更清楚地查看其余组,我们可以在对数尺度上绘制相同数据。
图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"表示"我们知道此目标运行版本7.1.1,但无法自信地识别是哪个发布"。此类范围用灰色标记以便识别;浅蓝色条表示每个版本组中的当前发布(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范围内识别的那些不属于6.5.4.15-x范围(包括两个最新发布6.5.4.15-116n和6.5.4.15-117n),因此关于系列6暴露的最大比例,我们可以推断它们运行在硬件设备上,并且几乎是最新的,但不是当前的。对于大多数其他系列6版本组,数据不足使我们自信地说版本有多新。
系列5继续精度下降的趋势。
图6 - 系列5发布分布
该视图(图6 - 系列5发布分布)主要告诉我们,大多数系列5暴露在5.9.1和5.9.2版本组中(从5.9.x范围内的高比例推断,排除5.9.0.x范围),但我们无法自信地区分它们,因此它们可能运行也可能不运行当前固件。值得指出的是,系列5中只有版本5.9.2.13仍 actively 支持。
安全分析
既然我们了解了互联网上SonicWall防火墙暴露的总体分布,我们转向问题"这些暴露设备的安全性如何?"为了回答这个问题,我们将版本组与两个额外指标相关联:支持状态和漏洞状态。
首先,我们查看SonicWall actively 支持的目标比例与已达到支持终止期的目标比例。
图7 - 支持状态
基于可用数据,我们可以自信地说169,473个暴露设备(39%)是活跃的,20,710个(5%)不受支持。我们无法以足够精度识别剩余的240,180个(56%)以确定其状态------指纹识别通常需要一些三角测量,因此准确解释数据涉及细微差别(更多如下)。
一旦我们按系列分布此信息,它就变得更有趣。
图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具有混合支持状态,并且对于这些,通常只有每个版本组中的最新版本处于活跃支持下。
这应有助于澄清为什么大多数暴露在此处落入"未知"类别------我们只能确定目标的支持状态,如果我们能唯一识别其组中的最新版本。如果该版本的最佳可用精度落在一个范围内,那么我们所能做的就是识别哪些目标超出该范围。尽管如此,确切知道超过20,000个防火墙暴露在互联网上已达到支持终止期并非微不足道。
最后,我们将查看有多少设备受高和/或关键漏洞影响,首先按系列查看(受多个漏洞影响的目标根据最高严重性分类)。
图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设备,尽管终止支持,仍然不受任何已发布漏洞影响。我们对系列5设备的可见性不足,大多数暴露落在版本范围内,这些范围未给我们清晰的漏洞状态指示。
当谈到关键漏洞时,至少7%的系列6和系列7设备受到影响,这引向我们最终的图表------大局视图。
图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 到37,000。然而,正如我们已经看到的,一批新漏洞已经出现取代了那两个,总体数字看起来并没有好多少。信息保持不变:尽早并经常打补丁!
方法论
为了识别互联网上潜在的SonicWall防火墙,我们查询了Shodan和BinaryEdge中分类为"SonicWall"的HTTP/S服务,并收到了大约732,000个唯一目标(IP地址和端口组合)。我们用专有脚本扫描这些目标,该脚本检查多个URL路径的响应头、状态代码和正文内容,以确认可访问性,验证防火墙管理和SSL VPN接口,并筛选出低交互蜜罐。出于好奇,在大约400,000个确认暴露中,Shodan和BinaryEdge各贡献了约100,000个唯一目标,这些目标未被其他服务提供。剩余的200,000个目标存在于两个数据集中。
然后,我们使用专有技术分析响应数据,以确定底层SonicOS/X固件最精确的版本(或版本范围)。如上文多处所述,这些技术存在局限性,导致我们识别任何给定目标版本的精度水平存在差异。我们尽最大努力仅呈现高置信度结果,并在适当时指示模糊性。
为了确定支持状态,我们将SonicWall的产品生命周期表信息与mysonicwall.com下载中心列出的固件版本相关联。为了确定漏洞状态,我们审查了所有影响下一代防火墙的关键、高或中严重性的SonicWall公告。我们枚举了每个公告的影响版本(考虑上文"暴露分析"中描述的版本组),并将影响版本合并为基于每个影响的最高严重性漏洞的集合。有趣的是,所有中严重性影响都被高严重性影响覆盖。
一旦我们映射了哪些版本与哪些支持状态和漏洞状态相关联,我们使用每个目标的最佳可用精度对其进行适当分类,然后聚合结果。应注意的一个限制是,某些漏洞仅影响特定设备型号,而我们的指纹识别技术未识别型号,因此尽管某些目标的版本在易受攻击范围内,但可能不受影响。我们的感觉是这对我们的结果影响最小,因为版本和型号之间往往存在高度相关性(即每个型号只能运行有限的一组版本,并且具有类似版本支持的型号往往出现在相同的公告中)。
结论
总体而言,我们的互联网范围调查结果告诉我们,SonicWall安全状态虽然显示出进展迹象,但仍面临重大挑战。超过430,000台防火墙设备可公开访问这一简单事实就足以引起担忧,但当你加上超过一半在过时硬件上运行,并且超过四分之一受严重漏洞影响时,大局看起来相当令人担忧。
这里的亮点是,我们有证据表明大多数设备随时间推移正在打补丁(如CVE-2022-22274和CVE-2023-0656受影响目标的下降所示)。问题似乎是打补丁的速度跟不上新漏洞的速度。值得重复:尽早并经常打补丁。
鉴于Zero Day Initiative最近宣布了四个新的即将影响SonicWall产品的高和关键漏洞,似乎在未来几个月中,管理员将再次争先恐后地查找和修复其设备。Bishop Fox Cosmos的客户可以放心,我们将在下一次公告发布时(有时更早)通知他们受影响设备,以便他们知道弱点在哪里,可以立即打补丁,并能够采取进一步措施减少暴露。
我们希望您享受这次对互联网上SonicWall安全状态的深入探讨!请继续关注本系列博客的最后一部分,其中我们将逐步介绍逆向工程和解密SonicOS/X SIG格式固件(这些固件构成可用固件镜像的大部分)。