一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种跨平台恶意软件对抗样本生成方法及系统与流程

2022-04-02 04:16:24 来源:中国专利 TAG:
1.本发明涉及软件安全
技术领域
:,尤其涉及一种跨平台恶意软件对抗样本生成方法及系统。
背景技术
::2.随着互联网的发展,互联网自身的脆弱性导致网络空间中出现大量的恶意软件,而且被广发传播,近年来大多数重大网络安全事件,如僵尸网络、持久性高级威胁和勒索软件,都将恶意软件作为主要攻击组件并以此造成重大损害。机器学习技术在恶意软件的检测与分类上已有广泛应用,但它们依然面临着对抗样本的威胁,所以恶意软件检测模型的抗攻击性显得格外重要。对抗样本研究是一个热门领域,但在恶意软件对抗样本的攻防研究上较少。3.在目前常见的深度学习恶意软件对抗样本生成方法中,有基于生成对抗网络模型来生成恶意软件对抗样本、基于递归神经网络生成基于顺序的恶意软件对抗样本。其中,生成对抗网络有一对生成器和判别器,它们通过不断博弈生成恶意软件对抗样本;递归神经网络在原始恶意软件的api序列中插入一些不相关的api,生成基于顺序的恶意软件对抗样本,对抗多种不同rnn结构的模拟反病毒引擎,上述当前方法都只能针对单一平台恶意软件进行分析,效率低。4.此外,现有的深度学习恶意软件对抗样本生成方法在对恶意软件文本进行修改时,动作空间难以找到恶意文件的主要位置,导致在进行动作空间的修改时,一方面花费较大的时间寻找关键位置,另一方面多次修改会带来较大的扰动,为模型带来负担。技术实现要素:5.本发明的目的在于克服现有技术中只能针对单一平台恶意软件进行分析存在的问题提供了一种基于深度强化学习的跨平台恶意软件对抗样本生成方法及系统。6.本发明的目的是通过以下技术方案来实现的:提供一种跨平台恶意软件对抗样本生成方法,所述方法包括:采集不同平台的多种类型恶意软件样本,并将不同类型的恶意软件样本映射为统一的二进制文件;对所述二进制文件进行特征提取,生成代表恶意软件的特征向量;根据所述特征向量,搭建智能体和actor-critic网络,设计恶意软件扰动动作并封装到深度强化学习行动空间,得到恶意软件对抗样本生成模型;输入一个新的二进制文件对恶意软件对抗样本生成模型进行训练,深度强化学习环境根据当前二进制文件的特征获取当前状态并提供给所述智能体和actor-critic网络;恶意软件对抗样本生成模型采用actor-critic算法策略决策行动,输出一个新的恶意软件扰动动作,修改当前二进制文件;将修改后的二进制文件逆映射为原平台恶意软件样本对应的文件格式,得到跨平台恶意软件样本;对跨平台恶意软件样本进行功能完整性验证,并给出完整性验证奖励;并对跨平台恶意软件样本进行反病毒引擎检测,给出检测奖励;深度强化学习环境根据当前的状态和奖励情况,判断跨平台恶意软件样本是否恶意;若跨平台恶意软件样本为恶意,则继续采用actor-critic算法策略决策行动修改;当跨平台恶意软件样本检测为良性时,得到最终的恶意软件对抗样本生成模型。7.作为一优选项,一种跨平台恶意软件对抗样本生成方法,所述多种类型恶意软件样本包括windows平台的pe可执行文件、linux平台的elf可执行文件和android平台的apk文件。8.作为一优选项,一种跨平台恶意软件对抗样本生成方法,所述将不同类型的恶意软件样本映射为统一的二进制文件,包括:通过对恶意软件样本原文件的解析,将原文件中头文件信息的元数据、字节信息的元数据和一般文件信息的元数据填充到二进制文件中;将windows平台的pe可执行文件解析出pe文件信息并映射到二进制文件中;将linux平台的elf可执行文件解析出elf文件信息并映射到二进制文件中;将android平台的apk文件先进行反编译,提取出dex可执行文件,再将dex文件信息映射到二进制文件中。9.作为一优选项,一种跨平台恶意软件对抗样本生成方法,所述二进制文件包含文件头和分区,采用字节的存储方式。10.作为一优选项,一种跨平台恶意软件对抗样本生成方法,所述行动空间包括:字符串混淆:通过分析抽象语法树,找到字符串和函数调用,然后对字符串进行混淆,在适当的位置插入变量定义/赋值,并且对函数进行隐藏然后混淆代码;节表修改:对节表进行覆盖追加、导入追加、节表重命名、节表添加、节表追加的操作;加壳与脱壳:使用upx加壳程序打包整个文件,压缩级别是从1到9随机选择的;使用upx加壳程序解压文件;移除签名:移除数据目录的证书表中的签名者信息;删除调试:操作数据目录中的调试信息;中断可选标头校验和:修改并将可选标头校验和设置为0来中断。11.作为一优选项,一种跨平台恶意软件对抗样本生成方法,所述actor-critic算法策略决策行动包括:actor输出当前智能体的动作策略,critic利用价值函数对策略进行评估,基于评估结果选择一个策略作为输出。12.作为一优选项,一种跨平台恶意软件对抗样本生成方法,所述对跨平台恶意软件样本进行功能完整性验证,并给出完整性验证奖励,包括:使用不同沙盒分析环境进行验证,得到动态分析结果;根据所述动态分析结果判断跨平台恶意软件样本的完整性,并给出完整性验证奖励;所述对跨平台恶意软件样本进行反病毒引擎检测,给出检测奖励,包括:将不同平台不同格式的恶意软件,将其放置到对应的检测模型中,给出检测奖励。13.作为一优选项,一种跨平台恶意软件对抗样本生成方法,所述深度强化学习环境根据当前的状态和奖励情况,判断跨平台恶意软件样本是否恶意,包括:将当前的环境状态、将检测奖励和完整性验证奖励反馈给智能体,更新actor-critic网络参数;奖励组成为完整性验证奖励与检测奖励之和。14.本发明还提供一种跨平台恶意软件对抗样本生成系统,所述系统包括:跨平台恶意软件样本解析器,用于采集不同平台的多种类型恶意软件样本,并将不同类型的恶意软件样本映射为统一的二进制文件;跨平台恶意软件样本分析模块,用于对所述二进制文件进行特征提取,生成代表恶意软件的特征向量;并根据所述特征向量,搭建智能体和actor-critic网络,设计恶意软件扰动动作并封装到深度强化学习行动空间,得到恶意软件对抗样本生成模型;深度强化学习恶意软件对抗样本训练模块,用于输入一个新的二进制文件对恶意软件对抗样本生成模型进行训练,深度强化学习环境根据当前二进制文件的特征获取当前状态并提供给所述智能体和actor-critic网络;行动动作决策模块,所述行动动作决策模采用actor-critic算法策略决策行动,输出一个新的恶意软件扰动动作,并修改当前二进制文件;跨平台恶意软件检测模块,用于将修改后的二进制文件逆映射为原平台恶意软件样本对应的文件格式,得到跨平台恶意软件样本,对跨平台恶意软件样本进行功能完整性验证,并给出完整性验证奖励;并对跨平台恶意软件样本进行反病毒引擎检测,给出检测奖励;还用于判断跨平台恶意软件样本是否恶意。15.作为一优选项,一种跨平台恶意软件对抗样本生成系统,所述跨平台恶意软件检测模块包括用于检测不同平台恶意软件的检测模型。16.需要进一步说明的是,上述各选项对应的技术特征在不冲突的情况下可以相互组合或替换构成新的技术方案。17.与现有技术相比,本发明有益效果是:(1)本发明通过将不同平台的多种类型恶意软件样本映射为统一的二进制文件,使得不同类型恶意软件具有二进制文件的共同结构,提高恶意软件对抗样本生成模型的泛化能力和对抗样本的多元化,提高了对恶意软件分析的效率。18.同时将跨平台的恶意软件样本映射为同一二进制文件格式,是将多维度的特征进行了优化,减少了特征向量的维度,使得模型对特征向量的处理能更有针对性,优化了特征向量之后,动作空间可以快速找到恶意文件的主要位置,在进行动作空间的修改时,实现最小的扰动,节约时间并减轻模型的训练负担。19.(2)针对现有对抗样本生成方法存在着对恶意软件在一系列过多或强注入后失去其完整性和功能,导致对反病毒引擎的模型训练过于冗余,恶意软件对抗样本的鲁棒性较差的问题,本发明通过自适应行动空间,对于恶意软件中关键特征进行自动策略式修改,提升对抗样本的鲁棒性。20.(3)本发明基于actor-critic算法结合价值函数和策略选择方法,辅助强化学习模型的行动动作决策,将决策网络算法、完整性验证方法应用于恶意软件对抗样本生成中,能降低训练计算开销,保证样本功能完整。附图说明21.下面结合附图对本发明的具体实施方式作进一步详细的说明,此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。22.图1为本发明示出的一种跨平台恶意软件对抗样本生成方法的流程示意图;图2为本发明示出的二进制文件结构示意图;图3为本发明示出的actor-critic网络的示意图;图4为本发明示出的一种跨平台恶意软件对抗样本生成系统的结构示意图。具体实施方式23.下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。24.此外,下面所描述的本发明不同实施例中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。25.本发明主要通过将不同平台的多种类型恶意软件样本映射为统一的二进制文件,提高恶意软件对抗样本生成模型的泛化能力和对抗样本的多元化,提高了对恶意软件分析的效率。此外,通过行动空间的修改,加入了一种字符串混淆方法,能让更好的提升对抗样本的鲁棒性,将决策网络算法、完整性验证方法应用于恶意软件对抗样本生成中,能降低训练计算开销,保证样本功能完整。26.在具体的实施方式前对本技术涉及的actor-critic和对抗样本进行简单介绍。27.1、actor-critic:在强化学习分类中,提到了policy-based与value-based两种方式,然而有一种算法合并了value-based(比如q-learning)和policy-based(比如policygradients)两类强化学习算法,就是actor-critic方法。28.actor-critic算法分为两部分,我们分开来看actor的前身是policygradient他可以轻松地在连续动作空间内选择合适的动作,value-based的q-learning做这件事就会因为空间过大而爆炸,但是又因为actor是基于回合更新的所以学习效率比较慢,这时候我们发现可以使用一个value-based的算法作为critic就可以实现单步更新,这样两种算法相互补充就形成了我们的actor-critic。29.actor基于概率选行为,critic基于actor的行为评判行为的得分,actor根据critic的评分修改选行为的概率。actorcritic优点是可以进行单步更新,,相较于传统的pg回合更新要快。30.2、对抗样本:指的是一个经过微小调整就可以让机器学习算法输出错误结果的输入样本。例如在图像识别中,可以理解为原来被一个卷积神经网络(cnn)分类为一个类(比如“熊猫”)的图片,经过非常细微甚至人眼无法察觉的改动后,突然被误分成另一个类(比如“长臂猿”)。31.实施例1在一示例性实施例中,提供一种跨平台恶意软件对抗样本生成方法,如图1所示,所述方法包括:采集不同平台的多种类型恶意软件样本,并将不同类型的恶意软件样本映射为统一的二进制文件;对所述二进制文件进行特征提取,生成代表恶意软件的特征向量;根据所述特征向量,搭建智能体和actor-critic网络,设计恶意软件扰动动作并封装到深度强化学习行动空间,得到恶意软件对抗样本生成模型;行动空间的动作会作用于特征向量上,动作的设计是会依据到特征向量的,我们希望于以最小的扰动来达到我们的目的。32.输入一个新的二进制文件对恶意软件对抗样本生成模型进行训练,深度强化学习环境根据当前二进制文件的特征获取当前状态并提供给所述智能体和actor-critic网络;恶意软件对抗样本生成模型采用actor-critic算法策略决策行动,输出一个新的恶意软件扰动动作,修改当前二进制文件;将修改后的二进制文件逆映射为原平台恶意软件样本对应的文件格式,得到跨平台恶意软件样本;对跨平台恶意软件样本进行功能完整性验证,并给出完整性验证奖励;并对跨平台恶意软件样本进行反病毒引擎检测,给出检测奖励;深度强化学习环境根据当前的状态和奖励情况,判断跨平台恶意软件样本是否恶意;若跨平台恶意软件样本为恶意,则继续采用actor-critic算法策略决策行动修改;当跨平台恶意软件样本检测为良性时,得到最终的恶意软件对抗样本生成模型。33.具体地,方法在使用时,先采集不同平台windows、linux、android的多种类型恶意软件样本,对文件进行解析,将跨平台不同类型的恶意软件映射为统一的二进制文件格式,由该二进制文件格式代表相应的恶意软件样本,使得来自不同平台的不同格式的恶意软件样本具有相似的文件结构。然后对二进制文件进行特征提取,设置深度强化学习环境并搭建智能体和actor-critic网络,设计恶意软件扰动动作并封装到深度强化学习的行动空间,得到待训练的恶意软件对抗样本生成模型。具体地,行动空间的动作会作用于特征向量上,扰动动作的设计是会依据到特征向量的,我们希望于以最小的扰动来达到我们的目的;深度强化学习环境是由提取恶意软件的特征向量组成,包括描述头文件信息的元数据、字节信息的元数据、一般文件信息的元数据。34.进一步地,恶意软件对抗样本生成模型的输入设置就是二进制文件的特征向量,所以后面模型的架构都是围绕处理这些特征向量而来,将跨平台的恶意软件样本映射为同一格式,是将多维度的特征进行了优化,减少了特征向量的维度,使得模型对特征向量处理能更有针对性,减少了计算开销。35.接着对待训练的恶意软件对抗样本生成模型进行训练,包括:输入一个新的二进制文件样本,深度强化学习环境根据当前二进制文件的特征获取当前状态并提供给所述智能体和actor-critic网络。然后采用actor-critic算法策略决策行动,基于评估结果选择一个策略输出一个新的恶意软件扰动动作,并根据新的恶意软件扰动动作修改当前二进制文件样本。36.进一步地,将修改后的二进制文件逆映射为原平台恶意软件样本对应的文件格式,得到跨平台恶意软件样本。为了保证样本功能完整性,对跨平台恶意软件样本进行功能完整性验证,并给出完整性验证奖励,具体地,完整性验证时将不同平台对应的跨平台恶意软件样本放在对应的沙盒中进行验证;同时对跨平台恶意软件样本进行反病毒引擎检测,给出检测奖励。其中,两种奖励可以设置权重,检测奖励的权重更高,使得模型更倾向于先满足绕过反病毒引擎检测。37.进一步地,模型采用该二进制文件进行训练,所生成的恶意软件对抗样本能规避绕过反病毒引擎的检测,同时保证功能的完整;将该恶意软件对抗样本投入到反病毒检测引擎的模型训练中,能够提升模型的检测效果,同时,因为对抗样本来自不同平台,也会使得检测模型的泛化能力得到提升。38.环境获取当前的状态、奖励提供给智能体,更新actor-critic算法参数,如检测引擎检测到恶意软件为良性,结束恶意软件修改,并继续输入新的二进制文件进行训练;如检测到恶意软件为恶意,则继续对当前二进制文件进行修改,直至该二进制文件检测为良性;最后判断模型训练是否结束,如果完成,保存得到最终恶意软件对抗样本生成模型。39.本发明通过将不同平台的多种类型恶意软件样本映射为统一的二进制文件,提高恶意软件对抗样本生成模型的泛化能力和对抗样本的多元化,提高了对恶意软件分析的效率。此外,所采用自定义二进制文件,为高度抽象的二进制文件,它具有二进制文件所具有的共同结构,能够将不同平台的文件都映射过来,这样做,能够使得模型输入接口变得统一,减少空间占用,也因为统一了输入接口,有利于后面对模型的修改。40.进一步地,将跨平台的恶意软件样本映射为同一二进制文件格式,是将多维度的特征进行了优化,减少了特征向量的维度,使得模型对特征向量的处理能更有针对性,优化了特征向量之后,动作空间可以快速找到恶意文件的主要位置,在进行动作空间的修改时,实现最小的扰动,节约时间并减轻模型的训练负担。41.实施例2基于实施例1,提供一种跨平台恶意软件对抗样本生成方法,所述多种类型恶意软件样本包括windows平台的pe可执行文件、linux平台的elf可执行文件和android平台的apk文件。42.pe文件的全称是portableexecutable,意为可移植的可执行的文件,常见的exe、dll、ocx、sys、com都是pe文件,pe文件是微软windows操作系统上的程序文件(可能是间接被执行,如dll)。43.elf文件的全称是executableandlinkableformat,意为可执行的、可连接的格式,elf文件分为三类:1.可重定位(relocabtable)文件,保存着代码和适当的数据,用来和其他的object文件一起来创建一个可执行文件或者是一个共享文件。2.可执行(executable)文件,保存着一个用来执行的程序,该文件指出了exec(ba_os)如何来创建程序进程映像。3.共享object文件,保存着代码和合适的数据,用来被下面的两个链接器链接。第一个是链接编辑器(静态链接),可以和其他的可重定位和共享object文件一起来创建object文件;第二个是动态链接器,联合一个可执行文件和其他的共享object文件来创建一个进程印象。此外,elf文件中是二进制兼容的文件(abi,应用程序二进制接口),也就是说elf文件已经是适应到某一种cpu体系结构的二进制文件了。可以这样来理解:elf文件是经过编译或链接生成的文件,而编译或链接必须指定具体的cpu体系结构,故elf文件是针对某一种cpu体系结构的二进制文件。[0044]apk是类似symbiansis或sisx的文件格式,通过将apk文件直接传到android模拟器或android手机中执行即可安装。apk文件和sis一样,把androidsdk编译的工程打包成一个安装程序文件,格式为apk。apk文件其实是zip格式,但后缀名被修改为apk,通过unzip解压后,可以看到dex文件,dex是dalvikvmexecutes的简称,即androiddalvik执行程序,并非javame的字节码而是dalvik字节码。android在运行一个程序时首先需要unzip,然后类似symbian那样直接,和windowsmobile中的pe文件有区别。[0045]进一步地,所述将不同类型的恶意软件样本映射为统一的二进制文件,包括:通过对恶意软件样本原文件的解析,将原文件中头文件信息的元数据、字节信息的元数据和一般文件信息的元数据填充到二进制文件中;将windows平台的pe可执行文件解析出pe文件信息并映射到二进制文件中;将linux平台的elf可执行文件解析出elf文件信息并映射到二进制文件中;将android平台的apk文件先进行反编译,提取出dex可执行文件,再将dex文件信息映射到二进制文件中。[0046]该实施例中定义“.mfe”文件为一种二进制文件格式,如图2所示,所述“.mfe”文件包含文件头和分区,采用字节的存储方式,并通过最后面写入字节0的方式进行字节对齐。文件头描述文件整体信息,包括魔数、检验码、文件大小和解析码,其中,文件头魔数是文件格式的标识,可为任何选定值;检验码是用于检验文件是否完整,解析码用于标识解析前原文件的结构。分区结构含有标识数、分区长度值和分区数据,标识数和分区长度值一起为分区头部;标识数用来标识分区,不同的标识数表示不同的分区种类;分区长度值表示整个分区的长度,包括分区头部。[0047]其中,跨平台恶意软件样本映射到“.mfe”文件,映射方式为,通过对原文件的解析,将原文件中头文件信息的元数据、字节信息的元数据、一般文件信息的元数据填充到“.mfe”文件中,使得不同类型的恶意软件样本具有同样的结构。[0048]进一步地,对“.mfe”文件进行分析,提取主要恶意软件主要特征成分,生成代表对应平台恶意软件的特征向量,包括描述头文件信息的元数据、字节信息的元数据和一般文件信息的元数据。[0049]进一步地,将修改后的“.mfe”文件,根据其中解析码的标识,将其逆映射为原文件格式,得到对应平台的原恶意软件样本格式。实施例3基于以上实施例,针对现有对抗样本生成方法存在着对恶意软件在一系列过多或强注入后失去其完整性和功能,导致对反病毒引擎的模型训练过于冗余,恶意软件对抗样本的鲁棒性较差的问题,本发明提供一种跨平台恶意软件对抗样本生成方法,设计恶意软件扰动动作并封装到深度强化学习行动空间,所述行动空间包括:字符串混淆:通过分析抽象语法树找到字符串和函数调用,然后对字符串进行混淆,在适当的位置(包含函数或全局上下文中)插入变量定义/赋值,并且对函数进行隐藏然后混淆代码;节表修改:对节表进行覆盖追加、导入追加、节表重命名、节表添加、节表追加的操作;加壳与脱壳:使用upx加壳程序打包整个文件,压缩级别是从1到9随机选择的;使用upx加壳程序解压文件;移除签名:移除数据目录的证书表中的签名者信息;删除调试:操作数据目录中的调试信息;中断可选标头校验和:修改并将可选标头校验和设置为0来中断。[0050]本发明通过自适应行动空间,对于恶意软件中关键特征进行自动策略式修改,提升对抗样本的鲁棒性。[0051]具体地,行动空间是基于给定的深度强化学习环境,有效的动作集合,动作的设计是根据二进制文件特征而来,它的作用就是给决策网络提供一个动作集合,然后决策网络根据当前的环境状态输出一个动作。决定好动作之后,调用已封装好的动作接口,模型会先读取二进制文件,然后进行相应操作。[0052]进一步地,字符串混淆是源码级别的修改,二进制文件源码转换过程会借助第三方软件,例如clang/llvm工具链,然后根据抽象语法树,找到字符串和函数调用,然后对字符串进行混淆,在适当的位置插入变量定义/赋值,并且对函数进行隐藏然后混淆代码。[0053]节表修改中所述的5个动作为5个独立的动作,即决策网络会输出下列当中的一个动作,并不会5个同时进行,其中,覆盖附加是在末尾附加一个字节序列二进制文件,导入追加是在数据目录的导入表中添加一个未使用的函数;节重命名是操作现有的节名称;节添加是在节表中创建一个新的未使用节;节追加是在节的末尾追加字节。完成这些操作后,重新保存二进制文件。由于这些动作都是以比较小的扰动来达到我们期望的目的,因为该二进制文件特征向量是优化后的特征向量,所以对于行动空间中的扰动动作来说,能更容易找到关键主要位置,实现较小扰动目的。[0054]实施例4在该实施例中,提供一种跨平台恶意软件对抗样本生成方法,所述actor-critic算法策略决策行动包括:actor输出当前智能体的动作策略,critic利用价值函数对策略进行评估,基于评估结果选择一个策略作为输出,基于评估结果选择一个策略作为输出,输出一个新的恶意软件扰动动作,修改恶意软件(对应的二进制文件)。其中,actor网络和critic网络采用深度神经网络,critic网络的价值函数对不同动作策略评估后,会使得收益值最大的动作策略作为输出动作。更新actor网络采用策略梯度方式,更新选中的策略参数;更新critic网络时,将此时刻奖励和下一时刻价值函数相加,与此时刻价值函数计算均方误差,将其作为损失函数更新critic网络。[0055]进一步地,如图3所示,给出了actor-critic策略网络的结构,actor网络以状态向量为输入,以策略向量为输出,表示在状态下决策出动作的概率;critic以状态向量、动作为输入,以价值为输出;通过评估不同策略,依据每个动作被选中作为最佳策略的概率,选择一个具体的恶意软件扰动动作作为输出,记为。[0056]进一步地,所述对跨平台恶意软件样本进行功能完整性验证,并给出完整性验证奖励,包括:使用不同沙盒分析环境进行验证,得到动态分析结果,沙盒提供动态分析结果,包括:(1)恶意软件产生的所有进程执行的调用跟踪;(2)恶意软件在执行期间创建、删除和下载的文件;(3)恶意软件进程的内存转储;(4)pcap格式的网络流量跟踪;pcap文件格式是bpf保存原始数据包的格式。[0057](5)在执行恶意软件期间拍摄的屏幕截图;(6)机器的完整内存转储。[0058]根据以上6种动态分析结果判断修改后的二进制文件(恶意软件)功能的完整性,并给出完整性验证奖励,如功能完整则奖励5,否则为0。[0059]所述对修改后的二进制文件进行反病毒引擎检测,给出检测奖励,包括:将不同平台不同格式的恶意软件,将其放置到对应的检测模型中,给出检测奖励,如果检测为良性,奖励10;如果检测为恶意,奖励为0。[0060]进一步地,所述深度强化学习环境根据当前的状态和奖励情况,判断跨平台恶意软件样本是否恶意,包括:环境获取当前的状态、奖励,并将当前的环境状态、将检测奖励和完整性验证奖励反馈给智能体,更新actor-critic网络参数,如检测引擎检测到恶意软件为良性,则结束恶意软件修改,输入新的样本进行训练,如检测到恶意软件为恶意,则继续修改样本。[0061]其中,奖励组成为完整性验证奖励与检测奖励之和,具体地,奖励组成为0、5、10、15这样的奖励函数设置,会让模型在完成绕过检测模型的同时保留其功能完整性,奖励计算函数为:,其中,表示完整性验证奖励,表示检测奖励。[0062]进一步地,更新actor网络采用策略梯度方式,采用函数为:。[0063]其中n为每回合的样本数量,为强化学习网络在t时刻的奖励,为折扣因子,和表示critic在t 1时刻和t时刻的输出;更新critic网络根据每一次状态变化,将t时刻奖励和t 1时刻价值函数相加,与t时刻价值函数计算均方误差,将其作为损失函数更新评价网络,函数为:。[0064]进一步地,判断模型训练是否结束,如果完成,则保存恶意软件对抗样本生成模型,具体地,模型训练结束判断条件为达到最大回合数,其中,最大回合数为训练回合数,是在模型训练前定义的。[0065]实施例5基于实施例1的对抗样本生成方法,提供一种跨平台恶意软件对抗样本生成系统,如图4所示,所述系统包括:跨平台恶意软件样本解析器1,用于采集不同平台的多种类型恶意软件样本,并将不同类型的恶意软件样本映射为统一的二进制文件;跨平台恶意软件样本分析模块2,用于对所述二进制文件进行特征提取,生成代表恶意软件的特征向量;深度强化学习恶意软件对抗样本训练模块4,用于根据所述特征向量,搭建智能体和actor-critic网络,设计恶意软件扰动动作并封装到深度强化学习行动空间,得到恶意软件对抗样本生成模型6;输入一个新的二进制文件对恶意软件对抗样本生成模型6进行训练,深度强化学习环境根据当前二进制文件的特征获取当前状态并提供给所述智能体和actor-critic网络;行动动作决策模块3,所述行动动作决策模采用actor-critic算法策略决策行动,输出一个新的恶意软件扰动动作,并修改当前二进制文件;跨平台恶意软件检测模块5,用于将修改后的二进制文件逆映射为原平台恶意软件样本对应的文件格式,得到跨平台恶意软件样本,对跨平台恶意软件样本进行功能完整性验证,并给出完整性验证奖励;并对跨平台恶意软件样本进行反病毒引擎检测,给出检测奖励;还用于判断跨平台恶意软件样本是否恶意。[0066]具体地,跨平台恶意软件样本解析器1将跨平台恶意软件样本映射到“.mfe”文件,映射方式为,通过对原文件的解析,将原文件中头文件信息的元数据、字节信息的元数据、一般文件信息的元数据填充到“.mfe”文件文件中。其中,windows平台的pe可执行文件,解析出pe文件信息,映射到“.mfe”文件;linux平台的elf可执行,解析出elf文件信息,映射到“.mfe”文件;android平台的apk文件,进行反编译,提取出dex可执行文件,再将dex文件信息映射到“.mfe”文件。[0067]跨平台恶意软件样本分析模块2对跨平台恶意软件样本解析后生成的中间文件,即“.mfe”文件进行恶意软件特征提取,生成描述该恶意软件的特征向量,包括描述头文件信息的元数据、字节信息的元数据、一般文件信息的元数据。[0068]在深度强化学习恶意软件对抗样本训练模块4中,通过智能体与环境的交互,得到恶意软件对抗样本生成模型6,并进行训练。训练包括:a)输入一个新的恶意软件样本,深度强化学习环境根据恶意软件特征获取当前状态并提供给智能体;b)智能体输出一个恶意软件扰动动作,修改恶意样本;c)环境获取重新获取当前的状态,并把得到奖励提供给智能体,跳至第一步,不断循环,直到迭代结束。[0069]进一步地,行动动作决策模块3,采用actor-critic算法,输出收益值最大的动作,具体包括:a)actor获取当前状态,输出动作策略;b)critic利用价值函数对策略进行评估;c)基于评估结果选择一个策略作为输出。[0070]进一步地,跨平台恶意软件检测模块5分为完整性验证模块52和反病毒引擎检测模块51两个子模块,如图4所示,所述完整性验证通过不同沙盒分析环境实现,具体地,将逆映射后恶意软件样本对应的平台放置到相应的沙盒环境中进行功能完整性验证;检测子模块包括用于检测不同平台恶意软件的检测模型。跨平台恶意软件检测模块在完成检测后,给出奖励值,具体包括:a)完整性验证通过沙盒分析环境实现,功能完整则奖励5,否则为0;b)检测则通过反病毒引擎检测,反病毒检测引擎针对不同平台不同格式的恶意软件,将其放置到对应的检测模型中,如果检测为良性,奖励10,如果检测为恶意,奖励为0。[0071]本发明基于actor-critic算法结合价值函数和策略选择方法,辅助强化学习模型的行动动作决策,将决策网络算法、完整性验证方法应用于恶意软件对抗样本生成中,能降低训练计算开销,保证样本功能完整。实施例6本实施例与实施例1具有相同的发明构思,在实施例1的基础上提供了一种存储介质,其上存储有计算机指令,计算机指令运行时执行实施例1中的一种跨平台恶意软件对抗样本生成方法的步骤。[0072]基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。[0073]实施例7本实施例还提供一种终端,与实施例1具有相同的发明构思,包括存储器和处理器,存储器上存储有可在处理器上运行的计算机指令,处理器运行计算机指令时执行实施例1中的一种跨平台恶意软件对抗样本生成方法的步骤。处理器可以是单核或者多核中央处理单元或者特定的集成电路,或者配置成实施本发明的一个或者多个集成电路。[0074]在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。[0075]以上具体实施方式是对本发明的详细说明,不能认定本发明的具体实施方式只局限于这些说明,对于本发明所属
技术领域
:的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演和替代,都应当视为属于本发明的保护范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献