Proofpoint发布创新的威胁狩猎检测技术:PDF对象哈希
主要发现
- Proofpoint创建了一个新的开源工具,用于基于PDF中独特特征创建威胁检测规则,称为“PDF对象哈希”。
- 该技术有助于识别相关文档,并在威胁行为者依赖PDF传播恶意软件或凭证网络钓鱼时实现归因。
- Proofpoint在内部使用此工具帮助追踪多个威胁行为者。
- 该工具现已在GitHub上提供。
概述 PDF格式被威胁行为者广泛用于启动恶意活动。在电子邮件活动中,Proofpoint研究人员观察到PDF以多种方式分发。例如,威胁行为者经常分发包含指向恶意软件或凭证网络钓鱼URL的PDF;包含指向恶意网页二维码的PDF;或包含虚假银行详细信息或发票以促成商务电子邮件入侵活动的PDF。
图1. 威胁行为者冒充各种品牌使用的PDF诱饵示例。 由于PDF格式的复杂性以及威胁行为者利用它的多种方式,检测恶意PDF文件的范围可以从简单直接到几乎不可能。Proofpoint研究人员发现了利用PDF的显著攻击活动,并创建了一个名为PDF对象哈希的新工具,旨在追踪和检测威胁行为者使用的PDF的独特特征。即使攻击链或交付方法发生变化,该工具也能通过识别可能与特定威胁行为者相关的PDF来支持归因。
PDF对象哈希 PDF格式复杂,这会在创建新的检测签名时造成问题。检测工程师在PDF格式方面面临的一个挑战是,出于兼容性原因,PDF规范允许用多种方式表示看起来完全相同的PDF。这为威胁行为者提供了在其恶意PDF中引入随机变体的多种选择,使得威胁检测工程师难以编写能应对所有变体的模式匹配签名。变体选项的示例如下:
- 六种不同的有效空白字符
- 交叉引用表可以以纯文本形式存储,也可以压缩并以单独格式存储
- 对象的参数值可以嵌入该对象中,或在另一个对象中引用
此外,有些对象在文档中以明文形式存在,有些则压缩在“流对象”中。流对象是PDF内部的压缩对象,PDF查看器仍可访问。这意味着安全从业人员试图告警的域名可能不可见,除非您检查这些压缩流。虽然大多数检测工程师认识到URI或诱饵图像等元素可能频繁变化,但PDF格式包含许多额外的特定于格式的障碍,在分析文件时必须予以考虑。
防御PDF威胁时的一个具体挑战发生在文件被加密时。当PDF文件被加密时,文档的整体结构仍然可见,但单个对象的详细信息或参数会被隐藏。以下截图展示了当PDF加密时,URI字符串等对象如何被隐藏,而在未加密时则可见。
图2和图3. 标准URI对象(obj 5)和加密URI对象(obj 10)的示例。
Proofpoint研究人员创建了独特的PDF对象哈希检测,以应对PDF格式带来的挑战。我们不再依赖更脆弱或临时的检测方法,如文件哈希、URL、诱饵图像和元数据值,而是能够专注于文档的结构。虽然存在使用像dhash这样的技术来比较图像相似性的更鲁棒的检测方法,但PDF对象哈希适用于文档的整体结构,使我们能够忽略特定的诱饵图像。通过检查对象的类型及其出现的顺序——同时忽略其特定参数和细节——我们可以创建代表PDF文档整体结构的“骨架”或“模板”。然后利用这些对象类型,通过对它们的值进行哈希运算,创建PDF的独特“指纹”。这样做使我们能够跨广泛的PDF文件范围进行搜索,以检测和识别其他可能匹配该“指纹”的文件。该过程始于解析文档,跟踪所有使用中对象的位置,然后为每个对象解析出一个“类型”。以下是我们提取的部分类型示例:
- Pages(页面)
- Catalog(目录)
- XObject/Image(外部对象/图像)
- Annots/Link(注释/链接)
- Page(页面)
- Metadata/XML(元数据/XML)
- Producer(制作者)
- Font/Type1(字体/Type1)
然后,我们将这些对象按顺序连接并进行哈希运算,创建出我们称之为“PDF对象哈希”的值。其工作原理类似于PE文件中的imphash。然后,我们可以基于这些哈希进行聚类,以帮助识别特定文档可能发生的变体和诱饵图像更新。这对于识别诱饵图像已更新或URI已更改,但整体文档仍然相似的文档非常有用,这可能表明威胁组织特有的构建器或流程。
图4. PDF对象哈希的重叠(绿色部分)以及下方的PDF文件(黄色部分)。
图5. 两个不同的诱饵,但包含相同类型的对象。
PDF对象哈希可以成为一种生成信号的可靠方法,这些信号可以与其他检测逻辑结合使用,以帮助创建更鲁棒的规则,并将PDF文件聚类成组以进行更集中的分析。Proofpoint研究人员已在内部使用该工具来高置信度地识别文档和相关活动,在许多情况下改进了归因。
攻击活动示例 为了说明PDF对象哈希如何帮助威胁狩猎和分析,我们可以看看两个有趣的威胁行为者。
被称为UAC-0050的威胁集群以乌克兰为目标,经常分发传递恶意软件的加密PDF。在他们的攻击活动中,消息包含带有指向NetSupport RAT的URL的PDF文件。该URL通常会下载一个压缩的JavaScript文件,如果执行,则会安装NetSupport RAT有效载荷。
图6. 冒充OneDrive的PDF示例。(SHA256:ee03ad7c8f1e25ad157ab3cd9b0d6109b30867572e7e13298a3ce2072ae13e5)。
由于这些恶意PDF文件被加密,许多网络安全工具和其他PDF解析系统无法提取嵌入的内容,包括URI、诱饵图像以及与文档内容相关的参数。无论是否加密,PDF都保留了一个内部文档结构,可以解析以揭示这些对象在文件内的组织方式和相互关系。使用PDF对象哈希,Proofpoint为这些PDF开发了独特的签名,而无需解密或分析其内部对象的具体内容。这种方法允许快速识别其他可能具有相同结构的潜在相关PDF文档,同时也使我们能够判定并阻止有效载荷的传递。
另一个目前使用PDF并通过PDF对象哈希追踪的行为者是UNK_ArmyDrive。Proofpoint自2025年5月开始追踪该行为者,认为其在印度活动,并有使用PDF作为其攻击链一部分的历史。虽然Proofpoint对该组织有传统的检测覆盖,但我们也通过PDF对象哈希增强了覆盖范围。这样做提供了来自其文档静态特征的额外信号,我们可以利用这些信号来发现如果该组织转向现有诱饵之外的手段可能会被遗漏的样本。
图7. UNK_ArmyDrive冒充孟加拉国国防部的PDF示例(08367ec03ede1d69aa51de1e55caf3a75e6568aa76790c39b39a00d1b71c9084)。
PDF对象哈希的开源项目可以在Proofpoint Emerging Threats公共GitHub上找到:https://github.com/EmergingThreats/pdf_object_hashing