近二十年来,安全 Web 网关 (SWG) 一直用于监控网络流量、拦截恶意文件和网站以及保护企业免受 Web 威胁。
如今,许多企业都相信他们的 SWG 能够捕获所有已知恶意软件,正如其 SLA (服务质量保证)中所承诺的那样。
然而,只需将恶意软件分解成更小的碎片,即可成功绕过 SWG 并将恶意负载传送到端点。
自从SquareX的研究人员公开演示了这些浏览器安全攻击后,客户和供应商都惊讶地发现这些攻击如此轻松地躲过了他们的 SWG。
文件分块:将恶意软件分解成微小且不可检测的碎片的艺术
文件分块攻击利用了 SWG 和云代理单独分析网络流量和文件(每次一个请求)这一事实。
在这些攻击中,恶意行为者将恶意软件文件拆分成几个较小的片段或块,并将它们单独传送到客户端浏览器。
由于每个片段本身太小或看似无害,SWG 无法识别整体恶意意图,从而允许这些块通过而不被发现。
一旦所有区块都传送到受害者的浏览器,攻击者的 JavaScript 代码就会在客户端将这些片段重新组装成完整的可执行恶意软件。
这可能是勒索软件、间谍软件或任何其他形式的恶意软件,当它完全形成并下载到客户端设备上时,SWG 已经失效了。
SWG 擅长在已知恶意文件以完整形式出现时检测和阻止它们。
它们通过扫描网络流量以查找已知恶意软件签名或使用 AI/ML 来检测可疑模式来运行。
然而,典型的 SWG 或云代理会单独检查每个网络请求或数据流,这些解决方案的无状态性质意味着它们不会保留先前请求的记忆。
SWG 无法判断所有请求是否来自同一个浏览器选项卡或窗口,这意味着它无法识别一系列看似无害的块会在同一选项卡上组合成危险的东西。
这些限制使得攻击者能够通过文件分块成功地将众所周知的恶意软件传送给企业员工。
不同的分块技术
攻击者开发了各种分块技术来进一步逃避检测。以下是一些常用的方法:
直接拆分攻击
恶意文件被拆分成多个小部分,并分别发送到浏览器。由于这些部分太小,不足以触发安全警报,因此 SWG 允许每个块通过。一旦所有部分都到达客户端,JavaScript 就会重新组装恶意软件并执行它。
反向拆分攻击
在这种变体中,每个块不仅被拆分,而且还被反转。这意味着即使某些安全解决方案试图检测各个部分中的模式,反转的内容看起来也是良性的。一旦所有反转的部分都交付,它们就会被反转回其原始形式并在执行恶意软件之前重新组装。
随机大小攻击
在此,文件被分解成随机大小的块,使检测更加困难。由于块的大小各不相同,并且不遵循可预测的模式,因此几乎不可能对这些块进行指纹识别。同样,一旦所有部分都交付,恶意软件就会在客户端重新组装。
混合匹配攻击
此方法结合了反向拆分和随机大小技术,创建了一组高度混淆的文件块,使检测更加困难。一旦传送到客户端,JavaScript 就会通过反转和匹配随机大小的片段来重新组装恶意软件。
此外,攻击者还在野外利用 30 多个 SWG 绕过方法进入企业网络。
为了保护自己免受这些攻击,企业必须采用新的浏览器原生安全方法,这些方法可以检测浏览器中的客户端活动,并在恶意软件离开浏览器之前阻止其下载。
如果没有这一额外的保护层,企业仍然容易受到利用其云代理解决方案局限性的攻击。