基于API序列和卷积神经网络的恶意代码检测
发布时间:2021-08-29 21:31
卷积神经网络(convolutional neural network,CNN)在诸多领域得到了广泛应用,Windows API序列在结构上存在前后依赖关系,仅仅使用卷积神经网络实现恶意代码检测将忽略词的上下文语义,因此使用了词向量模型来训练API序列,并且融合5个大小不同的卷积核来弥补传统卷积网络丢失序列时序信息和语法信息的缺点.在Cuckoo沙箱中运行样本文件,提取动态API序列并进行去重处理,预训练得到词向量,输入到多核融合的CNN网络中训练恶意代码检测模型.最后使用测试集测试模型的有效性,测试集的正确率值达到了98.1%,结果表明所提出的方法能有效地检测恶意代码.
【文章来源】:信息安全研究. 2020,6(03)
【文章页数】:8 页
【部分图文】:
方法实现流程图
图1 方法实现流程图实验在多个客户机上并行运行,从而减少实验的时间.Cuckoo服务器开启虚拟机,分发样本数据集中的样本到各个分析客户机并执行,收集到样本执行的行为后回传Cuckoo服务器,同时恢复到初始状态继续下一次的分析.分析报告的组成包含如下部分:静态分析结果,如导入表信息;程序的API调用序列以及参数;虚拟机系统的内存镜像和分析进程的内存镜像;程序运行时产生的网络流量.本文仅提取分析报告中的API调用序列用于恶意代码分析.
神经网络的输入不支持文本字符串形式,因此必须把字符串转换为向量表示,传统的基于向量模型或者one-hot来表述文本的方式,随着词汇的增多,向量的维度增加从而容易造成维度灾难,带来效率的急剧下降.而词嵌入技术可以把字符串转换为词向量,把高维的稀疏特征向量转换为低维密度特征向量可以有效避免这一问题,因此本文采用词嵌入技术把动态API序列转换为词向量,作为卷积神经网络的输入.词嵌入的一种典型模型为Word2Vec模型,Word2Vec有2种不同的表示模型,分别为CBOW和Skip-Gram模型.2种模型的主要区别在于CBOW是根据上下文来预测1个词,而Skip-Gram则是通过当前词来预测周围的词.本文采用的模型为Skip-Gram模型,假设给定窗口大小为2,输入wi,则输出wi-2,wi-1,wi+1,wi+2.相应的模型如图3所示:实验所提取的原始API调用共250个,因此每一个API被表示成一个250维的one-hot向量,这个向量有250个分量,对应每一个API,在对应的API位置为1,其他都是0.Skip-Gram训练的目的是找到可以用来有效预测上下文的表达形式,即最大化预测平均对数概率,用softmax方法来计算如下:
【参考文献】:
期刊论文
[1]基于GPU加速的恶意代码字节码特征提取方法研究[J]. 周紫瞻,王俊峰. 四川大学学报(自然科学版). 2019(02)
[2]基于家族行为频繁子图挖掘的恶意代码检测[J]. 朱雪冰,周安民,左政. 信息安全研究. 2019(02)
[3]MACSPMD:基于恶意API调用序列模式挖掘的恶意代码检测[J]. 荣俸萍,方勇,左政,刘亮. 计算机科学. 2018(05)
[4]基于API序列特征和统计特征组合的恶意样本检测框架[J]. 芦效峰,蒋方朔,周箫,崔宝江,伊胜伟,沙晶. 清华大学学报(自然科学版). 2018(05)
本文编号:3371419
【文章来源】:信息安全研究. 2020,6(03)
【文章页数】:8 页
【部分图文】:
方法实现流程图
图1 方法实现流程图实验在多个客户机上并行运行,从而减少实验的时间.Cuckoo服务器开启虚拟机,分发样本数据集中的样本到各个分析客户机并执行,收集到样本执行的行为后回传Cuckoo服务器,同时恢复到初始状态继续下一次的分析.分析报告的组成包含如下部分:静态分析结果,如导入表信息;程序的API调用序列以及参数;虚拟机系统的内存镜像和分析进程的内存镜像;程序运行时产生的网络流量.本文仅提取分析报告中的API调用序列用于恶意代码分析.
神经网络的输入不支持文本字符串形式,因此必须把字符串转换为向量表示,传统的基于向量模型或者one-hot来表述文本的方式,随着词汇的增多,向量的维度增加从而容易造成维度灾难,带来效率的急剧下降.而词嵌入技术可以把字符串转换为词向量,把高维的稀疏特征向量转换为低维密度特征向量可以有效避免这一问题,因此本文采用词嵌入技术把动态API序列转换为词向量,作为卷积神经网络的输入.词嵌入的一种典型模型为Word2Vec模型,Word2Vec有2种不同的表示模型,分别为CBOW和Skip-Gram模型.2种模型的主要区别在于CBOW是根据上下文来预测1个词,而Skip-Gram则是通过当前词来预测周围的词.本文采用的模型为Skip-Gram模型,假设给定窗口大小为2,输入wi,则输出wi-2,wi-1,wi+1,wi+2.相应的模型如图3所示:实验所提取的原始API调用共250个,因此每一个API被表示成一个250维的one-hot向量,这个向量有250个分量,对应每一个API,在对应的API位置为1,其他都是0.Skip-Gram训练的目的是找到可以用来有效预测上下文的表达形式,即最大化预测平均对数概率,用softmax方法来计算如下:
【参考文献】:
期刊论文
[1]基于GPU加速的恶意代码字节码特征提取方法研究[J]. 周紫瞻,王俊峰. 四川大学学报(自然科学版). 2019(02)
[2]基于家族行为频繁子图挖掘的恶意代码检测[J]. 朱雪冰,周安民,左政. 信息安全研究. 2019(02)
[3]MACSPMD:基于恶意API调用序列模式挖掘的恶意代码检测[J]. 荣俸萍,方勇,左政,刘亮. 计算机科学. 2018(05)
[4]基于API序列特征和统计特征组合的恶意样本检测框架[J]. 芦效峰,蒋方朔,周箫,崔宝江,伊胜伟,沙晶. 清华大学学报(自然科学版). 2018(05)
本文编号:3371419
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/3371419.html