CN109829306A - 一种优化特征提取的恶意软件分类方法 - Google Patents
一种优化特征提取的恶意软件分类方法 Download PDFInfo
- Publication number
- CN109829306A CN109829306A CN201910127879.9A CN201910127879A CN109829306A CN 109829306 A CN109829306 A CN 109829306A CN 201910127879 A CN201910127879 A CN 201910127879A CN 109829306 A CN109829306 A CN 109829306A
- Authority
- CN
- China
- Prior art keywords
- malware
- sample
- matrix
- api
- characteristic pattern
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Image Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于信息安全领域,具体涉及一种优化特征提取的恶意软件分类方法。本发明优化了恶意软件的提取方式并且以深度学习中的卷积神经网络为主要分类器。单一的静态特征无法全面地体现恶意软件的特征,比如灰度图仅能表示恶意软件的整体轮廓,API调用图仅能表示恶意软件的控制结构。针对以上问题,本发明方法提取了这两种特征,并且将这两种特征组合成一张双通道图片特征矩阵作为卷积神经网络的输入,这样既可以将恶意软件的整体轮廓表现出来,也可以将恶意软件可能执行的流程完整的表现出来。本发明方法有效地解决了样本特征提取时不能完整体现恶意软件本身的情况,并且具有较好的分类效果。
Description
技术领域
本发明属于信息安全领域,具体涉及一种优化特征提取的恶意软件分类方法。
背景技术
恶意软件是指各种形式的恶意或者入侵软件,例如计算机病毒、蠕虫、间谍软件、木马、广告软件等。这些恶意软件通常以可执行程序、脚本等形式存在。在计算机系统安全领域,一个重要问题是进行恶意软件的检测与识别,以便能在恶意软件运行之前将其清除,避免给计算机系统造成破坏或者给用户造成损失。不仅仅黑帽黑客或者其他怀有恶意的软件作者,即使是信用良好的供应商提供的软件也可能包含恶意代码。比如索尼曾经在其出售的唱片中植入了Rootkit。这是一种特洛伊木马,它静默安装并隐藏在购买者的计算机上,目的是防止唱片被非法复制。它还收集用户的聆听习惯,并无意中创建了可以被其他恶意软件所利用的漏洞。
恶意软件检测现今面临的主要挑战是需要对大量有潜在恶意目的的数据和文件进行评估。例如,微软的实时检测反恶意软件产品部署在全球超过1.6亿台计算机上,每天会产生数千万个数据点,需要作为潜在的恶意软件进行分析。传统的反病毒和恶意软件检测产品通常使用特征值扫描技术,这种方法有很大的局限性。越来越多的恶意软件通过加密、混淆或者打包等方法躲避基于特征值的检测,这给传统的恶意软件分析和检测方法带来挑战。恶意软件检测问题可以通过分类良性软件和恶意软件来解决,因此,研究高效的恶意软件分类方法对恶意软件分析技术具有极为重要的意义。
然而,传统的恶意软件检测方法通常使用数字签名技术,在应对恶意软件数量激增的情况时存在一定的局限性。同时,越来越多的恶意软件通过混淆或打包等技术避免基于签名方法的检测。因此,需要研究一种高效的恶意软件检测方法评估和识别存在恶意行为的恶意软件。
发明内容
针对上述背景技术中存在的问题,本发明的目的在于提出一种基于深度学习的优化特征提取的恶意软件分类方法,是一种提高恶意软件分类准确率的方法,是一种优化恶意软件特征提取并用卷积神经网络分类的高效分类方法。
本发明的目的是这样实现的:
一种优化特征提取的恶意软件分类方法,包括以下步骤:
(1)原始数据特征处理,建立恶意代码的整体API调用图存储在邻接矩阵数据结构中;
(2)将原始恶意软件二进制文件样本转化为十六进制流格式,将恶意软件二进制文件转化为灰度图特征矩阵;
(3)将API调用图矩阵作为一个像素通道,将灰度图矩阵作为一个像素通道,如果这两个矩阵大小不同,则将小的那个矩阵的左边界和上边界与大矩阵对齐,其余位置上补0,然后合并为双通道特征图作为卷积神经网络的输入;
(4)原始数据集中的样本都带有标签,首先将所有样本的特征矩阵每一行进行随机乱序排列,根据乱序排列数组,将标签对应追加到样本矩阵的最后一列,这样就完成了带有标签的样本乱序处理,再将所有样本进行数据集拆分,一部分作为训练样本,其余的作为测试样本,再对训练样本做交叉验证,将训练样本分成k分并且编号,取k-1份组合数据集作为训练样本,剩下1份作为验证数据集;
(5)将k-1份数据中的每个样本都做双通道卷积处理,得到每个样本对应的特征图,再将特征图做最大池化处理,得到新的特征图,将新的特征图全连接并且输入到神经网络中,得到分类结果,将输出的分类结果和原始标签值代入交叉熵损失函数并利用反向传播算法多次迭代求出最佳的卷积核矩阵和最佳的神经网络权重矩阵,k次交叉验证后得到k个模型;
(6)将测试数据集输入到交叉验证得到的k个模型当中,每个模型都给出样本的分类结果,最终投票得到样本的最终分类结果。
原始数据特征处理包括以下过程:用IDA pro反汇编所有恶意软件样本,恶意代码的二进制文件经过反汇编得到其对应的汇编代码,将汇编代码按照基本块进行划分,分别扫描每个基本块,选取包含call指令的语句以及包含跳转指令的语句,包括jz、jmp、jnz等,call指令调用的函数分为两类,自定义函数和API,如果调用目标为自定义函数,则进入该自定义函数内部,继续扫描其内部汇编语句,筛选其内部API,筛选结束后,根据API执行的先后顺序和跳转指令的跳转结构,将不同函数以及不同基本块中API连接,建立恶意代码的整体API调用图存储在邻接矩阵数据结构中。
本发明的有益效果在于:本方法提高了在恶意软件分类的准确率和F1分数,而且降低了误报率;有效地解决了样本特征提取时不能完整体现恶意软件本身的情况,并且具有较好的分类效果。
附图说明
图1为本发明方法流程图;
图2是合并API调用图和灰度图方法;
图3是双通道卷积过程图;
图4是合并为双通道输入过程图;
图5是交叉验证过程图。
具体实施方式
下面结合附图对本发明进一步详细说明。
结合图1,本方法的执行过程分为以下几个步骤:
1.原始数据特征处理:用IDA pro反汇编所有恶意软件样本,恶意代码的二进制文件经过反汇编得到其对应的汇编代码,将汇编代码按照基本块进行划分,分别扫描每个基本块,选取包含call指令的语句以及包含跳转指令的语句,如jz、jmp、jnz等。call指令调用的函数分为两类,自定义函数和API。如果调用目标为自定义函数,则进入该自定义函数内部,继续扫描其内部汇编语句,筛选其内部API。筛选结束后,根据API执行的先后顺序和跳转指令的跳转结构,将不同函数以及不同基本块中API连接,建立恶意代码的整体API调用图存储在邻接矩阵数据结构中。将邻接矩阵转化为numpy中的二维数组类型。
2.将原始恶意软件二进制文件样本转化为十六进制流格式。一位十六进制数值大小的范围是0到15,将两个十六进制位作为一个数值,其大小范围是0到255,恰好可以作为灰度图像的像素值。并且为便于后续字节提取,在每个数值后插入空格作为分割符。将恶意软件二进制文件转化为灰度图特征矩阵。
3.将API调用图矩阵作为一个像素通道,将灰度图矩阵作为一个像素通道,如果这两个矩阵大小不同,则将小的那个矩阵的左边界和上边界与大矩阵对齐,其余位置上补0,然后合并为双通道特征图作为卷积神经网络的输入,如图2所示。
4.原始数据集中的样本都带有标签,首先将所有样本的特征矩阵每一行进行随机乱序排列,根据乱序排列数组,将标签对应追加到样本矩阵的最后一列,这样就完成了带有标签的样本乱序处理。再将所有样本进行数据集拆分,取前80%作为训练样本,后20%作为测试样本。在对前80%训练样本做交叉验证k-foid,将训练样本分成k分并且编号,取k-1份组合数据集作为训练样本,剩下1份作为验证数据集,如图5所示。
5.将k-1份数据中的每个样本都做双通道卷积处理,如图3所示。得到每个样本对应的特征图,再将特征图做最大池化处理Max Pooling,得到新的特征图,将新的特征图全连接并且输入到神经网络中,得到分类结果,如图4所示。将输出的分类结果和原始标签值代入交叉熵损失函数并利用反向传播算法多次迭代求出最佳的卷积核矩阵和最佳的神经网络权重矩阵。k次交叉验证后得到k个模型。
6.将测试数据集输入到交叉验证得到的k个模型当中,每个模型都给出样本的分类结果,最终投票得到样本的最终分类结果,如图5所示。
经过上述6个步骤之后,形成了基于深度学习并且改进了特征提取方式的恶意软件分类方法。本方法提高了在恶意软件分类的准确率和F1分数,而且降低了误报率。
以上是本发明的较佳实施方式,但本发明的保护范围并不仅仅局限在此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡依本发明技术方案作变换或替换的,都应该涵盖在本发明的保护范围内。因此,本发明的保护范围都应以权利要求的保护范围为准。
Claims (2)
1.一种优化特征提取的恶意软件分类方法,其特征在于,包括以下步骤:
(1)原始数据特征处理,建立恶意代码的整体API调用图存储在邻接矩阵数据结构中;
(2)将原始恶意软件二进制文件样本转化为十六进制流格式,将恶意软件二进制文件转化为灰度图特征矩阵;
(3)将API调用图矩阵作为一个像素通道,将灰度图矩阵作为一个像素通道,如果这两个矩阵大小不同,则将小的那个矩阵的左边界和上边界与大矩阵对齐,其余位置上补0,然后合并为双通道特征图作为卷积神经网络的输入;
(4)原始数据集中的样本都带有标签,首先将所有样本的特征矩阵每一行进行随机乱序排列,根据乱序排列数组,将标签对应追加到样本矩阵的最后一列,这样就完成了带有标签的样本乱序处理,再将所有样本进行数据集拆分,一部分作为训练样本,其余的作为测试样本,再对训练样本做交叉验证,将训练样本分成k分并且编号,取k-1份组合数据集作为训练样本,剩下1份作为验证数据集;
(5)将k-1份数据中的每个样本都做双通道卷积处理,得到每个样本对应的特征图,再将特征图做最大池化处理,得到新的特征图,将新的特征图全连接并且输入到神经网络中,得到分类结果,将输出的分类结果和原始标签值代入交叉熵损失函数并利用反向传播算法多次迭代求出最佳的卷积核矩阵和最佳的神经网络权重矩阵,k次交叉验证后得到k个模型;
(6)将测试数据集输入到交叉验证得到的k个模型当中,每个模型都给出样本的分类结果,最终投票得到样本的最终分类结果。
2.根据权利要求1所述的一种优化特征提取的恶意软件分类方法,其特征在于,原始数据特征处理包括以下过程:用IDA pro反汇编所有恶意软件样本,恶意代码的二进制文件经过反汇编得到其对应的汇编代码,将汇编代码按照基本块进行划分,分别扫描每个基本块,选取包含call指令的语句以及包含跳转指令的语句,包括jz、jmp、jnz等,call指令调用的函数分为两类,自定义函数和API,如果调用目标为自定义函数,则进入该自定义函数内部,继续扫描其内部汇编语句,筛选其内部API,筛选结束后,根据API执行的先后顺序和跳转指令的跳转结构,将不同函数以及不同基本块中API连接,建立恶意代码的整体API调用图存储在邻接矩阵数据结构中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910127879.9A CN109829306B (zh) | 2019-02-20 | 2019-02-20 | 一种优化特征提取的恶意软件分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910127879.9A CN109829306B (zh) | 2019-02-20 | 2019-02-20 | 一种优化特征提取的恶意软件分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109829306A true CN109829306A (zh) | 2019-05-31 |
CN109829306B CN109829306B (zh) | 2023-07-21 |
Family
ID=66863955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910127879.9A Active CN109829306B (zh) | 2019-02-20 | 2019-02-20 | 一种优化特征提取的恶意软件分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109829306B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245494A (zh) * | 2019-06-18 | 2019-09-17 | 平安科技(深圳)有限公司 | 恶意软件的检测方法、电子装置及计算机可读存储介质 |
CN110689023A (zh) * | 2019-08-15 | 2020-01-14 | 平安科技(深圳)有限公司 | 可靠组合特征提取方法、装置、计算机设备及存储介质 |
CN111538989A (zh) * | 2020-04-22 | 2020-08-14 | 四川大学 | 基于图卷积网络和主题模型的恶意代码同源性分析方法 |
CN111552966A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于信息融合的恶意软件同源性检测方法 |
CN111552964A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于静态分析的恶意软件分类方法 |
CN111881446A (zh) * | 2020-06-19 | 2020-11-03 | 中国科学院信息工程研究所 | 一种工业互联网恶意代码识别方法及装置 |
CN112182568A (zh) * | 2019-07-02 | 2021-01-05 | 四川大学 | 基于图卷积网络和主题模型的恶意代码分类 |
CN112861135A (zh) * | 2021-04-12 | 2021-05-28 | 中南大学 | 基于注意力机制的恶意代码检测方法 |
CN112989347A (zh) * | 2021-04-15 | 2021-06-18 | 重庆大学 | 一种用于识别恶意软件的方法及装置、设备 |
CN113127866A (zh) * | 2019-12-31 | 2021-07-16 | 奇安信科技集团股份有限公司 | 恶意代码的特征码提取方法、装置和计算机设备 |
US11132514B1 (en) | 2020-03-16 | 2021-09-28 | Hong Kong Applied Science and Technology Research Institute Company Limited | Apparatus and method for applying image encoding recognition in natural language processing |
CN113935033A (zh) * | 2021-09-13 | 2022-01-14 | 北京邮电大学 | 特征融合的恶意代码家族分类方法、装置和存储介质 |
TWI807645B (zh) * | 2021-05-20 | 2023-07-01 | 美商萬國商業機器公司 | 數位影像及其他資料陣列之簽名及認證 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989288A (zh) * | 2015-12-31 | 2016-10-05 | 武汉安天信息技术有限责任公司 | 一种基于深度学习的恶意代码样本分类方法及系统 |
CN107908963A (zh) * | 2018-01-08 | 2018-04-13 | 北京工业大学 | 一种自动化检测恶意代码核心特征方法 |
CN108062478A (zh) * | 2018-01-04 | 2018-05-22 | 北京理工大学 | 全局特征可视化与局部特征相结合的恶意代码分类方法 |
CN109033839A (zh) * | 2018-08-10 | 2018-12-18 | 天津理工大学 | 一种基于动态多特征的恶意软件检测方法 |
CN109165688A (zh) * | 2018-08-28 | 2019-01-08 | 暨南大学 | 一种安卓恶意软件家族分类器构建方法及其分类方法 |
US20190042745A1 (en) * | 2017-12-28 | 2019-02-07 | Intel Corporation | Deep learning on execution trace data for exploit detection |
-
2019
- 2019-02-20 CN CN201910127879.9A patent/CN109829306B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989288A (zh) * | 2015-12-31 | 2016-10-05 | 武汉安天信息技术有限责任公司 | 一种基于深度学习的恶意代码样本分类方法及系统 |
US20190042745A1 (en) * | 2017-12-28 | 2019-02-07 | Intel Corporation | Deep learning on execution trace data for exploit detection |
CN108062478A (zh) * | 2018-01-04 | 2018-05-22 | 北京理工大学 | 全局特征可视化与局部特征相结合的恶意代码分类方法 |
CN107908963A (zh) * | 2018-01-08 | 2018-04-13 | 北京工业大学 | 一种自动化检测恶意代码核心特征方法 |
CN109033839A (zh) * | 2018-08-10 | 2018-12-18 | 天津理工大学 | 一种基于动态多特征的恶意软件检测方法 |
CN109165688A (zh) * | 2018-08-28 | 2019-01-08 | 暨南大学 | 一种安卓恶意软件家族分类器构建方法及其分类方法 |
Non-Patent Citations (2)
Title |
---|
JIAWEI SU 等: "Lightweight Classification of IoT Malware Based on Image Recognition", 《2018 IEEE 42ND ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC)》 * |
刘亮 等: "一种基于多特征的恶意代码家族静态标注方法", 《信息安全研究》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245494B (zh) * | 2019-06-18 | 2024-05-24 | 平安科技(深圳)有限公司 | 恶意软件的检测方法、电子装置及计算机可读存储介质 |
CN110245494A (zh) * | 2019-06-18 | 2019-09-17 | 平安科技(深圳)有限公司 | 恶意软件的检测方法、电子装置及计算机可读存储介质 |
CN112182568A (zh) * | 2019-07-02 | 2021-01-05 | 四川大学 | 基于图卷积网络和主题模型的恶意代码分类 |
CN110689023A (zh) * | 2019-08-15 | 2020-01-14 | 平安科技(深圳)有限公司 | 可靠组合特征提取方法、装置、计算机设备及存储介质 |
CN110689023B (zh) * | 2019-08-15 | 2024-01-16 | 平安科技(深圳)有限公司 | 可靠组合特征提取方法、装置、计算机设备及存储介质 |
CN113127866A (zh) * | 2019-12-31 | 2021-07-16 | 奇安信科技集团股份有限公司 | 恶意代码的特征码提取方法、装置和计算机设备 |
CN113127866B (zh) * | 2019-12-31 | 2023-08-18 | 奇安信科技集团股份有限公司 | 恶意代码的特征码提取方法、装置和计算机设备 |
US11132514B1 (en) | 2020-03-16 | 2021-09-28 | Hong Kong Applied Science and Technology Research Institute Company Limited | Apparatus and method for applying image encoding recognition in natural language processing |
CN111552964A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于静态分析的恶意软件分类方法 |
CN111552966A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于信息融合的恶意软件同源性检测方法 |
CN111538989A (zh) * | 2020-04-22 | 2020-08-14 | 四川大学 | 基于图卷积网络和主题模型的恶意代码同源性分析方法 |
CN111881446A (zh) * | 2020-06-19 | 2020-11-03 | 中国科学院信息工程研究所 | 一种工业互联网恶意代码识别方法及装置 |
CN111881446B (zh) * | 2020-06-19 | 2023-10-27 | 中国科学院信息工程研究所 | 一种工业互联网恶意代码识别方法及装置 |
CN112861135A (zh) * | 2021-04-12 | 2021-05-28 | 中南大学 | 基于注意力机制的恶意代码检测方法 |
CN112861135B (zh) * | 2021-04-12 | 2024-05-31 | 中南大学 | 基于注意力机制的恶意代码检测方法 |
CN112989347A (zh) * | 2021-04-15 | 2021-06-18 | 重庆大学 | 一种用于识别恶意软件的方法及装置、设备 |
US11720991B2 (en) | 2021-05-20 | 2023-08-08 | International Business Machines Corporation | Signing and authentication of digital images and other data arrays |
TWI807645B (zh) * | 2021-05-20 | 2023-07-01 | 美商萬國商業機器公司 | 數位影像及其他資料陣列之簽名及認證 |
CN113935033A (zh) * | 2021-09-13 | 2022-01-14 | 北京邮电大学 | 特征融合的恶意代码家族分类方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109829306B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109829306A (zh) | 一种优化特征提取的恶意软件分类方法 | |
CN107908963B (zh) | 一种自动化检测恶意代码核心特征的方法 | |
CN110704840A (zh) | 一种基于卷积神经网络cnn的恶意软件检测方法 | |
CN111639337B (zh) | 一种面向海量Windows软件的未知恶意代码检测方法及系统 | |
CN109359439A (zh) | 软件检测方法、装置、设备及存储介质 | |
CN110572393A (zh) | 一种基于卷积神经网络的恶意软件流量分类方法 | |
CN113935033A (zh) | 特征融合的恶意代码家族分类方法、装置和存储介质 | |
Manavi et al. | A new method for malware detection using opcode visualization | |
CN113159045A (zh) | 一种结合图像预处理与卷积神经网络的验证码识别方法 | |
Yoo et al. | The image game: exploit kit detection based on recursive convolutional neural networks | |
Kornish et al. | Malware classification using deep convolutional neural networks | |
O’Shaughnessy | Image-based malware classification: A space filling curve approach | |
AlGarni et al. | An efficient convolutional neural network with transfer learning for malware classification | |
Naeem et al. | Digital forensics for malware classification: An approach for binary code to pixel vector transition | |
CN108229168B (zh) | 一种嵌套类文件的启发式检测方法、系统及存储介质 | |
Yerima et al. | Bot-IMG: A framework for image-based detection of Android botnets using machine learning | |
Nahhas et al. | Android Malware Detection Using ResNet-50 Stacking. | |
CN110197068B (zh) | 基于改进灰狼算法的Android恶意应用检测方法 | |
Gennissen et al. | Gamut: sifting through images to detect android malware | |
CN116541841A (zh) | 一种恶意软件的分类方法,分类装置以及存储介质 | |
CN108446558B (zh) | 一种基于空间填充曲线的恶意代码可视化分析方法 | |
Hashemi et al. | IFMD: image fusion for malware detection | |
CN113553586B (zh) | 病毒检测方法、模型训练方法、装置、设备及存储介质 | |
CN114579965A (zh) | 一种恶意代码的检测方法、装置及计算机可读存储介质 | |
Naeem et al. | Android Device Malware Classification Framework Using Multistep Image Feature Extraction and Multihead Deep Neural Ensemble. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |