一种基于信息融合的恶意软件同源性检测方法与流程

文档序号:21888941发布日期:2020-08-18 17:38阅读:476来源:国知局
一种基于信息融合的恶意软件同源性检测方法与流程

本发明属于计算机安全技术领域,具体涉及一种基于信息融合的恶意软件同源性检测方法。



背景技术:

随着互联网的不断发展,智能终端设备成为人们生活中的主要工具。然而在各类软件为人们提供便利的同时,恶意软件的攻击与传播也有了可乘之机。尽管目前的恶意软件检测系统已经能够对许多的攻击行为采取措施,但是随着各种自动化工具的出现,互联网上恶意软件的衍生速度远远超过检测系统的更新速度。除此之外,随着攻击向高级、持续等方向发展,使得恶意软件的定义越来越宽泛,攻击场景越来越复杂,传播手段也越来越隐蔽,这些改变都将提高检测系统的误报率和漏报率。但是研究发现,大多数恶意软件都是由已知恶意软件变形得到,且某些功能模块反复地被某些恶意软件使用。因此,通过研究样本中的同源关系,对攻击组织溯源、运行环境还原以及攻击防范等方面具有重要的作用。

目前基于签名完成恶意软件检测的方法是大多杀毒软件首选的技术,该方法的主要特点就是需要将专家提取的恶意软件特征手动存入本地数据库。因此针对攻击者借助各种生成工具和检测逃避技术生成大量的、可以躲避该检测方法的恶意软件,多数杀毒程序展现出了较差的检测性能。虽然安全领域的研究人员在努力解决各种恶意软件变种,但还是无法完全应对恶意软件呈指数增长的趋势。

综上所述,虽然研究人员已经在恶意软件检测和防御方面做了大量研究工作,但是恶意软件攻击增长趋势仍然显著。针对现行特征提取技术过于单一,无法全面分析恶意软件的同源关系,以及在实现特征提取时过度依赖于专业知识等弊端,使得研究如何在降低特征提取成本的前提下提取更多的特征,以及如何从原始恶意软件样本中提取更多有用信息,从而实现模型自动化,提高恶意软件同源性检测的准确性和效率具有非常重要的科学理论价值与实际应用意义。



技术实现要素:

本发明的目的在于提供一种基于信息融合的恶意软件同源性检测方法。

本发明的目的通过如下技术方案来实现:包括以下步骤:

步骤1:输入待分类的恶意软件样本数据集,取部分数据构建训练集;

步骤2:从训练集中选择一个恶意软件样本,应用反汇编工具将恶意软件样本转化为反汇编文件;

步骤3:对反汇编文件进行控制流操作码序列提取;统计每个子序列出现的频率,按照子序列出现的频率进行特征筛选,挑选出频率位于所定义区间的子序列作为软件特征;

步骤4:对控制流操作码进行处理并生成rgb图像;

步骤5:若训练集中所有恶意软件样本均转化成rgb图像,则执行步骤6;否则,返回步骤2;

步骤6:构造多个卷积神经网络模型,用训练集分别进行训练,得到多个基分类器;

所述的卷积神经网络模型包含8个卷积层、5个池化层、5个dropout层、3个全连接层和一个输出层;所有的卷积层都使用3×3的卷积核,步长设置为1;卷积层对输入特征图进行1像素的边缘填充,将所有的池化层最大化;使用2×2的滑动窗口,将步长设置为2,dropout正则化层的概率设置为0.5;使用leakyrelu激活函数、均匀分布权重初始化和批量归一化来增强cnn网络的收敛性能;

步骤7:应用绝对多数投票法集成策略将多个基分类器进行决策级融合,得到强分类器;

步骤8:将其它待分类的恶意软件样本数据集输入到卷积神经网络分类器中,得到分类结果。

本发明还可以包括:

所述的步骤4中对控制流操作码进行处理并生成rgb图像的方法具体为:

