Proofpoint发布威胁狩猎创新检测技术:PDF对象哈希

Proofpoint发布了一款名为“PDF对象哈希”的开源工具,该工具通过分析PDF文件的内部对象结构与排列顺序来生成唯一“指纹”,即使文件被加密或内容微调,也能有效追踪关联的恶意文档,助力威胁归因与检测。

Proofpoint发布威胁狩猎创新检测技术:PDF对象哈希

关键发现

  • Proofpoint创建了一个新的开源工具,用于基于PDF中的独特特征创建威胁检测规则,称为“PDF对象哈希”。
  • 该技术可以帮助识别相关文档,并在威胁行为者依赖PDF传播恶意软件或凭证网络钓鱼有效载荷时实现归因。
  • Proofpoint内部使用此工具来帮助追踪多个威胁行为者。
  • 该工具现已在GitHub上提供。

概述 PDF格式被威胁行为者广泛用于启动恶意活动。在电子邮件活动中,Proofpoint研究人员观察到PDF以多种方式传播。例如,威胁行为者经常分发包含导致恶意软件或凭证网络钓鱼的URL的PDF;包含导致恶意网页的二维码的PDF;或包含虚假银行详情或发票以促成商业电子邮件入侵(BEC)活动的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. 标准(对象5)和加密URI对象(对象10)的示例。

Proofpoint研究人员创建了独特的PDF对象哈希检测方法,以应对PDF格式带来的挑战。我们不依赖更脆弱或临时的检测方法,如文件哈希、URL、诱饵图像和元数据值,而是能够专注于文档的结构。虽然存在使用如dhash等技术比较图像相似性的更鲁棒的检测方法,但PDF对象哈希适用于文档的整体结构,使我们能够忽略特定的诱饵图像。通过检查对象的类型及其出现的顺序——同时忽略其具体参数和细节——我们可以创建一个代表PDF文档整体结构的“骨架”或“模板”。然后利用这些对象类型,通过哈希其值来创建PDF的唯一“指纹”。这样做使我们能够在广泛的PDF文件中搜索,以检测和识别其他可能匹配该“指纹”的文件。该过程从解析文档开始,跟踪所有使用中的对象位置,然后为每个对象解析出一个“类型”。以下是我们提取的部分类型:

  • 页面
  • 目录
  • XObject/图像
  • 注释/链接
  • 页面
  • 元数据/XML
  • 生产者
  • 字体/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

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计