中文

软件熵的小波分解揭示恶意代码症状

密码学与安全 2018-02-05 v2 应用统计

摘要

高级恶意软件作者可将隐藏的恶意代码潜入可移植可执行文件中,且此类代码难以被检测,尤其是在被加密或压缩的情况下。然而,当可执行文件在代码体制(如原生、加密、压缩、文本与填充)之间切换时,文件作为熵信号的表示会发生相应变化。本文开发了一种方法,用于自动量化文件熵信号中的模式化变异使其“可疑”的程度。在实验 1 中,我们利用小波变换定义了可疑结构熵变化分数(SSECS),这是一个基于文件在多级空间分辨率上的熵能分布来量化其可疑性的标量特征。基于此单一特征,即便将其应用于“野外”发现的异构恶意软件语料库,也能将恶意软件检测任务的预测准确率从 50.0% 提升至 68.7%。在实验 2 中,我们描述了如何将基于小波的软件熵分解应用于涉及大量样本与特征的寄生恶意软件检测任务。仅从软件样本中提取字符串与熵特征(含小波分解),我们即可实现对寄生恶意软件近 99% 的检测率,且对正常文件的误报率低于 1%。此外,基于小波的特征在合理的误报率下均一致提升了检测性能,无论是在仅字符串模型(例如从 80.90% 提升至 82.97%)还是字符串加熵模型(例如从 92.10% 提升至 94.74%,以及从 98.63% 提升至 98.90%)中均是如此。总体而言,软件熵的小波分解对于基于从可执行文件中提取数百万特征的机器学习恶意软件检测模型具有实用价值。

关键词

引用

@article{arxiv.1607.04950,
  title  = {Wavelet decomposition of software entropy reveals symptoms of malicious code},
  author = {Michael Wojnowicz and Glenn Chisholm and Matt Wolff and Xuan Zhao},
  journal= {arXiv preprint arXiv:1607.04950},
  year   = {2018}
}

备注

Post print of paper published in Journal of Innovation in Digital Ecosystems. This corrects typos introduced during editing