使用操作码语言的 LSTM 恶意软件检测
密码学与安全
2019-06-12 v1 软件工程
摘要
如今,随着互联网和软件产业的蓬勃发展,越来越多的恶意软件变种被设计用于执行各种恶意活动。传统的基于签名的检测方法无法检测恶意软件的变种。此外,大多数基于行为的方法需要一个安全且隔离的环境来执行恶意软件检测,这容易受到污染。本文中,类似于自然语言处理,我们提出了一种新颖且高效的静态恶意软件分析方法,可以自动学习恶意软件的操作码序列模式。我们提出将恶意软件建模为一种语言,并评估了该方法的可行性。首先,我们使用反汇编工具 IDA Pro 获取恶意软件的操作码序列。然后,使用词嵌入技术学习操作码的特征向量表示。最后,我们提出了一种用于恶意软件检测的两阶段 LSTM 模型,该模型使用两个 LSTM 层和一个均值池化层来获取恶意软件操作码序列的特征表示。我们在包含 969 个恶意文件和 123 个良性文件的数据集上进行了实验。在恶意软件检测和恶意软件分类方面,评估结果表明,我们提出的方法在最佳情况下分别可以达到平均 AUC 0.99 和平均 AUC 0.987。
引用
@article{arxiv.1906.04593,
title = {Malware Detection with LSTM using Opcode Language},
author = {Renjie Lu},
journal= {arXiv preprint arXiv:1906.04593},
year = {2019}
}