一种恶意软件检测系统的制作方法

文档序号:26791703发布日期:2021-09-28 23:36阅读:138来源:国知局
一种恶意软件检测系统的制作方法

1.本发明涉及一种恶意软件检测系统,更具体地,其通过应用图像技术将恶意软件二进制数据转换为图像数据,然后对所述图像数据应用基于深度学习的图像识别进行分类。


背景技术:

2.近年来,随着移动网络恶意软件的规模和多样性不断增加,给用户的财产和个人隐私带来了相当大的威胁。根据对各种恶意软件的恶意行为研究,将现有的移动恶意软件检测方法分为三类,分别是基于恶意代码的静态检测、基于系统恶意调用的动态检测、基于网络行为的流量检测。基于恶意代码的静态检测通过反编译apk文件提取静态代码特征与特征库进行匹配;基于系统恶意调用的动态检测通过运行应用程序并利用污点方式记录系统调用行为以达到检测恶意应用的目的;基于网络行为的流量检测通过分析网络流量特征结合机器学习来发现未知的恶意应用。然而,这三种方法都存在着不足之处,静态检测对未知的恶意应用的发现能力不足;动态检测方法部署困难,工程繁琐并且消耗大量资源;流量检测相比另外两种检测方法具有轻量级结构、可大规模部署等特点。
3.根据网络行为特征,流量检测又可以分为三类。基于网络签名的方法根据预先确定的网络签名来评估恶意软件,但是对于未知的恶意攻击发现能力不足;基于统计特征的方法根据平均数据包大小,平均流量持续时间,传入到传出字节的字节等特征建模以识别恶意应用,因为统计特征的方法仅以粗略的方式表征网络流量,因此可能会导致比较高的误判率;基于词汇特征的方法则利用有效且丰富的文本特征来检测恶意应用。
4.一般来说,大多数基于网络流量和机器学习算法的恶意软件识别方法都会过分依赖于特征,而从网络流量中提取表征恶意行为的有效特征是非常困难的。流量特征的代表性不够,训练出的模型就可能存在识别效率低、恶意应用发现能力差、误判率高等问题。
5.应用最广泛的恶意软件检测系统是签名分析系统,但该系统仅限于检测已知并预先分类的恶意软件。
6.现有技术通过引入机器学习技术来提高未知恶意软件的检测率。然而,基于机器学习的恶意软件检测技术仍然仅限于从累积数据中的相关性和模式得出结论。
7.除了机器学习对数据进行聚类和分类的能力之外,通过类似于人脑的学习来解决问题的深度学习也引发了人们对深度学习算法的兴趣。


技术实现要素:

8.有鉴于此,本发明的目的在于提供一种恶意软件检测系统,其通过应用图像技术将恶意软件二进制数据转换为图像数据,然后对该图像数据应用基于深度学习的图像识别进行分类。
9.为解决上述技术问题,本发明的一种恶意软件检测系统包括:元数据提取模块,其接收恶意软件二进制数据作为训练数据并提取元数据;数据转换器,用于从输入的恶意软
件二进制数据中提取元数据,其将提取的元数据转换为图像数据,数据转换器包括第一图像生成器、音频文件生成器和第二图像生成器;调整大小模块,其将第一图像生成器和第二图像生成器转换的图像数据调整为适合训练神经网络模块的预定大小;数据增强模块,其对由第一图像生成器和第二图像生成器转换的图像数据执行数据增强;神经网络模块,其接收由数据增强模块增强的图像数据以学习恶意软件;可视化模块,其通过使用t

sne算法对通过训练的神经网络模块提取的恶意软件二进制数据的特征计算和可视化二维和三维t

sne图。
10.一种恶意软件检测方法,其特征在于,该方法包括以下步骤:
11.步骤1:当元数据提取模块接收到目标训练恶意软件二进制数据时,元数据提取模块提取适当的元数据;
12.步骤2:数据转换器将提取的元数据转换为图像数据;
13.步骤3:调整大小模块根据需要将在步骤2转换的图像数据调整为适合于训练神经网络模块的预定大小;
14.步骤4:数据增强模块对转换后的图像数据执行数据增强;
15.步骤5:神经网络模块接收由数据增强模块增强的图像数据作为训练数据以学习恶意软件;
16.步骤6:当受训神经网络模块检测到恶意软件二进制数据时,可视化模块通过使用t

