System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及网络安全,尤其涉及一种多任务恶意软件检测方法和装置、电子设备及存储介质。
技术介绍
1、随着恶意软件的日益复杂化和加壳技术的广泛使用,传统的单任务恶意软件检测方法面临着严峻挑战。由于加壳技术能够有效地隐藏恶意软件的真实意图,这使得传统的基于签名的检测方法难以应对,导致了正常软件的高误报。加上大量的正常软件和恶意软件都采用了相同的加壳技术,如inno和upx,这进一步加剧了误报问题。安全厂商通过使用这些被错误标记的文件来训练检测系统,无意中放大了误报的问题。因此,在恶意软件检测领域,如何提高恶意软件的检出率,并减少对正常软件的误判成为亟待解决的技术问题。
技术实现思路
1、本专利技术实施例提供了一种多任务恶意软件检测方法和装置、电子设备及存储介质,能够提高恶意软件的检出率,并减少对正常软件的误判。
2、第一方面,本专利技术实施例提供了一种多任务恶意软件检测方法,应用于多任务学习系统,所述多任务学习系统包括共享层、第一任务特定层、第二任务特定层、第一输出层和第二输出层,所述共享层通过所述第一任务特定层连接所述第一输出层,所述共享层通过所述第二任务特定层连接所述第二输出层,所述方法包括:
3、从目标恶意软件获取目标恶意代码文件;
4、对所述目标恶意代码文件进行向量化处理,得到一维向量;
5、通过所述共享层对所述一维向量进行通用特征提取,得到通用特征;
6、将所述通用特征分别输入至第一任务特定层和第二任务特定层
7、将所述第一任务特定层的输出通过所述第一输出层转换为第一任务输出,将所述第二任务特定层的输出通过所述第二输出层转换为第二任务输出,其中,所述第一任务输出根据所述第一输出层的权重、所述第一输出层的偏置和所述第一任务特定层的输出来确定,所述第二任务输出根据所述第二输出层的权重、所述第二输出层的偏置和所述第二任务特定层的输出来确定;
8、基于所述第一任务输出和所述第二任务输出得到目标恶意软件检测结果。
9、在一些实施例中,所述多任务学习系统的训练方法包括:
10、获取训练样本,所述训练样本为恶意代码文件;
11、将训练样本输入至所述共享层,得到共享层的输出;
12、将所述共享层的输出分发至所述第一任务特定层和所述第二任务特定层,得到第一任务特定层的输出和第二任务特定层的输出;
13、通过特征正交正则化确定所述第一任务特定层的输出和所述第二任务特定层的输出之间的点积;
14、根据所述点积和正则化项的权重确定正交正则化项;
15、基于所述第一任务输出和第一任务真实标签确定第一任务的交叉熵损失函数;
16、基于所述第二任务输出和第二任务真实标签确定第二任务的交叉熵损失函数;
17、根据所述第一任务的交叉熵损失函数、所述第二任务的交叉熵损失函数和所述正交正则化项确定最终损失函数;
18、通过梯度下降方法对所述最终损失函数进行参数优化,得到训练好的所述多任务学习系统。
19、在一些实施例中,在所述将训练样本输入至所述共享层,得到共享层的输出之前,所述训练方法还包括:
20、在所述恶意代码文件的大小小于预设阈值的情况下,通过在所述恶意代码文件后面添加0字节,直至将所述恶意代码文件填充至预设阈值大小;
21、在所述恶意代码文件的大小大于预设阈值的情况下,将所述恶意代码文件截断至预设阈值大小。
22、在一些实施例中,所述共享层的输出表示为:
23、
24、其中,为所述共享层的权重,为所述共享层的偏置,为一维向量,是激活函数;
25、所述第一任务特定层的输出表示为:
26、
27、其中,为所述第一任务特定层的权重,为所述第一任务特定层的偏置;
28、所述第二任务特定层的输出表示为:
29、
30、其中,为所述第二任务特定层的权重,为所述第二任务特定层的偏置。
31、在一些实施例中,所述第一任务输出表示为:
32、
33、其中,为所述第一输出层的权重,为所述第一输出层的偏置;
34、所述第二任务输出表示为:
35、
36、其中,为所述第二输出层的权重,为所述第二输出层的偏置。
37、在一些实施例中,所述最终损失函数表示为:
38、
39、其中,为所述第一任务的交叉熵损失函数,为所述第二任务的交叉熵损失函数,为所述第一任务真实标签,为所述第二任务真实标签,为所述正则化项的权重,为所述点积,表示为:
40、为所述第一任务特定层的输出,为所述第二任务特定层的输出。
41、在一些实施例中,所述通过梯度下降方法对所述最终损失函数进行参数优化,包括:
42、
43、其中,表示多任务学习系统的所有权重和偏置,是学习率,是最终损失函数相对于的梯度。
44、在一些实施例中,所述第一任务特定层和所述第二任务特定层均采用多层感知机,所述多层感知机中的全连接层的激活函数采用relu函数。
45、第二方面,本专利技术实施例还提供了一种多任务恶意软件检测装置,所述装置包括:
46、获取模块,用于从目标恶意软件获取目标恶意代码文件;
47、转化模块,用于对所述目标恶意代码文件进行向量化处理,得到一维向量;
48、通用模块,用于通过共享层对所述一维向量进行通用特征提取,得到通用特征;
49、特定模块,用于将所述通用特征分别输入至第一任务特定层和第二任务特定层,得到第一任务特定层的输出和第二任务特定层的输出,其中,所述第一任务特定层用于对恶意代码检测任务进行特化,所述第二任务特定层用于对加壳分类任务进行特化,所述第一任务特定层的输出根据所述第一任务特定层的权重、所述第一任务特定层的偏置和所述通用特征来确定,所述第二任务特定层的输出根据所述第二任务特定层的权重、所述第二任务特定层的偏置和所述通用特征来确定;
50、转换模块,用于将所述第一任务特定层的输出通过第一输出层转换为第一任务输出,将所述第二任务特定层的输出通过第二输出层转换为第二任务输出,其中,所述第一任务输出根据所述第一输出层的权重、所述第一输出层的偏置和所述第一任务特定层的输出来确定,所述第二任务输出根据所述第二输出层的权重、所述第二输出层的偏置和所述第二任务特定层的输出来确定;<本文档来自技高网...
【技术保护点】
1.一种多任务恶意软件检测方法,应用于多任务学习系统,所述多任务学习系统包括共享层、第一任务特定层、第二任务特定层、第一输出层和第二输出层,所述共享层通过所述第一任务特定层连接所述第一输出层,所述共享层通过所述第二任务特定层连接所述第二输出层,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述多任务学习系统的训练方法包括:
3.根据权利要求2所述的方法,其特征在于,在所述将训练样本输入至所述共享层,得到共享层的输出之前,所述训练方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述共享层的输出表示为:
5.根据权利要求4所述的方法,其特征在于,所述第一任务输出表示为:
6.根据权利要求5所述的方法,其特征在于,所述最终损失函数表示为:
7.根据权利要求6所述的方法,其特征在于,所述通过梯度下降方法对所述最终损失函数进行参数优化,包括:
8.根据权利要求1至7任意一项所述的方法,其特征在于,所述第一任务特定层和所述第二任务特定层均采用多层感知机,所述多层感知机中的全连接层的激活函数
9.一种多任务恶意软件检测装置,其特征在于,所述装置包括:
10.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任意一项所述的多任务恶意软件检测方法。
11.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1至8任意一项所述的多任务恶意软件检测方法。
...【技术特征摘要】
1.一种多任务恶意软件检测方法,应用于多任务学习系统,所述多任务学习系统包括共享层、第一任务特定层、第二任务特定层、第一输出层和第二输出层,所述共享层通过所述第一任务特定层连接所述第一输出层,所述共享层通过所述第二任务特定层连接所述第二输出层,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述多任务学习系统的训练方法包括:
3.根据权利要求2所述的方法,其特征在于,在所述将训练样本输入至所述共享层,得到共享层的输出之前,所述训练方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述共享层的输出表示为:
5.根据权利要求4所述的方法,其特征在于,所述第一任务输出表示为:
6.根据权利要求5所述的方法,其特征在于,所述最终损失函数表示为...
【专利技术属性】
技术研发人员:乔延臣,杨书徒,张琴和,张伟哲,张宇,武化龙,
申请(专利权)人:鹏城实验室,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。