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

技术编号:38086776 阅读:8 留言:0更新日期:2023-07-06 08:55
本发明专利技术公开了一种基于API分组重构与图像表示的恶意软件检测方法,其通过对恶意软件运行期间调用的API指令序列进行重构和特征提取,生成能够表示恶意软件特征的API特征图像,并经由自主构建轻量型恶意软件特征图像卷积神经网络对恶意软件特征图像进行检测,得到软件分类结果。因此,与现有其他恶意软件检测方法相比,该方法的多维度的特征包含丰富的语义信息提取,有助于从全局、局部、时序角度反映恶意软件的行为,有效提升恶意软件检测的准确率;而其中所采用的自主构建的轻量型恶意软件特征图像卷积神经网络,相对于其他图像检测网络,能够更快速、准确地对恶意软件特征图像进行检测,实现高效、精准地检测得到恶意软件类别。别。别。

【技术实现步骤摘要】
基于API分组重构与图像表示的恶意软件检测方法


[0001]本专利技术涉及网络信息安全
,特别涉及一种基于API分组重构与图像表示的恶意软件检测方法。

技术介绍

[0002]网络与信息系统运行环境日趋复杂,恶意软件随之不断涌现,对企业和个人造成巨大损害。恶意软件为躲避检测,凭借多态或变形等手段在传播过程中不断变化,逐渐呈现出数量多、传播迅速、难以检测等特点。
[0003]目前,恶意软件检测技术通常使用传统的静态分析与动态分析方法;其中,多数动态分析方法受执行环境约束,部分恶意软件通过隐藏文件逃避追踪,过程耗时较长且容易出错;而静态分析方法依赖于人工提取特征,安全性较差,效率较低。此外,网络攻防技术不断发展,恶意软件通常融合多种恶意攻击技术,检测复杂性上升,易使传统恶意软件检测方法失效。
[0004]随着深度学习在图像检测领域的不断发展,网络安全研究人员开始利用融合图像表示技术对恶意软件自动化检测,以达到基于图像表示的恶意软件检测方法可以避免人为因素的干扰的目的。现有图像融合方法大多基于单通道灰度图,包含特征类别较少,较难全面反映恶意软件的特征;而三通道RGB图像则能够实现容纳较多特征维度的目的,进一步提高检测准确率和分析效率。
[0005]在目前的操作系统中,绝大部分功能均通过调用应用程序接口(Application Program Interface,API)实现,恶意软件要实现其目的,就需要调用API。由于API是程序与操作系统的接口,API函数的调用信息反映软件行为,因此,可以从恶意软件运行时调用的API指令序列中获取恶意软件的特征,基于API调用信息进行图像融合以检测恶意软件尤为重要。

技术实现思路

