恶意软件家族检测系统的设计与实现

 2022-05-06 08:05

论文总字数:28599字

摘 要

恶意软件(Malware)是指那些被蓄意设计来对个人计算机,服务器,客户端等造成损害的软件。在信息化社会,恶意软件数量的迅速增长,使得实现对恶意软件的正确且有效的鉴别和分类是很重要的。

不同种类的恶意软件家族之间、恶意软件与良性软件之间的灰度图像有着一定的区别。这种图像上的区别启发人们将待分析的文件可视化为灰度图像,将对恶意软件家族的鉴别和分类问题转化为图像分类的任务。深度森林是一种机器学习算法。本文在得到恶意软件样本对应的灰度图像数据集后,使用改进后的深度森林算法来对图像进行分类。具体来说,对深度森林算法的改进集中在以下三个方面:第一,在级联森林阶段,会对每一层的级联森林所产生的特征向量进行特征优化。特征优化可以减少特征向量的维数,这减少了所需要的计算资源,缩短程序运行时间。第二,向级联森林的每一层添加更多种类的基学习器以确保其多样性,使模型更为稳定。最后,针对基学习器在验证集上的不同表现,赋予了基学习器不同的权重。

在系统测试部分,本文使用改进后的深度森林作为分类器对恶意软件进行鉴别和分类,达到了较高的准确率,而且与原始的深度森林相比,改进后的深度森林在性能上有一定的提升。

关键词:恶意软件家族分析,深度森林,机器学习,分类

Abstract

Malware means software intentionally designed to cause damage to a computer, server, client, etc. The correct and efficient identification and classification of different software are very important in this information era.

There are certain differences between different malware and between malware and benign executables in their gray scale images. These differences in images inspire us to visualize the files into gray scale images, then the problem of identification and classification of malware turns into the task of image classification. Deep forest is a kind of machine learning algorithm. After getting the image datasets of malware, we use the modified deep forest algorithm to classify them. Specifically, we made three modifications: firstly, in the cascade forest stage, every feature vector produced by the forest in the cascade layer is optimized by the feature optimization method. Thus, the computational cost will be improved by this operation and the running time should be shortened. Secondly, we add more base estimators to the cascade layer to ensure the diversity, which makes our model more stable. Lastly, we give different weights to different base estimators according to their performance on the validation set.

In our experiment, we use our modified deep forest to perform identification and classification of different malware, and get a relatively high accuracy. Compared to the original deep forest, the performance of modified deep forest is improved.

KEY WORDS: malware family analysis, deep forest, machine learning, classification

目 录

摘要 Ⅰ

Abstract Ⅱ

第一章 绪论 1

1.1 研究背景及意义 1

1.2 国内外研究现状及存在问题 2

1.3 本文研究的内容及所做工作 3

1.4 本文的组织结构 4

第二章 恶意软件家族分析 5

2.1 常用恶意软件家族分析方法 5

2.1.1 静态分析方法 5

2.1.2 动态分析方法 5

2.1.3 基于图像的恶意软件家族分析方法 5

2.2 常用的机器学习算法 8

2.2.1 支持向量机 8

2.2.2 卷积神经网络 9

2.2.3 深度森林算法 9

2.3 基于深度森林的恶意软件家族检测系统 12

第三章 改进的深度森林算法 13

3.1 改进的深度森林算法 13

3.1.1 带有特征优化的级联森林 13

3.1.2 基学习器 15

3.1.3 带有权重的基学习器 18

3.2 总体结构 19

3.3 基于改进深度森林的恶意软件家族检测系统 20

第四章 系统测试与结果分析 21

4.1 测试环境 21

4.1.1 测试的软硬件 21

4.1.2 python库 21

4.2 测试数据集 21

4.2.1 恶意与良性软件数据集 21

4.2.2 malimg数据集 21

4.3 测试方法 22

4.3.1 模型评估 22

4.3.2 性能度量 22

4.4 测试结果与分析 24

4.4.1 使用不同的机器学习算法来进行分类 24

4.4.2 深度森林和改进后的深度森林的测试结果比较 27

4.4.3 测试结果分析 36

4.5 本章小结 38

第五章 总结与展望 39

参考文献 40

致谢 41

绪论

研究背景及意义

恶意软件(Malware)是指那些被蓄意设计用来对个人计算机、服务器、客户端等造成损害的软件。恶意软件传播速度快,而且会对个人、社会、甚至国家造成损失。恶意软件二进制文件,通常以“.exe”或者“.bin”作为文件拓展名。大多数情况下,它有很多的变种,而且这些变种有着高度的代码重用。这意味着恶意软件二进制文件可以被分为多个家族,每一个恶意软件,都会继承其所属家族的一些特征。近年来,互联网的高速发展,使得恶意软件的数量不断增加。根据Mcafee实验室的一份报告,Mcafee实验室在2018年最后一季度检测了超过800,000,000个恶意软件样本,其中有60,000,000个是新的恶意软件[[1]]。因此,需要找到一种方法,能够有效且快速地识别出恶意软件及其变体,并且将其正确分类。

剩余内容已隐藏,请支付后下载全文,论文总字数:28599字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;