步骤4.1:使用simhash函数将控制流操作码转化成40比特位的指纹;

步骤4.2:将40比特位的指纹划分为5个8位字符,分别表示一个操作码序列在rgb图像中像素的坐标和颜色;如果在映射过程中,因为坐标相同而相互重叠,则将rgb颜色的和作为新的像素颜色,求和结果超过255按照255计算。

所述的步骤7中应用绝对多数投票法集成策略将多个基分类器进行决策级融合具体为:若某标记所得票数低于全部票数的一半,则预测该类别标记上的输出为0;若某标记所得票数为全部票数的一半,则预测该类别标记上的输出为0;若某标记所得票数超过全部票数的一半,则预测该类别标记上的输出为1;当输出结果为1时,代表恶意软件属于某个家族;当输出结果为0时,其余位置为0,代表恶意软件不属于某个家族。

本发明的有益效果在于:

本发明应用静态分析方法有效地分析和判定恶意软件所属家族,发现样本中的同源关系,从而对攻击组织溯源、运行环境还原以及攻击防范等方面的研究有进一步了解。本发明主要从静态特征入手,通过文件轮廓、指令序列和控制流程,得到不同恶意软件的相似性度量,进行同源性分析,汇聚成不同的恶意软件家族。本发明增加了恶意软件攻击成本、降低恶意软件检测的不确定性,可在对恶意软件进行追踪溯源、对攻击行为的取证和分析、掌握攻击方法并部署相应的防御措施领域发挥重要的作用。

附图说明

图1为本发明的总流程图。

图2为本发明生成rgb图像的流程图。

图3为本发明的卷积神经网络模型的结构图。

具体实施方式

下面结合附图对本发明做进一步描述。

本发明提供的是一种基于信息融合的恶意软件同源性检测方法,属于计算机安全领域。本发明包括以下步骤:1.对恶意软件进行数据预处理,将待分析的windows可执行文件转化为.asm格式的反汇编文件;2.对反汇编文件进行控制流操作码序列提取;3.对提取的控制流操作码进行处理,从而生成rgb图像;4.使用卷积神经网络对生成的rgb图像进行学习,并生成六个基学习器;5.应用集成策略对生成的六个基学习器进行决策级融合,从而得到基于信息融合的恶意软件同源性检测强分类器。本发明的目的在于应用静态分析方法有效地分析和判定恶意软件所属家族,发现样本中的同源关系,从而对攻击组织溯源、运行环境还原以及攻击防范等方面的研究有进一步了解。

一种基于信息融合的恶意软件同源性检测方法,包括如下步骤:

(1)对恶意软件样本数据进行预处理,应用反汇编工具将待分析的windows可执行文件转化为.asm格式的反汇编文件。

(2)对反汇编文件进行控制流操作码序列提取。然后统计恶意软件样本数据中每个子序列出现的频率,按照子序列出现的频率进行特征筛选,挑选出频率位于所定义区间的子序列作为软件特征。

(3)使用simhash函数将步骤(2)中提取的控制流操作码序列转化成一个哈希值,进而生成一个rgb图像矩阵。

(4)使用卷积神经网络对步骤(3)中生成的rgb图像进行学习,并构造六个基学习器。

(5)应用绝对多数投票法集成策略对步骤(4)中生成的六个基学习器进行决策级融合,并根据最终的学习结果,判断恶意软件所属家族,完成恶意软件检测。

步骤(3)所述rgb图像生成进一步包括:

对步骤二提取的操作码序列,使用simhash函数将其转化成40比特位的指纹,并将其划分为5个8位字符,分别表示一个操作码序列在rgb图像中像素的坐标和颜色。如果在映射过程中,因为坐标相同而相互重叠,则rgb颜色的和成为新的像素颜色,求和结果超过255按照255计算。

步骤(4)所述基学习器的构造进一步包括:

