基于生成对抗网络的恶意样本识别模型

admin 2022年10月19日07:51:09评论39 views字数 4306阅读14分21秒阅读模式




龚子超,邹福泰.基于生成对抗网络的恶意样本识别模型[J].通信技术,2020,53(06):1512-1516.

GONG Zi-chao,ZOU Fu-tai.Identification Model of Malicious Samples Based onGenerative Adversarial Network[J].Communications Technology,2020,53(06):1512-1516.



随着互联网的高速发展,恶意软件增长速度极快,具体表现在其种类与数量上。主流的恶意代码分析大都基于复杂的特征工程与融合处理技术,存在着检测手段必须随时更新的缺点。近年来出现了各种基于将恶意样本转化为图像进而利用图像分类算法进行恶意样本检测的手段,但这种方法会因为加壳技术导致精确度下降。因此,借鉴生成对抗样本的思路,将加壳过程视为对抗样本的生成过程,设计了一套生成对抗样本网络用于提高图像判别的精度。模型在特定算法的加壳样本集上表现相较于无优化版本提升了接近10%,验证了该思路的可行性。

目前,恶意软件已经成为网络空间中最具威胁性的恶意行为。恶意软件利用各种反分析技术与多态、混淆、加壳技术,会使检测手段的误报率与漏报率上升。传统的恶意软件技术主要利用特征工程的手段进行特征提取与分类判别,会存在更新换代速度跟不上恶意软件出现速度的问题。

本文提出了基于二进制文件图像化的图像分类技术,在已有的恶意软件数据集上表现优异,但是对于加壳后的样本会出现很高的误差。在此基础上,本文将加壳过程对其图像化后的影响类比为生成对抗样本的影响,并且利用生成对抗网络对检测网络进行增强,一定程度上改善了准确率。第1章介绍研究背景;第2章介绍深度学习和生成对抗网络结构;第3章给出模型的实验结果;第4章总结并且给出下一步的研究方向。

1 研究背景

1.1 相关背景与研究意义

自从进入互联网时代以来,互联网用户急剧增加,具有危害性的恶意行为越来越多。这些恶意行为最主要的载体是恶意样本。最早主流的检测恶意样本的系统(最主要的是病毒扫描程序)基于语法签名比对来实现。如果在样本中找到数据库中存在的签名,就把该程序宣布为恶意软件。

然而,这种方式存在一定缺陷:一是签名数据库的签名没有普适性,对于新的恶意代码没有识别能力;二是攻击者可以通过多态等技术规避商业病毒扫描程序,因为语法签名无法了解指令的语义。因此,文献[1]提出了一种基于语义的恶意代码检测技术,通过对常见的代码混淆技术的理解与分析,解释了通过语义检测的可行性。

越来越多的研究表明,静态分析恶意代码存在很大的局限性,而执行样本后其对行为动作能够很大程度反映其是否是恶意代码,因此动态分析成为恶意代码检测的新方向。文献[1]中代码执行了恶意文件并生成了这些文件调用的应用程序接口(Application Programming Interface,API),然后使用相似矩阵分析API调用序列的相似性。

文献[2]提出了使用动态分析方法提取各种行为特征来对样本进行识别。这些方法的分类精度良好,但是计算复杂度高。在动态分析中,沙箱是分析者最有力的武器。通过沙箱建立虚拟环境,可以高效地批量分析恶意样本的行为特征。

机器学习也是常用方法之一。机器学习中的支持向量机、随机森林、朴素贝叶斯和决策树等,是最常用于该领域的算法。这些分类算法需要大量样本进行训练来建立分类模型。

自从深度学习兴起后,使用深度学习进行恶意软件检测分类也成为热点话题。最常见的方式是使用之前机器学习的经验,抽取样本的各类特征,使用深度学习模型而非机器学习模型进行训练,有时能得到更好的效果。文献[3]将抽取的各类型静态特征使用深度神经网络进行分类,准确率高于99.9%。文献[4]则将动态分析后得到的特征使用循环神经网络和卷积神经网络进行了训练。

