CN112989346B - 对抗样本生成方法、装置、终端设备以及存储介质 - Google Patents
对抗样本生成方法、装置、终端设备以及存储介质 Download PDFInfo
- Publication number
- CN112989346B CN112989346B CN202110384062.7A CN202110384062A CN112989346B CN 112989346 B CN112989346 B CN 112989346B CN 202110384062 A CN202110384062 A CN 202110384062A CN 112989346 B CN112989346 B CN 112989346B
- Authority
- CN
- China
- Prior art keywords
- sample
- section
- prototype sample
- malicious code
- preset
- 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
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000001514 detection method Methods 0.000 claims abstract description 40
- 238000006243 chemical reaction Methods 0.000 claims abstract description 29
- 230000004913 activation Effects 0.000 claims description 21
- 238000007781 pre-processing Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 28
- 238000012545 processing Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 238000013135 deep learning Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering 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
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明公开一种对抗样本生成方法,所述方法包括以下步骤:获取用于生成对抗样本的恶意代码;利用预设恶意代码检测模型对所述恶意代码进行迭代更新,以获得初始原型样本;对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;基于所述结果原型样本和所述恶意代码,生成最终对抗样本。本发明公开一种对抗样本生成装置、终端设备以及计算机可读存储介质。利用本发明的对抗样本生成方法,提高了对抗样本的生成速度。
Description
技术领域
本发明涉及对抗样本领域,特别涉及一种对抗样本生成方法、装置、终端设备以及计算机可读存储介质。
背景技术
基于深度学习的恶意代码检测模型可以用于恶意代码样本的检测,并在实际应用中取得了很好的检测效果。但基于深度学习的恶意代码检测模型本身存在脆弱性,容易遭受对抗样本攻击。针对基于深度学习的恶意代码检测模型,攻击者通过对恶意代码文件做少量的修改,可以使恶意代码被基于深度学习的恶意代码检测模型错误地识别为良性样本,从而绕过检测模型,并对攻击目标实施恶意行为。
相关技术中,公布了一种对抗样本生成方法,通过反汇编操作来获取二进制文件的汇编代码,利用混淆技术修改二进制文件的汇编代码,并重新打包修改后的汇编代码,以生成对抗样本。
但是,采用现有的对抗样本生成方法,生成对抗样本效率较低。
发明内容
本发明的主要目的是提供一种对抗样本生成方法、装置、终端设备以及计算机可读存储介质,旨在解决现有技术中现有的对抗样本生成方法,生成对抗样本效率较低的技术问题。
为实现上述目的,本发明提出一种对抗样本生成方法,所述方法包括以下步骤:
获取用于生成对抗样本的恶意代码;
利用预设恶意代码检测模型对所述恶意代码进行迭代更新,以获得初始原型样本;
对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;
基于所述结果原型样本和所述恶意代码,生成最终对抗样本。
可选的,所述利用预设恶意代码检测模型对所述恶意代码进行迭代更新,以获得初始原型样本的步骤,包括:
利用所述预设恶意代码检测模型中的嵌入层对所述恶意代码进行嵌入操作,以获得连续值;
将所述连续值输入所述预设恶意代码检测模型,以获得输出值;
基于所述输出值,获得激活值;
利用所述激活值更新所述连续值,并返回执行所述将所述连续值输入所述预设恶意代码检测模型的步骤,循环至满足第一预设条件,获得所述初始原型样本。
可选的,所述利用所述激活值更新所述连续值的步骤,包括:
基于所述激活值和预设步长,利用公式一,对所述连续值进行更新;
所述公式一为:
可选的,所述对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本的步骤,包括:
对所述初始原型样本进行转换操作,以获得初始二进制原型样本;
对所述初始二进制原型样本进行嵌入操作,以获得预处理原型样本;
利用所述预处理原型样本更新所述初始原型样本,并返回执行所述对所述初始原型样本进行转换操作的步骤,循环至满足第二预设条件,获得所述结果原型样本。
可选的,所述对所述初始原型样本进行转换操作,以获得初始二进制原型样本的步骤,包括:
利用公式二,对所述初始原型样本进行转换操作,以获得初始二进制原型样本;
所述公式二为:
可选的,所述基于所述结果原型样本和所述恶意代码,生成最终对抗样本的步骤,包括:
在所述结果原型样本中获取与所述恶意代码中未用节对应的替换节;
利用所述替换节对所述恶意代码中未用节进行替换,以获得替换后的恶意代码;
基于所述恶意代码和所述结果原型样本,获得新加节;
在所述替换后的恶意代码中创建空白节;
将所述新加节添加到所述空白节中,以获得所述最终对抗样本。
可选的,所述基于所述恶意代码和所述结果原型样本,获得新加节的步骤,包括:
获取所述恶意代码包括的第一节;
在所述结果原型样本中确定出与所述第一节对应的第二节;
对所述第一节和第二节进行嵌入操作,以获得预处理第一节和预处理第二节;
基于所述预处理第一节、所述预处理第二节和预设改动幅度阈值,利用公式三,在所述预处理第二节中确定出选定节;
将所述第二节中与所述选定节对应的节确定为所述新加节;
所述公式三为:
此外,为实现上述目的,本发明还提出了一种对抗样本生成装置,所述装置包括:
获取模块,用于获取用于生成对抗样本的恶意代码;
第一获得模块,用于利用预设恶意代码检测模型对所述恶意代码进行迭代更新,以获得初始原型样本;
第二获得模块,用于对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;
样本生成模块,用于基于所述结果原型样本和所述恶意代码,生成最终对抗样本。
此外,为实现上述目的,本发明还提出了一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行对抗样本生成程序,所述对抗样本生成程序被所述处理器执行时实现如上述任一项所述的对抗样本生成方法的步骤。
此外,为实现上述目的,本发明还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有对抗样本生成程序,所述对抗样本生成程序被处理器执行时实现如上述任一项所述的对抗样本生成方法的步骤。
本发明技术方案提出了一种对抗样本生成方法,通过获取用于生成对抗样本的恶意代码;利用预设恶意代码检测模型对所述恶意代码进行迭代更新,以获得初始原型样本;对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;基于所述结果原型样本和所述恶意代码,生成最终对抗样本。
现有的对抗样本生成方法中,通过反汇编操作来获取二进制文件的汇编代码,利用混淆技术修改二进制文件的汇编代码,并重新打包修改后的汇编代码,以生成对抗样本,通过反汇编操作来获取二进制文件的汇编代码的过程和利用混淆技术修改二进制文件的汇编代码的过程,均需要耗费较高的数据处理时间,从而导致生成对抗样本的时间较久,对抗样本生成效率较低;而在本发明中,利用预设恶意代码检测模型对所述恶意代码进行迭代更新的过程,和,对所述初始原型样本进行转换操作和嵌入操作的过程,均耗费较小的数据处理时间,从而提高了对抗样本的生成速度。所以,利用本发明的对抗样本生成方法,提高了对抗样本的生成速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图;
图2为本发明对抗样本生成方法第一实施例的流程示意图;
图3为本发明生成最终对抗样本的过程示意图;
图4为本发明对抗样本生成装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图。
终端设备可以是移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)等用户设备(User Equipment,UE)、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(Mobile station,MS)等。设备可能被称为用户终端、便携式终端、台式终端等。
通常,设备包括:至少一个处理器301、存储器302以及存储在所述存储器上并可在所述处理器上运行的对抗样本生成程序,所述对抗样本生成程序配置为实现如前所述的对抗样本生成方法的步骤。
处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。处理器301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关对抗样本生成方法操作,使得对抗样本生成方法模型可以自主训练学习,提高效率和准确度。
存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本申请中方法实施例提供的对抗样本生成方法。
在一些实施例中,终端还可选包括有:通信接口303和至少一个外围设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口303相连。具体地,外围设备包括:射频电路304、显示屏305和电源306中的至少一种。
通信接口303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,电子设备的前面板;在另一些实施例中,显示屏305可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
电源306用于为电子设备中的各个组件进行供电。电源306可以是交流电、直流电、一次性电池或可充电电池。当电源306包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图1中示出的结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有对抗样本生成程序,所述对抗样本生成程序被处理器执行时实现如上文所述的对抗样本生成方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。确定为示例,程序指令可被部署为在一个终端设备上执行,或者在位于一个地点的多个终端设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个终端设备备上执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
现有技术中,基于深度学习的恶意代码检测模型可以用于而已代码样本的检测,并在实际应用中取得了很好的检测效果。但深度学习模型本身存在脆弱性,容易遭受对抗样本攻击。针对基于深度学习的恶意代码检测模型,攻击者通过对恶意代码文件做少量的修改,可以使恶意代码被分类器错误地识别为良性样本,从而绕过检测器并对攻击目标实施恶意行为。
现有的恶意代码对抗样本生成方法主要存在两个问题:一些方法只对从恶意代码样本提取的特征向量进行修改,虽然,修改后的特征向量可以有效攻击检测模型,但无法生成可以运行的二进制文件样本;同时,为了避免对二进制文件的修改破坏恶意代码的功能和程序逻辑,一些方法选定二进制文件中的某个固定位置插入一段字节序列进行扰动,然而,这些方法只设计插入的扰动字节的内容,并未考虑扰动字节插入位置对恶意代码对抗样本的攻击能力的影响。
基于上述硬件结构,提出本发明对抗样本生成方法的实施例。
参照图2,图2为本发明对抗样本生成方法第一实施例的流程示意图,所述方法用于终端设备,所述方法包括以下步骤:
步骤S11:获取用于生成对抗样本的恶意代码。
需要说明的是,本发明的执行主体是终端设备,终端设备的结构参照上述描述,此处不再赘述;终端设备安装有对抗样本生成程序,终端设备执行对抗样本生成程序时,实现本发明的对抗样本生成方法。
通常,需要获取到原始对抗样本(用于生成最终对抗样本)的恶意代码,即所述恶意代码。并利用本发明的步骤S11-步骤S12对所述恶意代码进行处理,以生成最终对抗样本。
步骤S12:利用预设恶意代码检测模型对所述恶意代码进行迭代更新,以获得初始原型样本。
具体的,步骤S12包括:利用所述预设恶意代码检测模型中的嵌入层对所述恶意代码进行嵌入操作,以获得连续值;将所述连续值输入所述预设恶意代码检测模型中的神经网络层,以获得输出值;基于所述输出值,获得激活值;利用所述激活值更新所述连续值,并返回执行所述将所述连续值输入所述预设恶意代码检测模型的步骤,循环至满足第一预设条件,获得所述初始原型样本。
其中,所述利用所述激活值更新所述连续值的步骤包括:基于所述激活值和预设步长,利用公式一,对所述连续值进行更新;
所述公式一为:
需要说明的是,以基于深度学习(深度神经网络)的恶意代码检测模型,即所述预设恶意代码检测模型,作为攻击的目标;其中,预设恶意代码检测模型包括嵌入层、神经网络层和Sigmiod层。在将恶意代码(二进制文件)输入神经网络层之前,利用恶意代码检测模型的嵌入层对恶意代码做嵌入处理,以将恶意代码的每个字节映射到一个定长的连续值向量,以获得所述连续值。
预设恶意代码检测模型的输出值是输入的恶意代码(二进制文件)被判断为恶意样本的概率。使用恶意代码检测模型中的嵌入层,将恶意代码做嵌入处理,获得连续值,并将所述连续值输入意代码检测模型的神经网络层,最后由Sigmiod层输出输出值,并基于输出值,获得激活值,以继续利用激活值进行上述迭代更新过程。其中,以连续值输入,获得输出值时,输出值与激活值的关系式如下:
在进行上述迭代运算时,直到输出值达到预设阈值或迭代次数达到第一预设次数时,满足所述第一预设条件,此时,获得最近一次更新的连续值即为所述初始原型样本,第一预设次数可以是100次,预设步长可以是用户根据需求设定,本发明不做限制。
步骤S13:对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本。
具体的,步骤S13包括:对所述初始原型样本进行转换操作,以获得初始二进制原型样本;对所述初始二进制原型样本进行嵌入操作,以获得预处理原型样本;利用所述预处理原型样本更新所述初始原型样本,并返回执行所述对所述初始原型样本进行转换操作的步骤,循环至满足第二预设条件,获得所述结果原型样本。其中,所述对所述初始原型样本进行转换操作,以获得初始二进制原型样本的步骤包括:利用公式二,对所述初始原型样本进行转换操作,以获得初始二进制原型样本;
所述公式二为:
需要说明的是,此处将上一步中生成的连续空间下的初始原型样本转换为二进制原型样本,即所述初始二进制原型样本。训练好的嵌入层对应了一个映射,即预设映射函数为f,其中,预设字节值集合,是所有字节值的集合,是一个定长向量的集合,向量的每个元素的取值都为实数范围。对于上一步中生成的初始原型样本中的任意一个元素,由于映射f不是满射,所以f是不可逆映射,所以对于初始原型样本中的一些元素无法直接在X中找到与其对应的字节值。因此,在转换过程中,对于初始原型样本中没有对应字节值的元素,以嵌入值与其距离最近的字节值作为替换,距离通过两者之间差值的二范数定义,即,利用上述公式二进行转换操作,以获得所述初始二进制原型样本。
由于上述转换过程并不是一一对应的,因此,进行转换操作时,会损失一些信息。为了获得更好的效果,在得到字节值构成的初始二进制原型样本后,再次将其进行嵌入操作,生成新的连续空间下的原型样本,即预处理原型样本,并将预处理原型样本作为新的初始原型样本,并按照上述方式进行迭代,当迭代次数到达第二预设次数时,完成迭代过程,将最后一次迭代之后获得预处理原型样本作为结果原型样本。其中,当迭代次数达到第二预设次数时,满足所述第二预设条件,第二预设次数可以是10次。
步骤S14:基于所述结果原型样本和所述恶意代码,生成最终对抗样本。
具体的,步骤S14包括:在所述结果原型样本中获取与所述恶意代码中未用节对应的替换节;利用所述替换节对所述恶意代码中未用节进行替换,以获得替换后的恶意代码;基于所述恶意代码和所述结果原型样本,获得新加节;在所述替换后的恶意代码中创建空白节;将所述新加节添加到所述空白节中,以获得所述最终对抗样本。
其中,所述基于所述恶意代码和所述结果原型样本,获得新加节的步骤包括:获取所述恶意代码包括的第一节;在所述结果原型样本中确定出与所述第一节对应的第二节;对所述第一节和第二节进行嵌入操作,以获得预处理第一节和预处理第二节;基于所述预处理第一节、所述预处理第二节和预设改动幅度阈值,利用公式三,在所述预处理第二节中确定出选定节;将所述第二节中与所述选定节对应的节确定为所述新加节;
所述公式三为:
需要说明的是,步骤S14实质是对恶意代码进行修改。主要分为两步:
1、将结果原型样本(二进制文件)的未用节替换为结果原型样本中替换节(结果原型样本中与未用节位置对应的节即为所述替换节)。恶意代码中的未用区域(未用节对应的区域)是编译器在编译过程中产生的空白空间,这些在文件加载时不会被读取。未用节包含了节与节之间的节及文件尾部的节等,将这些节直接替换为结果原型样本中对应位置的替换节。
2、将结果原型样本中与恶意代码相比改变较大的节作为新节加入到恶意代码文件中,该新节即为新加节。节是二进制文件中包含最多信息的区域,但是直接对节进行修改可能会破坏节的完整性,因此,通过在恶意代码中创建新节(创建空白节,通常在恶意代码的最末端)来创造空间以容纳结果原型样本中对应位置的新加节。为了避免加入过多的无效字节,在添加过程中以节为单位过滤掉改动不大的节。对于恶意代码中的节(所述第一节通常为多个,第一节为恶意代码中全部第一节的集合,为所述第一节中的任意一个第一节)以及结果原型样本中与第一节对应位置的节S(所述第二节通常为多个,第二节为结果原型样本中与全部第一节的对应的节的集合,S为与对应的一个第二节),利用嵌入层对他们进行嵌入处理分别得到(对应的预处理第一节)和(S对应的预处理第二节);并利用上述公式三,进行选定节的确定,选定节即是预处理第二节中满足上述公式三的预处理第二节,然后将全部第二节中与选定节对应的第二节确定为新加节。
可以理解的是,利用步骤S14在对节做修改,新加节能够被正确检索同时,不破坏原恶意代码的正常功能。经过上述步骤进行修改的恶意代码即为最终对抗样本。
参照图3,图3为本发明生成最终对抗样本的过程示意图。图3中具有4幅子图:(a)、(b)、(c)和(d),其中,(a)为按照上述过程在恶意代码中确定出未用节和替换节的过程;(b)为按照上述过程间恶意代码中未用节替换为替换节的过程;(c)为按照上述过程获得替换后的恶意代码后,在替换后的恶意代码中创建出空白节,并在结果原型样本中确定出新加节的过程,其中虚线箭头所指的位置即为空白节的位置,虚线框为新加节的位置;(d)为按照上述过程在替换后的恶意代码中添加新加节之后获得的最终对抗样本的过程。
本发明技术方案提出了一种对抗样本生成方法,通过获取用于生成对抗样本的恶意代码;利用预设恶意代码检测模型对所述恶意代码进行迭代更新,以获得初始原型样本;对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;基于所述结果原型样本和所述恶意代码,生成最终对抗样本。
现有的对抗样本生成方法中,通过反汇编操作来获取二进制文件的汇编代码,利用混淆技术修改二进制文件的汇编代码,并重新打包修改后的汇编代码,以生成对抗样本,通过反汇编操作来获取二进制文件的汇编代码的过程和利用混淆技术修改二进制文件的汇编代码的过程,均需要耗费较高的数据处理时间,从而导致生成对抗样本的时间较久,对抗样本生成效率较低;而在本发明中,利用预设恶意代码检测模型对所述恶意代码进行迭代更新的过程,和,对所述初始原型样本进行转换操作和嵌入操作的过程,均耗费较小的数据处理时间,从而提高了对抗样本的生成速度。所以,利用本发明的对抗样本生成方法,提高了对抗样本的生成速度。
另外,现有的对抗样本(恶意代码对抗样本)生成方法一般直接对恶意代码进行修改,以添加扰动,导致修改优化过程无法避免破坏恶意代码的功能和程序逻辑。本发明在对抗样本生成过程中引入了原型样本,以原型样本作为中间样本,避免了直接对恶意代码文件做修改,而是先优化原型样本,使其能最大化模型的输出,再以原型样本为参照对恶意代码进行修改。因此,在优化过程摆脱了扰动位置的限制,可以较大程度地提高生成对抗样本的效率。
本发明利用最大化激活方法,生成恶意代码检测模型制定输出类别的二进制原型样本,可以用于提升基于深度学习的恶意代码检测模型的后解释性。现有的方法一般只插入恶意代码的字节序列的内容,而不考虑插入位置的影响;以原型样本为模板来生成对抗样本时,可以针对不同的位置插入对应的字节序列,从而提高生成的效率,在相同的扰动效果下插入更少的字节。
本发明的应用广泛,利用本发明的对抗样本生成方法,生成对抗样本时,对抗样本可以针对各类基于深度学习的恶意代码检测模型进行有效的攻击;本发明可以用于PE或ELF等多种可执行格式的恶意代码,具有很强的通用性。
参照图4,图4为本发明对抗样本生成装置第一实施例的结构框图,所述装置用于终端设备,所述装置包括:
获取模块10,用于获取用于生成对抗样本的恶意代码;
第一获得模块20,用于利用预设恶意代码检测模型对所述恶意代码进行迭代更新,以获得初始原型样本;
第二获得模块30,用于对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;
样本生成模块40,用于基于所述结果原型样本和所述恶意代码,生成最终对抗样本。
以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (7)
1.一种对抗样本生成方法,其特征在于,所述方法包括以下步骤:
获取用于生成对抗样本的恶意代码;
利用预设恶意代码检测模型中的嵌入层对所述恶意代码进行嵌入操作,以获得连续值;将所述连续值输入所述预设恶意代码检测模型,以获得输出值;基于所述输出值,获得激活值;利用所述激活值更新所述连续值,并返回执行所述将所述连续值输入所述预设恶意代码检测模型的步骤,循环至满足第一预设条件,获得初始原型样本;
对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;
基于所述结果原型样本和所述恶意代码,生成最终对抗样本;
其中,所述对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本的步骤,包括:利用公式二,对所述初始原型样本进行转换操作,以获得初始二进制原型样本;对所述初始二进制原型样本进行嵌入操作,以获得预处理原型样本;利用所述预处理原型样本更新所述初始原型样本,并返回执行所述对所述初始原型样本进行转换操作的步骤,循环至满足第二预设条件,获得所述结果原型样本;
所述公式二为:
3.如权利要求1所述的方法,其特征在于,所述基于所述结果原型样本和所述恶意代码,生成最终对抗样本的步骤,包括:
在所述结果原型样本中获取与所述恶意代码中未用节对应的替换节;
利用所述替换节对所述恶意代码中未用节进行替换,以获得替换后的恶意代码;
基于所述恶意代码和所述结果原型样本,获得新加节;
在所述替换后的恶意代码中创建空白节;
将所述新加节添加到所述空白节中,以获得所述最终对抗样本。
5.一种对抗样本生成装置,其特征在于,所述装置包括:
获取模块,用于获取用于生成对抗样本的恶意代码;
第一获得模块,用于利用预设恶意代码检测模型中的嵌入层对所述恶意代码进行嵌入操作,以获得连续值;将所述连续值输入所述预设恶意代码检测模型,以获得输出值;基于所述输出值,获得激活值;利用所述激活值更新所述连续值,并返回执行所述将所述连续值输入所述预设恶意代码检测模型的步骤,循环至满足第一预设条件,获得初始原型样本;
第二获得模块,用于对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;
样本生成模块,用于基于所述结果原型样本和所述恶意代码,生成最终对抗样本;
其中,所述第二获得模块具体用于:利用公式二,对所述初始原型样本进行转换操作,以获得初始二进制原型样本;对所述初始二进制原型样本进行嵌入操作,以获得预处理原型样本;利用所述预处理原型样本更新所述初始原型样本,并返回执行所述对所述初始原型样本进行转换操作的步骤,循环至满足第二预设条件,获得所述结果原型样本;
所述公式二为:
6.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行对抗样本生成程序,所述对抗样本生成程序被所述处理器执行时实现如权利要求1至4中任一项所述的对抗样本生成方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有对抗样本生成程序,所述对抗样本生成程序被处理器执行时实现如权利要求1至4中任一项所述的对抗样本生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110384062.7A CN112989346B (zh) | 2021-04-09 | 2021-04-09 | 对抗样本生成方法、装置、终端设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110384062.7A CN112989346B (zh) | 2021-04-09 | 2021-04-09 | 对抗样本生成方法、装置、终端设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112989346A CN112989346A (zh) | 2021-06-18 |
CN112989346B true CN112989346B (zh) | 2021-08-10 |
Family
ID=76339693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110384062.7A Active CN112989346B (zh) | 2021-04-09 | 2021-04-09 | 对抗样本生成方法、装置、终端设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112989346B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760358B (zh) * | 2021-08-30 | 2023-08-01 | 河北大学 | 一种面向源代码分类模型的对抗样本生成方法 |
CN114266050B (zh) * | 2022-03-03 | 2022-10-04 | 西南石油大学 | 一种跨平台恶意软件对抗样本生成方法及系统 |
CN115277065B (zh) * | 2022-06-15 | 2024-01-23 | 北京信息科技大学 | 一种物联网异常流量检测中的对抗攻击方法及装置 |
CN117093997B (zh) * | 2023-10-20 | 2024-02-20 | 广东省科技基础条件平台中心 | 基于平稳多臂老虎机的代码对抗样本生成方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622303A (zh) * | 2016-07-13 | 2018-01-23 | 三星电子株式会社 | 用于神经网络的方法和执行该方法的设备 |
CN110647918A (zh) * | 2019-08-26 | 2020-01-03 | 浙江工业大学 | 面向深度学习模型对抗攻击的拟态防御方法 |
CN110728297A (zh) * | 2019-09-04 | 2020-01-24 | 电子科技大学 | 一种基于gan的低代价对抗性网络攻击样本生成方法 |
CN111832019A (zh) * | 2020-06-10 | 2020-10-27 | 国家计算机网络与信息安全管理中心 | 基于生成对抗网络的恶意代码检测方法 |
CN112200257A (zh) * | 2020-10-16 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 对抗样本的生成方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858250B (zh) * | 2019-02-20 | 2023-01-03 | 哈尔滨工程大学 | 一种基于级联分类器的安卓恶意代码检测模型方法 |
CN111259393B (zh) * | 2020-01-14 | 2023-05-23 | 河南信息安全研究院有限公司 | 一种基于生成对抗网络的恶意软件检测器抗概念漂移方法 |
CN112632531A (zh) * | 2020-12-15 | 2021-04-09 | 平安科技(深圳)有限公司 | 恶意代码的识别方法、装置、计算机设备及介质 |
-
2021
- 2021-04-09 CN CN202110384062.7A patent/CN112989346B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622303A (zh) * | 2016-07-13 | 2018-01-23 | 三星电子株式会社 | 用于神经网络的方法和执行该方法的设备 |
CN110647918A (zh) * | 2019-08-26 | 2020-01-03 | 浙江工业大学 | 面向深度学习模型对抗攻击的拟态防御方法 |
CN110728297A (zh) * | 2019-09-04 | 2020-01-24 | 电子科技大学 | 一种基于gan的低代价对抗性网络攻击样本生成方法 |
CN111832019A (zh) * | 2020-06-10 | 2020-10-27 | 国家计算机网络与信息安全管理中心 | 基于生成对抗网络的恶意代码检测方法 |
CN112200257A (zh) * | 2020-10-16 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 对抗样本的生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112989346A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112989346B (zh) | 对抗样本生成方法、装置、终端设备以及存储介质 | |
US10599913B2 (en) | Face model matrix training method and apparatus, and storage medium | |
CN112017669B (zh) | 语音对抗样本检测方法、装置、终端设备以及存储介质 | |
CN112215227B (zh) | 图像目标检测模型攻击方法、装置、终端设备及存储介质 | |
CN111931102A (zh) | 一种构建页面的方法、装置及系统 | |
CN112560020B (zh) | 威胁攻击检测方法、装置、终端设备以及存储介质 | |
CN112910925B (zh) | 域名检测方法、模型训练方法及装置、设备、存储介质 | |
CN112883036A (zh) | 索引创建方法、装置、存储服务器以及存储介质 | |
CN114416723B (zh) | 一种数据的处理方法、装置、设备及存储介质 | |
CN112989888A (zh) | 一种指纹防伪方法及电子设备 | |
CN112035334B (zh) | 异常设备检测方法、装置、存储介质与电子设备 | |
CN113989962A (zh) | 门禁识别控制方法及相关设备 | |
EP3627382A1 (en) | Method for iris liveness detection and related product | |
CN113225234B (zh) | 资产探测方法、装置、终端设备以及计算机可读存储介质 | |
CN113886688B (zh) | 对象的关联关系预测方法、装置、终端设备以及存储介质 | |
CN112200198B (zh) | 目标数据特征提取方法、装置及存储介质 | |
CN112069015B (zh) | 指令模拟器指令执行方法、装置、终端设备以及存储介质 | |
CN111612450B (zh) | 应用程序支付渠道的检测方法、装置、终端设备及介质 | |
CN112346885A (zh) | 电子设备控制方法、装置、设备以及计算机可读存储介质 | |
CN112035180A (zh) | 一种自动化实例加载方法、装置、电子设备及存储介质 | |
CN113806532B (zh) | 比喻句式判断模型的训练方法、装置、介质及设备 | |
CN115577331B (zh) | 交互控制方法、装置、系统及存储介质 | |
CN113806533B (zh) | 比喻句式特征词语提取方法、装置、介质及设备 | |
CN112230809B (zh) | 计算机程序代码的选取方法、装置及存储介质 | |
CN112905274A (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 |