Skip to main content
QUICK REVIEW

[论文解读] Dynamic Malware Analysis with Feature Engineering and Feature Learning

Zhaoqi Zhang, Panpan Qi|arXiv (Cornell University)|Jul 17, 2019
Advanced Malware Detection Techniques参考文献 24被引用 15
一句话总结

该论文提出了一种低成本的特征工程方法和一种用于动态恶意软件检测的深度神经网络架构,利用系统API调用序列进行检测。它采用特征哈希编码异构的API参数,通过多个门控CNN提取每个API调用的深层特征,并使用双向LSTM建模序列依赖关系,在真实数据集上实现了98.86%的AUC,达到当前最先进性能。

ABSTRACT

Dynamic malware analysis executes the program in an isolated environment and monitors its run-time behaviour (e.g. system API calls) for malware detection. This technique has been proven to be effective against various code obfuscation techniques and newly released ("zero-day") malware. However, existing works typically only consider the API name while ignoring the arguments, or require complex feature engineering operations and expert knowledge to process the arguments. In this paper, we propose a novel and low-cost feature extraction approach, and an effective deep neural network architecture for accurate and fast malware detection. Specifically, the feature representation approach utilizes a feature hashing trick to encode the API call arguments associated with the API name. The deep neural network architecture applies multiple Gated-CNNs (convolutional neural networks) to transform the extracted features of each API call. The outputs are further processed through bidirectional LSTM (long-short term memory networks) to learn the sequential correlation among API calls. Experiments show that our solution outperforms baselines significantly on a large real dataset. Valuable insights about feature engineering and architecture design are derived from the ablation study.

研究动机与目标

  • 解决在动态恶意软件分析中有效利用异构API参数(如字符串、整数、地址)的挑战,这些参数在以往工作中常被忽略或处理不当。
  • 开发一种低成本、可扩展的特征表示方法,避免复杂的手动特征工程,同时保留来自多种参数类型的信息。
  • 设计一种结合多个门控CNN和双向LSTM的深度学习架构,以从API调用特征中学习分层和序列化模式,提升恶意软件检测性能。
  • 通过在大规模真实数据集上的广泛消融研究和评估,证明特征工程与模型架构设计的有效性。
  • 公开提供提取的特征和代码,以支持动态恶意软件分析领域的可复现性和进一步研究。

提出的方法

  • 使用特征哈希将不同类型的API名称、类别和参数(字符串、整数、地址)编码为统一的、低维的同质特征向量。
  • 使用多个并行的门控卷积神经网络(Gated-CNNs),核大小分别为2、3和4,从每个API调用的高维哈希特征中学习抽象的、低维表示。
  • 将Gated-CNNs的输出输入到一个单一的双向长短期记忆网络(Bi-LSTM)中,以建模API调用序列中的长距离序列依赖关系。
  • 在输入层和Gated-CNNs之后集成批量归一化层,以稳定训练并提升收敛性。
  • 使用交叉熵损失和Adam优化器进行端到端训练,并基于验证AUC实施早停策略。
  • 通过消融研究优化模型架构,比较不同配置的Gated-CNNs、批量归一化和Bi-LSTM层。

实验结果

研究问题

  • RQ1基于哈希的低成本特征表示能否在无需专家驱动特征工程的情况下,有效编码异构API参数(如字符串、整数、地址)用于恶意软件检测?
  • RQ2不同深度学习架构——特别是门控-CNN与Bi-LSTM的组合——如何影响动态恶意软件分析系统的检测性能?
  • RQ3API参数对检测性能的相对贡献是什么?在传统机器学习和深度学习模型中,包含参数是否能持续提升AUC?
  • RQ4哪些架构组件(如门控-CNN数量、批量归一化存在与否、Bi-LSTM层数量)对在未见恶意软件上实现高泛化能力和鲁棒性最为关键?
  • RQ5所提出的模型在零日恶意软件上的泛化能力如何?其在训练期后收集的测试数据上的表现在多大程度上体现了这一点?

主要发现

  • 所提模型在测试集上达到98.86%的AUC,显著优于所有基线方法,包括仅使用API名称或基础字符串特征的方法。
  • 引入API参数使传统机器学习模型的测试AUC提升3%,深度学习模型的AUC提升约1%,证明了参数级别信息的价值。
  • 消融研究显示,Bi-LSTM层至关重要——移除后性能大幅下降,1-Bi-LSTM配置在性能(98.80% AUC)与推理速度之间达到最佳平衡。
  • 2,3-GatedCNN配置(两个核大小分别为2和3的门控-CNN)表现最佳(98.86% AUC),而增加第三个核大小(4)未带来性能提升。
  • 同时包含两个批量归一化层的模型性能略优(98.80% AUC),优于仅含部分或不含BN层的配置,表明其在训练稳定性中的价值。
  • 尽管因参数处理导致推理时间略有增加,但整体延迟仍可接受(数百毫秒),尤其考虑到每个样本使用Cuckoo沙箱进行数据收集通常需3–5分钟。

更好的研究,从现在开始

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

无需绑定信用卡

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