1.2 恶意样本图像化技术

恶意样本图像化是一种将恶意样本映射为图像的编码技术,目标是将样本转化为一张能表示其特征的图像,从而将恶意样本识别问题转化为图像的二分类问题。

对于二进制样本,将其文件内容按字节读取,每8位存为一个向量,再转化为[0,255]范围内的灰度整数。这样的流程会产生与样本对应的灰度图。经过这样的流程处理,会发现恶意二进制文件样本产生的灰度图与正常的二进制文件样本产生的灰度图存在一定的肉眼上的区别,如图1所示。这样的图像差异会在深度网络中呈现出较高的区分度。

基于生成对抗网络的恶意样本识别模型

图1 不同样本进行灰度图化的结果

但是,这样的技术对于恶意软件常用的混淆加密技术会有一定的出入。如图2所示,经过加壳算法处理的样本在人类视觉上已经很难做以区分,实际上这些图像输入到之前训练好的网络中的判别效果不甚理想,因此需要改进图像分类模型。

基于生成对抗网络的恶意样本识别模型

图2 不同样本加壳后进行灰度图化的结果

2 深度学习结构

本文采取卷积神经网络结构。卷积神经网络已经被证明在图像领域有着出色发挥,且可以同时处理整张图片。

本文的分类模型运行分为以下几个步骤。

(1)所有的灰度图都被调整为96×96×1的形状,使用最近邻插值法。

(2)使用3层深度学习网络进行判别任务:每一层先经过一次二维卷积层,使用非饱和函数LeakyReLU作为激活函数,之后引入批标准化层(Batch_Normalization)和Dropout层来解决深度学习过程中的过拟合问题。

(3)深度学习网络输出为布尔型变量,结果为1代表着样本检测结果为恶意样本,为0则为良性样本。经过(2)中的处理,经过两个全连接层得到最后的结果。

而在加入生成对抗网络的模型中,判别器采用了上述结构。在生成器这边,输入为100维的随机噪声,经过一层全连接后,再进行上采样、卷积、批规范化、激活函数2次,然后进行一次卷积,最后通过激活函数为tanh的激活层输出(-1,1)范围内的数据,代表了生成的噪声图像的灰度。

训练过程中先训练判别器,一半使用真实图片,另一半使用真实图片与产生的噪声进行按位与后产生的图像进行训练。之后,再对整个进行训练,输入为随机噪声和真实图片。

3 实验结果与分析

3.1 数据集

作为基准的恶意软件数据集从“VirusShare Malware Sharing Platform”处获取。该平台提供了最新的各种恶意样本,包括windows可执行文件、JavaScript、Android样本(APK)、Java以及PDF等,本文从中获取到数十万个样本。良性样本的获取则是通过从各大软件下载平台上爬取的。为了保证用户满意度,这些文件都会经过严格的检测来确保良性,共爬取了近万个良性样本。为了使正负样本均衡,本文从恶意样本与良性样本中各随机抽取6 000个作为训练用。

3.2 模型实现细节

本次实验使用的平台信息如表1所示,具体的模型参数见表2和表3。

表1 实验平台信息

基于生成对抗网络的恶意样本识别模型

表2 用于恶意样本检测的卷积网络参数

基于生成对抗网络的恶意样本识别模型

表3 生成对抗网络生成器的网络参数

基于生成对抗网络的恶意样本识别模型

3.3 评估标准

在单独的判别器中,使用Logisticloss作为损失函数,定义如下:

基于生成对抗网络的恶意样本识别模型

同时,在训练过程中使用准确率(accuracy)、假阳率(False Positive Rate,FPR)、假阴率(False Negative Rate,FNR)评估模型的能力,详细定义如下。

在二分类任务训练过程中,存在如下4种情况:

(1)True Positive(TP):预测为正例,实际为正例的数量;

(2)False Positive(FP):预测为正例,实际为负例的数量;