[0006]本专利技术的目的是提供一种解决上述技术问题的基于API分组重构与图像表示的恶意软件检测方法。
[0007]为此,本专利技术技术方案如下:
[0008]一种基于API分组重构与图像表示的恶意软件检测方法,1、一种基于API分组重构与图像表示的恶意软件检测方法,其特征在于,步骤如下:
[0009]S1、对API按编号分组:在软件运行期间调用的API指令序列数据集中统计API种类;将单个软件调用的API按照API种类聚合,以将原始的API调用序列转换为若干个API分组;
[0010]S2、重构API分组:按照单个软件运行期间对API种类的首次调用顺序,将由步骤S1得到的若干个API组进行重新排序,得到重构的API指令序列;
[0011]S3、提取恶意软件特征:基于由步骤S2得到的API指令重构序列,依次提取得到API
编号特征列表ListAC、API贡献度特征列表ListAD和API顺序索引特征列表ListAS,并通过依次对各列表进行标准化和零填充,得到满足预生成API特征图像的通道尺寸要求的列表;其中,API组内的API条目数为该API组内各API的API贡献度;
[0012]S4、API特征图像生成:设定API特征图像为RGB图像并确定通道尺寸;设定API特征图像的填充顺序为:将特征数组的各数据项依次地自各通道中第一行第一列的首个像素开始,由左至右依次填充充满后,再由上至下采用相同方式对通道内每行像素进行填充;将由步骤S3得到的API编号特征数组ArrayAC、API贡献度特征数组ArrayAD和API顺序索引特征数组ArrayAS分别填充至API特征图像的R通道、G通道和B通道;
[0013]S5、图像样本扩充:分别采用图像亮度增强方法、图像锐度增强方法和图像水平翻转方法,将由步骤S4生成的API特征图像转换为高亮度API特征图像、高锐度API特征图像水平翻转API特征图像;
[0014]S6、构建实现图像分类的轻量型恶意软件特征图像卷积神经网络并训练:
[0015]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为训练中涉及的实际软件类别数量;
[0016]2)全部API特征图像按照7:3随机划分为训练集和测试集;采用训练集输入至轻量型恶意软件特征图像卷积神经网络MficNN中,并以API特征图像为输入、API特征图像对应软件的软件类别标签为输出,对网络进行训练;采用测试集对完成训练的网络进行测试;其中,软件类别标签为用于对良性软件和不同类别恶性软件进行分类的自定义标签。
[0017]进一步地,步骤S1的具体实施方式为:
[0018]S101、根据软件运行期间调用的API指令序列数据集,以API的名称,统计API种类,并使用从0开始的连续正整数对API种类进行编号;
[0019]S102、对单个软件运行期间调用的全部API按照API的种类聚类,划分为若干个API组,并记为ABlock_i;其中,i表示该API组对应API种类编号;每个API组中的各API按照原始调用顺序排列。
[0020]进一步地,步骤S2的具体实施方式为:
[0021]S201、遍历单个软件在运行期间调用的API指令序列,获得API种类的首次调用顺序;
[0022]S202、按照API种类的首次调用顺序,将由步骤S1得到的若干个API组进行重新排序,得到API指令重构序列。
[0023]进一步地,步骤S3的具体实施方式为:
[0024]S301本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于API分组重构与图像表示的恶意软件检测方法,其特征在于,步骤如下:S1、对API按编号分组:在软件运行期间调用的API指令序列数据集中统计API种类;将单个软件调用的API按照API种类聚合,以将原始的API调用序列转换为若干个API分组;S2、重构API分组:按照单个软件运行期间对API种类的首次调用顺序,将由步骤S1得到的若干个API组进行重新排序,得到重构的API指令序列;S3、提取恶意软件特征:基于由步骤S2得到的API指令重构序列,依次提取得到API编号特征列表ListAC、API贡献度特征列表ListAD和API顺序索引特征列表ListAS,并通过依次对各列表进行标准化和零填充,得到满足预生成API特征图像的通道尺寸要求的列表;其中,API组内的API条目数为该API组内各API的API贡献度;S4、API特征图像生成:设定API特征图像为RGB图像并确定通道尺寸;设定API特征图像的填充顺序为:将特征数组的各数据项依次地自各通道中第一行第一列的首个像素开始,由左至右依次填充充满后,再由上至下采用相同方式对通道内每行像素进行填充;将由步骤S3得到的API编号特征数组ArrayAC、API贡献度特征数组ArrayAD和API顺序索引特征数组ArrayAS分别填充至API特征图像的R通道、G通道和B通道;S5、图像样本扩充:分别采用图像亮度增强方法、图像锐度增强方法和图像水平翻转方法,将由步骤S4生成的API特征图像转换为高亮度API特征图像、高锐度API特征图像和水平翻转API特征图像;S6、构建实现图像分类的轻量型恶意软件特征图像卷积神经网络: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为训练中涉及的实际软件类别数量;2)全部API特征图像按照7:3随机划分为训练集和测试集;采用训练集输入至轻量型恶意软件特征图像卷积神经网络MficNN中,并以API特征图像为输入、API特征图像对应软件的软件类别标签为输出,对网络进行训练;采用测试集对完成训练的网络进行测试;其中,软件类别标签为用于对良性软件和不同类别恶...

【专利技术属性】
技术研发人员:杨宏宇张宇沛谢丽霞胡泽
申请(专利权)人:中国民航大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1