CN112560034B - 基于反馈式深度对抗网络的恶意代码样本合成方法及装置 - Google Patents

基于反馈式深度对抗网络的恶意代码样本合成方法及装置 Download PDF

Info

Publication number
CN112560034B
CN112560034B CN202011463435.1A CN202011463435A CN112560034B CN 112560034 B CN112560034 B CN 112560034B CN 202011463435 A CN202011463435 A CN 202011463435A CN 112560034 B CN112560034 B CN 112560034B
Authority
CN
China
Prior art keywords
model
sample
malicious code
samples
training
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.)
Active
Application number
CN202011463435.1A
Other languages
English (en)
Other versions
CN112560034A (zh
Inventor
刘浏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suqian College
Original Assignee
Suqian College
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suqian College filed Critical Suqian College
Priority to CN202011463435.1A priority Critical patent/CN112560034B/zh
Publication of CN112560034A publication Critical patent/CN112560034A/zh
Application granted granted Critical
Publication of CN112560034B publication Critical patent/CN112560034B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明公开一种基于反馈式深度对抗网络的恶意代码样本合成方法及装置,该方法步骤包括:S01.基于深度反卷积模型构造生成器模型、以及基于深度卷积模型构造判别器模型,构建形成深度对抗网络;S02.对构造的生成器模型、判别器模型进行训练;S03.使用当前得到的生成器模型作为恶意样本合成模型进行恶意代码样本合成;S04.对合成得到的恶意代码样本进行识别分类,若识别到不符合目标家族样本特征,则反向修正生成器模型,返回步骤S02,否则输出当前合成的恶意代码样本。本发明能够快速、精准的自动合成所需类型的恶意样本,具有实现方法简单、复杂程度低、合成精度以及效率高等优点。

Description

基于反馈式深度对抗网络的恶意代码样本合成方法及装置
技术领域
本发明涉及恶意代码检测技术领域,尤其涉及一种基于反馈式深度对抗网络的恶意代码样本合成方法及装置。
背景技术
随着互联网技术迅速发展,互联网技术在为全球经济文化一体化带来便利的同时,也伴随着产生了越来越多的信息安全隐患。如根据互联网协会在线信任联盟(OTA)的报告,在2019的一年中由于黑客袭击导致全球的经济损失高达450亿美元;赛门铁克安全公司在2019年互联网安全威胁报告中指出,2019年就有超过五十万件勒索软件入侵事件;另外,推特用户信息泄露、谷歌用户邮箱被窃取以及MySpace社交网络账户密码被盗等互联网信息安全事件也是持续发生。因此对恶意代码进行检测分析对于确保网络信息安全至关重要。
针对于恶意代码的检测分析,传统是采用依赖于人工分析的方法,而随着大数据时代的到来,海量的分析数据给传统的人工恶意代码分析方式带来了巨大的挑战,如反病毒公司需要每秒处理数以千计的网络信息,其中会包括大量的恶意代码,该传统需要依赖于人工分析的方法已无法满足当前海量数据的恶意代码检测分析需求。随着大数据技术、人工智能以及数据挖掘等技术的日渐成熟,恶意代码的自动化检测和分析已逐步成为网络信息安全的重点研究方向。但是由于恶意代码的自动化检测与分析过程中主要依靠机器学习,需要提供大量的恶意代码样本以进行模型训练,而恶意代码样本本身难以直接获得,致使在训练过程中经常会存在训练样本分布不均匀的问题,这会直接影响机器学习模型的学习结果,致使检测分析精度不高,极易发生漏检、误检等情况。
现有技术中研究重点通常都是实现恶意代码的检测分析,还尚未有有效方案能够实现恶意代码的合成,而恶意代码的种类繁多,就难以直接进行生成,尤其是要确保机器学习模型的精度,不同家族均需要有足够多数量的恶意代码样本,目前就无法精准实现不同家族恶意代码的自动合成。
有从业者提出使用对抗网络的方式来模仿攻击的恶意样本以实现防御,即通过对抗网络来生成模仿指定恶意样本的对抗样本,但是该类方式仅能够产生某一已知的特定恶意样本的模仿样本,就无法实现未知恶意样本的合成,也无法得到除模仿样本以外的其他恶意样本,并不能解决上述训练样本分布不均匀的问题。
因此目前亟需提供一种恶意代码样本合成方法,以使得能够快速、精准的自动合成所需类型的恶意样本,解决样本分布不均匀的问题。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、复杂程度低、合成精度以及效率高的基于反馈式深度对抗网络的恶意代码样本合成方法及装置,能够快速、精准的自动合成所需类型的恶意样本,解决样本分布不均匀的问题。
为解决上述技术问题,本发明提出的技术方案为:
一种基于反馈式深度对抗网络的恶意代码样本合成方法,步骤包括:
S01.网络构建:基于深度反卷积模型构造用于生成伪样本的生成器模型、以及基于深度卷积模型构造用于识别伪样本的判别器模型,构建形成深度对抗网络;
S02.模型训练:使用噪声样本作为输入,对构造的所述生成器模型、所述判别器模型进行训练,得到训练完成后的所述生成器模型、判别器模型;
S03.样本合成:使用当前得到的所述生成器模型作为恶意样本合成模型进行恶意代码样本的合成;
S04.多分类反馈识别:对步骤S03合成得到的恶意代码样本进行识别分类,若识别到不符合目标家族样本特征,则根据分类结果反向修正所述生成器模型,返回执行步骤S02,否则输出当前合成的恶意代码样本。
进一步的,所述生成器模型具体包括一个用于执行映射操作的全连接转换层和多个用于实现逆向卷积操作的反卷积层,所述映射操作为通过矩阵乘法将二维矩阵转化为四维张量,所述反卷积层采用滑动窗口和填充操作进行转置卷积计算,以实现数据的上采样,各所述所述反卷积层中输出层使用tanh函数作为激活函数、其余层使用Relu激活函数。
进一步的,所述判别器模型包括依次连接的三个卷积采样单元以及两个全连接层,每个所述卷积采样单元包括依次连接的一层用于卷积计算的卷积层、一层用于对数据进行下采样的下采样层,两个所述全连接层中第一全连接层通过卷积计算得到多个特征图,以完成池化层向全连接层的转化,第二全连接层包括多个神经元以对应处理所述第一全连接层输出的各特征图,输出最终的判别结果,所述卷积层使用LeakyReLU激活函数。
进一步的,所述步骤S02中对构造的所述生成器模型、所述判别器模型进行训练前,还包括对所述判别器模型进行预训练步骤,具体步骤包括:获取多个正常样本与多个不同恶意家族的恶意代码样本并分别转换为灰度图片,形成训练样本集,使用所述训练样本集对所述判别器模型进行单独的预训练,在训练过程中所述训练样本集中恶意代码样本作为正例样本、正常样本作为负样本。
进一步的,所述步骤S02中对构造的所述生成器模型、所述判别器模型进行训练前,还包括对所述生成器模型进行预训练步骤,具体步骤包括:使用噪声样本转换得到的灰度图片作为所述生成器模型的输入,计算所述生成器模型生成的伪样本与实际目标样本之间的距离值,如果距离值小于预设阈值则完成当前预训练过程,否则根据当前计算得到的距离值反向调整当前预训练过程。
进一步的,所述步骤S02中噪声样本是通过对噪声的每一个像素点进行有限区间的随机选择得到,具体步骤包括:对转换为图片形式的原始恶意代码样本的像素点进行概率统计,取统计结果中概率值大于指定阈值的范围作为目标有限区间,每次随机选择像素点时将选择的像素值限定在所述目标有限区间内,得到所述噪声样本。
进一步的,所述步骤S02的具体步骤包括:将噪声样本后转换为灰度图片,并作为输入样本输入至所述生成器模型中,所述生成器模型将输入样本映射为灰度图,生成伪样本,输出给所述判别器模型,由所述判别器模型识别所述生成器模型生成的伪样本是否为恶意代码,经过多组噪声样本的训练后,若所述判别器模型无法正确识别所述生成器模型输出的伪样本,则结束当前模型训练。
进一步的,所述步骤S03中,具体根据分类结果中当前生成的恶意代码样本与目标家族样本之间的相似度确定调整系数,使用确定的所述调整系数反向调整所述生成器模型的模型参数。
一种基于反馈式深度对抗网络的恶意代码样本合成装置,包括:
深度对抗网络,包括基于深度反卷积模型构造用于生成伪样本的生成器模型、以及基于深度卷积模型构造用于识别伪样本的判别器模型;
合成模型训练模块,用于使用噪声样本对构造的所述生成器模型、所述判别器模型进行训练,由训练完成后得到的所述生成器模型作为恶意样本合成模型;
恶意样本合成模块,用于使用当前得到的所述恶意样本合成模型进行恶意代码样本的合成;
多分类反馈识别模块,用于对所述恶意样本合成模块合成得到的恶意代码样本进行识别分类,若识别到不符合目标家族样本特征,则根据分类结果反向修正所述生成器模型,返回执行所述合成模型训练模块,否则输出当前合成的恶意代码样本。
一种基于反馈式深度对抗网络的恶意代码样本合成装置,包括处理器以及存储器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,所述处理器用于执行所述计算机程序,以执行如上述的方法。
与现有技术相比,本发明的优点在于:
1、本发明通过引入深度对抗网络,以深度模型为基础构建对抗网络,基于深度对抗网络来训练恶意样本合成模型,同时采用基于样本家族分类的反馈式训练机制,由训练得到的恶意样本合成模型进行恶意代码样本合成,然后对合成的恶意代码样本进行反馈识别,根据分类结果来反向修正生成器模型,能够对深度对抗网络的训练过程进行反馈式重构,使得最终能够合成符合所需家族样本特征的恶意代码样本,从而实现对不同家族样本的精准合成,解决恶意代码数据集中家族样本分布不均问题。
2、本发明通过在对抗网络模型中增加多分类反馈层,由多分类反馈层采用反馈训练机制对合成得到的恶意代码样本进行反馈识别,使得模型的生成结果更能精准的体现不同恶意样本类别之间的差异,可以使模型生成的样本更具有目标性,提高模型的泛化能力,从而能够快速、精准的控制合成所需类型的恶意样本。
3、本发明进一步通过构造生成器模型以及判别器模型,结合卷积神经网络以及对抗网络的特性,形成适合于合成恶意代码的深度对抗网络,使得经过生成器模型、判别器模型的对抗后,由生成器模型可生产出符合要求的恶意代码样本,从而能够实现恶意代码样本的高效合成。
4、本发明进一步在模型训练前对判别器模型进行预训练,同时还对生成器模型也进行必要的预训练,能够大大减少后续模型训练阶段的时间,从而加快整体的模型训练过程,进而有效提高恶意代码样本合成的效率,尤其适用于实时性较高的场合。
5、本发明进一步通过优化对抗网络模型的输入矩阵,对输入像素值进行限定性随机优化,相比于直接使用随机噪声,可以进一步提高模型生成恶意样本的效率。
附图说明
图1是本实施例基于反馈式深度对抗网络的恶意代码样本合成方法的实现流程示意图。
图2是本实施例基于反馈式深度对抗网络实现恶意代码样本合成的原理示意图。
图3是本发明在具体应用实施例中构造的生成器模型的结构示意图。
图4是本发明在具体应用实施例中构造的判别器模型的结构示意图。
图5是本发明在具体应用实施例中训练样本形成的原理示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本实施例基于反馈式深度对抗网络的恶意代码样本合成方法的步骤包括:
S01.网络构建:基于深度反卷积模型构造用于生成伪样本的生成器模型、以及基于深度卷积模型构造用于识别伪样本的判别器模型,构建形成深度对抗网络;
S02.模型训练:使用噪声样本,对构造的所述生成器模型、所述判别器模型进行训练,得到训练完成后的生成器模型、判别器模型;
S03.样本合成:使用当前得到的生成器模型作为恶意样本合成模型进行恶意代码样本的合成;
S04.反馈识别:对步骤S03合成得到的恶意代码样本进行识别分类,若识别到不符合目标家族样本特征,则根据分类结果反向修正生成器模型,返回执行步骤S02,否则输出当前合成的恶意代码样本。
本实施例通过引入深度对抗网络,以深度模型为基础构建对抗网络,基于深度对抗网络来训练恶意样本合成模型,同时采用基于样本家族分类的反馈式训练机制,由训练得到的恶意样本合成模型进行恶意代码样本合成,然后对合成的恶意代码样本进行反馈识别,根据分类结果来反向修正生成器模型,能够对深度对抗网络的训练过程进行反馈式重构,使得最终能够合成符合所需家族样本特征的恶意代码样本,从而实现对不同家族样本的精准合成,即可以根据家族分类进行样本合成,解决恶意代码数据集中家族样本分布不均问题。
如图2所示,本实施例深度对抗网络由判别器模型D和生成器模型G联合组成,生成器模型G用于生成伪样本,判别器模型D用于识别伪样本,训练阶段由随机抽样形成的噪声样本z并经过优化后作为输入提供给生成器模型G,由生成器模型G输出的G(z)灰度图作为判别器模型D的输入,最终判别器模型D输出判别结果,完成训练后由生成器模型G生成伪样本,即得到恶意代码样本,再使用恶意代码分类器对恶意代码样本进行反馈识别,若不符合所需的目标家族样本特征,则反馈修正生成器模型G的参数,直至得到符合目标家族样本特征的样本。
本实施例中,生成器模型G具体包括一个用于执行映射操作的全连接转换层和n个用于实现逆向卷积操作的反卷积层,n的数量可以根据实际需求配置,映射操作具体为通过矩阵乘法将二维矩阵转化为四维张量,反卷积层采用滑动窗口和填充(padding)操作进行转置卷积计算,以实现数据的上采样。本实施例生成器模型G即为用于构造一个能够将随机样本映射为灰度图的反卷积模型,该模型类似于卷积神经网络,但是不包含全连接层和池化层,且与传统的卷积层不同,本实施例中反卷积层通过采用滑动窗口和填充(padding)操作进行转置卷积计算,可以代替传统卷积层使用的池化操作,最终实现每一层数据的上采样。
如图3所示,在具体应用实施例中生成器模型G具体配置由一个全连接转换层以及三个反卷积(DECon)层构成,其中DECon1层、DECon2层分别采用3*3的卷积核,DECon3层则采用5*5的卷积核,由全连接转换层执行映射操作后,依次经过三个DECon层的逆向卷积操作,实现每层数据的上采样。
本实施例中,生成器模型G的各反卷积层具体结合采用dilated-convolution(空洞卷积)和fractional strided(分数回旋卷积)两种方法实施逆向卷积操作,可以进一步提高反卷积的效率及效果,且每一层使用Batch-Normalize(批量正则化)操作,以对每层数据进行批量归一化操作,可以加快梯度学习和模型的泛化能力,输出层具体使用tanh函数作为激活函数、其余层则具体使用Relu激活函数。
本实施例通过采用上述构造的生成器模型G,可以结合深度卷积网络的特性,快速、精准的将随机样本映射为灰度图以生成伪样本。
本实施例中,判别器模型D具体包括依次连接的三个卷积采样单元以及两个全连接层,每个卷积采样单元包括依次连接的一层用于卷积计算的卷积层、一层用于对数据进行下采样的下采样层,两个全连接层中由第一全连接层通过卷积计算得到多个特征图,以完成池化层向全连接层的转化,第二全连接层包括多个神经元以对应处理第一全连接层输出的各特征图,输出最终的判别结果。
判别器模型D即为用于构造一个可以识别图片真假的深度卷积模型,即由该模型判断灰度图是否为恶意代码的映射图,判别器模型D构造与上述生成器模型G类似,但为上述生成器模型G的反方向操作。本实施例判别器模型D具体由m层卷积层组成,m具体可根据实际需求配置,每一层向前实现下采样操作,最终输出的结果为0或者1,其中由D(G(z))=0表示非恶意代码,D(G(z))=1表示为恶意代码。与上述生成器模型G不同的是,判别器模型D中卷积层具体采用的激活函数为LeakyReLU。
在具体应用实施例中,如图4所示,判别器模型D具体由三个卷积层(C1~C3)、三个下采样层(P1~P3)和两个全连接层(F1、F2)构成,C1层输入灰度图形式的恶意样本,P1层是对C1层进行下采样的结果,C2层是由P1层经过卷积计算得到,P2层是对C2层进行下采样的结果,C3层是由P2层经过卷积计算得到,P3层是对C3层进行下采样的结果,F1层和F2层属于全连接层,但是它们之间存在这很大的区别,具体F1层是池化层向全连接层的转化,使用的方法也是卷积计算,在F1层中设置4096个滤波器,每个滤波器包含16个通道(即包含16个卷积核),最终计算结果得到1*1*4096的特征图,相当于对应4096个全连接的神经元,F2层包含了4096个神经元,激活函数为Softmax函数,其输出的结果为预测结果。
传统对抗网络中的判别器只能用于实现二分类,本实施例通过采用上述结构判别器模块D,同时在模型中增加多分类反馈层,由多分类反馈层对合成得到的恶意代码样本进行识别分类,若识别到不符合目标家族样本特征,则根据分类结果反向修正生成器模型,使得模型的生成结果更能精准的体现不同恶意样本类别之间的差异,从而提高模型的泛化能力。
本实施例上述构造的生成器模型G以及判别器模型D,能够结合卷积神经网络以及对抗网络的特性,形成适合于合成恶意代码的深度对抗网络,使得经过生成器模型G、判别器模型D的对抗后,由生成器模型G可生产出符合要求的恶意代码样本,从而可实现恶意代码样本的高效合成。
构造得到上述生成器模型G以及判别器模型D后,需要对模型进行训练。且由于采用以深度模型为基础的对抗网络,因此根据模型的特点需要使用灰度图形式的数据进行深度对抗网络的训练。本实施例步骤S02进行模型训练的具体步骤包括:将噪声样本转换为灰度图片,并作为输入样本输入至生成器模型中,生成器模型将输入样本映射为灰度图,生成伪样本,输出给判别器模型,由判别器模型识别生成器模型生成的伪样本是否为恶意代码,经过多组噪声样本的训练后,若判别器模型无法正确识别生成器模型输出的伪样本,则结束当前模型训练。
上述通过随机抽样形成噪声样本时,是通过对噪声的每一个像素点进行有限区间的随机选择得到,具体步骤包括:对转换为图片形式的原始恶意代码样本的像素点进行概率统计,取统计结果中概率值大于指定阈值的范围作为目标有限区间,每次随机选择像素点时将选择的像素值限定在目标有限区间内,得到噪声样本。即本实施例中噪声区别于传统的纯粹性随机选择产生的噪声,是通过对图像形式的原有恶意代码样本的像素点进行概率统计,然后将每次随机选择的像素值限定在较大概率的数值范围内。通过优化对抗网络模型的输入矩阵,对输入像素值进行限定性随机优化,相比于直接使用随机噪声,可以有效提高模型生成恶意样本的效率。
具体从[0,255]数值区间中随机抽取2304个数值,组成一个形为[48,48]的数值矩阵,得到噪声样本作为生成器模型G的输入,最终经过生成器模型G的计算输出单通道灰度图(G(z))。
进一步的,本实施例步骤S02中对构造的生成器模型G、判别器模型D进行训练前,还包括对判别器模型D进行预训练步骤,具体步骤包括:获取多个正常样本与多个不同恶意家族的恶意代码样本并分别转换为灰度图片,形成训练样本集,使用训练样本集对判别器模型D进行单独的预训练,在训练过程中样本集中恶意代码样本作为正例样本、正常样本作为负样本。通过在模型训练前对判别器模型D进行预训练,可以加快深度对抗网络模型的训练过程,减少模型训练所需的时间。
判别器和生成器的训练过程即为一个零和博弈的场景,但是判别器和生成器在训练时又相互独立,本实施例模型训练过程即为通过生成器G与判别器D的博弈最终要实现如下的目标函数:
由上述目标函数可知,模型博弈的过程是实现判别器D提高真伪数据判断准确率的过程和生成器G提高伪造数据成功率的过程。
为了匹配以深度模型为基础的对抗网络,本实施例使用灰度图形式的数据进行深度对抗网络的训练,并将灰度图技术与二进制样本结合,将二进制的可执行文件转化为灰度图形式。可执行的恶意代码实际上对应的是包含二进制数据的文件,对每八位二进制数据进行十进制转化便得到了一个位于0到255区间的数值,这一数值便对应了灰度图中的一个像素点。
本实施例在预训练前,先将正常样本和恶意样本都转化为灰度图形式进行存储。如5图所示,在具体应用实施例中,首先获取样本的二进制表示的文件,然后将二进制文件以8bit为一个单元,接着将每个单元换算为十进制数值,最终将十进制文件保存为图片格式便成为了灰度图形式。例如,二进制"01100111"转换为十进制的“206”,那么十进制的数值映射为灰度图中的一个像素点。如果二进制样本转化为十进制矩阵后,其形状与预设大小不符,则需要进行padding操作,如果十进制矩阵的宽高不足,还需要进行增加边框操作,即将行和列同时用0填充到指定大小,反之则需要删除边框的行和列。
进一步的,本实施例步骤S02中对构造的生成器模型、判别器模型进行训练前,还包括对生成器模型进行预训练步骤,具体步骤包括:使用将噪声样本转换得到的灰度图片作为生成器模型的输入,计算生成器模型生成的伪样本与实际目标样本之间的距离值,如果距离值小于预设阈值则完成当前预训练过程,否则根据当前计算得到的距离值反向调整当前预训练过程。本实施例不仅对模型中的判别器进行预训练,还同时对生成器模型也进行必要的预训练,模型的整个训练过程则分为三个阶段:第一阶段为判别器模型D的预训练阶段,第二阶段为生成器模型G的预训练阶段,第三阶段为生成器模型G与判别器模型D的协同训练阶段,通过划分为三个阶段的训练,结合判别器模型D与生成器模型G两者的预训练,能够大大减少后续模型训练阶段的时间,从而加快整体的总体模型训练,进而有效提高恶意代码样本合成的效率,尤其适用于实时性较高的场合。
在具体应用实施例中,对生成器进行预训练时,按照下式计算生成出的伪样本与实际目标样本之间的距离:
其中xi,yi分别为生成出的伪样本与实际目标样本中图像的像素点。
若计算得到的距离值大于预设的最小阈值MIN,则生成器预训练结束;否则进行反向参数调整训练。
训练完成后得到的生成器模型即为恶意样本合成模型,本实施例在训练完成后,采用抽样的噪声样本作为训练完成的生成器模型的输入,并进行恶意样本的合成;然后使用恶意样本分类器对合成的伪样本进行家族识别,即恶意代码分类,如果分类结果不符合目标家族样本的特征,即与目标家族不一致,那么则判定合成样本不满足要求,根据分类结果反向调整生成器模型以重新进行合成,否则判定合成样本满足要求,即得到所需类型的恶意代码样本。通过上述反馈式训练机制,在每次合成样本后根据分类效果来动态调整生成器模型的参数,能够快速、精准的控制合成所需类型的恶意样本。
本实施例步骤S03中,具体根据分类结果中当前生成的恶意代码样本与目标家族样本之间的相似度确定调整系数,使用确定的调整系数反向调整生成器模型的模型参数。本实施例通过在判别器后加入多分类机制,使用该机制将生成的伪样本进行二次的精准判别,同时将结果反馈回生成器的训练过程,可以使模型生成的样本更具有目标性。
本实施例中,上述反向修正生成器模型的具体步骤包括:计算当前合成得到的恶意代码样本与目标家族样本之间的相似度值(即概率值),根据计算得到的相似度值设置调整系数,使用调整系数调整生成器模型的模型参数。即通过根据分类结果的相似值决定模型参数的调整系数,如果相似值越小,则模型参数的调整系数越大,反之越小,模型参数调整过程直到样本合成符合特定恶意样本家族的特征为止,即恶意代码分类器将其识别为预期的样本类型。
可以理解的是,还可以根据实际需求采用除相似度值外其他的相关性值来确定调整生成器模型参数的调整系数,甚至可以采用其他参数值来确定。
以下以在具体应用实施例中采用本发明上述方法进行恶意代码样本合成为例,对发明进行进一步说明。
本实施例中使用1000个样本,其中正常软件样本为800个,恶意代码样本200个,恶意代码样本中包含9个恶意家族,分别是Trojan.Arto(20个样本)、Trojan.Boht(30个样本)、Trojan.BHO(20个样本)、Backdoor.Allaple(20个样本)、Backdoor.DarkKomet(20个样本)、Worm.Abuse(20个样本)、Worm.Clisbot(20个样本)、Trojan-Downloader.Adnur(30个样本)、Trojan-Downloader..BHO(20个样本)。
本实施例实现恶意代码样本合成的具体实施过程如下:
步骤1:构造生成器模型G、判别器模型D,构建形成深度对抗网络。
如图3所示,生成器模型G具体由一个全连接转换层和三个DECon层组成,全连接转换层用于将随机抽样的256维数据映射为131072维数据,然后在将数据重构为16*16*512维;DECon层用于实现对卷积的逆操作,采用dilated-convolution和fractional strided两种方法实施逆向卷积操作。三个DECon层,每一层的具体操作参数如下:
DECon1层参数:卷积核尺寸为3*3,滑动步长为stride=1,卷积核的数量为128。在执行dilated-convolution操作时对本层的卷积核进行扩充,其中dilation rate为2;在执行fractional strided操作时将步长设置为stride=0.5,填充设置为padding=10。
DECon2层参数:卷积核尺寸为3*3,滑动步长为stride=1,卷积核的数量为32。在执行dilated-convolution操作时对本层的卷积核进行扩充,其中dilation rate为3;在执行fractional strided操作时将步长设置为stride=0.5,填充设置为padding=51。
DECon3层参数:卷积核尺寸为5*5,滑动步长为stride=1,卷积核的数量为1。在执行dilated-convolution操作时对本层的卷积核进行扩充,其中dilation rate为2;在执行fractional strided操作时将步长设置为stride=0.5,填充设置为padding=196。
如图4所示,判别器模型D具体由三个卷积层、三个下采样层和两个全连接构成,BN对应表示Batch-Normailization操作层,除了最后一层(输出层)使用tanh函数作为激活函数,其余层使用Relu激活函数,卷积层和池化层的具体构造如下:
C1层:输入为第一步骤中得到的灰度图形式的恶意样本,尺寸为512*512。C1层的卷积操作参数具体分别为:卷积核数量为6,卷积核的尺寸为size=9*9,填充值Padding_size=0,滑动步长stride=1。经过卷积计算后,C1层由6个尺寸为504*504的feature-map(特征图)组成。
P1层:P1层是对C1层进行下采样的结果,其下采样的参数具体为:采样空间尺寸为4*4,滑动步长为stride=4,填充值Padding_size=0。最终经过下采样计算,P1层包含了6个特征图,每个特征图的尺寸为126*126。
C2层:该层是由P1层经过卷积计算得到,其中卷积计算过程中参数具体分别为:卷积核数量为10,卷积核的尺寸为7*7,填充值Padding_size=0,滑动步长stride=1。经过卷积计算,C2层由10个尺寸为120*120的特征图组成。
P2层:P2层是对C2层进行下采样的结果,其下采样的参数具体为:采样空间尺寸为4*4,滑动步长为stride=4,填充值Padding_size=0。最终经过下采样计算,P2层包含了10个特征图,每个特征图的尺寸为30*30。
C3层:该层是由P2层经过卷积计算得到,其中卷积计算过程中参数具体分别为:卷积核数量为16,卷积核的尺寸为3*3,填充值Padding_size=0,滑动步长stride=1。经过卷积计算,C3层由16个尺寸为28*28的特征图组成。
P3层:P3层是对C3层进行下采样的结果,其下采样的参数具体为:采样空间尺寸为4*4,滑动步长为stride=4,填充值Padding_size=0。最终经过下采样计算,P3层包含了16个特征图,每个特征图的尺寸为7*7。
F1层是池化层向全连接层的转化,使用卷积计算,卷积参数具体分别为:滤波器数量为4096个,每个滤波器包含16个通道(即包含16个卷积核),每个卷积核的尺寸为7*7,滑动步长为0,填充为padding=0。最终计算结果得到1*1*4096的特征图,也就相当于对应了4096个全连接的神经元。F2层包含了4096个神经元,且激活函数为Softmax函数,其输出的结果为预测结果。
步骤2:将正常样本和恶意样本都转化为灰度图形式存储以及生成噪声样本。
如5图所示,首先获取样本的二进制表示的文件,然后将二进制文件以8bit为一个单元,接着将每个单元换算为十进制数值,最终将十进制文件保存为图片格式便成为了灰度图形式。如果二进制样本转化为十进制矩阵后,其形状与256*256不符,那么需要进行padding操作;如果十进制矩阵的宽高小于256*256,则需要进行增加边框操作,即将行和列同时用0填充到256*256大小,反之则删除边框的行和列。
噪声样本生成时,将从[0,255]数值区间中随机抽取65536个数值,组成一个形为[256,256]的数值矩阵。每一个像素点元素的取值空间,由真实样本数据中相应点的数值进行概率统计结果决定。例如,像素点位置为[20,19],即第二十行第十九列的像素,其数值范围为[160,219]。最终将抽样的矩阵转化为灰度图形式,成为训练样本。
步骤3:模型训练过程。
将模型的训练分为三个阶段:第一阶段为判别器的预训练阶段,第二阶段为生成器的预训练阶段,第三阶段为生成器与判别器协同训练阶段。
在模型训练的第一阶段,使用10折交叉验证方法进模型训练,但在训练过程中不预留数据作为最终测试集。将800个正常样本和200个恶意代码样本平均分配到十个子集,每次训练将其中的9组作为训练集,剩下的1组作为测试集,当模型某一次训练的预测平均准确率达到预设阈值(如80%)以上时,模型训练结束。上述训练过程中正例样本为恶意样本、负样本为正常样本。
在模型训练的第二阶段,由抽样噪声作为生成器G的输入数据、样本集中的原始样本作为实际目标样本,当生成器G生成的样本与实际目标样本之间的距离值小于设定的MIN=128时,预训练结束;否则进行反向参数调整训练
在模型训练的第三阶段,同时对判别器D和生成器G进行协同训练。随机采样指定数量噪声样本并形成多组(如1000组),每组包含多个噪声样本进行训练。每一组噪声样本先由生成器D产生指定数量(如10个)的伪恶意样本,然后在由判别器G进行判别,则每一组训练会对生成器G进行一次参数调整,而判别器D则会进行多次(如上述10次)调整。最终直到判别器D无法正确识别伪样本结束模型训练。
步骤4:恶意代码样本合成。
使用步骤3训练好的生成器模型G对随机抽样产生的噪声样本进行生产,得到伪样本,即为合成的恶意代码样本。
步骤5:对伪样本进行分类。
使用恶意样本分类器对步骤4合成的伪样本进行分类,如果分类结果不符合目标家族样本的特征,则判定合成样本不满足要求,转入步骤6,否则判定合成样本满足要求,当前合成的恶意代码样本即为所需类型的恶意代码样本。
步骤6:反向调整模型
根据分类结果中合成的恶意代码样本与目标家族样本之间的相似值(即概率值),确定生成器模型参数的调整系数,如果相似值越小,则为生成器模型参数设置越大的调整系数,反之设置越小的调整系数;重复上述步骤,直到样本合成符合特定恶意样本家族的特征为止,即恶意代码分类器将其识别为预期的样本类型。
本实施例采用上述构造的深度对抗网络以及经过上述步骤后,能够最大限度的提高恶意代码样本合成的效率以及精度,达到快速、精准合成不同家族的恶意代码样本的目的。
为实现上述方法,本实施例还包括基于反馈式深度对抗网络的恶意代码样本合成装置包括:
深度对抗网络,包括基于深度反卷积模型构造用于生成伪样本的生成器模型、以及基于深度卷积模型构造用于识别伪样本的判别器模型;
模型训练模块,用于对构造的生成器模型、判别器模型进行训练,由训练完成后得到的生成器模型作为恶意样本合成模型;
样本合成模块,用于使用当前得到的恶意样本合成模型进行恶意代码样本的合成;
反馈识别模块,用于对恶意样本合成模块合成得到的恶意代码样本进行识别分类,若识别到不符合目标家族样本特征,则根据分类结果反向修正生成器模型,返回执行合成模型训练模块,否则输出当前合成的恶意代码样本。
本实施例于反馈式深度对抗网络的恶意代码样本合成装置与上述于反馈式深度对抗网络的恶意代码样本合成方法为一一对应,在此不再一一赘述。
在另一实施例中,本发明基于反馈式深度对抗网络的恶意代码样本合成装置还可以为:包括处理器以及存储器,存储器用于存储计算机程序,处理器用于执行计算机程序,处理器用于执行计算机程序,以执行如上述基于反馈式深度对抗网络的恶意代码样本合成方法。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

Claims (10)

1.一种基于反馈式深度对抗网络的恶意代码样本合成方法,其特征在于,步骤包括:
S01.网络构建:基于深度反卷积模型构造用于生成伪样本的生成器模型、以及基于深度卷积模型构造用于识别伪样本的判别器模型,构建形成深度对抗网络;
S02.模型训练:使用噪声样本作为输入,对构造的所述生成器模型、所述判别器模型进行训练,得到训练完成后的所述生成器模型、判别器模型;
S03.样本合成:使用当前得到的所述生成器模型作为恶意样本合成模型进行恶意代码样本的合成;
S04.多分类反馈识别:对步骤S03合成得到的恶意代码样本进行识别分类,若识别到不符合目标家族样本特征,则根据分类结果反向修正所述生成器模型,返回执行步骤S02,否则输出当前合成的恶意代码样本。
2.根据权利要求1所述的基于反馈式深度对抗网络的恶意代码样本合成方法,其特征在于:所述生成器模型具体包括一个用于执行映射操作的全连接转换层和多个用于实现逆向卷积操作的反卷积层,所述映射操作为通过矩阵乘法将二维矩阵转化为四维张量,所述反卷积层采用滑动窗口和填充操作进行转置卷积计算,以实现数据的上采样,各所述反卷积层中输出层使用tanh函数作为激活函数、其余层使用Relu激活函数。
3.根据权利要求1所述的基于反馈式深度对抗网络的恶意代码样本合成方法,其特征在于:所述判别器模型包括依次连接的三个卷积采样单元以及两个全连接层,每个所述卷积采样单元包括依次连接的一层用于卷积计算的卷积层、一层用于对数据进行下采样的下采样层,两个所述全连接层中第一全连接层通过卷积计算得到多个特征图,以完成池化层向全连接层的转化,第二全连接层包括多个神经元以对应处理所述第一全连接层输出的各特征图,输出最终的判别结果,各所述卷积层使用LeakyReLU激活函数。
4.根据权利要求1所述的基于反馈式深度对抗网络的恶意代码样本合成方法,其特征在于:所述步骤S02中对构造的所述生成器模型、所述判别器模型进行训练前,还包括对所述判别器模型进行预训练步骤,具体步骤包括:获取多个正常样本与多个不同恶意家族的恶意代码样本并分别转换为灰度图片,形成训练样本集,使用所述训练样本集对所述判别器模型进行单独的预训练,在训练过程中所述训练样本集中恶意代码样本作为正例样本、正常样本作为负样本。
5.根据权利要求1所述的基于反馈式深度对抗网络的恶意代码样本合成方法,其特征在于:所述步骤S02中对构造的所述生成器模型、所述判别器模型进行训练前,还包括对所述生成器模型进行预训练步骤,具体步骤包括:使用噪声样本转换得到的灰度图片作为所述生成器模型的输入,计算所述生成器模型生成的伪样本与实际目标样本之间的距离值,如果距离值小于预设阈值则完成当前预训练过程,否则根据当前计算得到的距离值反向调整当前预训练过程。
6.根据权利要求1~5中任意一项所述的基于反馈式深度对抗网络的恶意代码样本合成方法,其特征在于,所述步骤S02中噪声样本是通过对噪声的每一个像素点进行有限区间的随机选择得到,具体步骤包括:对转换为图片形式的原始恶意代码样本的像素点进行概率统计,取统计结果中概率值大于指定阈值的范围作为目标有限区间,每次随机选择像素点时将选择的像素值限定在所述目标有限区间内,得到所述噪声样本。
7.根据权利要求1~5中任意一项所述的基于反馈式深度对抗网络的恶意代码样本合成方法,其特征在于,所述步骤S02的具体步骤包括:将噪声样本转换为灰度图片,并作为输入样本输入至所述生成器模型中,所述生成器模型将输入样本映射为灰度图,生成伪样本,输出给所述判别器模型,由所述判别器模型识别所述生成器模型生成的伪样本是否为恶意代码,经过多组噪声样本的训练后,若所述判别器模型无法正确识别所述生成器模型输出的伪样本,则结束当前模型训练。
8.根据权利要求1~5中任意一项所述的基于反馈式深度对抗网络的恶意代码样本合成方法,其特征在于,所述步骤S03中,具体根据分类结果中当前生成的恶意代码样本与目标家族样本之间的相似度确定调整系数,使用确定的所述调整系数反向调整所述生成器模型的模型参数。
9.一种基于反馈式深度对抗网络的恶意代码样本合成装置,其特征在于,包括:
深度对抗网络,包括基于深度反卷积模型构造用于生成伪样本的生成器模型、以及基于深度卷积模型构造用于识别伪样本的判别器模型;
合成模型训练模块,用于使用噪声样本对构造的所述生成器模型、所述判别器模型进行训练,由训练完成后得到的所述生成器模型作为恶意样本合成模型;
恶意样本合成模块,用于使用当前得到的所述恶意样本合成模型进行恶意代码样本的合成;
多分类反馈识别修正模块,用于对所述恶意样本合成模块合成得到的恶意代码样本进行识别分类,若识别到不符合目标家族样本特征,则根据分类结果反向修正所述生成器模型,返回执行所述合成模型训练模块,否则输出当前合成的恶意代码样本。
10.一种基于反馈式深度对抗网络的恶意代码样本合成装置,包括处理器以及存储器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,其特征在于,所述处理器用于执行所述计算机程序,以执行如权利要求1~8中任意一项所述方法。
CN202011463435.1A 2020-12-11 2020-12-11 基于反馈式深度对抗网络的恶意代码样本合成方法及装置 Active CN112560034B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011463435.1A CN112560034B (zh) 2020-12-11 2020-12-11 基于反馈式深度对抗网络的恶意代码样本合成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011463435.1A CN112560034B (zh) 2020-12-11 2020-12-11 基于反馈式深度对抗网络的恶意代码样本合成方法及装置

Publications (2)

Publication Number Publication Date
CN112560034A CN112560034A (zh) 2021-03-26
CN112560034B true CN112560034B (zh) 2024-03-29

Family

ID=75062854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011463435.1A Active CN112560034B (zh) 2020-12-11 2020-12-11 基于反馈式深度对抗网络的恶意代码样本合成方法及装置

Country Status (1)

Country Link
CN (1) CN112560034B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779581B (zh) * 2021-09-15 2022-08-26 山东省计算中心(国家超级计算济南中心) 一种轻量化高精度恶意软件识别模型的鲁棒检测方法及系统
CN117077141A (zh) * 2023-10-13 2023-11-17 国网山东省电力公司鱼台县供电公司 一种智能电网恶意软件检测方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018028255A1 (zh) * 2016-08-11 2018-02-15 深圳市未来媒体技术研究院 基于对抗网络的图像显著性检测方法
CN110414601A (zh) * 2019-07-30 2019-11-05 南京工业大学 基于深度卷积对抗网络的光伏组件故障诊断方法、系统及设备
CN110826059A (zh) * 2019-09-19 2020-02-21 浙江工业大学 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置
CN111476294A (zh) * 2020-04-07 2020-07-31 南昌航空大学 一种基于生成对抗网络的零样本图像识别方法及系统
CN111832019A (zh) * 2020-06-10 2020-10-27 国家计算机网络与信息安全管理中心 基于生成对抗网络的恶意代码检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10685284B2 (en) * 2017-04-03 2020-06-16 Royal Bank Of Canada Systems and methods for malicious code detection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018028255A1 (zh) * 2016-08-11 2018-02-15 深圳市未来媒体技术研究院 基于对抗网络的图像显著性检测方法
CN110414601A (zh) * 2019-07-30 2019-11-05 南京工业大学 基于深度卷积对抗网络的光伏组件故障诊断方法、系统及设备
CN110826059A (zh) * 2019-09-19 2020-02-21 浙江工业大学 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置
CN111476294A (zh) * 2020-04-07 2020-07-31 南昌航空大学 一种基于生成对抗网络的零样本图像识别方法及系统
CN111832019A (zh) * 2020-06-10 2020-10-27 国家计算机网络与信息安全管理中心 基于生成对抗网络的恶意代码检测方法

Also Published As

Publication number Publication date
CN112560034A (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
CN108229490B (zh) 关键点检测方法、神经网络训练方法、装置和电子设备
CN106683048B (zh) 一种图像超分辨率方法及设备
CN110084734B (zh) 一种基于物体局部生成对抗网络的大数据权属保护方法
CN110543846B (zh) 一种基于生成对抗网络的多姿态人脸图像正面化方法
CN112750140B (zh) 基于信息挖掘的伪装目标图像分割方法
CN109829391B (zh) 基于级联卷积网络和对抗学习的显著性目标检测方法
CN111753881B (zh) 一种基于概念敏感性量化识别对抗攻击的防御方法
CN108171663B (zh) 基于特征图最近邻替换的卷积神经网络的图像填充系统
CN110490265B (zh) 一种基于双路卷积和特征融合的图像隐写分析方法
CN112560034B (zh) 基于反馈式深度对抗网络的恶意代码样本合成方法及装置
CN111696046A (zh) 一种基于生成式对抗网络的水印去除方法和装置
Singh et al. Steganalysis of digital images using deep fractal network
CN112446357B (zh) 一种基于胶囊网络的sar自动目标识别方法
CN113159045A (zh) 一种结合图像预处理与卷积神经网络的验证码识别方法
CN111860124A (zh) 基于空谱胶囊生成对抗网络的遥感图像分类方法
CN113870157A (zh) 一种基于CycleGAN的SAR图像合成方法
CN113378949A (zh) 一种基于胶囊网络和混合注意力的双重生成对抗学习方法
CN114821204A (zh) 一种基于元学习嵌入半监督学习图像分类方法与系统
CN114066871A (zh) 一种新冠肺炎病灶区域分割模型训练的方法
CN110503157B (zh) 基于细粒度图像的多任务卷积神经网络的图像隐写分析方法
CN112818774A (zh) 一种活体检测方法及装置
CN111241550B (zh) 基于二进制映射和深度学习的漏洞检测方法
CN117079098A (zh) 一种基于位置编码的空间小目标检测方法
CN112785478B (zh) 基于生成嵌入概率图的隐藏信息检测方法和系统
CN115294424A (zh) 一种基于生成对抗网络的样本数据增强方法

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