一种基于静态分析的恶意软件分类方法与流程

文档序号:21888929发布日期:2020-08-18 17:38阅读:410来源:国知局
一种基于静态分析的恶意软件分类方法与流程

本发明属于计算机安全技术领域,具体涉及一种基于静态分析的恶意软件分类方法。



背景技术:

伴随着互联网行业的高速发展,人们对各种软件的依赖性也随之增强,这为恶意软件的攻击和传播带来极大的便利。由于各种自动化工具的层出不穷,恶意软件被人们发现的速度远低于在互联网上的的衍生速度。例如,2017年kaspersky实验室检测到了15,714,700个恶意对象。2018年第1季度中mcafee实验室每天检测到790万个恶意文件,比2017年第4季度增加了450万。虽然恶意软件的衍生速度越来越快,但是绝大部分的恶意软件都是通过已知恶意软件的多态和变形演化而来。所以,发现样本中的同源关系对攻击组织溯源、运行环境还原以及攻击防范具有十分重要的作用。

由于恶意软件技术的不断提升,而且应用软件使用人群越来越广泛,在执行某些操作过程中,恶意软件的扩散范围也在不断的增加,但是其中的绝大多数都是由已知恶意软件演化而来。虽然目前相关人员已经做出了大量的研究工作,但是恶意软件依旧泛滥肆行。动态分析方法的准确率较高但效率较差,在分析过程中会产生过多的分类成本。与动态分析方法相比,静态分析方法分类准确度较高,效率也优于动态分析方法。所以,研究基于静态分析的恶意软件分类方法是相当重要的课题。研究适用面广、实用性强的恶意软件分类技术来提高计算机系统的安全性具有非常重要的科学理论价值与实际应用意义。



技术实现要素:

本发明的目的在于提供通过分析恶意软件的轮廓特征将恶意软件进行分类,并帮助专业人员降低识别恶意软件的成本的一种基于静态分析的恶意软件分类方法。

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

步骤1:输入待分类的软件数据集,将待分类的软件数据集分为训练集和测试集;

步骤2:将训练集中软件样本转化成二进制文件,转化方法具体为:将待分析的windows可执行文件.exe转化为.bytes格式的二进制流文件;

步骤3:以每8位字节分割二进制文件,并将每8位字节转换为灰度值,转换方案将字节值从0映射到255,其中0代表黑色,255代表白色;然后以顺序排列方式将灰度值转化成二维灰度矩阵,根据文件大小确定二维灰度矩阵的宽度和高度,从而对其可视化成灰度图像;

步骤4:使用生成的灰度图像训练卷积神经网络模型生成静态分类器;所述的卷积神经网络模型包括输入层、卷积层、最大池化层、空间金字塔池化层和输出层;使用小窗口卷积滤波器处理灰度图像;卷积层都使用3×3的卷积核,步长设置为1;在卷积层中对输入特征图进行1像素的边缘填充;最大池化时使用2×2的滑动窗口,步长设置为2;最后一个池化层采用3层空间金字塔池化,将任意维的特征输入然后统一输出;卷积神经网络在每个池化层之后,使用概率为0.5的dropout防止过拟合现象;使用leakyrelu激活函数、均匀分布权重初始化和批量归一化;

步骤5:将待分类的软件数据集的测试集输入到静态分类器中,根据分类器的分类结果判断恶意软件所属家族,完成对恶意软件的分类。

本发明的有益效果在于:

本发明将灰度图像作为特征,并使用具有空间金字塔池化层的卷积神经网络进行分类,有效减少了图像预处理阶段造成的信息损失。本发明在恶意软件检测领域具有更低的时间成本,具有检测速度快、检测效率高的优点。

附图说明

图1为本发明的流程图。

图2为本发明中生成恶意软件灰度图像流程图。

图3为本发明中卷积神经网络结构图。

具体实施方式

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

本发明提供一种基于静态分析的恶意软件分类系统,属于计算机安全领域。本发明涉及将恶意软件转化为二进制文件并生成灰度图像,采用具有空间金字塔池化层的卷积神经网络模型训练灰度图像从而得到静态分类器,通过静态分类器将恶意软件样本进行所属家族分类。本发明能够将灰度图像作为特征用来分类恶意软件,有效减少了图像预处理阶段造成的信息损失。本发明的目的在于通过分析恶意软件的轮廓特征将恶意软件进行分类并帮助专业人员降低识别恶意软件的成本。

(1)分类系统通过静态分析的形式,把恶意软件样本转化成二进制文件进行处理。