(3)True Negative(TN):预测为负例,实际为负例的数量;

(4)False Negative(FN):预测为负例,实际为正例的数量。

于是,各指标计算公式如下:

基于生成对抗网络的恶意样本识别模型

在加入了生成对抗网络的网络中,训练判别器时一半使用真实样本,一半使用生成器生成的样本作混淆,同时使用上述的Logistic loss作为损失函数。记生成器为基于生成对抗网络的恶意样本识别模型,则该过程中判别器损失为:

基于生成对抗网络的恶意样本识别模型

在训练整个模型时,此时训练器不再进行训练,关注的点为生成器的训练。生成器的训练目标为混淆判别器的判别结果,因此损失函数为:

基于生成对抗网络的恶意样本识别模型

由于目标是改善其中判别器的精度,因此只有判别器的性能需要关注。此处的性能评估方法与上述模型一样,不再赘述。

3.4 结果与分析

在卷积神经网络的训练上,采取将数据集分为0.8:0.2的比例分别作为训练集和测试集。训练过程中,损失函数与精确度的变化趋势如图3所示。

基于生成对抗网络的恶意样本识别模型

图3 卷积神经网络训练中参数变化

经过训练后,该模型在测试集上的精确度为99.5%,损失函数稳定在0.02左右,FPR为1.07%,FNR为0.97%,证明该方法在恶意软件识别上具有一定的可行性。

但是,如果将这个模型用于检测经过加壳的样本,检测的精确度只有72.7%,损失函数会在1~3不停波动,证明无法胜任对加壳样本识别的任务,需要发现新的手段或者对该模型进行改进。

而对生成对抗网络的训练中,将未加壳样本作为训练集,将加壳后的数据作为测试集,训练过程中各参数变化趋势如图4所示。

基于生成对抗网络的恶意样本识别模型

图4 生成对抗网络训练中参数变化

经过训练后,该模型在测试集上的精确度为90%左右,比起上述卷积神经网络在加壳样本上的表现好。

通过对比可以发现,生成对抗网络虽然会在未加壳样本上的表现有所下降,但是由于对抗样本对生成器的加强,会在加壳样本上的表现优于卷积神经网络,说明该方法在加壳样本识别方面具有一定的可行性。

4 结 语

本文主要研究基于生成对抗网络的恶意代码识别模型在加壳恶意样本识别中的应用和效果,阐述恶意样本图像化在样本识别中的优劣势,设计和训练了基于生成对抗网络和卷积神经网络的恶意代码识别模型。模型在搜集的数据集上的表现对比显示,卷积神经网络在未加壳的样本识别上表现优异,但是在加壳后的样本识别上表现不佳。在此基础上,生成对抗网络经过训练可以使其鉴别器在加壳样本上的表现获得改善。

综上所述,基于生成对抗网络的恶意代码识别模型将加壳恶意代码识别问题类比于生成对抗样本攻击识别网络的问题,一定程度地改善了识别模型的精确度。然而,该模型的鲁棒性较差,普遍性也需要进一步考证,因此提高模型的鲁棒性和普适性是需要进一步研究的方向。

作者简介 >>>

龚子超(1996—),男,硕士,主要研究方向为人工智能安全;

邹福泰(1973—),男,博士,高级工程师,主要研究方向为恶意代码分析、僵尸网络检测。

选自《通信技术》2020年第六期 (为便于排版,已省去原文参考文献)

基于生成对抗网络的恶意样本识别模型

网络强国建设的思想库

安全产业发展的情报站

创新企业腾飞的动力源

投稿网址:http://www.txjszz.com

合作热线:010-88203306

基于生成对抗网络的恶意样本识别模型

原文始发于微信公众号(信息安全与通信保密杂志社):基于生成对抗网络的恶意样本识别模型

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月19日07:51:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   基于生成对抗网络的恶意样本识别模型http://cn-sec.com/archives/1026337.html

发表评论

匿名网友 填写信息