对 Microsoft Office 文件进行清理,意味着要对其执行数十项保护处理。传统方法会让每项保护处理对文档进行完整读取,并且每次应用保护时都会重新读取同一份文档。
Deep CDR™ 技术 该技术仅需读取每份文档一次,并在单次处理过程中完成所有处理步骤。这种方法在保持相同数据清理效果的同时,将大型Office文件的处理速度提高了两倍。
“一丝不苟”的隐性代价
该消毒功能在设计上就非常彻底。Deep CDR™ 技术通过同时对 Microsoft Office 文档进行数十项处理来实现消毒:外部链接、嵌入对象、图像及其元数据、智能标记等。每项处理都针对特定的威胁类别,并执行相应的分析和编辑操作。
现代 Office 文件使得这种彻底检查既耗时又耗费资源。一个 Word 或 Excel 文件实际上是一个压缩文件夹。其中包含用 XML编写的文本文件,这是一种结构化格式,用于描述文档中的每个单元格、段落、图像和链接。为了对文件进行净化处理,Deep CDR™ 技术必须逐行读取该 XML。一个大小为 50 MB 的电子表格文件,解压后可能包含一张工作表,其中包含半千兆字节的 XML 数据。
在传统的引擎布局中,每次处理都会遍历整个 XML 包:一次处理链接,一次处理嵌入对象,一次处理图像,以此类推。
每增加一项保护措施,处理成本就会随之增加。这种“隐性成本”表现为文件队列变长,以及处理相同流量所需的计算资源增加。这还会带来压力,迫使人们为了跟上节奏而不得不降低保护措施的强度。
单轮策略:一次保送, 多个 工作者
设想一下房屋检查的情景。通常情况下,电工、水管工和消防检查员会依次对房屋进行检查,每个人都要走遍每个房间。如果让他们一起进行检查呢?这样,所有必要的专家就能一次性对房屋进行检查。

这正是 Deep CDR™ 技术“单次处理”策略所实现的。它通过以下三个理念颠覆了传统的数据清除架构:
- 一个处理主机,一次遍历。 一个处理主机将文档中的每个XML部分读取(或“遍历”) exactly once。每个保护机制都是一个随该遍历过程运行的处理程序,在XML节点流经时实时检测,并当场执行相应操作。十个保护机制意味着对一份500 MB的文档进行一次读取,同时有十个处理程序对其进行监控。
- 每项保护措施都是一个插件。 一个专门的检查器(或称“处理程序”)负责端到端地处理一个特定方面:内容 XML 中的使用节点、声明这些节点的资源定义,以及存储的工件本身。每个处理程序都遵循相同的生命周期:初始化、处理每个节点、终止。向引擎添加一项保护,意味着在同一遍遍历中注册一个额外的处理程序。彻底性的代价不再随着每项保护的增加而增长。
- 已禁用的保护措施永远不会运行。 在开始执行之前,每个处理程序会检查其配置是否适用。策略中已禁用的保护措施会在最开始就被排除在外,不会增加任何按节点计算的工作量。文档仅被读取一次,只有相关的保护措施才会参与处理
基准测试结果显示
我们在 Windows 和 Linux 系统上,针对精心设计的大型文档和完整的实际应用回归测试套件,对该策略进行了前后对比测试。

- 大型 Excel 文档 (约500 MB的工作表XML):处理速度大约提升了2倍。在Windows系统上,总处理时间缩短了94%,在Linux系统上缩短了67%,而数据密度最高的单工作表文件的处理时间缩短了147%。
- 大型Word文档 (70个文件的定制数据集):总运行时间大约快了2倍,单个文件的平均处理时间提升了169%。
- 实际环境中的回归测试套件 (数千个 Word、Excel 和 PowerPoint 文件):速度提升约 4% 至 20%,具体取决于文件格式和平台。由于大多数文件较小,因此随着文档大小的增加,单次读取的优势会更加明显。
- 行为完全未发生改变:两个版本均通过了完整的回归测试套件,且数据净化结果完全一致。速度提升源于去除了重复读取操作,且未遗漏任何保护措施。
最后这一结果最为关键。在安全设置中,性能承诺只有在保护水平保持不变时才具有意义。网关的吞吐量也有助于保障安全:文件被清理得越快,团队就越不会感到需要绕过保护机制。
为什么我们首先测试了 Office 2007 的文件格式
Office 2007 系列(.docx、.xlsx 和 .pptx)正是 XML 隐性成本集中的地方。这三种格式具有相同的包结构,因此一种主机设计即可涵盖所有格式,而在以电子表格为主的流量中,实际环境中常会出现半千兆字节大小的 XML 文件。
该策略本身适用于任何成本主要体现在大型结构化内容中的格式,这使得这些格式都成为采用相同处理方式的候选对象。
过去,彻底性往往需要付出代价,而且随着保护措施的增加,这一代价也会随之上升。借助单次处理技术,Deep CDR™ 技术只需对整份文档进行一次评估,无论其中应用了多少种保护处理。

Nhut Ngo 现任OPSWAT 公司Software 工程总监,负责领导开发 Deep CDR™ 技术以及MetaDefender Core™ 中其他文件处理技术的工程团队。凭借在软件工程和网络安全领域超过十年的经验,他致力于使文件净化过程更快、更准确,并能满足关键基础设施的需求。Nhut 于 2015 年获得信息科学博士学位。

