ZoneAlarm Threat Extraction 文档净化——主动剥离宏/OLE/外链,对抗文档投毒攻击
文档投毒:当前最主流的攻击载体
在杀毒引擎对 exe 等可执行文件的检测越来越成熟之后,攻击者转向了"看起来不是病毒的文件"——Word、Excel、PowerPoint、PDF 这些办公文档。这些文档本身不是可执行程序,但内部可以嵌入可被利用的结构:
- 宏脚本(Macro):攻击者用 VBA 宏植入恶意代码,用户打开文档时宏自动运行
- OLE 嵌入对象:在文档里嵌入一个可执行文件或脚本,双击触发
- 外部超链接:点击跳到钓鱼网站或自动下载恶意程序
- 隐藏内容:用文本框、备注区域、条件格式等方式隐藏可执行代码
杀毒引擎的问题在于它只扫描文件内容的哈希签名——如果宏脚本是新的(签名还没被收录),杀毒引擎就会放行这个"干净"的 Word 文档。但用户一打开,宏脚本立刻运行,木马就进来了。
Threat Extraction:主动剥离可利用结构
ZoneAlarm Extreme 独有的 Threat Extraction 技术从根源上解决这个问题——它不是扫描文档,而是主动重构文档:
- 用户下载一个 Office 文档或 PDF 时,ZoneAlarm 拦截下载
- 在 ZoneAlarm 的云端服务器上分析文档结构,识别所有可被利用的元素
- 剥离以下内容:
| 被剥离元素 | 危害 | 处理方式 |
|---|---|---|
| 宏脚本(Macro) | VBA 宏可执行任意代码 | 完全剥离,不保留 |
| OLE 嵌入对象 | 可执行文件和脚本的伪装壳 | 完全剥离 |
| 外部超链接 | 钓鱼跳转和自动下载 | 转换为纯文本(点击无响应) |
| 隐藏内容 | 攻击者用来藏恶意代码的容器 | 完全剥离 |
| 活动内容(ActiveX/JavaScript) | PDF 里的可执行内容 | 完全剥离 |
- 用剥离后的安全内容重建出一份干净的 PDF 版本
- 把 PDF 版本交付给用户,原始可疑文档被隔离
ZoneAlarm 不会对用户说"这个文档有病毒"——它直接交付一个已经安全了的版本,用户照常用,不影响内容使用。
效果对比
| 防护方式 | 原理 | 对文档投毒的效果 |
|---|---|---|
| 传统杀毒引擎 | 哈希签名匹配 | 宏脚本签名未收录时放行 → 用户打开中招 |
| 行为启发式 | 运行时分析行为 | 宏脚本运行时才触发分析,晚了一步 |
| Threat Extraction | 主动剥离结构 | 不管宏是不是已知威胁,先把可执行结构全剥掉 → 用户打开的永远是干净版本 |
PCMag 2024 评测中,ZoneAlarm Extreme 的 Threat Extraction 在文档投毒防护测试中获得满分评级——测试用了 50 个带恶意宏的 Word 文档,Threat Extraction 全部成功净化并交付干净 PDF。
哪些场景会触发 Threat Extraction
Threat Extraction 默认在以下场景自动触发:
- 浏览器下载:Chrome / Edge / Firefox / Brave 下载 Office 文档或 PDF 时,Web Secure 扩展拦截下载并触发 Threat Extraction
- 邮件附件:ZoneAlarm 邮件扫描模块检测到附件是 Office 文档或 PDF 时触发
- 手动扫描:对本地 Office 文档运行自定义扫描时,Threat Extraction 会在扫描过程中自动执行
Threat Extraction 不会触发的场景:
- 本地创建的新文档(刚创建的文档没有宏和嵌入对象,不需要净化)
- 图片、视频、音频等非文档格式
- zip/rar/7z 等压缩包(Threat Extraction 不处理压缩包内部文件,杀毒引擎的压缩包扫描处理这个)
用户感知:几乎无感
Threat Extraction 的设计原则是"不打扰":
- 不会弹警告:不像杀毒引擎那样弹"检测到威胁",Threat Extraction 安静地在后台完成
- 净化完成自动打开:浏览器下载完后,你打开的就是 ZoneAlarm 重建的干净 PDF,原始可疑文件被隔离到隔离区
- 可以查日志:想知道哪些文件被净化了、剥掉了什么元素,可以查 Threat Extraction 日志(见上一章日志查询)
偶尔你可能会遇到"ZoneAlarm 净化后交付的 PDF 内容和原文档不完全一样"——这是正常的,被剥掉的宏、OLE 对象和外部超链接本来就不应该存在在干净文档里。
Threat Extraction vs 杀毒引擎 vs 防火墙
三者的防护层级和触发时机完全不同:
| 模块 | 管什么 | 什么时候触发 |
|---|---|---|
| 防火墙 | 文档下载的网络流量 | 下载过程中 |
| 杀毒引擎 | 下载到本地的文件是不是已知病毒 | 下载完成时 / 打开时 |
| Threat Extraction | 文档内部的可利用结构 | 下载时 / 手动扫描时 |
Threat Extraction 在防火墙和杀毒引擎之间插了一层——防火墙放行的流量可能载着带毒文档,杀毒引擎签名未匹配的新型毒文档可能放过,但 Threat Extraction 不管签名,只看文档结构里有没有可执行元素,有的话先剥掉再说。
下一个:Threat Emulation 云端沙箱
Threat Extraction 管的是文档投毒,Threat Emulation 管的是所有其他文件类型的零日攻击——两者配合覆盖从 exe 到 docx 的全文件范围: