基于API分组重构与图像表示的恶意软件检测方法

文档序号:34663624发布日期:2023-07-05 12:06阅读:42来源:国知局
基于API分组重构与图像表示的恶意软件检测方法

本发明涉及网络信息安全,特别涉及一种基于api分组重构与图像表示的恶意软件检测方法。


背景技术:

1、网络与信息系统运行环境日趋复杂,恶意软件随之不断涌现,对企业和个人造成巨大损害。恶意软件为躲避检测,凭借多态或变形等手段在传播过程中不断变化,逐渐呈现出数量多、传播迅速、难以检测等特点。

2、目前,恶意软件检测技术通常使用传统的静态分析与动态分析方法;其中,多数动态分析方法受执行环境约束,部分恶意软件通过隐藏文件逃避追踪,过程耗时较长且容易出错;而静态分析方法依赖于人工提取特征,安全性较差,效率较低。此外,网络攻防技术不断发展,恶意软件通常融合多种恶意攻击技术,检测复杂性上升,易使传统恶意软件检测方法失效。

3、随着深度学习在图像检测领域的不断发展,网络安全研究人员开始利用融合图像表示技术对恶意软件自动化检测,以达到基于图像表示的恶意软件检测方法可以避免人为因素的干扰的目的。现有图像融合方法大多基于单通道灰度图,包含特征类别较少,较难全面反映恶意软件的特征;而三通道rgb图像则能够实现容纳较多特征维度的目的,进一步提高检测准确率和分析效率。

4、在目前的操作系统中,绝大部分功能均通过调用应用程序接口(applicationprogram interface,api)实现,恶意软件要实现其目的,就需要调用api。由于api是程序与操作系统的接口,api函数的调用信息反映软件行为,因此,可以从恶意软件运行时调用的api指令序列中获取恶意软件的特征,基于api调用信息进行图像融合以检测恶意软件尤为重要。


技术实现思路

1、本发明的目的是提供一种解决上述技术问题的基于api分组重构与图像表示的恶意软件检测方法。

2、为此,本发明技术方案如下:

3、一种基于api分组重构与图像表示的恶意软件检测方法,1、一种基于api分组重构与图像表示的恶意软件检测方法,其特征在于,步骤如下:

4、s1、对api按编号分组:在软件运行期间调用的api指令序列数据集中统计api种类;将单个软件调用的api按照api种类聚合,以将原始的api调用序列转换为若干个api分组;

5、s2、重构api分组:按照单个软件运行期间对api种类的首次调用顺序,将由步骤s1得到的若干个api组进行重新排序,得到重构的api指令序列;

6、s3、提取恶意软件特征:基于由步骤s2得到的api指令重构序列,依次提取得到api编号特征列表listac、api贡献度特征列表listad和api顺序索引特征列表listas,并通过依次对各列表进行标准化和零填充,得到满足预生成api特征图像的通道尺寸要求的列表;其中,api组内的api条目数为该api组内各api的api贡献度;

7、s4、api特征图像生成:设定api特征图像为rgb图像并确定通道尺寸;设定api特征图像的填充顺序为:将特征数组的各数据项依次地自各通道中第一行第一列的首个像素开始,由左至右依次填充充满后,再由上至下采用相同方式对通道内每行像素进行填充;将由步骤s3得到的api编号特征数组arrayac、api贡献度特征数组arrayad和api顺序索引特征数组arrayas分别填充至api特征图像的r通道、g通道和b通道;

8、s5、图像样本扩充:分别采用图像亮度增强方法、图像锐度增强方法和图像水平翻转方法,将由步骤s4生成的api特征图像转换为高亮度api特征图像、高锐度api特征图像水平翻转api特征图像;

9、s6、构建实现图像分类的轻量型恶意软件特征图像卷积神经网络并训练:

10、1)该网络由依次连接的第一卷积层、relu激活函数、第一最大池化层、第二卷积层、relu激活函数、第二最大池化层、第三卷积层、relu激活函数、第三最大池化层、第四卷积层、relu激活函数、第四最大池化层、第五卷积层、relu激活函数、第五最大池化层、第一全连接层、relu激活函数、第一droupout层、第二全连接层、relu激活函数、第二droupout层、第三全连接层、relu激活函数、第三droupout层和第四全连接层构成;其中,第一卷积层的输入通道数为3、输出通道数为32,其卷积核大小为5×5;第一最大池化层的滑动窗口大小为2×2,滑动步长为1;第二卷积层的输入通道数为32、输出通道数为32,其卷积核大小为5×5;第二最大池化层的滑动窗口大小为2×2,滑动步长为1;第三卷积层的输入通道数为32、输出通道数为64,其卷积核大小为5×5;第三最大池化层的滑动窗口大小为2×2,滑动步长为1;第四卷积层的输入通道数为64、输出通道数为64,其卷积核大小为5×5;第四最大池化层的滑动窗口大小为2×2,滑动步长为1;第五卷积层的输入通道数为64、输出通道数为64,其卷积核大小为5×5;第五最大池化层的滑动窗口大小为2×2,滑动步长为1;第一全连接层的输入数据大小为576、输出数据大小为288;第二全连接层的输入数据大小为288,输出数据大小为144;第三全连接层的输入数据大小为144,输出数据大小为n;第四全连接层的输入数据大小为n,输出数据大小为1;其中,在第三全连接层和第四全连接层中,n为训练中涉及的实际软件类别数量;

11、2)全部api特征图像按照7:3随机划分为训练集和测试集;采用训练集输入至轻量型恶意软件特征图像卷积神经网络mficnn中,并以api特征图像为输入、api特征图像对应软件的软件类别标签为输出,对网络进行训练;采用测试集对完成训练的网络进行测试;其中,软件类别标签为用于对良性软件和不同类别恶性软件进行分类的自定义标签。

12、进一步地,步骤s1的具体实施方式为:

13、s101、根据软件运行期间调用的api指令序列数据集,以api的名称,统计api种类,并使用从0开始的连续正整数对api种类进行编号;

14、s102、对单个软件运行期间调用的全部api按照api的种类聚类,划分为若干个api组,并记为ablock_i;其中,i表示该api组对应api种类编号;每个api组中的各api按照原始调用顺序排列。

15、进一步地,步骤s2的具体实施方式为:

16、s201、遍历单个软件在运行期间调用的api指令序列,获得api种类的首次调用顺序;

17、s202、按照api种类的首次调用顺序,将由步骤s1得到的若干个api组进行重新排序,得到api指令重构序列。

18、进一步地,步骤s3的具体实施方式为:

19、s301、基于由步骤s2得到的api指令重构序列,依次提取各api的原始指令序列,得到api编号特征列表listac;

20、s302、对api编号特征列表listac进行标准化换算,并更新api编号特征列表listac;其中,api编号特征列表listac的标准化计算公式为:

21、

22、式中,an为数据集中各类软件样本在运行期间总共调用的api种类数;ac为该待标准化api的对应编号,取值范围为[0,an-1];an_c为经标准化的api编号,取值范围为(0,255];

23、s303、基于由步骤s2得到的api指令重构序列,依次提取各api的api贡献度,得到api贡献度特征列表listad;其中,设定api组内的api条目数为该api组内各api的api贡献度,即位于同一个api组内的api具有相同的api贡献度;

24、s304、对api贡献度特征列表listad进行标准化换算,并更新api编号特征列表listac;其中,api贡献度特征列表listad的标准化计算公式为:

25、

26、式中,ad为各api对该软件样本的贡献度,取值范围为[1,max(ad)];max(ad)为该软件样本对应的api贡献度的最大值;an_d为经过标准化的api贡献度,取值范围为(0,255];

27、s305、基于由步骤s2得到的api指令重构序列,依次提取各api在原始api调用顺序中的序号,得到api顺序索引特征列表listas;

28、s306、对api顺序索引特征列表listas进行标准化换算,并更新api顺序索引特征列表listas;其中,api顺序索引特征列表listas的标准化计算公式为:

29、

30、式中,as为api对应的顺序索引值,取值范围为[0,max(as)];max(as)为最大api顺序索引值;an_s为经过标准化的api顺序索引值,取值范围为(0,255];

31、s307、根据预生成api特征图像的通道尺寸,对api编号特征列表listac、api贡献度特征列表listad和api顺序索引特征列表listas分别采用零填充的方式进行数值填充。

32、进一步地,在步骤s4中,api特征图像的通道尺寸为128×128。

33、进一步地,在步骤s5中,亮度增强程度设定为1.5倍,锐度增强程度设定为1.5倍。

34、该基于api分组重构与图像表示的恶意软件检测方法通过对恶意软件运行期间调用的api指令序列进行重构和特征提取,生成能够表示恶意软件特征的api特征图像,并经由自主构建轻量型恶意软件特征图像卷积神经网络对恶意软件特征图像进行检测,得到软件分类结果。因此,与现有其他恶意软件检测方法相比,该方法的多维度的特征包含丰富的语义信息提取,有助于从全局、局部、时序角度反映恶意软件的行为,有效提升恶意软件检测的准确率;而其中所采用的自主构建的轻量型恶意软件特征图像卷积神经网络,相对于其他图像检测网络,能够更快速、准确地对恶意软件特征图像进行检测,实现高效、精准地检测得到恶意软件类别。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1