sne算法,对恶意软件的特征计算和可视化二维和三维t

sne图通过训练好的神经网络单元提取的二进制数据。
17.本技术的恶意软件二进制数据可以通过将所述二进制数据转换为图像数据,然后对该图像数据应用基于深度学习的图像识别进行分类。此外,上述检测算法技术的结果可以直观地显示出来,便于解读。
附图说明
18.图1是示出了本发明的恶意软件检测系统的配置的框图;
19.图中各附图标记的含义如下:
[0020]1‑
元数据提取模块,2

数据转换器,3

调整大小模块,4

数据增强模块,5

神经网络模块,6

可视化模块,21

第一图像生成器,22

音频文件生成器,23

第二图像生成器,51

第一神经网络,52

第二神经网络。
[0021]
图2是示出了本发明的恶意软件检测系统的操作方法的流程图。
具体实施方式
[0022]
下面将结合附图对本发明的具体实施方式进行详细描述,以使本领域普通技术人员可以容易地实现本发明。
[0023]
如图1所示,本技术的恶意软件检测系统包括元数据提取模块1、数据转换器2、调整大小模块3、数据增强模块4、神经网络模块5和可视化模块6。
[0024]
元数据提取模块1可以接收恶意软件二进制数据作为训练数据并提取元数据。恶意软件元数据可能是字符串、dll和api调用、byte

n

gram、opcode

n

gram、pe标头字段、网络和主机活动、图像属性、硬件特性以及类似。在移动计算的情况下,恶意软件元数据可以
是权限和意图、字符串、系统调用、图像属性、网络和主机活动等。
[0025]
数据转换器2可以将提取的元数据转换为图像数据,数据转换器2可以包括第一图像生成器21、音频文件生成器22和第二图像生成器23。
[0026]
第一图像生成器21可以将提取的元数据转换为灰度图像数据。通过对元数据进行8位处理,可以将每个像素的亮度值转换为表示256级的灰度图像,音频文件生成器22可以通过将音频头附加到提取的元数据来将提取的元数据转换为音频文件。具体而言,恶意软件二进制数据或从中提取的元数据可以以与非压缩脉冲编码调制音频数据相同的方式处理,从而可以通过在其前面附加路音频头来将其转换为音频文件。第二图像生成器23可以将转换后的音频文件转换为频谱图图像数据。频谱图是声波频谱的图像表示。转换后的音频文件可以被转换成梅尔频谱图图像。
[0027]
调整大小模1可将第一图像生成器21和第二图像生成器23转换的图像数据调整为适合训练神经网络模块5的预定大小,如256*256像素。当第一图像生成器21或第二图像生成器23以适合于训练神经网络模块5的大小生成图像数据时,调整大小模块130可能不是必需的。
[0028]
数据增强模块4可以对由第一图像生成器21和第二图像生成器23转换的图像数据执行数据增强。数据增强模块4可以对图像数据增强训练对数据和验证对数据。当可用的训练图像数据很少时,数据增强用于增加训练数据的数量,方法是通过应用微小的变化,例如通过图像旋转、像素移位等。数据增强模块4可以通过对转换后的图像数据应用主成分分析来提取恶意软件特征空间中的主成分特征。此外,数据增强模块4可以计算转换后的图像特征空间中的主分量向量,并通过在计算的主分量向量方向上的噪声抖动来生成修改的感兴趣区域。数据增强模块4可通过将生成的感兴趣区域与转换后的图像数据的背景图像合并来生成增强图像数据。
[0029]
神经网络模块5可以接收由数据增强模块4增强的图像数据以学习恶意软件。神经网络模块5可以使用在图像识别中具有优异性能的基于初始模块的卷积神经网络来执行基于图像的恶意软件学习。当然,除了卷积神经网络,还有应用各种深度学习技术的神经网络算法,如深度神经网络、循环神经网络、受限玻尔兹曼机、深度信念网络、深度q网络。
[0030]
神经网络模块5可以包括第一神经网络51和第二神经网络52。第一神经网络51可以使用灰度图像数据来学习恶意软件。第二神经网络52可以使用频谱图图像数据学习恶意软件数据。神经网络模块150可以单独训练第一神经网络模块51和第二神经网络52,并且在单独训练完成之后,可以将权重w1和w2应用于第一神经网络51和第二神经网络52的输出分别计算最终的输出。
[0031]
可视化模块6可以通过使用t

