CN117009970A - 盲特征场景下恶意软件对抗样本生成方法与电子设备 - Google Patents
盲特征场景下恶意软件对抗样本生成方法与电子设备 Download PDFInfo
- Publication number
- CN117009970A CN117009970A CN202311285351.7A CN202311285351A CN117009970A CN 117009970 A CN117009970 A CN 117009970A CN 202311285351 A CN202311285351 A CN 202311285351A CN 117009970 A CN117009970 A CN 117009970A
- Authority
- CN
- China
- Prior art keywords
- feature
- software
- benign
- malicious
- malicious software
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000001514 detection method Methods 0.000 claims abstract description 54
- 239000003795 chemical substances by application Substances 0.000 claims description 90
- 230000006870 function Effects 0.000 claims description 64
- 230000004927 fusion Effects 0.000 claims description 35
- 230000009471 action Effects 0.000 claims description 33
- 239000013598 vector Substances 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 230000009191 jumping Effects 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 abstract 1
- 230000000875 corresponding effect Effects 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 16
- 239000008186 active pharmaceutical agent Substances 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000013145 classification model Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000003042 antagnostic effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007635 classification algorithm Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Security & Cryptography (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Hardware Design (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种盲特征场景下恶意软件对抗样本生成方法与电子设备,属于恶意软件识别技术领域,所述对抗样本生成方法包括:将待扰动的恶意软件输入多异构智能体协同网络,每个智能体负责一类特征的决策;整合所有智能体的决策,向恶意软件中新增特征元素作为干扰,并将添加干扰后的软件送入检测系统进行检测,若检测为良性软件,说明干扰有效,得到恶意软件对抗样本,若检测为恶意软件,说明干扰无效,则计算每个智能体的际贡献作为其奖励值,送入评价网络更新网络参数并执行智能体新一轮的迭代,直至输出对抗样本。本发明通过多个智能体集中训练、分布执行,并结合特定的奖励规则,可以大大提高训练速度,快速生成黑盒盲特征场景下的对抗样本。
Description
技术领域
本发明属于恶意软件识别技术领域,更具体地,涉及一种盲特征场景下恶意软件对抗样本生成方法与电子设备。
背景技术
在各平台的应用商城中包含大量的应用软件,软件提供方将应用软件上传至平台时,平台会提前利用检测系统识别软件是否安全,若为恶意软件,将拒绝添加该应用软件。目前,检测系统一般基于机器学习进行分类,该方法大大提高了恶意软件的识别能力。然而,现有研究表明机器学习在安全敏感系统中容易受到对抗样本攻击,攻击者通过对恶意软件添加扰动,有可能使检测系统将恶意软件误识别为良性软件而通过检测,这些能使检测系统误判的扰动样本称之为对抗样本。而检测系统中任何漏洞都会对其所保护的平台造成极大的威胁。因此,需要了解攻击者可能输入的对抗样本,在对检测系统进行分类训练时,在训练样本中加入对抗样本,可以提高检测系统的鲁棒性。
目前,恶意软件对抗样本生成算法都是安全公司在已知恶意软件检测系统特征提取方式、模型参数、学习算法的理想情况下进行的,即假设攻击者对检测系统具有完全知识或者部分知识,这些假设是不切实际的。而现实场景下,在真实场景下,攻击者大多对于目标检测系统是零知识的,安全公司等机构将恶意软件检测系统部署在云端,对于攻击者而言,只能通过上传自己的软件,然后检测系统给攻击者返回检测报告,攻击者对检测系统内部的特征提取方式是无法获取的。为切实真实世界应用场景,更好地提升检测系统的鲁棒性,需要提出一种未知软件检测系统分类方式的黑盒盲特征场景下的恶意软件对抗样本生成方法。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种盲特征场景下恶意软件对抗样本生成方法与电子设备,其目的在于提出一种未知软件检测系统分类方式的黑盒盲特征场景下的恶意软件对抗样本生成方法,可以快速生成切实真实世界应用场景的对抗样本,以用于提升检测系统的鲁棒性。
为实现上述目的,按照本发明的一个方面,提供了一种盲特征场景下恶意软件对抗样本生成方法,包括:
步骤S1:将待扰动的恶意软件输入多异构智能体协同网络,所述多异构智能体协同网络包含N个智能体,每个智能体具有独立的策略网络和价值网络,第i个智能体负责软件文件中第i类特征的决策,i=1,2,……,N,N为软件文件中待决策特征的种类数量;
步骤S2:将第i类特征的特征元素集合Li中各特征元素在当前时刻的状态/>输入第i个智能体策略网络进行决策,得到集合中每个特征元素被选择执行动作的概率;再基于各特征元素的概率随机改变一个特征元素的状态作为在/>时刻的执行动作/>,状态更新为时刻的状态/>;
步骤S3:基于所有智能体更新的状态对输入的恶意软件新增特征元素作为扰动,得到/>时刻更新的恶意软件,利用检测系统对更新的恶意软件进行检测,若检测为恶意软件,则执行步骤S4;若检测为良性软件,则跳转至步骤S6;
步骤S4:计算第i个智能体策略网络执行动后的奖励/>,组成样本对/>,奖励/>为第i个智能体在/>时刻不执行动作/>与执行动作/>两种情况下检测系统判定训练样本为恶意软件的置信度的差值;
步骤S5:基于所有策略网络的样本对更新每个智能体的价值网络参数以及策略网络参数;以/>,跳转至步骤S2;
步骤S6:输出更新的恶意软件作为对抗样本。
在其中一个实施例中,第i类特征的特征元素集合Li以良性软件中第i类特征所用特征元素构成第i类特征的良性特征元素集合。
在其中一个实施例中,确定第i类特征的良性特征元素集合的过程包括:
获取待扰动的恶意软件的恶意融合特征,选择多个良性软件并获取每个良性软件的良性融合特征,每个融合特征均为从对应的软件文件中所提取的N类特征进行融合而成;
分别计算恶意融合特征和每个良性融合特征的相似度,以相似度最高的良性软件中第i类特征所用特征元素构成第i类特征的良性特征元素集合Li。
在其中一个实施例中,获取每个融合特征的过程包括:
通过N个训练好的特征提取网络分别从对应的软件文件提取N类特征,每个特征提取网络输出对应种类特征的特征向量;
将N个特征向量进行拼接融合,得到对应软件文件的融合特征。
在其中一个实施例中,计算恶意融合特征和每个良性融合特征的相似度,具体为计算恶意融合特征和每个良性融合特征的余弦相似度。
在其中一个实施例中,良性软件和恶意软件均为安卓软件,软件文件中待决策特征的种类包括权限特征、组件特征、意图特征、敏感应用程序接口特征和函数调用特征。
在其中一个实施例中,
权限特征、组件特征、意图特征、敏感应用程序接口特征中每类特征的特征元素集合为一维向量模式,特征元素集合中的每个特征元素为一维向量中的向量元素,每个特征元素具有两个状态值,其中一个状态值表示特征元素被选择加入软件文件,另一个状态值表示特征元素未被选择加入软件文件;
函数调用特征的特征元素集合为调用关系图模式,调用关系图具有节点和节点之间的连接边,其中,每个节点表示一个函数,两节点通过连接边连接表示两个函数之间存在调度关系,特征元素集合中的每个特征元素为调用关系图中的连接边,每个特征元素具有两个状态值,其中一个状态值表示连接边被选择加入软件文件,另一个状态值表示连接边未被选择加入软件文件。
在其中一个实施例中,在步骤S3中,当需要针对函数调用特征新增从函数A到函数B的连接边作为扰动时,对恶意软件中的原始的函数A进行修改,修改方式包括:在函数A中添加对函数B的调用关系,且在函数A中设置长度不满足设定条件的可变形参args,以可变形参args作为执行从函数A到函数B的判断条件,只有可变形参args的长度满足设定条件时,函数A才会执行对函数B的调用,否则,不执行调用。
按照本发明的另一方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
按照本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
本发明选择包含N个智能体的多异构智能体协同网络作为对抗样本的主体生成结构,通过集中式训练、分布式执行的方式,可以快速生成盲特征场景下的对抗样本。由于软件文件中包含非常多种类的特征,而检测系统的检测算法也多种多样,不同的检测算法根据不同种类的特征实现分类识别。在攻击者未知检测系统的检测算法的黑盒盲特征场景下,并不知道应该对哪些种类的特征添加扰动。若是添加扰动的特征种类并非检测软件进行分类所依据的特征种类,所添加的扰动是无效的,无法生成对抗样本。若是对所有种类的所有特征元素进行遍历搜索,将面临巨大的搜索空间,造成算法难以收敛或者收敛速度极慢,在效率和性能上会存在巨大挑战。在本发明中,多异构智能体协同网络包含N个智能体,每个智能体负责一个种类特征的决策,N个智能体并行对N类特征进行决策,由于每个智能体只在对应种类特征的特征元素内进行搜索并结合合作博弈论,以各个智能体的边际贡献作为其奖励值进行学习,N个智能体集中训练、分布执行,可以大大提高训练速度,快速生成黑盒盲特征场景下的对抗样本。
进一步地,基于多异构智能体协同网络,每个智能体只在对应种类特征的特征元素内进行搜索,由于每一类特征中又存在大量的特征元素,若是对每个特征元素进行遍历,搜索空间仍然较大。因此,在一实施例中以良性软件在每类特征中所用的特征元素为参考,针对每类特征构建良性特征元素集合,并只在良性特征元素集合中进行搜索,由此可以大大缩减搜索空间,进一步提高训练速度,快速生成对抗样本。
进一步地,通过对软件特征进行融合并计算恶意融合特征和良性融合特征的相似度,可以选择出与恶意软件作为接近的良性软件,基于该选定的良性软件确定良性特征集合,能够在缩小动作空间范围的同时,提高生成恶意软件对抗样本的概率。
进一步地,对于调用函数特征,当需要针对函数调用特征新增从函数A到函数B的连接边作为扰动时,对恶意软件中的原始的函数A进行修改,修改方式包括:在函数A中添加对函数B的调用关系,且在函数A中设置长度不满足设定条件的可变形参args,以可变形参args作为执行从函数A到函数B的判断条件,只有可变形参args的长度满足设定条件时,函数A才会执行对函数B的调用,否则,不执行调用。通过引入可变形参args,虽然添加了新的调用关系,但是并不会真正去执行该新增调用,因此可以在添加干扰的同时不会影响原始代码的执行。
附图说明
图1是一实施例中的盲特征场景下恶意软件对抗样本生成方法的步骤流程图。
图2是一实施例中的多异构智能体协同网络的网络架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
检测系统是对软件文件(APK文件)进行拆包和反编译,得到可读文件,然后从可读文件中提取特征,进行恶意软件检测。其中,一个软件可包含多个可读文件,每个可读文件又能够提取多种特征。以安卓软件为例,安卓恶意软件检测系统需要首先对APK文件进行拆包和反编译得到可读的二进制清单文件AndroidManifest.xml,字节码文件smali和其他资源文件,然后从这些可读文件中提取特征,进行恶意软件检测。由于特征构建方式多种多样,不同的检测模型依赖于不同的特征,所以针对不同检测模型的对抗样本生成技术也存在较大差异。以从安卓恶意软件检测系统为例,现有的安卓恶意软件检测系统可以分为基于语法特征和语义特征进行检测。
语法特征一般是由权限(permission)、意图-动作(Intent-Action)和应用程序接口(ApplicationProgramming Interface,简称: API)调用等组成。检测系统从APK反编译后的配置文件和字节码文件中提取应用申请的权限、意图-动作以及调用的系统API等信息作为输入特征,然后利用机器学习模型进行分类。语法特征只是简单的通过APK中是否含有对应语法定义来构建特征,难以应对代码混淆和代码动态加载等手段。语义特征通过对dex文件反编译得到的字节码文件进行信息抽取,充分考虑字节码上下文信息,能够准确刻画APP的运行时行为,提高恶意软件检测精度和鲁棒性。
恶意软件检测方式多种多样,比如上述介绍的基于语法特征的安卓恶意软件检测、基于语义特征的安卓恶意软件检测等,机器学习分类模型结构也有多种多样,比如DNN,RF,SVM等。近年来,恶意软件对抗样本生成算法虽然被广泛研究,但是现有攻击依赖于一个理想的条件假设,即已知检测系统分类特征提取方式下的白盒或者灰盒攻击,即攻击者对目标检测系统具有完全知识或者部分知识,比如软件特征提取方法或者分类模型的类型架构等这些假设是不切实际的。在真实场景下,安全公司等恶意软件检测系统拥有者一旦训练好分类模型,大多数都会将其部署在云端,对用户提供DLaas(deep learning as aservice)服务,对外只暴露单个接口,即用户只能通过上传APK文件,得到分类结果,对检测系统内部的细节(采用何种特征提取方式、采用何种机器学习模型等细节)一无所知,即攻击者大多对于目标检测系统是零知识的,即对于检测系统内部使用的特征提取方式、机器学习算法、模型参数等是没有任何先验知识的。
基于此,本发明提出一种可以快速生成切实真实世界应用场景的对抗样本的方法,以用于提升检测系统的鲁棒性。
如图1所示为盲特征场景下恶意软件对抗样本生成方法的步骤流程图,以下对其各步骤进行介绍。
步骤S1:将待扰动的恶意软件输入多异构智能体协同网络,多异构智能体协同网络包含N个智能体,每个智能体具有独立的策略网络和价值网络,第i个智能体负责软件文件中第i类特征的决策,i=1,2,……,N,N为软件文件中待决策特征的种类数量。
对于一个待检测软件,其软件文件中包含有多个种类的特征,例如上文介绍的安卓软件,其解析出的清单文件包含请求权限 (Permission)特征、应用组件 (APPComponent)特征、意图(Filter Intent)特征;其解析出的字节码文件中包含敏感API(sensitiveAPI)特征、函数调用关系 (Function Calls)特征。每一类特征对应有大量的特征元素,不同的软件中可能选择其中不同的特征元素加入软件文件,即每一类特征都对应有一个特征元素集合,而每个软件会选择其中的几个特征元素加入软件文件。检测系统使用不同的分类算法时,会基于不同的特征种类进行分类,而对于分类所依据的特征种类,不同的待检软件选择的特征元素不同,会导致分类结果不同。因此,攻击者可以着重对检测系统分类针对的特征种类添加干扰,以生成对抗样本,使检测系统将恶意样本误分类为良性样本。然而,攻击者对检测系统的分类算法未知,分类所依据的特征种类集合未知,如果把所有的特征种类集合的并集构建成待求解的可扰动动作集合,利用遗传算法等进化算法或者强化学习算法去求解,会面临巨大的搜索空间,造成算法难以收敛或者收敛速度极慢,在效率和性能上会存在巨大挑战。
因此,本发明构建多异构智能体协同网络,该多异构智能体协同网络具有N个智能体,每个智能体独立负责一个特征种类的决策,即确定每个特征种类选择哪几个特征元素,可以实现将恶意软件转变为对抗样本。
如图2所示,继续以软件文件中包含权限特征、组件特征、意图特征、敏感API特征和函数调用特征为例,N=5,多异构智能体协同网络包含5个智能体,分别为对权限特征进行决策的权限特征智能体、对组件特征进行决策的组件特征智能体、对意图特征进行决策的意图特征智能体、对敏感API特征进行决策的敏感API特征智能体和对函数调用特征进行决策的函数调用特征智能体。每个智能体均具有策略(Actor)网络和价值(-Critic)网络。
步骤S2:将第i类特征的特征元素集合Li中各特征元素在当前时刻的状态/>输入第i个智能体策略网络进行决策,得到集合中每个特征元素被选择执行动作的概率;再基于各特征元素的概率随机改变一个特征元素的状态作为在/>时刻的执行动作/>,状态更新为时刻的状态/>。
智能体的训练过程实际是策略网络基于当前状态执行动作,执行动作会导致状态更新,然后基于更新后的状态计算对应的奖励,再基于更新的状态继续执行动作,策略网络按照状态—动作—状态—动作持续迭代,在迭代期间,价值网络基于策略网路迭代输出的奖励和状态更新网络参数,在学习中多次迭代以及更新网络参数,最后输出符合预期的结果。
在本发明中,每个智能体执行动作的动作空间为对应种类特征的特征元素集合,对于第i个智能体,其策略网络的动作空间为第第i类特征的特征元素集合Li,每个智能体只负责一类特征的决策,即从特征元素集合Li中选择若干特征元素加入恶意软件的软件文件中,以向恶意软件添加干扰,使检测系统将其误分类为良性软件,添加干扰后所得软件即为对抗样本。
第i 个智能体的策略网络可以表示为,/>表示策略网络的当前网络参数,/>表示当前输入策略网络的状态,/>表示将状态/>输入网络参数为/>的策略网络所得的网络输出,/>表示输入状态/>后基于网络输出决策得到的动作。每一轮迭代中:
在时刻输入策略网络的状态为特征元素集合Li中各特征元素在当前/>时刻的状态/>,策略网络基于当前状态/>输出特征元素集合Li中每个特征元素被选择执行动作的概率,智能体依据概率值对各元素特征进行随机采样以对被选中的特征元素执行动作/>以改变其状态,执行动作/>之后,状态/>更新为/>,作为下一/>时刻的输入状态。其中,各个特征元素具有两种状态,分别代表被选择加入软件文件和未被选择加入软件文件。例如,可以分别以“0”和“1”表示两个不同的状态,“0”表示对应特征元素未被选择加入软件文件,“1”表示对应特征元素被选择加入软件文件。
不同的特征种类,其特征元素可以表示不同的意思,具体可以根据实际情况进行设置。例如,对于安卓软件,待决策特征的种类包括权限特征、组件特征、意图特征、敏感API特征和函数调用特征,其中,权限特征、组件特征、意图特征、敏感API特征中每类特征的特征元素集合为一维向量模式,特征元素集合中的每个特征元素为一维向量中的向量元素,每个特征元素具有两个状态值,其中一个状态值表示特征元素被选择加入软件文件,另一个状态值表示特征元素未被选择加入软件文件;函数调用特征的特征元素集合为调用关系图模式,调用关系图具有节点和节点之间的连接边,其中,每个节点表示一个函数,两节点通过连接边连接表示两个函数之间存在调度关系,特征元素集合中的每个特征元素为调用关系图中的连接边,每个特征元素具有两个状态值,其中一个状态值表示连接边被选择加入软件文件,另一个状态值表示连接边未被选择加入软件文件。
例如,对于权限特征,其特征元素集合为,其中每个元素表示一个权限,若其状态值为“1”,表示在软件中加入该权限作为权限特征的干扰,若其状态值为“0”,表示在软件中不加入该权限。
虽然每个智能体只决策一个特征种类,但是每个特征种类也可能具有大量的特征元素,其扰动的维度可能也成百上千,为了进一步减小动作空间的维度,可以对特征元素集合Li进行限缩。在一实施例中,可以参考良性软件的特征设置,对恶意软件添加特征干扰。具体的,可以解析出良性软件中第i类特征所用特征元素,以其所用的特征元素作为第i类特征的良性特征元素集合。一般而言,良性软件能够通过检测系统的检测,通常都是其包含被分类为良性软件的特征,因此,只要针对性地针对良性软件所用的特征进行搜索,能快速确定合适的干扰,进一步提高对抗样本的生成速率。
由于不同的软件具有一定的差异性,良性软件和待扰动的恶意软件并非同一个软件,参考良性软件的特征对恶意软件添加干扰,也可能存在一定的误差。在一实施例中,为提高良性特征元素集合的有效性,可以先确定与待扰动的恶意软件较为接近的良性软件,以该良性软件中第i类特征所用特征元素作为第i类特征的良性特征元素集合。确定第i类特征的良性特征元素集合的过程包括:
获取待扰动的恶意软件的恶意融合特征,选择多个良性软件并获取每个良性软件的良性融合特征,每个融合特征均为从对应的软件文件中所提取的N类特征进行融合而成;分别计算恶意融合特征和每个良性融合特征的相似度,以相似度最高的良性软件中第i类特征所用特征元素构成第i类特征的良性特征元素集合Li。
具体地,先选择多个良性软件,对于每个软件,利用多模态融合算法将软件中各类特征进行融合,得到融合特征,然后再计算每个良性软件的良性融合特征与恶意软件的恶意融合特征的相似度,例如,可以计算余弦相似度,最终选择相似度最高的良性软件,提取其特征元素作为良性特征元素集合。
在一实施例中,在进行特征融合之前,可以先针对每一类特征训练特征提取网络,基于特征提取网络直接提取每类特征的特征元素,每个特征提取网络输出对应种类特征的特征向量,将N个特征向量进行拼接融合,得到对应软件文件的融合特征。
步骤S3:基于所有智能体更新的状态对输入的恶意软件新增特征元素作为扰动,得到/>时刻更新的恶意软件,利用检测系统对更新的恶意软件进行检测,若检测为恶意软件,则执行步骤S4;若检测为良性软件,则跳转至步骤S6。
每个智能体同步执行对应的动作后,分别得到对应的更新状态,所有智能体更新的状态表示为。基于状态/>对待扰动的恶意软件新增特征元素干扰,得到/>时刻更新的恶意软件。可以理解地,对恶意软件添加干扰时,不能改变软件本身的特征元素,只能新增额外的特征元素。因此,某个特征元素属于恶意软件本身的特征元素,即使在智能体更新的状态中其状态值被更新为“0”,在添加干扰时也不会改变其状态,即添加干扰只会增加恶意软件原本没有的特征元素。或者,在确定特征元素集合Li时,直接将恶意软件本身已存在的特征元素排除掉,即特征元素集合Li不包含恶意软件本身已存在的特征元素。
在一实施例中,添加干扰的形式可以根据实际情况进行调整,如上文介绍,原则上是不改变原始恶意软件本身的特征。对于权限特征、组件特征、意图特征、敏感API特征,可以直接在其对应的文件中直接加入新增的特征元素。而对于函数调用特征,新增的调用关系不能影响原有的调用关系,在本实施例中,当需要针对函数调用特征新增从函数A到函数B的连接边作为扰动时,对恶意软件中的原始的函数A进行修改,修改方式包括:在函数A中添加对函数B的调用关系,且在函数A中设置长度不满足设定条件的可变形参args,以可变形参args作为执行从函数A到函数B的判断条件,只有可变形参args的长度满足设定条件时,函数A才会执行对函数B的调用,否则,不执行调用。通过引入可变形参args,虽然添加了新的调用关系,但是并不会真正去执行该新增调用,因此可以在添加干扰的同时不会影响原始代码的执行。
如图2所示,添加干扰之后,利用检测系统对更新的恶意软件进行检测,若检测为恶意软件,说明所添加的干扰无效,继续执行步骤S4;若检测为良性软件,说明所添加的干扰起效,能够使检测系统误分类,因此,跳转至步骤S6以结束迭代,输出该更新的恶意软件作为对抗样本。
步骤S4:计算第i个智能体策略网络执行动后的奖励/>,组成样本对/>,奖励/>为第i个智能体在/>时刻不执行动作/>与执行动作/>两种情况下检测系统判定训练样本为恶意软件的置信度的差值。
若步骤S3中的检测结果为恶意软件,说明所添加的干扰无效,因此,需要继续学习。此时,计算每个智能体策略网络执行动后的奖励。
由于本发明多异构智能体协同网络中各个智能体之间是合作关系,他们目标一致,降低检测系统将恶意软件检测为恶意软件的置信度,置信度越低,表明智能体当前采取的动作越优。但是由于当前对抗样本是所有智能体一起操作形成的,如何公平的去评价各个智能体对于整体任务的贡献值是非常困难的。因此,本发明借助合作博弈论中的相关概念,考虑团队中各个智能体的边际贡献,来作为其奖励值。对于第i个智能体,其奖励为第i个智能体在/>时刻不执行动作/>与执行动作/>两种情况下检测系统判定训练样本为恶意软件的置信度的差值。也就是说,对于单个智能体,保持其他智能体执行的动作不变,通过观察该单个智能体执行当前动作或者什么操作都不做对于团队整体回报的差异来评判该单个智能体当前动作对于整个团队收益的贡献程度。第i个在/>时刻的奖励公式可表达为:
式中,表示第i个智能体当前动作为空,即不对第i类特征进行任何修改。代表/>时刻除第i个智能体外其他智能体的动作集合,/>表示待扰动的恶意软件,/>代表将扰动动作/>注入软件/>形成对抗样本的过程,/>代表目前检测系统对于当前样本判别为恶意软件的置信度。
本发明中所有的智能体之间通过合作完成同一个任务,即添加干扰,如果它们共享同一个奖励函数,有些智能体可能会依赖其他智能体的努力,而自己不付出足够的努力,导致整个算法无法获取最优解。本发明采用合作博弈中的边际贡献的好处:
第一、边际贡献可以通过比较在某个参与者参与合作博弈之前和之后的整体结果来计算。它表示了该参与者的存在或参与对整体结果的变化。
第二、在合作博弈中,团队成员通常需要共同制定决策或策略,以实现共同的目标。边际贡献有助于决定每个成员在决策中的角色和贡献,以便更公平地分配奖励或资源。
第三通过考虑每个成员的边际贡献,可以更公平地分配奖励。那些对整体结果有更大影响的成员可能会获得更多的奖励,而那些边际贡献较小的成员可能会获得较少的奖励。
第四、边际贡献可以用作激励机制的基础,鼓励团队成员更积极地参与合作博弈。成员可能会努力提高自己的边际贡献,以获取更多的奖励或资源。
步骤S5:基于所有策略网络的样本对更新每个智能体的价值网络参数以及策略网络参数;以/>,跳转至步骤S2。
如图2所示,每个价值网路可以表示为,其中,价值网络的输入和/>,即为对应时刻所有智能体执行动作后观测的状态和获得奖励的集合,具体可以通过一个中央控制器控制所有的价值网络,其输出为一个标量,表明当前状态下,智能体策略的好坏。/>为第i个智能体价值网路的网络参数。
具体而言,对于第i智能体,在执行动作后,状态更新为/>,对应价值网络输入中的/>。对于策略网络,具体可以采用策略梯度算法进行训练,对于动作价值网络,具体利用时间差分算法进行训练。价值网络和策略网络的网络参数更新过程,可以参考智能体训练的传统方法。
在更新价值网络和策略网络的网络参数之后,继续跳转步骤S2,执行新一轮的迭代。
步骤S6:输出更新的恶意软件作为对抗样本。
本发明基于多异构智能体协同网络,通过执行上述步骤S1~步骤S6,便能够在黑盒盲特征场景下快速生成恶意软件对抗样本,该对抗样本更加切实真实世界应用场景,可以有效提升检测系统的鲁棒性。
实施例2
本发明还涉及一种电子设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上文方法的步骤。
该电子设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,电子设备的各种功能。
实施例3
本发明还涉及一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上文方法的步骤。
具体的,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本领域的技术人员容易理解,以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种盲特征场景下恶意软件对抗样本生成方法,其特征在于,包括:
步骤S1:将待扰动的恶意软件输入多异构智能体协同网络,所述多异构智能体协同网络包含N个智能体,每个智能体具有独立的策略网络和价值网络,第i个智能体负责软件文件中第i类特征的决策,i=1,2,……,N,N为软件文件中待决策特征的种类数量;
步骤S2:将第i类特征的特征元素集合Li中各特征元素在当前时刻的状态/>输入第i个智能体策略网络进行决策,得到集合中每个特征元素被选择执行动作的概率;再基于各特征元素的概率随机改变一个特征元素的状态作为在/>时刻的执行动作/>,状态更新为时刻的状态/>;
步骤S3:基于所有智能体更新的状态对输入的恶意软件新增特征元素作为扰动,得到/>时刻更新的恶意软件,利用检测系统对更新的恶意软件进行检测,若检测为恶意软件,则执行步骤S4;若检测为良性软件,则跳转至步骤S6;
步骤S4:计算第i个智能体策略网络执行动后的奖励/>,组成样本对/>,奖励为第i个智能体在/>时刻不执行动作/>与执行动作/>两种情况下检测系统判定训练样本为恶意软件的置信度的差值;
步骤S5:基于所有策略网络的样本对更新每个智能体的价值网络参数以及策略网络参数;以/>,跳转至步骤S2;
步骤S6:输出更新的恶意软件作为对抗样本。
2.如权利要求1所述的盲特征场景下恶意软件对抗样本生成方法,其特征在于,第i类特征的特征元素集合Li以良性软件中第i类特征所用特征元素构成第i类特征的良性特征元素集合。
3.如权利要求2所述的盲特征场景下恶意软件对抗样本生成方法,其特征在于,确定第i类特征的良性特征元素集合的过程包括:
获取待扰动的恶意软件的恶意融合特征,选择多个良性软件并获取每个良性软件的良性融合特征,每个融合特征均为从对应的软件文件中所提取的N类特征进行融合而成;
分别计算恶意融合特征和每个良性融合特征的相似度,以相似度最高的良性软件中第i类特征所用特征元素构成第i类特征的良性特征元素集合Li。
4.如权利要求3所述的盲特征场景下恶意软件对抗样本生成方法,其特征在于,获取每个融合特征的过程包括:
通过N个训练好的特征提取网络分别从对应的软件文件提取N类特征,每个特征提取网络输出对应种类特征的特征向量;
将N个特征向量进行拼接融合,得到对应软件文件的融合特征。
5.如权利要求4所述的盲特征场景下恶意软件对抗样本生成方法,其特征在于,计算恶意融合特征和每个良性融合特征的相似度,具体为计算恶意融合特征和每个良性融合特征的余弦相似度。
6.如权利要求1所述的盲特征场景下恶意软件对抗样本生成方法,其特征在于,良性软件和恶意软件均为安卓软件,软件文件中待决策特征的种类包括权限特征、组件特征、意图特征、敏感应用程序接口特征和函数调用特征。
7.如权利要求6所述的盲特征场景下恶意软件对抗样本生成方法,其特征在于,
权限特征、组件特征、意图特征、敏感应用程序接口特征中每类特征的特征元素集合为一维向量模式,特征元素集合中的每个特征元素为一维向量中的向量元素,每个特征元素具有两个状态值,其中一个状态值表示特征元素被选择加入软件文件,另一个状态值表示特征元素未被选择加入软件文件;
函数调用特征的特征元素集合为调用关系图模式,调用关系图具有节点和节点之间的连接边,其中,每个节点表示一个函数,两节点通过连接边连接表示两个函数之间存在调度关系,特征元素集合中的每个特征元素为调用关系图中的连接边,每个特征元素具有两个状态值,其中一个状态值表示连接边被选择加入软件文件,另一个状态值表示连接边未被选择加入软件文件。
8.如权利要求7所述的盲特征场景下恶意软件对抗样本生成方法,其特征在于,在步骤S3中,当需要针对函数调用特征新增从函数A到函数B的连接边作为扰动时,对恶意软件中的原始的函数A进行修改,修改方式包括:在函数A中添加对函数B的调用关系,且在函数A中设置长度不满足设定条件的可变形参args,以可变形参args作为执行从函数A到函数B的判断条件,只有可变形参args的长度满足设定条件时,函数A才会执行对函数B的调用,否则,不执行调用。
9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311285351.7A CN117009970B (zh) | 2023-10-07 | 2023-10-07 | 盲特征场景下恶意软件对抗样本生成方法与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311285351.7A CN117009970B (zh) | 2023-10-07 | 2023-10-07 | 盲特征场景下恶意软件对抗样本生成方法与电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117009970A true CN117009970A (zh) | 2023-11-07 |
CN117009970B CN117009970B (zh) | 2023-12-29 |
Family
ID=88573067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311285351.7A Active CN117009970B (zh) | 2023-10-07 | 2023-10-07 | 盲特征场景下恶意软件对抗样本生成方法与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117009970B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109948338A (zh) * | 2019-03-19 | 2019-06-28 | 中南大学 | 基于静态分析的安卓应用敏感路径触发方法 |
CN110659492A (zh) * | 2019-09-24 | 2020-01-07 | 北京信息科技大学 | 一种基于多智能体强化学习的恶意软件检测方法及装置 |
CN111552971A (zh) * | 2020-04-30 | 2020-08-18 | 四川大学 | 基于深度强化学习的恶意软件家族分类规避方法 |
CN112052761A (zh) * | 2020-08-27 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 一种对抗人脸图像的生成方法和装置 |
CN114266050A (zh) * | 2022-03-03 | 2022-04-01 | 西南石油大学 | 一种跨平台恶意软件对抗样本生成方法及系统 |
CN114282182A (zh) * | 2021-12-28 | 2022-04-05 | 中国农业银行股份有限公司 | 对抗软件生成方法、装置和服务器 |
CN114943077A (zh) * | 2022-05-19 | 2022-08-26 | 四川大学 | 基于深度强化学习的恶意pdf文件对抗样本生成方法 |
CN115100421A (zh) * | 2022-06-22 | 2022-09-23 | 西北工业大学 | 一种基于图像频域分解重构的对抗样本生成方法 |
CN116318877A (zh) * | 2023-02-16 | 2023-06-23 | 北京理工大学 | 利用多种特征流形向量的入侵检测系统对抗样本防御方法 |
CN116667966A (zh) * | 2023-05-31 | 2023-08-29 | 杭州电子科技大学 | 一种智能干扰模型奖赏中毒防御、训练方法及系统 |
-
2023
- 2023-10-07 CN CN202311285351.7A patent/CN117009970B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109948338A (zh) * | 2019-03-19 | 2019-06-28 | 中南大学 | 基于静态分析的安卓应用敏感路径触发方法 |
CN110659492A (zh) * | 2019-09-24 | 2020-01-07 | 北京信息科技大学 | 一种基于多智能体强化学习的恶意软件检测方法及装置 |
CN111552971A (zh) * | 2020-04-30 | 2020-08-18 | 四川大学 | 基于深度强化学习的恶意软件家族分类规避方法 |
CN112052761A (zh) * | 2020-08-27 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 一种对抗人脸图像的生成方法和装置 |
CN114282182A (zh) * | 2021-12-28 | 2022-04-05 | 中国农业银行股份有限公司 | 对抗软件生成方法、装置和服务器 |
CN114266050A (zh) * | 2022-03-03 | 2022-04-01 | 西南石油大学 | 一种跨平台恶意软件对抗样本生成方法及系统 |
CN114943077A (zh) * | 2022-05-19 | 2022-08-26 | 四川大学 | 基于深度强化学习的恶意pdf文件对抗样本生成方法 |
CN115100421A (zh) * | 2022-06-22 | 2022-09-23 | 西北工业大学 | 一种基于图像频域分解重构的对抗样本生成方法 |
CN116318877A (zh) * | 2023-02-16 | 2023-06-23 | 北京理工大学 | 利用多种特征流形向量的入侵检测系统对抗样本防御方法 |
CN116667966A (zh) * | 2023-05-31 | 2023-08-29 | 杭州电子科技大学 | 一种智能干扰模型奖赏中毒防御、训练方法及系统 |
Non-Patent Citations (2)
Title |
---|
范铭 等: "安卓恶意软件检测方法综述", 《中国科学》, pages 1148 - 1177 * |
钱小爱: "基于对抗性强化学习的安卓恶意软件检测鲁棒性研究", 《硕士论文电子期刊》, pages 11 - 48 * |
Also Published As
Publication number | Publication date |
---|---|
CN117009970B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10929533B2 (en) | System and method of identifying malicious files using a learning model trained on a malicious file | |
Vinod et al. | A machine learning based approach to detect malicious android apps using discriminant system calls | |
Chumachenko | Machine learning methods for malware detection and classification | |
JP6736532B2 (ja) | 静的分析の要素を用いた悪質なファイルを検出するためのシステム及び方法 | |
JP6758360B2 (ja) | 悪意あるコンテナを検出するための機械学習モデルをトレーニングするシステムおよび方法 | |
US11882134B2 (en) | Stateful rule generation for behavior based threat detection | |
Horák et al. | Optimizing honeypot strategies against dynamic lateral movement using partially observable stochastic games | |
Moothedath et al. | A game-theoretic approach for dynamic information flow tracking to detect multistage advanced persistent threats | |
EP4235523A1 (en) | Identifying and correcting vulnerabilities in machine learning models | |
WO2015043448A1 (en) | Security testing using semantic modeling | |
Moodi et al. | A hybrid intelligent approach to detect android botnet using smart self-adaptive learning-based PSO-SVM | |
WO2021055046A1 (en) | Privacy enhanced machine learning | |
Liu et al. | Towards defending multiple ℓ p-norm bounded adversarial perturbations via gated batch normalization | |
US20230344634A1 (en) | Gesture-based authentication tokens for information security within a metaverse | |
Xu et al. | Manis: Evading malware detection system on graph structure | |
Sourbier et al. | SECURE-GEGELATI always-on intrusion detection through GEGELATI lightweight tangled program graphs | |
Niveditha et al. | Detection of Malware attacks in smart phones using Machine Learning | |
WO2022252039A1 (en) | Method and apparatus for adversarial attacking in deep reinforcement learning | |
Pranav et al. | Detection of botnets in IoT networks using graph theory and machine learning | |
Rathore et al. | Are Malware Detection Classifiers Adversarially Vulnerable to Actor-Critic based Evasion Attacks? | |
CN117009970B (zh) | 盲特征场景下恶意软件对抗样本生成方法与电子设备 | |
US20210303662A1 (en) | Systems, methods, and storage media for creating secured transformed code from input code using a neural network to obscure a transformation function | |
US20230306106A1 (en) | Computer Security Systems and Methods Using Self-Supervised Consensus-Building Machine Learning | |
Alazab et al. | Malicious code detection using penalized splines on OPcode frequency | |
Kumar et al. | Fuzzy inference based feature selection and optimized deep learning for Advanced Persistent Threat attack detection |
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 |