每个基学习器都有22层(除去输入层),包含8个卷积层、5个池化层、5个dropout层、3个全连接层和一个输出层。所有的卷积层都使用3×3的卷积核,步长设置为1。首先在卷积层对输入特征图进行1像素的边缘填充。然后对于rgb图像卷积神经网络结构的构造,需将所有的池化层最大化。同时使用2×2的滑动窗口,并将步长设置为2以及dropout正则化层的概率设置为0.5。此外,使用leakyrelu激活函数、均匀分布权重初始化和批量归一化来增强cnn网络的收敛性能。

步骤(5)所述应用绝对多数投票法进行决策级融合进一步包括:

对于绝对多数投票法,若某标记所得票数低于全部票数的一半,则预测该类别标记上的输出为0;若某标记所得票数为全部票数的一半,则预测该类别标记上的输出为0;若某标记所得票数超过全部票数的一半,则预测该类别标记上的输出为1。当输出结果为1时,代表恶意软件属于某个家族;当输出结果为0时,其余位置为0,代表恶意软件不属于某个家族。

本发明应用静态分析方法有效地分析和判定恶意软件所属家族,发现样本中的同源关系,从而对攻击组织溯源、运行环境还原以及攻击防范等方面的研究有进一步了解。本发明主要从静态特征入手,通过文件轮廓、指令序列和控制流程,得到不同恶意软件的相似性度量,进行同源性分析,汇聚成不同的恶意软件家族。本发明增加了恶意软件攻击成本、降低恶意软件检测的不确定性,可在对恶意软件进行追踪溯源、对攻击行为的取证和分析、掌握攻击方法并部署相应的防御措施领域发挥重要的作用。

图1为本发明的总流程图。本发明应用于恶意软件同源性分析过程中的特征提取,其具体实现包括如下步骤:

(1)对恶意软件样本数据进行预处理,应用反汇编工具将待分析的windows可执行文件转化为.asm格式的反汇编文件。

(2)对反汇编文件进行控制流操作码序列提取。统计恶意软件样本数据中每个子序列出现的频率,按照子序列出现的频率进行特征筛选,挑选出频率位于所定义区间的子序列作为软件特征。

(3)应用simhash函数将步骤(2)中提取的控制流操作码序列转化成一个哈希值,进而生成一个rgb图像矩阵。

结合图2说明,对步骤二提取的操作码序列,使用simhash函数将其转化成40比特位的指纹,并将其划分为5个8位字符,分别表示一个操作码序列在rgb图像中像素的坐标和颜色。如果在映射过程中,因为坐标相同而相互重叠,则rgb颜色的和成为新的像素颜色,求和结果超过255按照255计算。

(4)使用卷积神经网络对步骤(3)中生成的rgb图像进行学习,并构造六个基学习器。

结合图3进行说明,每个基学习器共有22层(除去输入层),包含8个卷积层、5个池化层、5个dropout层、3个全连接层和一个输出层。所有的卷积层都使用3×3的卷积核,步长设置为1。首先在卷积层对输入特征图进行1像素的边缘填充。然后对于rgb图像卷积神经网络结构的构造,需将所有的池化层最大化。同时使用2×2的滑动窗口,并将步长设置为2以及dropout正则化层的概率设置为0.5。此外,使用leakyrelu激活函数、均匀分布权重初始化和批量归一化来增强cnn网络的收敛性能。

(5)应用绝对多数投票法对步骤(4)中生成的六个卷积神经网络结构进行决策级融合,并根据最终的学习结果,判断恶意软件所属家族,完成恶意软件检测。

对于绝对多数投票法,若某标记所得票数低于全部票数的一半,则预测该类别标记上的输出为0;若某标记所得票数为全部票数的一半,则预测该类别标记上的输出为0;若某标记所得票数超过全部票数的一半,则预测该类别标记上的输出为1。当输出结果为1时,代表恶意软件属于某个家族;当输出结果为0时,其余位置为0,代表恶意软件不属于某个家族。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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