CN112989346B - 对抗样本生成方法、装置、终端设备以及存储介质 - Google Patents

对抗样本生成方法、装置、终端设备以及存储介质 Download PDF

Info

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
Application number
CN202110384062.7A
Other languages
English (en)
Other versions
CN112989346A (zh
Inventor
张伟哲
田志成
乔延臣
方滨兴
张宾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peng Cheng Laboratory
Original Assignee
Peng Cheng Laboratory
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peng Cheng Laboratory filed Critical Peng Cheng Laboratory
Priority to CN202110384062.7A priority Critical patent/CN112989346B/zh
Publication of CN112989346A publication Critical patent/CN112989346A/zh
Application granted granted Critical
Publication of CN112989346B publication Critical patent/CN112989346B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, 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

对抗样本生成方法、装置、终端设备以及存储介质
技术领域
本发明涉及对抗样本领域,特别涉及一种对抗样本生成方法、装置、终端设备以及计算机可读存储介质。
背景技术
基于深度学习的恶意代码检测模型可以用于恶意代码样本的检测,并在实际应用中取得了很好的检测效果。但基于深度学习的恶意代码检测模型本身存在脆弱性,容易遭受对抗样本攻击。针对基于深度学习的恶意代码检测模型,攻击者通过对恶意代码文件做少量的修改,可以使恶意代码被基于深度学习的恶意代码检测模型错误地识别为良性样本,从而绕过检测模型,并对攻击目标实施恶意行为。
相关技术中,公布了一种对抗样本生成方法,通过反汇编操作来获取二进制文件的汇编代码,利用混淆技术修改二进制文件的汇编代码,并重新打包修改后的汇编代码,以生成对抗样本。
但是,采用现有的对抗样本生成方法,生成对抗样本效率较低。
发明内容
本发明的主要目的是提供一种对抗样本生成方法、装置、终端设备以及计算机可读存储介质,旨在解决现有技术中现有的对抗样本生成方法,生成对抗样本效率较低的技术问题。
为实现上述目的,本发明提出一种对抗样本生成方法,所述方法包括以下步骤:
获取用于生成对抗样本的恶意代码;
利用预设恶意代码检测模型对所述恶意代码进行迭代更新,以获得初始原型样本;
对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;
基于所述结果原型样本和所述恶意代码,生成最终对抗样本。
可选的,所述利用预设恶意代码检测模型对所述恶意代码进行迭代更新,以获得初始原型样本的步骤,包括:
利用所述预设恶意代码检测模型中的嵌入层对所述恶意代码进行嵌入操作,以获得连续值;
将所述连续值输入所述预设恶意代码检测模型,以获得输出值;
基于所述输出值,获得激活值;
利用所述激活值更新所述连续值,并返回执行所述将所述连续值输入所述预设恶意代码检测模型的步骤,循环至满足第一预设条件,获得所述初始原型样本。
可选的,所述利用所述激活值更新所述连续值的步骤,包括:
基于所述激活值和预设步长,利用公式一,对所述连续值进行更新;
所述公式一为:
Figure 144868DEST_PATH_IMAGE001
其中,
Figure 768747DEST_PATH_IMAGE002
为更新后的连续值,
Figure DEST_PATH_IMAGE003
为所述连续值,n为所述预设步长,
Figure 241317DEST_PATH_IMAGE004
为所述激活值。
可选的,所述对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本的步骤,包括:
对所述初始原型样本进行转换操作,以获得初始二进制原型样本;
对所述初始二进制原型样本进行嵌入操作,以获得预处理原型样本;
利用所述预处理原型样本更新所述初始原型样本,并返回执行所述对所述初始原型样本进行转换操作的步骤,循环至满足第二预设条件,获得所述结果原型样本。
可选的,所述对所述初始原型样本进行转换操作,以获得初始二进制原型样本的步骤,包括:
利用公式二,对所述初始原型样本进行转换操作,以获得初始二进制原型样本;
所述公式二为:
Figure DEST_PATH_IMAGE005
其中,
Figure 276138DEST_PATH_IMAGE006
为所述初始二进制原型样本中的第i个元素,
Figure DEST_PATH_IMAGE007
为所述初始原型样本中的第i个元素,X为预设字节值集合,f为预设映射函数。
可选的,所述基于所述结果原型样本和所述恶意代码,生成最终对抗样本的步骤,包括:
在所述结果原型样本中获取与所述恶意代码中未用节对应的替换节;
利用所述替换节对所述恶意代码中未用节进行替换,以获得替换后的恶意代码;
基于所述恶意代码和所述结果原型样本,获得新加节;
在所述替换后的恶意代码中创建空白节;
将所述新加节添加到所述空白节中,以获得所述最终对抗样本。
可选的,所述基于所述恶意代码和所述结果原型样本,获得新加节的步骤,包括:
获取所述恶意代码包括的第一节;
在所述结果原型样本中确定出与所述第一节对应的第二节;
对所述第一节和第二节进行嵌入操作,以获得预处理第一节和预处理第二节;
基于所述预处理第一节、所述预处理第二节和预设改动幅度阈值,利用公式三,在所述预处理第二节中确定出选定节;
将所述第二节中与所述选定节对应的节确定为所述新加节;
所述公式三为:
Figure 201368DEST_PATH_IMAGE008
其中,
Figure DEST_PATH_IMAGE009
为所述预处理第一节中的一个预处理第一节,
Figure 363359DEST_PATH_IMAGE010
为所述预处理第二节中与所述
Figure DEST_PATH_IMAGE011
对应的一个预处理第二节,l为所述
Figure 424856DEST_PATH_IMAGE011
的长度,
Figure 397623DEST_PATH_IMAGE012
为所述预设改动幅度阈值。
此外,为实现上述目的,本发明还提出了一种对抗样本生成装置,所述装置包括:
获取模块,用于获取用于生成对抗样本的恶意代码;
第一获得模块,用于利用预设恶意代码检测模型对所述恶意代码进行迭代更新,以获得初始原型样本;
第二获得模块,用于对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;
样本生成模块,用于基于所述结果原型样本和所述恶意代码,生成最终对抗样本。
此外,为实现上述目的,本发明还提出了一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行对抗样本生成程序,所述对抗样本生成程序被所述处理器执行时实现如上述任一项所述的对抗样本生成方法的步骤。
此外,为实现上述目的,本发明还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有对抗样本生成程序,所述对抗样本生成程序被处理器执行时实现如上述任一项所述的对抗样本生成方法的步骤。
本发明技术方案提出了一种对抗样本生成方法,通过获取用于生成对抗样本的恶意代码;利用预设恶意代码检测模型对所述恶意代码进行迭代更新,以获得初始原型样本;对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;基于所述结果原型样本和所述恶意代码,生成最终对抗样本。
现有的对抗样本生成方法中,通过反汇编操作来获取二进制文件的汇编代码,利用混淆技术修改二进制文件的汇编代码,并重新打包修改后的汇编代码,以生成对抗样本,通过反汇编操作来获取二进制文件的汇编代码的过程和利用混淆技术修改二进制文件的汇编代码的过程,均需要耗费较高的数据处理时间,从而导致生成对抗样本的时间较久,对抗样本生成效率较低;而在本发明中,利用预设恶意代码检测模型对所述恶意代码进行迭代更新的过程,和,对所述初始原型样本进行转换操作和嵌入操作的过程,均耗费较小的数据处理时间,从而提高了对抗样本的生成速度。所以,利用本发明的对抗样本生成方法,提高了对抗样本的生成速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图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包括:利用所述预设恶意代码检测模型中的嵌入层对所述恶意代码进行嵌入操作,以获得连续值;将所述连续值输入所述预设恶意代码检测模型中的神经网络层,以获得输出值;基于所述输出值,获得激活值;利用所述激活值更新所述连续值,并返回执行所述将所述连续值输入所述预设恶意代码检测模型的步骤,循环至满足第一预设条件,获得所述初始原型样本。
其中,所述利用所述激活值更新所述连续值的步骤包括:基于所述激活值和预设步长,利用公式一,对所述连续值进行更新;
所述公式一为:
Figure 810149DEST_PATH_IMAGE001
其中,
Figure 838148DEST_PATH_IMAGE002
为更新后的连续值,
Figure 957414DEST_PATH_IMAGE003
为所述连续值,n为所述预设步长,
Figure 147087DEST_PATH_IMAGE004
为所述激活值。
需要说明的是,以基于深度学习(深度神经网络)的恶意代码检测模型,即所述预设恶意代码检测模型,作为攻击的目标;其中,预设恶意代码检测模型包括嵌入层、神经网络层和Sigmiod层。在将恶意代码(二进制文件)输入神经网络层之前,利用恶意代码检测模型的嵌入层对恶意代码做嵌入处理,以将恶意代码的每个字节映射到一个定长的连续值向量,以获得所述连续值。
预设恶意代码检测模型的输出值是输入的恶意代码(二进制文件)被判断为恶意样本的概率。使用恶意代码检测模型中的嵌入层,将恶意代码做嵌入处理,获得连续值,并将所述连续值输入意代码检测模型的神经网络层,最后由Sigmiod层输出输出值,并基于输出值,获得激活值,以继续利用激活值进行上述迭代更新过程。其中,以连续值输入,获得输出值时,输出值与激活值的关系式如下:
Figure DEST_PATH_IMAGE013
其中,
Figure 233861DEST_PATH_IMAGE014
为所述输出值。
在进行上述迭代运算时,直到输出值达到预设阈值或迭代次数达到第一预设次数时,满足所述第一预设条件,此时,获得最近一次更新的连续值即为所述初始原型样本,第一预设次数可以是100次,预设步长可以是用户根据需求设定,本发明不做限制。
步骤S13:对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本。
具体的,步骤S13包括:对所述初始原型样本进行转换操作,以获得初始二进制原型样本;对所述初始二进制原型样本进行嵌入操作,以获得预处理原型样本;利用所述预处理原型样本更新所述初始原型样本,并返回执行所述对所述初始原型样本进行转换操作的步骤,循环至满足第二预设条件,获得所述结果原型样本。其中,所述对所述初始原型样本进行转换操作,以获得初始二进制原型样本的步骤包括:利用公式二,对所述初始原型样本进行转换操作,以获得初始二进制原型样本;
所述公式二为:
Figure 799971DEST_PATH_IMAGE015
其中,
Figure 101639DEST_PATH_IMAGE006
为所述初始二进制原型样本中的第i个元素,
Figure 462214DEST_PATH_IMAGE007
为所述初始原型样本中的第i个元素,X为预设字节值集合,f为预设映射函数。
需要说明的是,此处将上一步中生成的连续空间下的初始原型样本转换为二进制原型样本,即所述初始二进制原型样本。训练好的嵌入层对应了一个映射
Figure 787016DEST_PATH_IMAGE016
,即预设映射函数为f,其中,预设字节值集合
Figure 156817DEST_PATH_IMAGE017
,是所有字节值的集合,
Figure 47413DEST_PATH_IMAGE018
是一个定长向量的集合,向量的每个元素的取值都为实数范围。对于上一步中生成的初始原型样本中的任意一个元素
Figure 532883DEST_PATH_IMAGE019
,由于映射f不是满射,所以f是不可逆映射,所以对于初始原型样本中的一些元素无法直接在X中找到与其对应的字节值。因此,在转换过程中,对于初始原型样本中没有对应字节值的元素,以嵌入值与其距离最近的字节值作为替换,距离通过两者之间差值的二范数定义,即,利用上述公式二进行转换操作,以获得所述初始二进制原型样本。
由于上述转换过程并不是一一对应的,因此,进行转换操作时,会损失一些信息。为了获得更好的效果,在得到字节值构成的初始二进制原型样本后,再次将其进行嵌入操作,生成新的连续空间下的原型样本,即预处理原型样本,并将预处理原型样本作为新的初始原型样本,并按照上述方式进行迭代,当迭代次数到达第二预设次数时,完成迭代过程,将最后一次迭代之后获得预处理原型样本作为结果原型样本。其中,当迭代次数达到第二预设次数时,满足所述第二预设条件,第二预设次数可以是10次。
步骤S14:基于所述结果原型样本和所述恶意代码,生成最终对抗样本。
具体的,步骤S14包括:在所述结果原型样本中获取与所述恶意代码中未用节对应的替换节;利用所述替换节对所述恶意代码中未用节进行替换,以获得替换后的恶意代码;基于所述恶意代码和所述结果原型样本,获得新加节;在所述替换后的恶意代码中创建空白节;将所述新加节添加到所述空白节中,以获得所述最终对抗样本。
其中,所述基于所述恶意代码和所述结果原型样本,获得新加节的步骤包括:获取所述恶意代码包括的第一节;在所述结果原型样本中确定出与所述第一节对应的第二节;对所述第一节和第二节进行嵌入操作,以获得预处理第一节和预处理第二节;基于所述预处理第一节、所述预处理第二节和预设改动幅度阈值,利用公式三,在所述预处理第二节中确定出选定节;将所述第二节中与所述选定节对应的节确定为所述新加节;
所述公式三为:
Figure 141719DEST_PATH_IMAGE020
其中,
Figure 315211DEST_PATH_IMAGE009
为所述预处理第一节中的一个预处理第一节,
Figure 325893DEST_PATH_IMAGE010
为所述预处理第二节中与所述
Figure 497111DEST_PATH_IMAGE011
对应的一个预处理第二节,l为所述
Figure 593243DEST_PATH_IMAGE011
的长度,
Figure 304847DEST_PATH_IMAGE012
为所述预设改动幅度阈值。
需要说明的是,步骤S14实质是对恶意代码进行修改。主要分为两步:
1、将结果原型样本(二进制文件)的未用节替换为结果原型样本中替换节(结果原型样本中与未用节位置对应的节即为所述替换节)。恶意代码中的未用区域(未用节对应的区域)是编译器在编译过程中产生的空白空间,这些在文件加载时不会被读取。未用节包含了节与节之间的节及文件尾部的节等,将这些节直接替换为结果原型样本中对应位置的替换节。
2、将结果原型样本中与恶意代码相比改变较大的节作为新节加入到恶意代码文件中,该新节即为新加节。节是二进制文件中包含最多信息的区域,但是直接对节进行修改可能会破坏节的完整性,因此,通过在恶意代码中创建新节(创建空白节,通常在恶意代码的最末端)来创造空间以容纳结果原型样本中对应位置的新加节。为了避免加入过多的无效字节,在添加过程中以节为单位过滤掉改动不大的节。对于恶意代码中的节
Figure 91406DEST_PATH_IMAGE021
(所述第一节通常为多个,第一节为恶意代码中全部第一节的集合,
Figure 230264DEST_PATH_IMAGE021
为所述第一节中的任意一个第一节)以及结果原型样本中与第一节对应位置的节S(所述第二节通常为多个,第二节为结果原型样本中与全部第一节的对应的节的集合,S为与
Figure 813692DEST_PATH_IMAGE022
对应的一个第二节),利用嵌入层对他们进行嵌入处理分别得到
Figure 63407DEST_PATH_IMAGE011
Figure 986364DEST_PATH_IMAGE021
对应的预处理第一节)和
Figure 296123DEST_PATH_IMAGE010
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.一种对抗样本生成方法,其特征在于,所述方法包括以下步骤:
获取用于生成对抗样本的恶意代码;
利用预设恶意代码检测模型中的嵌入层对所述恶意代码进行嵌入操作,以获得连续值;将所述连续值输入所述预设恶意代码检测模型,以获得输出值;基于所述输出值,获得激活值;利用所述激活值更新所述连续值,并返回执行所述将所述连续值输入所述预设恶意代码检测模型的步骤,循环至满足第一预设条件,获得初始原型样本;
对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;
基于所述结果原型样本和所述恶意代码,生成最终对抗样本;
其中,所述对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本的步骤,包括:利用公式二,对所述初始原型样本进行转换操作,以获得初始二进制原型样本;对所述初始二进制原型样本进行嵌入操作,以获得预处理原型样本;利用所述预处理原型样本更新所述初始原型样本,并返回执行所述对所述初始原型样本进行转换操作的步骤,循环至满足第二预设条件,获得所述结果原型样本;
所述公式二为:
Figure 802899DEST_PATH_IMAGE001
其中,
Figure 534095DEST_PATH_IMAGE002
为所述初始二进制原型样本中的第i个元素,
Figure 527458DEST_PATH_IMAGE003
为所述初始原型样本中的第i个元素,X为预设字节值集合,f为预设映射函数。
2.如权利要求1所述的方法,其特征在于,所述利用所述激活值更新所述连续值的步骤,包括:
基于所述激活值和预设步长,利用公式一,对所述连续值进行更新;
所述公式一为:
Figure 281788DEST_PATH_IMAGE004
其中,
Figure 18800DEST_PATH_IMAGE005
为更新后的连续值,
Figure 604502DEST_PATH_IMAGE006
为所述连续值,n为所述预设步长,
Figure 34346DEST_PATH_IMAGE007
为所述激活值。
3.如权利要求1所述的方法,其特征在于,所述基于所述结果原型样本和所述恶意代码,生成最终对抗样本的步骤,包括:
在所述结果原型样本中获取与所述恶意代码中未用节对应的替换节;
利用所述替换节对所述恶意代码中未用节进行替换,以获得替换后的恶意代码;
基于所述恶意代码和所述结果原型样本,获得新加节;
在所述替换后的恶意代码中创建空白节;
将所述新加节添加到所述空白节中,以获得所述最终对抗样本。
4.如权利要求3所述的方法,其特征在于,所述基于所述恶意代码和所述结果原型样本,获得新加节的步骤,包括:
获取所述恶意代码包括的第一节;
在所述结果原型样本中确定出与所述第一节对应的第二节;
对所述第一节和第二节进行嵌入操作,以获得预处理第一节和预处理第二节;
基于所述预处理第一节、所述预处理第二节和预设改动幅度阈值,利用公式三,在所述预处理第二节中确定出选定节;
将所述第二节中与所述选定节对应的节确定为所述新加节;
所述公式三为:
Figure 275971DEST_PATH_IMAGE008
其中,
Figure 551095DEST_PATH_IMAGE009
为所述预处理第一节中的一个预处理第一节,
Figure 194566DEST_PATH_IMAGE010
为所述预处理第二节中与所述
Figure 592049DEST_PATH_IMAGE011
对应的一个预处理第二节,l为所述
Figure 320971DEST_PATH_IMAGE011
的长度,
Figure 399785DEST_PATH_IMAGE012
为所述预设改动幅度阈值。
5.一种对抗样本生成装置,其特征在于,所述装置包括:
获取模块,用于获取用于生成对抗样本的恶意代码;
第一获得模块,用于利用预设恶意代码检测模型中的嵌入层对所述恶意代码进行嵌入操作,以获得连续值;将所述连续值输入所述预设恶意代码检测模型,以获得输出值;基于所述输出值,获得激活值;利用所述激活值更新所述连续值,并返回执行所述将所述连续值输入所述预设恶意代码检测模型的步骤,循环至满足第一预设条件,获得初始原型样本;
第二获得模块,用于对所述初始原型样本进行转换操作和嵌入操作,以获得结果原型样本;
样本生成模块,用于基于所述结果原型样本和所述恶意代码,生成最终对抗样本;
其中,所述第二获得模块具体用于:利用公式二,对所述初始原型样本进行转换操作,以获得初始二进制原型样本;对所述初始二进制原型样本进行嵌入操作,以获得预处理原型样本;利用所述预处理原型样本更新所述初始原型样本,并返回执行所述对所述初始原型样本进行转换操作的步骤,循环至满足第二预设条件,获得所述结果原型样本;
所述公式二为:
Figure 897763DEST_PATH_IMAGE013
其中,
Figure 233191DEST_PATH_IMAGE002
为所述初始二进制原型样本中的第i个元素,
Figure 183830DEST_PATH_IMAGE003
为所述初始原型样本中的第i个元素,X为预设字节值集合,f为预设映射函数。
6.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行对抗样本生成程序,所述对抗样本生成程序被所述处理器执行时实现如权利要求1至4中任一项所述的对抗样本生成方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有对抗样本生成程序,所述对抗样本生成程序被处理器执行时实现如权利要求1至4中任一项所述的对抗样本生成方法的步骤。
CN202110384062.7A 2021-04-09 2021-04-09 对抗样本生成方法、装置、终端设备以及存储介质 Active CN112989346B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 平安科技(深圳)有限公司 恶意代码的识别方法、装置、计算机设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
CN109583271B (zh) 一种对车道线进行拟合的方法、装置及终端
CN112215227B (zh) 图像目标检测模型攻击方法、装置、终端设备及存储介质
CN112017669B (zh) 语音对抗样本检测方法、装置、终端设备以及存储介质
CN112910925B (zh) 域名检测方法、模型训练方法及装置、设备、存储介质
CN111931102A (zh) 一种构建页面的方法、装置及系统
CN112883036A (zh) 索引创建方法、装置、存储服务器以及存储介质
CN112560020B (zh) 威胁攻击检测方法、装置、终端设备以及存储介质
CN112035334B (zh) 异常设备检测方法、装置、存储介质与电子设备
CN113989962A (zh) 门禁识别控制方法及相关设备
US20230229245A1 (en) Emoji recommendation method of electronic device and same electronic device
CN113225234B (zh) 资产探测方法、装置、终端设备以及计算机可读存储介质
EP3627382A1 (en) Method for iris liveness detection and related product
CN112200198B (zh) 目标数据特征提取方法、装置及存储介质
CN112069015B (zh) 指令模拟器指令执行方法、装置、终端设备以及存储介质
CN111612450B (zh) 应用程序支付渠道的检测方法、装置、终端设备及介质
CN112346885A (zh) 电子设备控制方法、装置、设备以及计算机可读存储介质
CN116670631A (zh) 电子装置和使用该电子装置的存储器管理方法
CN113806533B (zh) 比喻句式特征词语提取方法、装置、介质及设备
CN115577331B (zh) 交互控制方法、装置、系统及存储介质
CN117592089B (zh) 一种数据处理方法、装置、设备以及存储介质
CN112230809B (zh) 计算机程序代码的选取方法、装置及存储介质
US20230236744A1 (en) Electronic device and method for managing memory of electronic device
CN116884050A (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