Skip to main content
QUICK REVIEW

[论文解读] A Benchmark API Call Dataset for Windows PE Malware Classification

Ferhat Özgür Çatak, Ahmet Faruk Yazı|arXiv (Cornell University)|May 6, 2019
Advanced Malware Detection Techniques参考文献 10被引用 23
一句话总结

本论文提出一个基准数据集,包含7,107个来自不同家族的Windows PE恶意软件样本,通过沙盒执行收集其顺序API调用记录。作者证明,尽管存在变形行为,恶意软件家族仍表现出一致且相关的API调用模式,从而可有效利用机器学习模型实现基于行为的分类。该数据集已公开,以推动恶意软件分析研究的发展。

ABSTRACT

The use of operating system API calls is a promising task in the detection of PE-type malware in the Windows operating system. This task is officially defined as running malware in an isolated sandbox environment, recording the API calls made with the Windows operating system and sequentially analyzing these calls. Here, we have analyzed 7107 different malicious software belonging to various families such as virus, backdoor, trojan in an isolated sandbox environment and transformed these analysis results into a format where different classification algorithms and methods can be used. First, we'll explain how we got the malware, and then we'll explain how we've got these software bundled into families. Finally, we will describe how to perform malware classification tasks using different computational methods for the researchers who will use the data set we have created.

研究动机与目标

  • 为解决基于API调用序列的恶意软件分类模型评估缺乏标准化基准数据集的问题。
  • 收集并构建大规模、多样化的Windows PE恶意软件数据集,包含已标注家族分类的样本。
  • 使研究人员能够基于真实世界的行为模式训练和测试机器学习模型。
  • 探究尽管存在代码混淆,变形恶意软件家族的API调用序列是否保持一致性。
  • 提供一个公开可获取、可复现的数据集,以加速基于行为的恶意软件检测研究。

提出的方法

  • 恶意软件样本从公开来源(包括GitHub)收集,并通过VirusTotal进行验证,利用哈希匹配确定家族分类。
  • 每个样本在Cuckoo沙盒环境中执行,以记录执行期间的所有Windows API调用。
  • 提取并归一化API调用序列,保留时间顺序以供后续分类任务使用。
  • 根据VirusTotal的家族标签对恶意软件家族进行分组,共分为6个独立类别:Downloader、Worms、Spyware、Adware、Dropper、Virus。
  • 对API调用对进行相关性分析,以识别各恶意软件家族中频繁共现的调用对。
  • 将数据集发布在GitHub上,以确保研究社区的可访问性与可复现性。

实验结果

研究问题

  • RQ1Windows PE恶意软件API调用序列的基准数据集能否提升恶意软件分类模型的评估与比较?
  • RQ2尽管存在代码混淆和变形行为,不同恶意软件家族是否在API调用序列中表现出独特且一致的模式?
  • RQ3在特定恶意软件家族中,哪些API调用对具有最强相关性,且这些模式能否用于提升分类准确率?
  • RQ4变形恶意软件在不同变体之间在API调用序列上在多大程度上保持行为一致性?
  • RQ5所提出的数据集能否支持基于序列的模型(如LSTM)在恶意软件检测中的开发?

主要发现

  • 该数据集包含6个不同家族的7,107个唯一恶意软件样本,均附有来自沙盒执行的完整API调用日志。
  • 在每个恶意软件家族中均观察到显著的API调用相关性,部分调用对甚至表现出完全相关(r = 1.0),例如Adware家族中的'getfileversioninfosizew'与'findresourcew'。
  • Dropper和Worms等恶意软件家族表现出5至10个高度相关的API调用,表明其行为模式具有一致性。
  • 最常共现的API调用对包括'ntcreatethreadex'与'ntsetinformationfile'、'ntprotectvirtualmemory'与'setwindowshookexa',以及'ntcreatesection'与'writeprocessmemory'。
  • 该数据集可有效用于序列模型的训练,已有证据表明其在基于LSTM的恶意软件检测系统中成功应用。
  • 本研究证实,尽管存在变形混淆,恶意软件家族仍可通过一致的API调用序列维持可检测的行为特征。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

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