(2)分类系统以每8个字节为一块分割二进制文件,然后将一串灰度值流转化为0~255的灰度值存储在一维灰度数组中,再将一维向量转换成二维灰度矩阵,继而生成灰度图像。

(3)分类系统使用生成的灰度图像训练卷积神经网络模型生成静态分类器。该卷积神经网络模型包括输入层、卷积层、最大池化层、空间金字塔池化层和输出层。

(4)分类系统将测试集中的恶意软件样本输入到静态分类器中,根据分类器的分类结果判断恶意软件所属家族。

分类系统中把恶意软件转化成二进制文件进一步包括:

对恶意软件样本数据进行预处理,将待分析的windows可执行文件.exe转化为.bytes格式的二进制流文件。

分类系统中灰度图像的生成进一步包括:

分类系统将恶意软件当作二进制文件,以每8位字节分割二进制文件,并将每8位字节转换为灰度值,转换方案将字节值从0(黑色)映射到255(白色)。然后以顺序排列方式将灰度值转化成二维灰度矩阵,根据恶意代码文件大小确定二维灰度矩阵的宽度和高度,从而对其可视化成灰度图像。

分类系统中涉及的卷积神经网络进一步包括:

分类系统通过卷积神经网络,使用小窗口卷积滤波器处理灰度图像。卷积层都使用3×3的卷积核,步长设置为1。然后在卷积层中对输入特征图进行1像素的边缘填充。最大池化时使用2×2的滑动窗口,步长设置为2。最后一个池化层采用3层空间金字塔池化,将任意维的特征输入然后统一输出。

卷积神经网络优化进一步包括:

卷积神经网络在每个池化层之后,使用概率为0.5的dropout防止过拟合现象。然后使用leakyrelu激活函数、均匀分布权重初始化和批量归一化。

分类系统中涉及的静态分类器分类进一步包括:

卷积神经网络模型对每个恶意软件样本的分类即为静态分类器的分类结果。

本发明提供一种基于静态分析的恶意软件分类系统,本发明能够将灰度图像作为特征用来分类恶意软件。本发明的目的在于通过分析恶意软件的轮廓特征将恶意软件进行分类,并帮助专业人员降低识别恶意软件的成本。

与现有技术相比,本发明的优势在于:

1.本发明提出一种基于静态分析的恶意软件分类系统,将灰度图像作为特征,并使用具有空间金字塔池化层的卷积神经网络进行分类,有效减少了图像预处理阶段造成的信息损失。

2.本发明提出一种基于静态分析的恶意软件分类系统,在恶意软件检测领域具有更低的时间成本。

3.本发明提出一种基于静态分析的恶意软件分类系统,具有检测速度快、检测效率高的优点。

图1为本发明提供的一种基于静态分析的恶意软件分类系统流程图。本发明包括以下四个方面。

(1)分类系统通过静态分析的形式,把恶意软件样本转化成二进制文件进行处理。

对恶意软件样本数据进行预处理,将待分析的windows可执行文件.exe转化为.bytes格式的二进制流文件。

(2)分类系统以每8个字节为一块分割二进制文件,然后将一串灰度值流转化为0~255的灰度值存储在一维灰度数组中,再对一维向量转换成二维灰度矩阵,继而生成灰度图像。

结合图2灰度图生成流程图,分类系统将恶意软件当作二进制文件,以每8位字节分割二进制文件,并将每8位字节转换为灰度值,转换方案将字节值从0(黑色)映射到255(白色)。然后以顺序排列方式将灰度值转化成二维灰度矩阵,根据恶意代码文件大小确定二维灰度矩阵的宽度和高度,从而对其可视化成灰度图像。

(3)分类系统使用生成的灰度图像训练卷积神经网络模型生成静态分类器。该卷积神经网络模型包括输入层、卷积层、最大池化层、空间金字塔池化层和输出层。

结合图3,分类系统通过卷积神经网络,使用小窗口卷积滤波器处理灰度图像。卷积层都使用3×3的卷积核,步长设置为1。然后在卷积层中对输入特征图进行1像素的边缘填充。最大池化时使用2×2的滑动窗口,步长设置为2。最后一个池化层采用3层空间金字塔池化,将任意维的特征输入然后统一输出。

(4)分类系统将测试集中的恶意软件样本输入到静态分类器中,根据分类器的分类结果判断恶意软件所属家族。

卷积神经网络模型对每个恶意软件样本的分类即为静态分类器的分类结果。

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

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