Skip to main content
QUICK REVIEW

[论文解读] SAFE-PDF: Robust Detection of JavaScript PDF Malware Using Abstract Interpretation

Alexander Jordan, François Gauthier|arXiv (Cornell University)|Oct 30, 2018
Advanced Malware Detection Techniques参考文献 25被引用 7
一句话总结

本文提出 SAFE-PDF,一种基于保守抽象解释的稳健静态分析框架,用于检测基于 JavaScript 的 PDF 恶意软件。通过建模 PDF JavaScript 环境并实施白名单策略,SAFE-PDF 实现了高召回率,并能抵抗常见的逃避技术(如混淆、模仿和沙箱检测),在鲁棒性方面优于现有最先进工具,同时保持相当的精确度和每份文档平均低于 4 秒的分析时间。

ABSTRACT

The popularity of the PDF format and the rich JavaScript environment that PDF viewers offer make PDF documents an attractive attack vector for malware developers. PDF documents present a serious threat to the security of organizations because most users are unsuspecting of them and thus likely to open documents from untrusted sources. We propose to identify malicious PDFs by using conservative abstract interpretation to statically reason about the behavior of the embedded JavaScript code. Currently, state-of-the-art tools either: (1) statically identify PDF malware based on structural similarity to known malicious samples; or (2) dynamically execute the code to detect malicious behavior. These two approaches are subject to evasion attacks that mimic the structure of benign documents or do not exhibit their malicious behavior when being analyzed dynamically. In contrast, abstract interpretation is oblivious to both types of evasions. A comparison with two state-of-the-art PDF malware detection tools shows that our conservative abstract interpretation approach achieves similar accuracy, while being more resilient to evasion attacks.

研究动机与目标

  • 为应对 PDF 查看器和 JavaScript 运行时中存在漏洞而被利用的基于 JavaScript 的 PDF 恶意软件日益增长的威胁。
  • 克服现有检测工具的局限性,包括通过代码混淆、模仿良性结构以及沙箱检测实现的逃避。
  • 开发一种实用的、高召回率的静态分析系统,用于检测嵌入式 JavaScript 在 PDF 中的恶意行为,且对已知的逃避技术具有鲁棒性。
  • 设计一种稳健的 PDF JavaScript 代码提取器,能够处理边缘情况和非标准构造,避免现有工具因无法处理而崩溃。
  • 提供一种透明、可维护的检测模型,基于抽象解释和白名单策略,避免依赖于不透明的机器学习分类器。

提出的方法

  • 采用保守抽象解释,计算嵌入式 JavaScript 在 PDF 中所有可能行为的可靠上界近似。
  • 设计针对 PDF JavaScript 环境的领域专用抽象解释器,支持常见 API 和执行上下文。
  • 实施白名单策略,阻止已知恶意模式,如堆喷射和对存在漏洞函数的调用。
  • 构建高度稳健的 JavaScript 代码提取器,在 2,952 份存在异常的 PDF 文档上进行验证,以防止解析器混淆攻击。
  • 采用保守分析策略,将任何未知或潜在恶意行为均视为恶意,以确保高召回率。
  • 集成符号推理,以在不进行动态执行的情况下模拟不同查看器版本和环境中的行为。

实验结果

研究问题

  • RQ1抽象解释能否有效应用于检测基于 JavaScript 的 PDF 恶意软件,实现高召回率和低误报率?
  • RQ2静态分析方法能否抵抗常见的逃避技术,如代码混淆、模仿良性结构以及沙箱检测?
  • RQ3基于抽象解释的检测在性能和准确率方面与最先进的基于签名和动态分析的工具相比如何?
  • RQ4稳健的代码提取器在处理格式错误或非标准 PDF 构造时,能在多大程度上提升静态分析的可靠性?
  • RQ5基于透明策略的检测模型能否在可维护性和抗逃避能力方面超越不透明的机器学习检测器?

主要发现

  • SAFE-PDF 实现了近乎完美的召回率,在评估集中检测到几乎所有已知的恶意 PDF。
  • 尽管采用保守分析策略,该工具仍保持与最先进检测工具相当的精确度。
  • 每份文档的平均分析时间低于 4 秒,证明其在实际部署中的可行性。
  • 代码提取器成功处理了此前导致现有提取器崩溃的 2,952 份文档,证明其对解析器混淆攻击具有鲁棒性。
  • 由于采用静态、保守且语义感知的分析方式,SAFE-PDF 能够抵抗混淆、模仿和沙箱逃避攻击,而这些攻击可绕过现有工具。
  • 该方法优于动态分析,能够检测由用户交互触发的行为,而这些行为会被基于沙箱的工具所遗漏。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。