sne算法对通过训练的神经网络模块提取的恶意软件二进制数据的特征计算和可视化二维和三维t

sne图。与使用从恶意软件二进制数据转换而来的灰度图像数据相比,从频谱图图像数据中提取特征并在t

sne图上可视化特征可能更有效。
[0032]
图2是示出了本发明的恶意软件检测系统的操作方法的流程图。本技术的恶意软件检测系统可以在包括恶意软件二进制数据的训练数据上训练神经网络以对恶意软件进行分类和识别。
[0033]
该操作方法包括以下步骤:
[0034]
步骤1:当元数据提取模块1接收到目标训练恶意软件二进制数据时,元数据提取模块1提取适当的元数据;
[0035]
步骤2:数据转换器2将提取的元数据转换为图像数据;
[0036]
在步骤2中,数据转换器2将提取的元数据转换为灰度图像数据。此外,数据转换器2可以将音频头附加到提取的元数据以生成音频文件,并且可以将生成的音频文件转换为频谱图图像数据。数据转换器2可以将提取的元数据仅转换为灰度图像数据或光谱图像数据。
[0037]
步骤3:调整大小模块3根据需要将在步骤2转换的图像数据调整为适合于训练神经网络模块5的预定大小,如256*256像素。可以替代的,当在步骤2以适合训练神经网络模块5的大小生成图像数据时,可以省略步骤3的操作;
[0038]
步骤4:数据增强模块4对转换后的图像数据执行数据增强;
[0039]
步骤4具体包括:
[0040]
步骤41:数据增强模块4对转换后的图像数据应用主成分分析以提取恶意软件特征空间中的主成分特征。
[0041]
步骤42:数据增强模块4针对转换后的图像数据计算特征空间中的主成分向量,并且通过在计算的主成分向量方向上的噪声抖动来生成修改的感兴趣区域。
[0042]
步骤43:数据增强模块4通过将生成的感兴趣区域与转换后的图像数据的背景图像合并来生成增强图像数据。
[0043]
步骤5:神经网络模块5接收由数据增强模块4增强的图像数据作为训练数据以学习恶意软件;
[0044]
为此,神经网络模块5可利用神经网络算法并应用各种深度学习技术,例如在图像识别方面具有良好性能的基于初始模块的卷积神经网络、深度神经网络、循环神经网络、受限玻尔兹曼机、深度信念网络、深度q网络等。
[0045]
具体地,在步骤5中,神经网络模块5执行集成训练,其中分别针对灰度图像数据和谱图图像数据单独训练第一神经网络51和第二神经网络52。在个体训练完成后,神经网络模块5分别对第一神经网络51和第二神经网络52的输出施加不同的权重w1和w2,以计算最终输出。
[0046]
步骤6:当受训神经网络模块5检测到恶意软件二进制数据时,可视化模块6通过使用t

sne算法,对恶意软件的特征计算和可视化二维和三维t

sne图通过训练好的神经网络单元提取的二进制数据。
[0047]
本发明还可以包括一种计算机可读介质,其包括用于执行各种计算机实现的操作的程序指令。该介质记录了用于执行上述基于ai的恶意软件检测方法的程序。介质可以包括单独或组合的程序指令、数据文件、数据结构等。这种介质的示例包括诸如硬盘、软盘和磁带之类的磁介质,诸如cd和dvd之类的光记录介质、软盘和磁光介质、被配置为存储和执行程序指令的硬件设备、例如rom、ram、闪存等。此外,这种介质可以是传输介质,例如光或金属线、波导等,包括传输指定程序指令、数据结构或数据结构的信号的载波。类似。程序指令的示例包括诸如由编译器生成的机器语言代码,以及可以由计算机使用解释器执行的高级语言代码等。
[0048]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述
特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1