跳转到主要内容

路过式下载

本文约需 2 分钟阅读

路过式下载是指用户仅仅浏览了一个网页,不进行任何点击或下载操作,就感染恶意软件的攻击手法。由于它利用浏览器或插件的漏洞来执行任意代码,即使是安全意识很高的用户也可能受害。这种攻击从根本上颠覆了「只要不访问可疑网站就安全」的认知,正规网站被篡改并被当作攻击跳板的情况也屡见不鲜。

攻击的原理

用户
浏览网页
被篡改的页面
恶意 JS / iframe
漏洞利用工具包
自动探测漏洞
投递载荷
执行恶意软件

承担攻击核心作用的是漏洞利用工具包 (EK)。Angler、RIG、Magnitude 等 EK 会自动对来访浏览器的种类、版本以及已安装的插件进行指纹识别,选择可利用的漏洞并投递攻击代码。这一系列处理在毫秒级别内完成,因此用户几乎不会察觉到异常。

恶意广告 - 经由广告网络的感染

恶意广告 (malvertising) 是一种将恶意广告混入正规广告网络的手法。攻击者正规购买广告位,并在广告素材中植入攻击代码。在某些情况下,仅仅展示该广告 (即使不点击) 就会被重定向到漏洞利用工具包。

感染途径原理影响范围
网站篡改向正规网站的 HTML/JS 注入攻击代码该网站的所有访问者
恶意广告经由广告网络投放恶意广告展示该广告的所有网站的访问者
第三方脚本入侵外部 JS 库或小部件加载该脚本的所有网站

2016 年曾发生过这样的案例:大型新闻网站 MSN.com、BBC、纽约时报的广告位被恶意广告滥用,数百万规模的用户暴露在 Angler EK 之下。由于仅仅浏览正规网站就会感染,「只看可信网站就安全」这种对策毫无作用。

水坑攻击的关系

水坑攻击是一种有针对性的攻击:攻击者预先调查目标组织员工频繁访问的网站,然后在这些网站上植入路过式下载的陷阱。与不分对象、广撒网的恶意广告不同,其特点是精准锁定特定的组织或行业。已有行业协会网站和专业媒体被当作跳板的案例报告。

浏览器沙箱带来的防御

现代浏览器使用沙箱技术,将每个标签页的进程与操作系统隔离。在 Chrome 的多进程架构中,其设计确保即使渲染进程被攻陷,也无法访问操作系统级别的资源。然而,沙箱逃逸漏洞有时会被发现,因此仅依赖沙箱是危险的。

有效的防御措施
  • 启用浏览器和操作系统的自动更新
  • 删除不需要的插件 (Flash、Java)
  • 引入广告拦截器
  • 网络层面的 URL 过滤
效果有限的对策
  • 「避开可疑网站」(正规网站也会被篡改)
  • 仅依赖基于特征码的杀毒软件
  • 全面禁用 JavaScript (实用性显著下降)
  • 仅依赖用户教育

补丁管理的重要性

绝大多数路过式下载都利用已知漏洞。彻底落实补丁管理,让浏览器、操作系统和插件始终保持最新状态,是性价比最高的防御措施。由于漏洞利用工具包瞄准的许多漏洞会在补丁发布后数日内被纳入攻击代码,因此更新的延迟会直接转化为风险。

「我又没点击,所以不可能感染」这种想当然的想法正在扩大路过式下载的危害。重要的是要在组织的安全教育中反复强调:仅仅显示页面就足以构成感染。

浏览器扩展的风险在浏览器扩展安全的文章中、安全引入应用在安全安装应用的文章中有详细解说。也请一并参考勒索软件防护Web 安全相关书籍 (Amazon)上也能找到。

相关术语

这篇文章对您有帮助吗?

XHatena