CN117272303A - 一种基于遗传对抗的恶意代码样本变体生成方法及系统 - Google Patents
一种基于遗传对抗的恶意代码样本变体生成方法及系统 Download PDFInfo
- Publication number
- CN117272303A CN117272303A CN202311260375.7A CN202311260375A CN117272303A CN 117272303 A CN117272303 A CN 117272303A CN 202311260375 A CN202311260375 A CN 202311260375A CN 117272303 A CN117272303 A CN 117272303A
- Authority
- CN
- China
- Prior art keywords
- variant
- genetic
- sample
- modification
- file
- 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
- 230000002068 genetic effect Effects 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012986 modification Methods 0.000 claims abstract description 62
- 230000004048 modification Effects 0.000 claims abstract description 62
- 238000001514 detection method Methods 0.000 claims abstract description 27
- 230000003044 adaptive effect Effects 0.000 claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims abstract description 23
- 230000003068 static effect Effects 0.000 claims abstract description 16
- 239000012634 fragment Substances 0.000 claims abstract description 13
- 230000002155 anti-virotic effect Effects 0.000 claims abstract description 7
- 238000013528 artificial neural network Methods 0.000 claims description 43
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 21
- 230000006399 behavior Effects 0.000 claims description 20
- 230000000306 recurrent effect Effects 0.000 claims description 14
- 239000013598 vector Substances 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 8
- 238000012549 training Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 6
- 238000002347 injection Methods 0.000 claims description 5
- 239000007924 injection Substances 0.000 claims description 5
- APCOCBAIVOCSTO-UHFFFAOYSA-N 2-[4-(3-methoxyphenyl)piperazin-1-ium-1-yl]acetate Chemical compound COC1=CC=CC(N2CC[NH+](CC([O-])=O)CC2)=C1 APCOCBAIVOCSTO-UHFFFAOYSA-N 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000006378 damage Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000001066 destructive effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000544061 Cuculus canorus Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 239000002699 waste material Substances 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
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Virology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于遗传对抗的恶意代码样本变体生成方法及系统,涉及网络空间安全技术领域,使用PE文件片段和预定义操作产生修改操作集合,每轮迭代中随机选取一种修改操作作用于当前世代并产生下一世代的个体;获取每代适应性计算结果,使用适应性排序靠前的个体继续生成;计算当前变体与家族语义模式的相似性,作为遗传迭代的静态约束条件;学习原始样本家族的API调用模式,加入反病毒引擎检出率,产生遗传迭代的动态约束条件;根据约束条件调整世代最终产生变体样本集合。本发明基于GAMMA通过设计多种预定义修改操作,实现在保护样本功能性的同时,形成变体迭代种群的多样化,避免低质量个体占用检测资源。
Description
技术领域
本发明涉及网络空间安全技术领域,具体的说,是一种基于遗传对抗的恶意代码样本变体生成方法及系统。
背景技术
恶意代码检测中,需要使用样本变体生成技术产生足够多样且具有逃逸检测能力的样本数据集。现有的恶意代码变体生成技术中,引入遗传算法作为生成手段,形成基于遗传对抗性机器学习的恶意代码攻击(Genetic Adversarial Machine learning MalwareAttack,GAMMA)的研究方向。现有研究中,由于过分依赖遗传的随机性且缺乏对世代的约束,呈现出3类问题:过分依赖随机的生成策略将在过程中产生大量结构已遭破坏的变体个体,占用负责保障功能性的后续检测资源,造成浪费;对变体个体的可运行能力评估不充分,仅依靠静态分析容易将不符合预期功能的个体误判为合格;缺少对非预期特征的约束,使变体个体容易包含异常数量的注入节数据或总体文件大小。
发明内容
本发明的目的在于提供一种基于遗传对抗的恶意代码样本变体生成方法及系统,用于解决现有技术中存在产生大量结构已遭破坏的变体个体、变体个体发送误判以及变体个体容易包含异常数量的注入节数据或总体文件大小的问题。
本发明通过下述技术方案解决上述问题:
一种基于遗传对抗的恶意代码样本变体生成方法及系统,包括:
步骤S1、使用良性二进制程序文件PE文件片段和预定义操作相结合的方式产生作用于样本变体的修改操作集合,所述修改操作集合分为仅针对结构的修改和针对行为的修改;
步骤S2、采用遗传迭代生成器实现遗传算法的选择和变异行为,每轮迭代中随机选取一种修改操作作用于当前世代,并产生下一世代的个体;遗传迭代生成器获取每代适应性计算结果,根据预置值使用适应性排序靠前的个体继续生成;
步骤S3、使用图神经网络判别器学习原始样本家族语义相似性,并在适应性计算时用于计算当前变体与家族语义模式的相似性,作为遗传迭代的静态约束条件;
步骤S4、使用长短时记忆递归神经网络学习原始样本家族的API调用模式,与当前变体计算Jaccard相似系数,用于判断当前变体与家族的API调用相似性程度,同时加入反病毒引擎检出率,在适应性计算中产生遗传迭代的动态约束条件;
步骤S5、遗传迭代根据动态约束条件和静态约束条件调整世代,最终产生变体样本集合。
进一步地,所述针对结构的修改即修改仅对文件的结构产生影响,包括:
尾部填充,在文件尾部追加无意义字节;
DOS存根修改,在Windows平台PE文件特有的DOS存根部分替换字节;
DOS头部修改,在长度限制内更改DOS头部中的值;
COFF头部修改;可选头部修改;
数据目录修改,在数据目录列表中随机选择一项数据进行修改;
所述针对行为的修改即修改在改变文件结构的同时,对其执行行为也产生影响,包括:
节区重命名,节区注入,注入内容为从良性PE文件中截取的片段;
松弛空间填充,利用文件对齐在文件节数据区的松弛空间注入片段;
代码空洞填充,对原整体逻辑未使用的字节片段进行随机修改和片段注入;异或混淆,对原文件整体进行异或加密,并增加引导程序在运行时释放原文件;
加壳,对原文件进行加密和重编码混淆。
进一步地,所述图神经网络判别器由指令嵌入生成器、均值池化层、Structure2vec模型和全连接神经网络组成,输入为PE文件的汇编代码,输出为相似性搜索的二进制函数嵌入。
进一步地,所述步骤S3具体包括:
步骤S31、将原始样本按照其家族分类,分别输入指令嵌入生成器;
步骤S32、指令嵌入生成器通过均值池化层调整,替代属性控制流图特征向量作为Structure2vec的训练数据;
步骤S33、使用3层全连接神经网络训练Structure2vec的非线性变换关系,使用聚合函数将特征向量聚合成图嵌入,结合神经网络的图嵌入产生输出嵌入表示形式;
步骤S34、针对适应性计算中样本变体的图嵌入表示形式,使用嵌入网络得到降维的特征向量,并计算余弦距离,基于设定不相似阈值和相似阈值判断样本变体的相似性水平。
进一步地,所述长短时记忆递归神经网络由1层LSTM层、1层隐藏层和1层输出层组成,输入为API调用序列,输出为每个家族的API调用模式。
一种基于遗传对抗的恶意代码样本变体生成系统,包括基于预定义操作的遗传迭代生成器、图神经网络判别器、递归神经网络判别器和适应性计算模块,其中:
基于预定义操作的遗传迭代生成器,用于采用仅针对结构的修改和针对行为的修改在每轮迭代中对样本变体进行实际改动,产生下一世代的变体个体,同时接收适应性计算模块反馈,剔除每个世代中不符合约束条件要求的个体;
图神经网络判别器,用于判断当前样本变体在语义上与其所属原始恶意代码家族的相似性水平,作为静态约束条件;
递归神经网络判别器,用于判断当前样本变体运行产生的API调用序列与其所属原始恶意代码家族的相似性水平,结合反病毒引擎检测结果,作为动态约束条件;
适应性计算模块,用于计算动态约束与静态约束条件,判断当前样本变体是否符合约束要求,并反馈至遗传迭代生成器。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明基于遗传对抗性机器学习的恶意代码攻击(Genetic AdversarialMachine learning Malware Attack,GAMMA),通过设计多种预定义修改操作,实现在保护样本功能性的同时,形成变体迭代种群的多样化,避免低质量个体占用检测资源。
(2)本发明针对变体功能性保障不充分和非预期特征问题,利用代码混淆,并追加无害片段,避免对样本结构造成破坏性改动。
(3)本发明细化适应性评估,从动态条件与静态条件双方面产生约束,以求保障最终变体产物的功能性并避免非预期特征。由于增强迭代约束,本发明产生的样本变体总体逃逸水平优于完全依赖于随机性的方案,有利于形成质量更优的样本变体数据集,供检测研究使用。
(4)本发明解决了现有技术中会产生大量结构已遭破坏的变体个体、变体个体发送误判以及变体个体容易包含异常数量的注入节数据或总体文件大小的问题。
(5)本发明在迭代设计上加强约束,避免过往遗传算法因过度依赖随机性而导致变体预期功能性遭到破坏且迭代生成效率不高,有助于为检测研究提供有价值的恶意代码样本变体数据集。
附图说明
图1为本发明的系统框架图;
图2为本发明中迭代生成过程示意图;
图3为递归神经网络判别器框架图;
图4为图神经网络判别器框架图;
图5为图神经网络层内结构示意图;
图6为图嵌入降维对比示意图;
图7为语义判断实现框架图;
图8为计算适应性的流程图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
结合附图1所示,一种基于遗传对抗的恶意代码样本变体生成方法,包括:
步骤S1:使用良性二进制程序文件(Portable Executable,PE)文件片段和预定义操作相结合的方式产生实际作用于样本变体的修改操作集合,所述修改操作集合按作用效果分为仅针对结构的修改和针对行为的修改;
步骤S2:遗传迭代生成器实现遗传算法的选择和变异行为,每轮迭代中随机选取1种修改操作作用于当前世代,产生下一世代的个体。遗传迭代生成器获取每代适应性计算结果,根据预置值使用适应性排序靠前的个体继续生成;
由于实际的遗传迭代对象是能够作用于样本变体的各种修改操作,传统意义遗传算法中的交叉行为失去改变文件结构的作用,因此本发明不采用。如图2所示,其中终止条件分为触发迭代轮次阈值、连续5代适应性评估水平未产生明显优化和适应性评估水平达标3类,满足任一条件即终止。
步骤S3:使用图神经网络判别器学习原始样本的家族语义相似性,并在适应性计算时用于计算当前变体与家族语义模式的相似性,作为遗传迭代的静态约束条件;
步骤S4:使用长短时记忆递归神经网络学习原始样本家族的API调用模式,与当前变体计算Jaccard相似系数,用于判断当前变体与家族的API调用相似性程度,同时加入反病毒引擎检出率(检出当前变体恶意性的引擎于总引擎数的占比),在适应性计算中产生遗传迭代的动态约束条件。
步骤S5、遗传迭代根据动态约束条件和静态约束条件调整世代,最终产生变体样本集合。
所述修改操作集合分为仅针对结构的修改和针对行为的修改。其中:
仅针对结构的修改,即修改仅对文件的结构产生影响,包括:尾部填充,在文件尾部追加无意义字节;DOS存根修改,在Windows平台PE文件特有的DOS存根部分替换字节;DOS头部修改,在长度限制内更改DOS头部中的值;COFF头部修改;可选头部修改;数据目录修改,在数据目录列表中随机选择一项数据进行修改。
针对行为的修改,即修改在改变文件结构的同时,对其执行行为也产生影响,包括:节区重命名;节区注入,注入内容为从良性PE文件中截取的片段;松弛空间填充,利用文件对齐在文件节数据区的松弛空间注入片段;代码空洞填充,对原整体逻辑未使用的字节片段进行随机修改和片段注入;异或混淆,对原文件整体进行异或加密,并增加引导程序在运行时释放原文件;加壳,对原文件进行加密和重编码混淆。
所述用于学习API调用模式的递归神经网络由1层LSTM层、1层隐藏层和1层输出层组成,输入为API调用序列,输出为每个家族的API调用模式,其整体流程如图3所示。
所述用于判断语义相似性的图神经网络判别器由指令嵌入生成器、均值池化层、Structure2vec模型和全连接神经网络组成,输入为PE文件的汇编代码,输出为相似性搜索的二进制函数嵌入。输入汇编语句经过的处理流程如图4所示,通过3层全连接神经网络(层内结构如图5所示)训练Structure2vec模型,以得到最终的图嵌入形式,通过对比变体和原始家族的图嵌入形式,判断变体的语义相似性水平。
所述步骤S3具体包括:
步骤S31:将原始样本按照其家族分类,分别输入指令嵌入生成器,利用自然语言处理模型产生嵌入表示;
步骤S32:指令嵌入通过均值池化层调整,替代属性控制流图特征向量作为Structure2vec的训练数据;
步骤S33:使用3层全连接神经网络训练Structure2vec的非线性变换关系,使用聚合函数将特征向量聚合成图嵌入,结合神经网络的图嵌入产生输出嵌入表示形式;
步骤S34:针对适应性计算中样本变体的图嵌入表示形式,使用嵌入网络得到降维的特征向量,并计算余弦距离,基于设定阈值-1(不相似)和1(相似)判断样本变体的相似性水平。如图6所示,将网络的图嵌入作为降维方法,获得对比双方图嵌入的特征向量,并计算余弦距离,通过阈值判断相似或不相似。
实施例2:
结合图1所示,一种基于遗传对抗的恶意代码样本变体生成系统,包括基于预定义操作的遗传迭代生成器、图神经网络判别器、递归神经网络判别器和适应性计算模块。其中:
基于预定义操作的遗传迭代生成器,用于采用仅针对结构的修改和针对行为的修改在每轮迭代中对样本变体进行实际改动,产生下一世代的变体个体,同时接收适应性计算模块反馈,剔除每个世代中不符合约束条件要求的个体。因遗传算法不具有数学意义上的收敛性,需额外指定收敛条件:触发迭代轮次阈值(设为120轮)、连续5代适应性评估水平未产生明显优化和适应性评估水平正常达标(设为0.85)。
仅针对结构的修改中:尾部填充在文件尾部(可能存在调试信息)追加无意义字节,可以改变校验并影响文件大小。默认指定填充内容为随机长度的0;DOS存根修改在Windows PE文件特有的DOS存根处进行修改,由于目前该区域仅作为保留格式,默认使用随机字节序列替换此处的字节;DOS头部修改在长度限制内改变DOS头部中的值,如改变initial SP的值等;COFF头部修改将修改COFF头部中的值,如修改其中的时间戳;可选头部修改将修改可选头部内的值,包括连接器版本、操作系统版本和校验和;数据目录修改在数据目录列表中随机选取一项数据进行修改,如relative virtual address(rva)或size。
针对行为的修改中:节区重命名将PE文件中随机选取的节区重命名为随机的字符组合;节区注入从良性PE文件中截取片段,并注入到变体样本中,从而混淆文件的统计特征;松弛空间填充,利用编译器文件内容对齐可能产生的空间进行注入;代码空洞填充,针对程序整体逻辑均未使用的字节区域进行注入,包括额外的计算行为和跳转;异或混淆使用随机生成的密钥异或处理变体的部分或全部字节,在实际执行时通过引导程序释放出原程序;加壳基于UPX 3.91进行自定义,通过等价指令替换破坏特征码,隐藏加壳指纹。
图神经网络判别器,用于判断当前样本变体在语义上与其所属原始恶意代码家族的相似性水平,作为静态约束条件。使用基于BERT改进的PalmTree模型作为嵌入生成模型,针对复杂的指令形式、存在噪声的代码上下文问题进行优化,参考Gemini模型,使用全连接神经网络对Structure2vec进行训练,网络结构变动示意如图7所示,指令嵌入通过均值池化层调整,替代属性控制流图特征向量作为Structure2vec的训练数据。因图神经网络判别器需要预先训练,需保证原始样本家族已知,且家族间样本容量不存在过大差异。网络使用Adam优化器,学习率设为0.0001。使用公开数据集对图6用于降维对比的模型进行100轮迭代训练,批处理窗口设为10。图神经网络嵌入大小为64,层数(嵌入深度)指定为3,对每个输入,图神经网络将重复运行5轮。
递归神经网络判别器,用于判断当前样本变体运行产生的API调用序列与其所属原始恶意代码家族的相似性水平,结合反病毒引擎检测结果,作为动态约束条件。使用Cuckoo沙箱可以搭建可靠的样本测试运行环境,在检查样本变体基本的可运行能力之外,可以有效提取运行产生的网络活动和API调用情况报告,并输出其特征码。每个样本变体在每次运行后产生的特征码集合均可能存在一定差异性,在本系统实验中发现,通过指定独立运行次数为6时,可以使约90%的个体获得饱和的特征码超集,考虑到本文的修改操作在设计上不破坏样本的结构完整性、可执行性,因此可以通过对比原始样本和变体趋于稳定的特征码集合判断变体功能性的保持情况。对应总体上平均产生的特征码数量,在LSTM层面限制输出长度为3000。因递归神经网络判别器需要预先训练,需保证原始样本家族已知,且家族间样本容量差异不宜过大。网络使用Adam优化器,学习率设为0.0001。
适应性计算模块,用于计算动态约束与静态约束条件,判断当前样本变体是否符合约束要求,并反馈至遗传迭代生成器。动态约束条件需要引入检测引擎结果,规定每20轮迭代中需要引入1次且仅有1次检测引擎,具体于该20轮内的分布随机,剩余19轮中动态约束数值仅为图神经网络的相似性评分,引入检测引擎的轮次将根据权重计算,默认指定检测引擎检出率在动态约束条件中的权重为0.3,相似性评分权重为0.7。静态约束条件评分于总适应性评分的权重默认为0.3,动态约束条件权重默认为0.7。每20轮,计算检测引擎检出率变动(检出当前世代恶意性的检测引擎占比相比于20代前占比的变化),将该变动比率作为动态约束条件中检测引擎结果的新权重。计算逻辑流程如图8所示。
本系统基于遗传对抗生成恶意代码变体样本,通过12种预定义操作及其组合的迭代产生变体种群的多样性,同时尽量避免对变体文件产生破坏。为保护样本变体的可用性,引入沙箱和检测引擎作为测试反馈,通过其报告约束迭代流程;为进一步保障样本变体的预期功能,引入基于语义的相似性计算模型,有效约束变体执行行为,总体上提升最终样本变体的质量,是一种有效的混淆与变体增殖方法。此外,本系统框架可以针对单一预定义修改操作进行评估,发现各种操作针对不同检测引擎的影响趋势,有助于进一步针对具体场景特化迭代过程。本系统相较于传统过于依赖随机性遗传算法方案更加节省时间成本与计算资源,可用性较高,为解决检测研究中需要大量变体样本的需求问题提供助力。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (6)
1.一种基于遗传对抗的恶意代码样本变体生成方法及系统,其特征在于,包括:
步骤S1、使用良性二进制程序文件PE文件片段和预定义操作相结合的方式产生作用于样本变体的修改操作集合,所述修改操作集合分为仅针对结构的修改和针对行为的修改;
步骤S2、采用遗传迭代生成器实现遗传算法的选择和变异行为,每轮迭代中随机选取一种修改操作作用于当前世代,并产生下一世代的个体;遗传迭代生成器获取每代适应性计算结果,根据预置值使用适应性排序靠前的个体继续生成;
步骤S3、使用图神经网络判别器学习原始样本家族语义相似性,并在适应性计算时用于计算当前变体与家族语义模式的相似性,作为遗传迭代的静态约束条件;
步骤S4、使用长短时记忆递归神经网络学习原始样本家族的API调用模式,与当前变体计算Jaccard相似系数,用于判断当前变体与家族的API调用相似性程度,同时加入反病毒引擎检出率,在适应性计算中产生遗传迭代的动态约束条件;
步骤S5、遗传迭代根据动态约束条件和静态约束条件调整世代,最终产生变体样本集合。
2.根据权利要求1所述的一种基于遗传对抗的恶意代码样本变体生成方法及系统,其特征在于,所述针对结构的修改即修改仅对文件的结构产生影响,包括:
尾部填充,在文件尾部追加无意义字节;
DOS存根修改,在Windows平台PE文件的DOS存根部分替换字节;
DOS头部修改,在长度限制内更改DOS头部中的值;
COFF头部修改;可选头部修改;
数据目录修改,在数据目录列表中随机选择一项数据进行修改;
所述针对行为的修改即修改在改变文件结构的同时,对其执行行为也产生影响,包括:
节区重命名,节区注入,注入内容为从良性PE文件中截取的片段;
松弛空间填充,利用文件对齐在文件节数据区的松弛空间注入片段;
代码空洞填充,对原整体逻辑未使用的字节片段进行随机修改和片段注入;
异或混淆,对原文件整体进行异或加密,并增加引导程序在运行时释放原文件;
加壳,对原文件进行加密和重编码混淆。
3.根据权利要求1所述的一种基于遗传对抗的恶意代码样本变体生成方法及系统,其特征在于,所述图神经网络判别器由指令嵌入生成器、均值池化层、Structure2vec模型和全连接神经网络组成,输入为PE文件的汇编代码,输出为相似性搜索的二进制函数嵌入。
4.根据权利要求3所述的一种基于遗传对抗的恶意代码样本变体生成方法及系统,其特征在于,所述步骤S3具体包括:
步骤S31、将原始样本按照其家族分类,分别输入指令嵌入生成器;
步骤S32、指令嵌入生成器通过均值池化层调整,替代属性控制流图特征向量作为Structure2vec的训练数据;
步骤S33、使用3层全连接神经网络训练Structure2vec的非线性变换关系,使用聚合函数将特征向量聚合成图嵌入,结合神经网络的图嵌入产生输出嵌入表示形式;
步骤S34、针对适应性计算中样本变体的图嵌入表示形式,使用嵌入网络得到降维的特征向量,并计算余弦距离,基于设定不相似阈值和相似阈值判断样本变体的相似性水平。
5.根据权利要求1所述的一种基于遗传对抗的恶意代码样本变体生成方法及系统,其特征在于,所述长短时记忆递归神经网络由1层LSTM层、1层隐藏层和1层输出层组成,输入为API调用序列,输出为每个家族的API调用模式。
6.一种基于遗传对抗的恶意代码样本变体生成系统,其特征在于,包括基于预定义操作的遗传迭代生成器、图神经网络判别器、递归神经网络判别器和适应性计算模块,其中:
基于预定义操作的遗传迭代生成器,用于采用仅针对结构的修改和针对行为的修改在每轮迭代中对样本变体进行实际改动,产生下一世代的变体个体,同时接收适应性计算模块反馈,剔除每个世代中不符合约束条件要求的个体;
图神经网络判别器,用于判断当前样本变体在语义上与其所属原始恶意代码家族的相似性水平,作为静态约束条件;
递归神经网络判别器,用于判断当前样本变体运行产生的API调用序列与其所属原始恶意代码家族的相似性水平,结合反病毒引擎检测结果,作为动态约束条件;
适应性计算模块,用于计算动态约束与静态约束条件,判断当前样本变体是否符合约束要求,并反馈至遗传迭代生成器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311260375.7A CN117272303B (zh) | 2023-09-27 | 一种基于遗传对抗的恶意代码样本变体生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311260375.7A CN117272303B (zh) | 2023-09-27 | 一种基于遗传对抗的恶意代码样本变体生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117272303A true CN117272303A (zh) | 2023-12-22 |
CN117272303B CN117272303B (zh) | 2024-06-25 |
Family
ID=
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120232851A1 (en) * | 2011-03-08 | 2012-09-13 | Affinnova, Inc. | System and method for concept development |
CN102934131A (zh) * | 2010-04-14 | 2013-02-13 | 西门子公司 | 用于计算机辅助地学习递归神经网络以对动态系统建模的方法 |
CN105488409A (zh) * | 2014-12-31 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种检测恶意代码家族变种及新家族的方法及系统 |
US20180285740A1 (en) * | 2017-04-03 | 2018-10-04 | Royal Bank Of Canada | Systems and methods for malicious code detection |
CN109190653A (zh) * | 2018-07-09 | 2019-01-11 | 四川大学 | 基于半监督密度聚类的恶意代码家族同源性分析技术 |
CN110287800A (zh) * | 2019-05-29 | 2019-09-27 | 河海大学 | 一种基于sgse-gan的遥感图像场景分类方法 |
CN111651762A (zh) * | 2020-04-21 | 2020-09-11 | 浙江大学 | 一种基于卷积神经网络的pe恶意软件检测方法 |
CN112906820A (zh) * | 2021-03-19 | 2021-06-04 | 中国石油大学(华东) | 基于遗传算法的对抗卷积神经网络句子相似度计算方法 |
CN113965393A (zh) * | 2021-10-27 | 2022-01-21 | 浙江网安信创电子技术有限公司 | 一种基于复杂网络和图神经网络的僵尸网络检测方法 |
CN114707151A (zh) * | 2022-05-16 | 2022-07-05 | 桂林电子科技大学 | 一种基于api调用和网络行为的僵尸软件检测方法 |
CN114861178A (zh) * | 2022-04-25 | 2022-08-05 | 北京计算机技术及应用研究所 | 一种基于改进b2m算法的恶意代码检测引擎设计方法 |
CN114936366A (zh) * | 2022-04-25 | 2022-08-23 | 奇安信科技集团股份有限公司 | 基于混合分析的恶意软件家族标签更正方法及装置 |
CN115758362A (zh) * | 2022-11-29 | 2023-03-07 | 四川大学 | 基于多特征的恶意软件自动化检测方法 |
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102934131A (zh) * | 2010-04-14 | 2013-02-13 | 西门子公司 | 用于计算机辅助地学习递归神经网络以对动态系统建模的方法 |
US20120232851A1 (en) * | 2011-03-08 | 2012-09-13 | Affinnova, Inc. | System and method for concept development |
CN105488409A (zh) * | 2014-12-31 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种检测恶意代码家族变种及新家族的方法及系统 |
US20180285740A1 (en) * | 2017-04-03 | 2018-10-04 | Royal Bank Of Canada | Systems and methods for malicious code detection |
CN109190653A (zh) * | 2018-07-09 | 2019-01-11 | 四川大学 | 基于半监督密度聚类的恶意代码家族同源性分析技术 |
CN110287800A (zh) * | 2019-05-29 | 2019-09-27 | 河海大学 | 一种基于sgse-gan的遥感图像场景分类方法 |
CN111651762A (zh) * | 2020-04-21 | 2020-09-11 | 浙江大学 | 一种基于卷积神经网络的pe恶意软件检测方法 |
CN112906820A (zh) * | 2021-03-19 | 2021-06-04 | 中国石油大学(华东) | 基于遗传算法的对抗卷积神经网络句子相似度计算方法 |
CN113965393A (zh) * | 2021-10-27 | 2022-01-21 | 浙江网安信创电子技术有限公司 | 一种基于复杂网络和图神经网络的僵尸网络检测方法 |
CN114861178A (zh) * | 2022-04-25 | 2022-08-05 | 北京计算机技术及应用研究所 | 一种基于改进b2m算法的恶意代码检测引擎设计方法 |
CN114936366A (zh) * | 2022-04-25 | 2022-08-23 | 奇安信科技集团股份有限公司 | 基于混合分析的恶意软件家族标签更正方法及装置 |
CN114707151A (zh) * | 2022-05-16 | 2022-07-05 | 桂林电子科技大学 | 一种基于api调用和网络行为的僵尸软件检测方法 |
CN115758362A (zh) * | 2022-11-29 | 2023-03-07 | 四川大学 | 基于多特征的恶意软件自动化检测方法 |
Non-Patent Citations (5)
Title |
---|
KIM, YOUNG JAE等: "FILM: Filtering and Machine Learning for Malware Detection in Edge Computing", SENSORS, vol. 22, no. 6, 13 April 2022 (2022-04-13) * |
SEVIL SEN等: "Coevolution of Mobile Malware and Anti-Malware", IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, vol. 13, no. 10, 6 April 2018 (2018-04-06) * |
谭杨等: "基于混合特征的深度自编码器的恶意软件家族分类", 信息网络安全, vol. 20, no. 12, 10 December 2020 (2020-12-10) * |
钱雨村;彭国军;王滢;梁玉;: "恶意代码同源性分析及家族聚类", 计算机工程与应用, vol. 2015, no. 18, 23 September 2015 (2015-09-23) * |
闫佳等: "基于遗传算法的恶意代码对抗样本生成方法", 电子与信息学报, vol. 42, no. 09, 17 November 2020 (2020-11-17) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yan et al. | Detecting malware with an ensemble method based on deep neural network | |
Aslan et al. | A new malware classification framework based on deep learning algorithms | |
Anderson et al. | Learning to evade static pe machine learning malware models via reinforcement learning | |
CN109145600B (zh) | 使用静态分析元素检测恶意文件的系统和方法 | |
Li et al. | Large-scale identification of malicious singleton files | |
CN113961922B (zh) | 一种基于深度学习的恶意软件行为检测与分类系统 | |
CN106599686A (zh) | 一种基于tlsh特征表示的恶意软件聚类方法 | |
CN111552971B (zh) | 基于深度强化学习的恶意软件家族分类规避方法 | |
Song et al. | Mab-malware: A reinforcement learning framework for blackbox generation of adversarial malware | |
Menéndez et al. | The arms race: Adversarial search defeats entropy used to detect malware | |
Song et al. | Mab-malware: A reinforcement learning framework for attacking static malware classifiers | |
Cepeda et al. | Feature selection and improving classification performance for malware detection | |
Labaca-Castro et al. | AIMED-RL: Exploring adversarial malware examples with reinforcement learning | |
Eskandari et al. | To incorporate sequential dynamic features in malware detection engines | |
Kakisim et al. | Sequential opcode embedding-based malware detection method | |
Zhang et al. | A php and jsp web shell detection system with text processing based on machine learning | |
Liu et al. | FewM-HGCL: Few-shot malware variants detection via heterogeneous graph contrastive learning | |
CN115659330A (zh) | 一种基于内存取证和图神经网络的恶意代码检测方法 | |
CN115883261A (zh) | 一种基于att和ck的电力系统apt攻击建模方法 | |
Jodavi et al. | Dbdhunter: an ensemble-based anomaly detection approach to detect drive-by download attacks | |
CN111400713A (zh) | 基于操作码邻接图特征的恶意软件族群分类方法 | |
Eskandari et al. | Frequent sub‐graph mining for intelligent malware detection | |
Boot | Applying supervised learning on malware authorship attribution | |
CN117272303B (zh) | 一种基于遗传对抗的恶意代码样本变体生成方法及系统 | |
Yusoff et al. | Optimizing decision tree in malware classification system by using genetic algorithm |
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 |