CN113221109B - 一种基于生成对抗网络的恶意文件智能分析方法 - Google Patents
一种基于生成对抗网络的恶意文件智能分析方法 Download PDFInfo
- Publication number
- CN113221109B CN113221109B CN202110339736.1A CN202110339736A CN113221109B CN 113221109 B CN113221109 B CN 113221109B CN 202110339736 A CN202110339736 A CN 202110339736A CN 113221109 B CN113221109 B CN 113221109B
- Authority
- CN
- China
- Prior art keywords
- malicious
- api
- model
- sequence
- detection
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 29
- 238000001514 detection method Methods 0.000 claims abstract description 127
- 238000000034 method Methods 0.000 claims abstract description 21
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 65
- 239000013598 vector Substances 0.000 claims description 32
- 244000035744 Hura crepitans Species 0.000 claims description 11
- 238000009826 distribution Methods 0.000 claims description 8
- 230000001965 increasing effect Effects 0.000 claims description 6
- 238000007637 random forest analysis Methods 0.000 claims description 6
- 238000013256 Gubra-Amylin NASH model Methods 0.000 claims description 2
- 230000006399 behavior Effects 0.000 abstract description 15
- 238000012549 training Methods 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000002452 interceptive effect Effects 0.000 abstract description 4
- 230000001737 promoting effect Effects 0.000 abstract description 2
- 230000003068 static effect Effects 0.000 description 6
- 230000008485 antagonism Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- UXOWGYHJODZGMF-QORCZRPOSA-N Aliskiren Chemical compound COCCCOC1=CC(C[C@@H](C[C@H](N)[C@@H](O)C[C@@H](C(C)C)C(=O)NCC(C)(C)C(N)=O)C(C)C)=CC=C1OC UXOWGYHJODZGMF-QORCZRPOSA-N 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 241000700159 Rattus Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 229960004601 aliskiren Drugs 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000000586 desensitisation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
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
- G06F21/562—Static detection
-
- 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
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于生成对抗网络的恶意文件智能分析方法,基于基本的应用数据集,利用生成式对抗网络对抗交互训练思想,由生成模型不断生成样本,扩充了标签样本集,可提升入侵检测模型检测分类,提高了对入侵行为的检测准确率,可以增强模型执行多分类任务的检测能力,为提升入侵检测模型泛化能力提供一种有效的方法。并且基于API行为特征的智能恶意代码检测方法能够更好地检测与已知恶意代码样本行为相似的未知恶意代码,而不受恶意代码的多态、代码混淆、加密和加壳等技术的影响,从而使本申请具有高检测率、低误报率的优点。
Description
技术领域
本申请属于信息安全领域,具体涉及一种基于生成对抗网络的恶意文件智能分析方法。
背景技术
随着网络攻防战的升级,网络攻击逐步从简单的手段发展到以高级网络攻击为代表的复杂立体攻击。目前,市场上对高级网络攻击的检测大多还是停留在传统的层面,主要分为以下四类:网络流量分析、软件静态特征检测、动态沙箱检测和钩子技术。其中,网络流量分析利用流量进行可疑行为的判断,而软件静态特征检测、动态沙箱检测和钩子技术常用于恶意文件以及恶意程序(如RAT)的检测。
其中,网络流量分析一种常用的方法是基于网络数据包各维度数据特征进行攻击检测(如源/目的IP、端口号、协议类型等),另一种则是以网络流量的统计特性作为特征进行攻击检测(如流量熵、主机之间的字节流量数等)。由于检测器依赖程序产生的流量,而不能直接观察恶意程序的活动,因此恶意程序有许多途径可以逃避基于网络流量分析的检测。因此当前常用的基于网络数据包和网络流量的统计特性的分析方法无法应对流量加密的情况,而已有的识别恶意加密流量的检测方法存在精度低、特征少等缺陷。
其中,恶意文件与恶意程序检测:对于软件静态特征检测,通常是指在不运行程序的情况下,提取程序的指令、函数调用等可用于异常检测的静态代码特征。传统的基于静态特征签名的检测方法容易被代码的多态变化和混淆所回避。再者,签名通常使用二进制文件的字节序列、字符串集和散列代码等没有语义的方式来提取,导致匹配不准确。对于基于API的钩子技术,因为钩子会修改底层实现代码逻辑,使得程序/系统变得不稳定,并可能暴露新的漏洞。最后,对于动态沙箱检测技术,因为沙箱配置运行的开销十分巨大,故其不能直接部署在客户端机器上,且有些恶意软件具有沙箱反侦查能力,可以在沙箱中刻意隐藏恶意行为。此外,上述方法所采用的数据集一般是公开的数据集或者是研究者自己采集的小样本数据集,数据量以及数据变式有限,无法满足真实复杂环境下恶意文件检测的需求。综上所述,当前的恶意文件与恶意程序检测方法无法适应高级网络攻击复杂多变的特点。主要表现在:一方面,恶意文件/程序的样本数量稀少,难以获得。另一方面,恶意文件/程序的变式多,检测困难。
尽管学术界和工业界对高级网络攻击智能分析发现提出了一系列的解决方案(如特征检测方案、异常检测方案、大数据分析方案等),但是高级网络攻击的多样性、隐蔽性和样本稀缺性给检测带来了极大的困难,主要表现在:
在大规模网络侧,恶意文件分析样本稀少且检测误报高。随着互联网向着多样化、系统化、智能化持续发展,恶意文件技术也在不断更新。目前,分析恶意文件的主要方法大多是从可执行的二进制文件中提取静态信息,然后采用机器学习算法进行分类。由于大量标签样本的获取较为困难,有限的标签样本只能反馈有限的信息,以及现有机器学习模型较少考虑学习异常行为在网络连接方面呈现出的同步性和关联性等时序特征,分析技术难以满足日益增长的高检测率、低误报率的要求。因此,如何利用生成对抗网络进行样本增强,结合机器学习、统计分析方式实现高效准确的检测,是面向高级网络攻击的样本增强及智能分析方法研究中的一个关键科学问题。
发明内容
本申请的目的在于提供一种基于生成对抗网络的恶意文件智能分析方法,满足高检测率、低误报率的要求。
为实现上述目的,本申请所采取的技术方案为:
一种基于生成对抗网络的恶意文件智能分析方法,所述基于生成对抗网络的恶意文件智能分析方法,包括:
步骤1、获取应用数据集,所述应用数据集中包含正常文件和恶意文件,取恶意文件和正常文件经沙箱程序模拟运行得到恶意文件和正常文件的API序列;
步骤2、提取恶意文件和正常文件的API序列的特征向量,所述特征向量包括全局特征、局部组合特征、高阶局部特征和2-gram局部特征;
步骤3、基于恶意文件和正常文件的API序列生成恶意样本API序列,包括:
步骤3.1、取恶意文件的API序列的特征向量,将恶意文件的API序列的特征向量和服从均匀分布的噪声向量串联作为输入对象;
步骤3.2、将步骤3.1得到的输入对象输入至生成模型中,由生成模型生成恶意样本API序列;
步骤3.3、将步骤3.2生成的恶意样本API序列输入至检测模型中,并将正常文件的API序列作为良性样本API序列同时输入至检测模型中;
步骤3.4、检测模型对输入的恶意样本API序列和良性样本API序列进行检测,并将检测结果发送至判别模型;
步骤3.5、判别模型根据检测模型输出的检测结果比较恶意样本API序列和良性样本API序列的特征分布并反馈至生成模型用于生成模型更新模型参数;
步骤3.6、重复执行步骤3.1至步骤3.5直至检测模型检测输入的恶意样本API序列和良性样本API序列均为良性样本API序列,保存此时的生成模型,并利用保存的生成模型对应用数据集中的恶意文件的API序列的特征向量生成恶意样本API序列;
步骤4、取应用数据集中的恶意文件和正常文件的API序列、步骤3得到的恶意样本API序列对检测模型进行训练,直至检测模型的检测结果达到预设的准确度,得到最终的检测模型;
步骤5、利用最终得到的检测模型对待分析文件进行分析,输出待分析文件为正常文件或恶意文件的检测结果。
以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
作为优选,所述全局特征包括:全部的API的个数、不相同API的个数;全部线程编号的个数、不相同的线程编号个数、最大的线程编号、最小的线程编号、线程编号分位数、线程编号方差、线程编号中位数;全部返回值的个数、不相同的返回值个数、返回值个数最大值、返回值个数最小值、返回值个数分位数、返回值个数方差、返回值个数中位数;全部的调用顺序编号的数量、不相同的调用顺序编号的数量、调用顺序编号最大值、调用顺序编号最小值、调用顺序编号分位数、调用顺序编号方差、调用顺序编号中位数;
所述局部组合特征包括:每个API调用的线程编号的个数、不相同线程编号的个数;每个API的返回值的不相同的个数、最大值、最小值、中位数、方差;每个API调用的顺序编号的不相同的数量、最大值、最小值、中位数、方差;每个顺序编号调用的API的个数、不相同API的个数;每个顺序编号对应的API返回值的不相同的个数、最大值、最小值、中位数、方差;每个顺序编号对应的线程编号的不相同的个数、最大值、最小值、中位数、方差;
所述高阶局部特征包括:每个API调用的线程编号的返回值的不同个数、最大值、最小值、中位数、方差;每个API调用的线程编号对应的顺序序号的不同个数、最大值、最小值、中位数、方差;
所述2-gram局部特征包括:每对相邻API调用的线程个数、不相同的个数;每对相邻API的返回值的不相同的个数、最大值、最小值、中位数、方差;每对相邻API的调用顺序编号的不相同的个数、最大值、最小值、中位数、方差。
作为优选,所述生成模型和判别模型分别为GAN模型中的生成器和鉴别器,所述检测模型为随机森林模型。
本申请提供的基于生成对抗网络的恶意文件智能分析方法,基于基本的应用数据集,利用生成式对抗网络对抗交互训练思想,由生成模型不断生成样本,扩充了标签样本集,可提升入侵检测模型检测分类,提高了对入侵行为的检测准确率,可以增强模型执行多分类任务的检测能力,为提升入侵检测模型泛化能力提供一种有效的方法。并且基于API行为特征的智能恶意代码检测方法能够更好地检测与已知恶意代码样本行为相似的未知恶意代码,而不受恶意代码的多态、代码混淆、加密和加壳等技术的影响,从而使本申请具有高检测率、低误报率的优点。
附图说明
图1为本申请的基于生成对抗网络的恶意文件智能分析方法流程图;
图2为本申请以恶意文件为例生成对抗样本的结构示意图;
图3为本申请以恶意文件API序列为例生成对抗样本的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
其中一个实施例中,提供一种基于生成对抗网络的恶意文件智能分析方法,建立面向高级网络攻击的样本增强及智能分析体系,以克服恶意文件检测分析中样本稀少且误报高为目标,利用生成对抗网络进行样本增强,建立能够适应少样本的恶意文件分析方法。
如图1所示,本实施例中基于生成对抗网络的恶意文件智能分析方法,包括以下步骤:
步骤1、获取应用数据集,应用数据集中包含正常文件和恶意文件,取恶意文件和正常文件经沙箱程序模拟运行得到恶意文件和正常文件的API序列。
本实施例中应用数据集来源于网络采集,漏洞盒子捕获,virusShare收集下载等。具体包括阿里云数据集,共13887个文件,其中恶意文件8909个,正常文件4978个;华军文件的正常文件14104个;漏洞盒子捕获,其中恶意文件14573个。Windows系统获取正常文件8380个,virusShare下载恶意文件37829个;其他第三方渠道获取正常文件31970个。应用数据集中恶意文件共61311个,正常文件共59432个。
本实施例为了能够更好地检测与已知恶意代码样本行为相似的未知恶意代码,提出在后续的训练分析过程中,不直接使用文件本身进行检测,而是采用来自PE文件(windows可执行程序)经过沙箱程序模拟运行后的API(Application Program Interface,应用程序接口)序列,全为windows二进制可执行程序,经过脱敏处理。所使用的API序列的具体格式设计如表1所示。
表1API序列格式设计表
需要说明的是,一个文件调用的API数量有可能很多,对于一个tid字段中调用超过5000个API的文件,本实施例将进行截断,按照顺序保留了每个tid字段中前5000个API的记录,当然保留的API的数量可以根据实际需求进行调整,例如还可以是保留前3000、6000等。另外,不同线程tid字段之间没有顺序关系,同一个tid字段里的index字段中由小到大代表API调用的先后顺序关系。
步骤2、提取恶意文件和正常文件的API序列的特征向量,特征向量包括全局特征、局部组合特征、高阶局部特征和2-gram局部特征。
为了充分分析恶意文件,提高分析检测率,本实施例中所采用的全局特征、局部组合特征、高阶局部特征和2-gram局部特征分别包括以下内容:
全局特征包括:全部的API的个数、不相同API的个数;全部线程编号的个数、不相同的线程编号个数、最大的线程编号、最小的线程编号、线程编号分位数、线程编号方差、线程编号中位数;全部返回值的个数、不相同的返回值个数、返回值个数最大值、返回值个数最小值、返回值个数分位数、返回值个数方差、返回值个数中位数;全部的调用顺序编号的数量、不相同的调用顺序编号的数量、调用顺序编号最大值、调用顺序编号最小值、调用顺序编号分位数、调用顺序编号方差、调用顺序编号中位数。
局部组合特征包括:每个API调用的线程编号的个数、不相同线程编号的个数;每个API的返回值的不相同的个数、每个API的返回值的最大值、每个API的返回值的最小值、每个API的返回值的中位数、每个API的返回值的方差;每个API调用的顺序编号的不相同的数量、每个API调用的顺序编号的最大值、每个API调用的顺序编号的最小值、每个API调用的顺序编号的中位数、每个API调用的顺序编号的方差;每个顺序编号调用的API的个数、每个顺序编号调用的不相同API的个数;每个顺序编号对应的API返回值的不相同的个数、每个顺序编号对应的API返回值的最大值、每个顺序编号对应的API返回值的最小值、每个顺序编号对应的API返回值的中位数、每个顺序编号对应的API返回值的方差;每个顺序编号对应的线程编号的不相同的个数、每个顺序编号对应的线程编号的最大值、每个顺序编号对应的线程编号的最小值、每个顺序编号对应的线程编号的中位数、每个顺序编号对应的线程编号的方差。
高阶局部特征包括:每个API调用的线程编号的返回值的不同个数、每个API调用的线程编号的返回值的最大值、每个API调用的线程编号的返回值的最小值、每个API调用的线程编号的返回值的中位数、每个API调用的线程编号的返回值的方差;每个API调用的线程编号对应的顺序序号的不同个数、每个API调用的线程编号对应的顺序序号的最大值、每个API调用的线程编号对应的顺序序号的最小值、每个API调用的线程编号对应的顺序序号的中位数、每个API调用的线程编号对应的顺序序号的方差。
2-gram局部特征包括:每对相邻API调用的线程个数、每对相邻API调用的线程不相同的个数;每对相邻API的返回值的不相同的个数、每对相邻API的返回值的最大值、每对相邻API的返回值的最小值、每对相邻API的返回值的中位数、每对相邻API的返回值的方差;每对相邻API的调用顺序编号的不相同的个数、每对相邻API的调用顺序编号的最大值、每对相邻API的调用顺序编号的最小值、每对相邻API的调用顺序编号的中位数、每对相邻API的调用顺序编号的方差。需要说明的是,本实施例主要利用2-gram局部特征,以保证得到最具代表性的特征向量,在其他实施例中或其他需求下可以使用n-gram局部特征。并且上述特征提取过程为基于现有工具直接提取得到,例如windbg、IDA pro、PE view等工具。
步骤3、基于恶意文件和正常文件的API序列生成恶意样本API序列。
针对恶意文件更新快速的情况,若只使用原有的数据集进行攻击检测模型(本实施例中的检测模型可以是随机森林模型)的训练,可能会导致检测模型对于一些恶意文件的变体无法检测,从而增大检测模型的漏检率的问题。
为了克服上述问题,本实施例采用GAN(生成式模型Generative AdversarialNetworks)与检测模型相结合的MalGAN模型来生成具有对抗性的恶意样本,利用此恶意样本对随机森林模型重新进行训练,使其具有检测对抗性样本的能力,MalGAN模型如图2所示,包括检测模型以及GAN中的生成模型(生成器)和判别模型(鉴别器)。
本实施例基于MalGAN模型中的生成模型将恶意文件特征向量转换为其对抗样本,生成模型以恶意文件特征向量m和随机噪声向量z的串联作为输入。通过一个前馈神经网络对抗学习良性样本的特征来生成恶意样本,并且使得生成的恶意样本可以绕过检测模型进行攻击。
由于恶意文件的特征因子包含种类较多,例如杀毒结果、散列值、加壳器、节区名与熵、API、字符串、PE元数据等,因此本实施例先以恶意文件为对象说明对抗样本生成过程。
如图2所示,取恶意文件的特征向量,将恶意文件的特征向量和随机噪声向量串联作为输入对象;将得到的输入对象输入至生成模型中,由生成模型生成恶意样本;将生成的恶意样本输入至检测模型中,并将应用数据集中的正常文件作为良性样本同时输入至检测模型中;检测模型对输入的恶意样本和良性样本进行检测,并将检测结果(恶意样本或良性样本)发送至判别模型;判别模型根据检测模型输出的检测结果比较恶意样本和良性样本的特征分布反馈至生成模型。判别模型通过内部前馈神经网络来比较生成的恶意样本和原始的良性样本的特征分布,然后将信息反馈给生成模型指导生成模型的生成规则向良性样本靠拢。
在MalGAN模型训练之初,检测模型可以正确的分辨出良性样本和生成的恶意样本,判别模型也可以分辨出生成样本(恶意样本)和原始样本(良性样本)。在MalGAN模型训练至平衡状态后,检测模型将会把所有输入的样本都认为是良性样本,即生成的恶意样本可以绕过检测模型进行攻击,判别模型将不能够识别出输入数据来自生成样本还是原始样本,因此利用此时生成模型生成的样本对后续的检测模型进行训练,可极大提升检测模型对恶意文件的检测准确率,而不受恶意代码的多态、代码混淆、加密和加壳等技术的影响。
本实施例中提出基于恶意文件的API序列进行恶意文件的检测,相比于恶意文件的其他特征因子而言,API序列能够更全面、直观的反映恶意文件,因此以下本实施例具体以API序列为主说明对抗样本生成过程。
本实施例利用生成式对抗网络对抗交互训练思想,解决恶意文件运行的AP I动态调用训练标签样本较少以致影响模型检测效果的问题。恶意文件检测分析的动态特征主要来源于PE(Portable Executable)文件动态运行时与操作系统交互调用的API行为信息,基于API行为特征的智能恶意代码检测方法能够更好地检测与已知恶意代码样本行为相似的未知恶意代码,而不受恶意代码的多态、代码混淆、加密和加壳等技术的影响。
本实施例中使用MalGAN模型生成对抗样本API序列,通过仅在API序列中增加API,而不删除API的方式达到保证新生成的恶意样本具备原有功能的目的。这样生成的API序列,相比于原始API序列新增加了一个或多个API。使用新生成的API序列,恶意文件开发者可以在源代码的基础上填写新API代码的实现逻辑,或者通过反汇编恶意二进制样本在汇编层级上添加新API功能。修改后的恶意样本具备可执行能力,并且保留了原有功能具备且恶意性不损失。
如图3所示,本实施例中基于MalGAN模型对应用数据集中的恶意文件API序列生成动态恶意文件样本,包括以下步骤:
步骤3.1、取恶意文件的API序列的特征向量,将恶意文件的API序列的特征向量和服从均匀分布的噪声向量串联作为输入对象;
步骤3.2、将步骤3.1得到的输入对象输入至生成模型中,由生成模型生成恶意样本API序列;
步骤3.3、将步骤3.2生成的恶意样本API序列输入至检测模型中,并将正常文件的API序列作为良性样本API序列同时输入至检测模型中;
步骤3.4、检测模型对输入的恶意样本API序列和良性样本API序列进行检测,并将检测结果发送至判别模型;
步骤3.5、判别模型根据检测模型输出的检测结果比较恶意样本API序列和良性样本API序列的特征分布并反馈至生成模型用于生成模型更新模型参数;
步骤3.6、重复执行步骤3.1至步骤3.5直至检测模型检测输入的恶意样本API序列和良性样本API序列均为良性样本API序列,保存此时的生成模型,并利用保存的生成模型对应用数据集中的恶意文件的API序列的特征向量生成恶意样本API序列。
以API序列来表示一个程序,使用MalGAN模型生成基于API序列的恶意样本。如果使用M个API作为特征,则为程序构造一个M维特征向量。如果程序调用第d个API,则将第d个特性值设置为1,否则设置为0。以API特征向量m和噪声向量z的串联作为输入。m是一个M维的二进制向量,m的每个元素对应一个特征的存在或不存在。z是一个Z维向量,其中Z是超参数。z的每个元素都是从[0,1]范围内的均匀分布中采样的随机数。其中特征向量m是M的一个实例化结果,例如M个API作为特征指的是一个特征的模板,如特征为{F1,F2,…,Fn},其中F1,F2,…,Fn为0或者1。那么,特征向量m为上述模板实例化之后的值,如{1,0,…,1}或者{0,0,…,1}等等。
在模型训练至平衡状态后,通过MalGAN模型可以使原恶意API序列学习到良性样本的特征,从而在恶意样本不丢失原恶意攻击能力的同时还披上良性样本的外衣,使得检测模型错分类为良性样本而达到恶意攻击的目的。
步骤4、取应用数据集中的恶意文件和正常文件的API序列、步骤3得到的恶意样本API序列对检测模型进行训练,直至检测模型的检测结果达到预设的准确度,得到最终的检测模型。
使用MalGAN模型生成具有对抗性的恶意样本,可以绕过检测模型而达到恶意攻击的目的,即检测模型没有对具有对抗性的样本分类的能力。因此可以利用原有的数据集加上由MalGAN模型生成的恶意样本构成新的数据集对检测模型进行重新训练。采用这样的方法待模型训练完成以后,不仅可以检测一般的恶意文件还可以检测出具有对抗性的恶意文件,从而增加了随机森林模型对恶意文件检测的能力,使得一些增加了扰动的恶意文件也无法绕过模型的检测进行攻击。
其中,在MalGAN模型生成恶意样本后,还可以通过使用ACC指标(准确率)综合评估使用GAN框架构建的样本是否能对原有恶意样本检测模型达到检测准确性增强的目的。本实施例中提供一种评估方法如下:基于训练集生成动态API序列检测模型、使用训练数据集基于MalGAN模型生成对抗样本数据集、基于对抗样本数据集重训练动态API序列检测模型、将前后两个API序列检测模型,使用相同的测试数据集测试模型检测能力,具体使用ACC评估模型效果。
步骤5、利用最终得到的检测模型对待分析文件进行检测,输出待分析文件为正常文件或恶意文件的检测结果。
容易理解的是,在训练过程中若基于文件的API序列进行训练,则在实时检测时也将待分析文件进行相同处理,得到对应的特征后再输入至检测模型中进行分析,这一点是神经网络训练应用的常规应用,本实施例中不再展开描述。
本申请的重点突破在于提出生成式对抗网络的小样本增强技术,即针对恶意文件运行的API动态调用训练标签样本较少以致影响模型检测效果的问题,利用生成式对抗网络对抗交互训练思想,利用生成式对抗网络在恶意文件检测中进行样本扩充。具体实现中,将针对API调用行为表现出的时序性和关联性等特点,构建以前馈神经网络(feedforwardneural network,FNN)为生成器的生成式对抗网络模型。由生成模型不断生成样本,扩充了标签样本集,可提升入侵检测模型检测分类,提高了对入侵行为的检测准确率,可以增强模型执行多分类任务的检测能力,为提升入侵检测模型泛化能力提供一种有效的方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (3)
1.一种基于生成对抗网络的恶意文件智能分析方法,其特征在于,所述基于生成对抗网络的恶意文件智能分析方法,包括:
步骤1、获取应用数据集,所述应用数据集中包含正常文件和恶意文件,取恶意文件和正常文件经沙箱程序模拟运行得到恶意文件和正常文件的API序列;
步骤2、提取恶意文件和正常文件的API序列的特征向量,所述特征向量包括全局特征、局部组合特征、高阶局部特征和2-gram局部特征;
步骤3、基于恶意文件和正常文件的API序列生成恶意样本API序列,包括:
步骤3.1、取恶意文件的API序列的特征向量,将恶意文件的API序列的特征向量和服从均匀分布的噪声向量串联作为输入对象;
步骤3.2、将步骤3.1得到的输入对象输入至生成模型中,由生成模型生成恶意样本API序列;
步骤3.3、将步骤3.2生成的恶意样本API序列输入至检测模型中,并将正常文件的API序列作为良性样本API序列同时输入至检测模型中;
步骤3.4、检测模型对输入的恶意样本API序列和良性样本API序列进行检测,并将检测结果发送至判别模型;
步骤3.5、判别模型根据检测模型输出的检测结果比较恶意样本API序列和良性样本API序列的特征分布并反馈至生成模型用于生成模型更新模型参数;
步骤3.6、重复执行步骤3.1至步骤3.5直至检测模型检测输入的恶意样本API序列和良性样本API序列均为良性样本API序列,保存此时的生成模型,并利用保存的生成模型对应用数据集中的恶意文件的API序列的特征向量生成恶意样本API序列;
步骤4、取应用数据集中的恶意文件和正常文件的API序列、步骤3得到的恶意样本API序列对检测模型进行训练,直至检测模型的检测结果达到预设的准确度,得到最终的检测模型;
步骤5、利用最终得到的检测模型对待分析文件进行分析,输出待分析文件为正常文件或恶意文件的检测结果。
2.如权利要求1所述的基于生成对抗网络的恶意文件智能分析方法,其特征在于,所述全局特征包括:全部的API的个数、不相同API的个数;全部线程编号的个数、不相同的线程编号个数、最大的线程编号、最小的线程编号、线程编号分位数、线程编号方差、线程编号中位数;全部返回值的个数、不相同的返回值个数、返回值个数最大值、返回值个数最小值、返回值个数分位数、返回值个数方差、返回值个数中位数;全部的调用顺序编号的数量、不相同的调用顺序编号的数量、调用顺序编号最大值、调用顺序编号最小值、调用顺序编号分位数、调用顺序编号方差、调用顺序编号中位数;
所述局部组合特征包括:每个API调用的线程编号的个数、不相同线程编号的个数;每个API的返回值的不相同的个数、最大值、最小值、中位数、方差;每个API调用的顺序编号的不相同的数量、最大值、最小值、中位数、方差;每个顺序编号调用的API的个数、不相同API的个数;每个顺序编号对应的API返回值的不相同的个数、最大值、最小值、中位数、方差;每个顺序编号对应的线程编号的不相同的个数、最大值、最小值、中位数、方差;
所述高阶局部特征包括:每个API调用的线程编号的返回值的不同个数、最大值、最小值、中位数、方差;每个API调用的线程编号对应的顺序序号的不同个数、最大值、最小值、中位数、方差;
所述2-gram局部特征包括:每对相邻API调用的线程个数、不相同的个数;每对相邻API的返回值的不相同的个数、最大值、最小值、中位数、方差;每对相邻API的调用顺序编号的不相同的个数、最大值、最小值、中位数、方差。
3.如权利要求1所述的基于生成对抗网络的恶意文件智能分析方法,其特征在于,所述生成模型和判别模型分别为GAN模型中的生成器和鉴别器,所述检测模型为随机森林模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110339736.1A CN113221109B (zh) | 2021-03-30 | 2021-03-30 | 一种基于生成对抗网络的恶意文件智能分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110339736.1A CN113221109B (zh) | 2021-03-30 | 2021-03-30 | 一种基于生成对抗网络的恶意文件智能分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113221109A CN113221109A (zh) | 2021-08-06 |
CN113221109B true CN113221109B (zh) | 2022-06-28 |
Family
ID=77084290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110339736.1A Active CN113221109B (zh) | 2021-03-30 | 2021-03-30 | 一种基于生成对抗网络的恶意文件智能分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113221109B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113938291B (zh) * | 2021-09-03 | 2022-12-02 | 华中科技大学 | 一种基于对抗攻击算法的加密流量分析防御方法和系统 |
TWI795153B (zh) * | 2021-12-29 | 2023-03-01 | 國立成功大學 | 網路惡意流量分析之平衡式資料集生成與處理系統及其方法 |
CN115249048B (zh) * | 2022-09-16 | 2023-01-10 | 西南民族大学 | 一种对抗样本生成方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034050A (zh) * | 2011-01-25 | 2011-04-27 | 四川大学 | 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法 |
CN106778268A (zh) * | 2016-11-28 | 2017-05-31 | 广东省信息安全测评中心 | 恶意代码检测方法与系统 |
CN110110738A (zh) * | 2019-03-20 | 2019-08-09 | 西安电子科技大学 | 一种基于多特征融合的雷达辐射源识别方法 |
CN110348214A (zh) * | 2019-07-16 | 2019-10-18 | 电子科技大学 | 对恶意代码检测的方法及系统 |
RU2706896C1 (ru) * | 2018-06-29 | 2019-11-21 | Акционерное общество "Лаборатория Касперского" | Система и способ выявления вредоносных файлов с использованием модели обучения, обученной на одном вредоносном файле |
CN110704840A (zh) * | 2019-09-10 | 2020-01-17 | 中国人民公安大学 | 一种基于卷积神经网络cnn的恶意软件检测方法 |
CN111259393A (zh) * | 2020-01-14 | 2020-06-09 | 河南信息安全研究院有限公司 | 一种基于生成对抗网络的恶意软件检测器抗概念漂移方法 |
CN111639337A (zh) * | 2020-04-17 | 2020-09-08 | 中国科学院信息工程研究所 | 一种面向海量Windows软件的未知恶意代码检测方法及系统 |
CN111832019A (zh) * | 2020-06-10 | 2020-10-27 | 国家计算机网络与信息安全管理中心 | 基于生成对抗网络的恶意代码检测方法 |
CN112528275A (zh) * | 2020-11-23 | 2021-03-19 | 浙江工业大学 | 基于元路径学习与子图采样的apt网络攻击检测方法 |
CN112565261A (zh) * | 2020-12-04 | 2021-03-26 | 浙江大学 | 基于多生成器AugGAN的对抗动态恶意API序列生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2739865C2 (ru) * | 2018-12-28 | 2020-12-29 | Акционерное общество "Лаборатория Касперского" | Система и способ обнаружения вредоносного файла |
-
2021
- 2021-03-30 CN CN202110339736.1A patent/CN113221109B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034050A (zh) * | 2011-01-25 | 2011-04-27 | 四川大学 | 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法 |
CN106778268A (zh) * | 2016-11-28 | 2017-05-31 | 广东省信息安全测评中心 | 恶意代码检测方法与系统 |
RU2706896C1 (ru) * | 2018-06-29 | 2019-11-21 | Акционерное общество "Лаборатория Касперского" | Система и способ выявления вредоносных файлов с использованием модели обучения, обученной на одном вредоносном файле |
CN110110738A (zh) * | 2019-03-20 | 2019-08-09 | 西安电子科技大学 | 一种基于多特征融合的雷达辐射源识别方法 |
CN110348214A (zh) * | 2019-07-16 | 2019-10-18 | 电子科技大学 | 对恶意代码检测的方法及系统 |
CN110704840A (zh) * | 2019-09-10 | 2020-01-17 | 中国人民公安大学 | 一种基于卷积神经网络cnn的恶意软件检测方法 |
CN111259393A (zh) * | 2020-01-14 | 2020-06-09 | 河南信息安全研究院有限公司 | 一种基于生成对抗网络的恶意软件检测器抗概念漂移方法 |
CN111639337A (zh) * | 2020-04-17 | 2020-09-08 | 中国科学院信息工程研究所 | 一种面向海量Windows软件的未知恶意代码检测方法及系统 |
CN111832019A (zh) * | 2020-06-10 | 2020-10-27 | 国家计算机网络与信息安全管理中心 | 基于生成对抗网络的恶意代码检测方法 |
CN112528275A (zh) * | 2020-11-23 | 2021-03-19 | 浙江工业大学 | 基于元路径学习与子图采样的apt网络攻击检测方法 |
CN112565261A (zh) * | 2020-12-04 | 2021-03-26 | 浙江大学 | 基于多生成器AugGAN的对抗动态恶意API序列生成方法 |
Non-Patent Citations (3)
Title |
---|
MACSPMD:基于恶意API调用序列模式挖掘的恶意代码检测;荣俸萍等;《计算机科学》;20180515(第05期);全文 * |
基于One-Hot的CNN恶意代码检测技术;傅依娴等;《计算机应用与软件》;20200112(第01期);全文 * |
基于样本增强的网络恶意流量智能检测方法;陈铁明;《通信学报》;20200612;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113221109A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aslan et al. | A new malware classification framework based on deep learning algorithms | |
CN113221109B (zh) | 一种基于生成对抗网络的恶意文件智能分析方法 | |
US9781139B2 (en) | Identifying malware communications with DGA generated domains by discriminative learning | |
Clements et al. | Rallying adversarial techniques against deep learning for network security | |
Salehi et al. | A miner for malware detection based on API function calls and their arguments | |
US11888881B2 (en) | Context informed abnormal endpoint behavior detection | |
CN112738015A (zh) | 一种基于可解释卷积神经网络cnn与图检测的多步攻击检测方法 | |
CN111460446B (zh) | 基于模型的恶意文件检测方法及装置 | |
Pachhala et al. | A comprehensive survey on identification of malware types and malware classification using machine learning techniques | |
Kim et al. | Andro-simnet: Android malware family classification using social network analysis | |
CN109992969B (zh) | 一种恶意文件检测方法、装置及检测平台 | |
EP3905084A1 (en) | Method and device for detecting malware | |
CN113468524B (zh) | 基于rasp的机器学习模型安全检测方法 | |
Zhang et al. | Early detection of host-based intrusions in Linux environment | |
Manavi et al. | A new method for malware detection using opcode visualization | |
Vu et al. | Handling imbalanced data in intrusion detection systems using generative adversarial networks | |
Boot | Applying supervised learning on malware authorship attribution | |
Pranav et al. | Detection of botnets in IoT networks using graph theory and machine learning | |
Khammas | The performance of iot malware detection technique using feature selection and feature reduction in fog layer | |
Kumar et al. | Detection of malware using deep learning techniques | |
CN112149121A (zh) | 一种恶意文件识别方法、装置、设备及存储介质 | |
Nandagopal et al. | Classification of Malware with MIST and N-Gram Features Using Machine Learning. | |
Karat et al. | CNN-LSTM Hybrid Model for Enhanced Malware Analysis and Detection | |
Sundaram et al. | Improving Performance of Intrusion Detection Using ALO Selected Features and GRU Network | |
CN113553584A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221114 Address after: Room D403, Building 4, Huifeng International Business Center, No. 2, Jingshanling Road, Xihu District, Hangzhou, Zhejiang, 310000 Patentee after: Hangzhou Hongyuan Intelligent Network Testing Technology Co.,Ltd. Address before: 310014 No. 18 Chao Wang Road, Xiacheng District, Zhejiang, Hangzhou Patentee before: JIANG University OF TECHNOLOGY |
|
TR01 | Transfer of patent right |