CN111881446A - 一种工业互联网恶意代码识别方法及装置 - Google Patents
一种工业互联网恶意代码识别方法及装置 Download PDFInfo
- Publication number
- CN111881446A CN111881446A CN202010566793.9A CN202010566793A CN111881446A CN 111881446 A CN111881446 A CN 111881446A CN 202010566793 A CN202010566793 A CN 202010566793A CN 111881446 A CN111881446 A CN 111881446A
- Authority
- CN
- China
- Prior art keywords
- malicious code
- sample
- original
- code sample
- malicious
- 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 46
- 239000013598 vector Substances 0.000 claims abstract description 70
- 238000013507 mapping Methods 0.000 claims abstract description 32
- 238000012549 training Methods 0.000 claims abstract description 25
- 230000006399 behavior Effects 0.000 claims description 35
- 230000003068 static effect Effects 0.000 claims description 24
- 238000013178 mathematical model Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 13
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 12
- 230000008485 antagonism Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 6
- 230000003190 augmentative effect Effects 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 241000700605 Viruses Species 0.000 description 4
- 230000003042 antagnostic effect Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 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
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Virology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种工业互联网恶意代码识别方法及装置,方法包括:将原始恶意代码样本映射为定维特征向量;将所述定维特征向量作为输入,通过生成对抗网络对所述原始恶意代码样本进行扩充,得到扩充后的恶意代码样本;通过扩充后的所述恶意代码样本训练深度信念网络,并通过训练后的所述深度信念网络对扩充后的所述恶意代码样本中的各恶意代码进行分类。本发明能够有效地提高工业互联网恶意代码分类的准确性。
Description
技术领域
本发明涉及网络安全技术领域,特别涉及一种工业互联网恶意代码识别方法及装置。
背景技术
工业互联网重点在于网络、数据、安全这三个方面。网络是基础,数据是核心,安全是保障。网络为工业系统互联和工业数据交换的支撑基础,数据为工业智能化的核心驱动,安全为网络与数据在工业中应用安全的安全保障。虽然工业控制系统现有的物理隔离等安全防护技术措施能够降低来自互联网的传统病毒的入侵与传播威胁。近年来,随着两化融合的发展趋势,管理系统与工控系统的互联互通,在提升效率的同时,也把传统IT风险延伸到了工业互联网。此外,随着越来越多通用系统、通用硬件被逐渐应用于工业互联网设施中,传统的系统漏洞也对工业互联网安全构成了威胁。
恶意代码分析有两类基本的方法:静态分析与动态分析。静态分析技术检测效率高,不需要执行恶意代码,但由于新的恶意代码普遍具有新的特征模式,利用静态分析技术很难检测出来;动态分析技术利用虚拟机或仿真器执行待测程序,监控并收集程序运行时显现的行为特征,即使对于新出现的恶意代码也能有较高的识别率,但每次分析都需要大量时间模拟执行,效率相对较低。随着深度学习在计算机视觉、语音识别和自然语言处理方面取得了一系列的成功,人们逐渐将深度学习应用于二进制病毒样本分类这个领域,并取得了一系列进展。基于深度学习的方法需要收集大量的已标记的样本,但工业互联网恶意代码存在收集困难,人工标记困难等难点,导致传统分类方法训练效果不理想。
发明内容
本发明的目的是提供一种工业互联网恶意代码识别方法及装置,能够解决工业互联网恶意代码样本不足情况下,传统分类方法训练效果不理想的问题。
第一方面,本发明实施例提供一种工业互联网恶意代码识别方法,包括:
将原始恶意代码样本映射为定维特征向量;
将所述定维特征向量作为输入,通过生成对抗网络对所述原始恶意代码样本进行扩充,得到扩充后的恶意代码样本;
通过扩充后的所述恶意代码样本训练深度信念网络,并通过训练后的所述深度信念网络对扩充后的所述恶意代码样本中的各恶意代码进行分类。
可选地,所述将原始恶意代码样本映射为定维特征向量,包括:
根据原始恶意代码样本中的各恶意代码行为设定对应的静态行为特征;
建立所述恶意代码行为与所述静态行为特征一一对应的数学模型;
通过所述数学模型将所述原始恶意代码样本映射为定维特征向量。
可选地,所述通过所述数学模型将所述原始恶意代码样本映射为定维特征向量,包括:
通过所述数学模型对所述原始恶意代码样本中恶意代码的二进制文件,经过反汇编得到对应的汇编代码,将所述汇编代码按照基本块进行划分,分别扫描每个基本块,以筛选内部应用程序接口API;
根据所述API执行的先后顺序和跳转指令的跳转结构,将反汇编得到的调用函数以及不同基本块中的API连接,以建立所述原始恶意代码的整体API调用图;
根据所述整体API调用图中各个节点的重要程度确定关键节点,并根据关键节点对所述整体API调用图进行标准化处理;
将标准化后的所述整体API调用图映射为定维特征向量,所述定维特征向量用于表征所述原始恶意代码样本的静态行为特征。
可选地,所述将所述定维特征向量作为输入,通过生成对抗网络对所述原始恶意代码样本进行扩充,得到扩充后的恶意代码样本,包括;
对所述原始恶意代码样本与获取到的多个良性代码样本的API进行提取,以构建API列表;
将接收到的一个随机噪声作为输入,通过生成对抗网络输出样本数据,所述噪声为所述API列表中的每个API产生一个随机数;
将所述样本数据的每个特征维度的取值置为0或1,并将生成的特征向量与所述定维特征向量在每个维度上进行或操作,得到对抗性样本,以及将所述对抗性样本的API写入到所述原始恶意代码样本中;
将所述对抗性样本输入至预设恶意代码判别器中进行检测并标记,将标记完成后的标记数据输入到替代判别器中,获取所述替代判别器的学习结果,基于所述学习结果输出最终的对抗性样本。
可选地,所述深度信念网络包括多层受限波尔兹曼机RBM和一层反向传播BP,所述通过扩充后的所述恶意代码样本训练深度信念网络,包括:
步骤1、将扩充后的所述恶意代码样本中恶意代码的二进制文件的特征向量作为输入,训练第一层RBM;
步骤2、固定所述第一层RBM的权值和偏移量,使用所述第一层RBM的隐藏节点,作为第二层RBM的输出向量;
步骤3、训练所述第二层RBM后,将所述第二层RBM堆叠在所述第一层RBM上方;
步骤4、重复执行步骤2和步骤3,直至训练完所有的RBM;
步骤5、将最后一个RBM的输出向量作为所述第一层RBM的输入,以初始化所述权值和偏移量;
步骤6、采用所述BP对所述深度信念网络进行调整,得到训练后的所述深度信念网络。
可选地,所述通过训练后的所述深度信念网络对扩充后的所述恶意代码样本中的各恶意代码进行分类,包括:
将训练后的所述深度信念网络作为恶意代码的分类器,输出扩充后的所述恶意代码样本中的各恶意代码的分类标记。
第二方面,本发明实施例提供一种工业互联网恶意代码识别装置,包括:
映射模块,用于将原始恶意代码样本映射为定维特征向量;
扩充模块,用于将所述定维特征向量作为输入,通过生成对抗网络对所述原始恶意代码样本进行扩充,得到扩充后的恶意代码样本;
处理模块,用于通过扩充后的所述恶意代码样本训练深度信念网络,并通过训练后的所述深度信念网络对扩充后的所述恶意代码样本中的各恶意代码进行分类。
可选地,所述映射模块,具体用于根据原始恶意代码样本中的各恶意代码行为设定对应的静态行为特征;建立所述恶意代码行为与所述静态行为特征一一对应的数学模型;通过所述数学模型将所述原始恶意代码样本映射为定维特征向量。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法。
本发明实施例提供的工业互联网恶意代码识别方法及装置,利用生成对抗网络对原始恶意代码样本进行扩充,解决了工业互联网恶意代码样本不足情况下,传统分类方法训练效果不理想的问题。从而能够有效地提高工业互联网恶意代码分类的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的工业互联网恶意代码识别方法流程图;
图2为本发明实施例提供的利用深度信念网络对扩充后的恶意代码样本中的各恶意代码进行分类示意图;
图3为本发明实施例提供的工业互联网恶意代码识别装置结构示意图;
图4为本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本实施例公开了一种工业互联网恶意代码识别方法,包括:
101、将原始恶意代码样本映射为定维特征向量;
本实施例可以结合工业互联网恶意代码的应用程序接口(API,ApplicationProgramming Interface)调用图将原始恶意代码样本映射为维度固定的特征向量。
恶意代码是指没有作用却会带来危险的代码,可以把所有不必要代码都看作是恶意代码,不必要代码相对于恶意代码具有更宽泛的含义,包括所有可能与某个组织安全策略相冲突的软件。
恶意代码具有如下两种定义:
定义一:恶意代码又称恶意软件,这些软件也可称为广告软件、间谍软件、恶意共享软件。是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵犯用户合法权益的软件。有时也称作流氓软件。
定义二:恶意代码是指故意编制或设置的,对网络或系统会产生威胁或潜在威胁的计算机代码。最常见的恶意代码有计算机病毒(简称病毒)、特洛伊木马(简称木马)、计算机蠕虫(简称蠕虫)、后门以及逻辑炸弹等。
102、将所述定维特征向量作为输入,通过生成对抗网络对所述原始恶意代码样本进行扩充,得到扩充后的恶意代码样本;
在获取到定维特征向量后,将定位特征向量作为输入,通过生成对抗网络对原始恶意代码进行对抗性样本的生成,以扩充原始恶意代码样本,得到扩充后的恶意代码样本。
生成对抗网络,又称生成式对抗网络(GAN,Generative Adversarial Networks)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。原始GAN理论中,并不要求G和D都是神经网络。只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为G和D。一个优秀的GAN应用需要有良好的训练方法,否则可能由于神经网络模型的自由性而导致输出不理想。
103、通过扩充后的所述恶意代码样本训练深度信念网络,并通过训练后的所述深度信念网络对扩充后的所述恶意代码样本中的各恶意代码进行分类。
在利用生成对抗网络进行原始恶意代码样本的扩充后,以扩充后的恶意代码样本进行深度信念网络的训练,之后通过训练好的深度信念网络对恶意代码进行分类。
训练好的深度信念网络可以看作为恶意代码的分类器,用于对恶意代码进行分类标记。
本实施例提供的工业互联网恶意代码识别方法,利用生成对抗网络对原始恶意代码样本进行扩充,解决了工业互联网恶意代码样本不足情况下,传统分类方法训练效果不理想的问题。从而能够有效地提高工业互联网恶意代码分类的准确性。
在前述方法实施例的基础上,步骤101中将原始恶意代码样本映射为定维特征向量,包括:
根据原始恶意代码样本中的各恶意代码行为设定对应的静态行为特征;
建立所述恶意代码行为与所述静态行为特征一一对应的数学模型;
通过所述数学模型将所述原始恶意代码样本映射为定维特征向量。
具体地,根据工业互联网恶意代码行为的不同,设定对应的静态行为特征,建立工业互联网恶意代码行为与静态行为特征一一对应的数学模型,将工业互联网恶意代码样本映射为定维特征向量。静态行为特征可以是应用组件、Intents、请求的权限、硬件信息、API调用、受保护的API、使用的权限、源码模式、字符串、认证信息和负载信息等。
进一步的,上述通过所述数学模型将所述原始恶意代码样本映射为定维特征向量,包括:
通过所述数学模型对所述原始恶意代码样本中恶意代码的二进制文件,经过反汇编得到对应的汇编代码,将所述汇编代码按照基本块进行划分,分别扫描每个基本块,以筛选内部应用程序接口API;
根据所述API执行的先后顺序和跳转指令的跳转结构,将反汇编得到的不同调用函数以及不同基本块中的API连接,以建立所述原始恶意代码的整体API调用图;
根据所述整体API调用图中各个节点的重要程度确定关键节点,并根据关键节点对所述整体API调用图进行标准化处理;
将标准化后的所述整体API调用图映射为定维特征向量,所述定维特征向量用于表征所述原始恶意代码样本的静态行为特征。
具体地,采用静态分析法对原始恶意代码的二进制文件进行逆向反汇编,得到对应的汇编代码,将汇编代码按照基本块进行划分,分别扫描每个基本块,选取包含call指令的语句以及包含跳转指令的语句,如jz、jmp、jnz等。Call指令调用的函数分为两类,自定义函数和API。如果调用目标为自定义函数,则进入该自定义函数内部,继续扫描其内部汇编语句,筛选其内部API。筛选结束后,根据API执行的先后顺序和跳转指令的跳转结构,将不同函数以及不同基本块中API连接,建立原始恶意代码的整体API调用图。根据整体API调用图中各个节点的重要程度,确定关键节点,根据关键节点对整体API调用图进行简化改造,使得整体API调用图结构标准化。将标准化后的API调用图映射为定维特征向量,作为原始恶意代码样本的静态行为特征。
在前述方法实施例的基础上,步骤102中将所述定维特征向量作为输入,通过生成对抗网络对所述原始恶意代码样本进行扩充,得到扩充后的恶意代码样本,包括:
对所述原始恶意代码样本与获取到的多个良性代码样本的API进行提取,以构建API列表;
将接收到的一个随机噪声作为输入,通过生成对抗网络输出样本数据,所述噪声为所述API列表中的每个API产生一个随机数;
将所述样本数据的每个特征维度的取值置为0或1,并将生成的特征向量与所述定维特征向量在每个维度上进行或操作,得到对抗性样本,以及将所述对抗性样本的API写入到所述原始恶意代码样本中;
将所述对抗性样本输入至预设恶意代码判别器中进行检测并标记,将标记完成后的标记数据输入到替代判别器中,获取所述替代判别器的学习结果,基于所述学习结果输出最终的对抗性样本。
具体地,对单个原始恶意代码样本与获取到的多个良性代码样本的API进行提取,构建API列表。生成对抗网络中的生成网络接收一个噪声数据作为输入,噪声为API列表中的每个API产生一个随机数z∈[-1,1],并作为生成网络的输入,输出一个和原始恶意代码样本相同大小的样本数据。将样本数据的每个特征维度的取值置为0或1,并将生成的特征向量与原始恶意代码样本的定维特征向量在每个维度上进行或操作,得到对抗性样本,并将对抗性样本的API写入到原始恶意代码样本中,防止对抗性样本删除原始恶意代码的初始API,破坏原始恶意代码的功能。生成对抗性样本后,将对抗性样本输入到恶意代码判别器中进行检测,并进行标记,标记完成后,将标记数据输入到替代判别器中,学习恶意代码判别器的判别规则。生成对抗网络中的生成网络根据替代判别器的学习结果输出最终的对抗性样本。
在前述方法实施例的基础上,所述深度信念网络包括多层受限波尔兹曼机(RBM,Restricted Boltzmann Machine)和一层反向传播(BP,Backpropagation),步骤103中通过扩充后的所述恶意代码样本训练深度信念网络,包括:
步骤1、将扩充后的所述恶意代码样本中恶意代码的二进制文件的特征向量作为输入,训练第一层RBM;
步骤2、固定所述第一层RBM的权值和偏移量,使用所述第一层RBM的隐藏节点,作为第二层RBM的输出向量;
步骤3、训练所述第二层RBM后,将所述第二层RBM堆叠在所述第一层RBM上方;
步骤4、重复执行步骤2和步骤3,直至训练完所有的RBM;
步骤5、将最后一个RBM的输出向量作为所述第一层RBM的输入,以初始化所述权值和偏移量;
步骤6、采用所述BP对所述深度信念网络进行调整,得到训练后的所述深度信念网络。
进一步的,步骤103中通过训练后的所述深度信念网络对扩充后的所述恶意代码样本中的各恶意代码进行分类,包括:
将训练后的所述深度信念网络作为恶意代码的分类器,输出扩充后的所述恶意代码样本中的各恶意代码的分类标记。
具体地,请参阅图2,图2为利用深度信念网络对扩充后的恶意代码样本中的各恶意代码进行分类示意图。在图2中,深度信念网络由多层受限波尔兹曼机RBM和一层反向传播BP组成,即图2中所示的RBM1、RBMi和RBMn和BP。将扩充后的恶意代码样本中恶意代码的二进制文件的特征向量作为输入,充分训练第一层RBM。固定第一层RBM的权值和偏移量,使用其隐藏节点,作为第二层RBM的输入向量。充分训练第二层RBM,将第二层RBM堆叠在第一层RBM上方。重复执行直至训练完所有的RBM。将最后一个RBM的输出作为第一层的输入,初始化权值和偏移量。采用BP对整个深度信念网络进行调整。将训练好的深度信念网络作为恶意代码的分类器,输出扩充后的恶意代码样本中的各恶意代码的分类标记。
综上,本实施例提出的工业互联网恶意代码识别方法,利用工业互联网恶意代码的API调用图进行其特征数据的提取,并通过关键节点的选取将所有API调用图标准化;并通过改进生成对抗网络,使用对抗网络生成样本训练分析模型,对工业互联网恶意代码样本进行扩充,提高模型识别准确率。本实施例的方法结合了API调用图的特征提取能力、生成对抗网络的样本扩充能力以及深度信念网络的分类能力,使本实施例的工业互联网恶意代码识别方法在初始标记样本数量不足的前提下,能够有效地提高工业互联网恶意代码分类的准确率。
基于上述实施例的内容,本实施例提供了一种工业互联网恶意代码识别装置,该工业互联网恶意代码识别装置用于执行上述方法实施例中提供的工业互联网恶意代码识别方法。参见图3,该装置包括:
映射模块301,用于将原始恶意代码样本映射为定维特征向量;
扩充模块302,用于将所述定维特征向量作为输入,通过生成对抗网络对所述原始恶意代码样本进行扩充,得到扩充后的恶意代码样本;
处理模块303,用于通过扩充后的所述恶意代码样本训练深度信念网络,并通过训练后的所述深度信念网络对扩充后的所述恶意代码样本中的各恶意代码进行分类。
本实施例提供的工业互联网恶意代码识别装置,利用生成对抗网络对原始恶意代码样本进行扩充,解决了工业互联网恶意代码样本不足情况下,传统分类方法训练效果不理想的问题。从而能够有效地提高工业互联网恶意代码分类的准确性。
在一些可选实施例中,所述映射模块301,具体用于根据原始恶意代码样本中的各恶意代码行为设定对应的静态行为特征;建立所述恶意代码行为与所述静态行为特征一一对应的数学模型;通过所述数学模型将所述原始恶意代码样本映射为定维特征向量。
进一步的,所述映射模块301,具体用于通过所述数学模型对所述原始恶意代码样本中恶意代码的二进制文件,经过反汇编得到对应的汇编代码,将所述汇编代码按照基本块进行划分,分别扫描每个基本块,以筛选内部应用程序接口API;根据所述API执行的先后顺序和跳转指令的跳转结构,将反汇编得到的不同调用函数以及不同基本块中的API连接,以建立所述原始恶意代码的整体API调用图;根据所述整体API调用图中各个节点的重要程度确定关键节点,并根据关键节点对所述整体API调用图进行标准化处理;将标准化后的所述整体API调用图映射为定维特征向量,所述定维特征向量用于表征所述原始恶意代码样本的静态行为特征。
在一些可选实施例中,所述扩充模块302,具体用于对所述原始恶意代码样本与获取到的多个良性代码样本的API进行提取,以构建API列表;将接收到的一个随机噪声作为输入,通过生成对抗网络输出样本数据,所述噪声为所述API列表中的每个API产生一个随机数;将所述样本数据的每个特征维度的取值置为0或1,并将生成的特征向量与所述定维特征向量在每个维度上进行或操作,得到对抗性样本,以及将所述对抗性样本的API写入到所述原始恶意代码样本中;将所述对抗性样本输入至预设恶意代码判别器中进行检测并标记,将标记完成后的标记数据输入到替代判别器中,获取所述替代判别器的学习结果,基于所述学习结果输出最终的对抗性样本。
在一些可选实施例中,所述深度信念网络包括多层受限波尔兹曼机RBM和一层反向传播BP,所述处理模块303,具体用于执行如下步骤:
步骤1、将扩充后的所述恶意代码样本中恶意代码的二进制文件的特征向量作为输入,训练第一层RBM;
步骤2、固定所述第一层RBM的权值和偏移量,使用所述第一层RBM的隐藏节点,作为第二层RBM的输出向量;
步骤3、训练所述第二层RBM后,将所述第二层RBM堆叠在所述第一层RBM上方;
步骤4、重复执行步骤2和步骤3,直至训练完所有的RBM;
步骤5、将最后一个RBM的输出向量作为所述第一层RBM的输入,以初始化所述权值和偏移量;
步骤6、采用所述BP对所述深度信念网络进行调整,得到训练后的所述深度信念网络。
进一步的,所述处理模块303,具体用于将训练后的所述深度信念网络作为恶意代码的分类器,输出扩充后的所述恶意代码样本中的各恶意代码的分类标记。
综上,本实施例提出的工业互联网恶意代码识别装置,利用工业互联网恶意代码的API调用图进行其特征数据的提取,并通过关键节点的选取将所有API调用图标准化;并通过改进生成对抗网络,使用对抗网络生成样本训练分析模型,对工业互联网恶意代码样本进行扩充,提高模型识别准确率。本实施例结合了API调用图的特征提取能力、生成对抗网络的样本扩充能力以及深度信念网络的分类能力,使本实施例的工业互联网恶意代码识别装置在初始标记样本数量不足的前提下,能够有效地提高工业互联网恶意代码分类的准确率。
本实施例的工业互联网恶意代码识别装置,可以用于执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(Communications Interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行如下方法:将原始恶意代码样本映射为定维特征向量;将所述定维特征向量作为输入,通过生成对抗网络对所述原始恶意代码样本进行扩充,得到扩充后的恶意代码样本;通过扩充后的所述恶意代码样本训练深度信念网络,并通过训练后的所述深度信念网络对扩充后的所述恶意代码样本中的各恶意代码进行分类。
此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:将原始恶意代码样本映射为定维特征向量;将所述定维特征向量作为输入,通过生成对抗网络对所述原始恶意代码样本进行扩充,得到扩充后的恶意代码样本;通过扩充后的所述恶意代码样本训练深度信念网络,并通过训练后的所述深度信念网络对扩充后的所述恶意代码样本中的各恶意代码进行分类。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种工业互联网恶意代码识别方法,其特征在于,包括:
将原始恶意代码样本映射为定维特征向量;
将所述定维特征向量作为输入,通过生成对抗网络对所述原始恶意代码样本进行扩充,得到扩充后的恶意代码样本;
通过扩充后的所述恶意代码样本训练深度信念网络,并通过训练后的所述深度信念网络对扩充后的所述恶意代码样本中的各恶意代码进行分类。
2.根据权利要求1所述的工业互联网恶意代码识别方法,其特征在于,所述将原始恶意代码样本映射为定维特征向量,包括:
根据原始恶意代码样本中的各恶意代码行为设定对应的静态行为特征;
建立所述恶意代码行为与所述静态行为特征一一对应的数学模型;
通过所述数学模型将所述原始恶意代码样本映射为定维特征向量。
3.根据权利要求2所述的工业互联网恶意代码识别方法,其特征在于,所述通过所述数学模型将所述原始恶意代码样本映射为定维特征向量,包括:
通过所述数学模型对所述原始恶意代码样本中恶意代码的二进制文件,经过反汇编得到对应的汇编代码,将所述汇编代码按照基本块进行划分,分别扫描每个基本块,以筛选内部应用程序接口API;
根据所述API执行的先后顺序和跳转指令的跳转结构,将反汇编得到的不同调用函数以及不同基本块中的API连接,以建立所述原始恶意代码的整体API调用图;
根据所述整体API调用图中各个节点的重要程度确定关键节点,并根据关键节点对所述整体API调用图进行标准化处理;
将标准化后的所述整体API调用图映射为定维特征向量,所述定维特征向量用于表征所述原始恶意代码样本的静态行为特征。
4.根据权利要求1所述的工业互联网恶意代码识别方法,其特征在于,所述将所述定维特征向量作为输入,通过生成对抗网络对所述原始恶意代码样本进行扩充,得到扩充后的恶意代码样本,包括;
对所述原始恶意代码样本与获取到的多个良性代码样本的API进行提取,以构建API列表;
将接收到的一个随机噪声作为输入,通过生成对抗网络输出样本数据,所述噪声为所述API列表中的每个API产生一个随机数;
将所述样本数据的每个特征维度的取值置为0或1,并将生成的特征向量与所述定维特征向量在每个维度上进行或操作,得到对抗性样本,以及将所述对抗性样本的API写入到所述原始恶意代码样本中;
将所述对抗性样本输入至预设恶意代码判别器中进行检测并标记,将标记完成后的标记数据输入到替代判别器中,获取所述替代判别器的学习结果,基于所述学习结果输出最终的对抗性样本。
5.根据权利要求1所述的工业互联网恶意代码识别方法,其特征在于,所述深度信念网络包括多层受限波尔兹曼机RBM和一层反向传播BP,所述通过扩充后的所述恶意代码样本训练深度信念网络,包括:
步骤1、将扩充后的所述恶意代码样本中恶意代码的二进制文件的特征向量作为输入,训练第一层RBM;
步骤2、固定所述第一层RBM的权值和偏移量,使用所述第一层RBM的隐藏节点,作为第二层RBM的输出向量;
步骤3、训练所述第二层RBM后,将所述第二层RBM堆叠在所述第一层RBM上方;
步骤4、重复执行步骤2和步骤3,直至训练完所有的RBM;
步骤5、将最后一个RBM的输出向量作为所述第一层RBM的输入,以初始化所述权值和偏移量;
步骤6、采用所述BP对所述深度信念网络进行调整,得到训练后的所述深度信念网络。
6.根据权利要求5所述的工业互联网恶意代码识别方法,其特征在于,所述通过训练后的所述深度信念网络对扩充后的所述恶意代码样本中的各恶意代码进行分类,包括:
将训练后的所述深度信念网络作为恶意代码的分类器,输出扩充后的所述恶意代码样本中的各恶意代码的分类标记。
7.一种工业互联网恶意代码识别装置,其特征在于,包括:
映射模块,用于将原始恶意代码样本映射为定维特征向量;
扩充模块,用于将所述定维特征向量作为输入,通过生成对抗网络对所述原始恶意代码样本进行扩充,得到扩充后的恶意代码样本;
处理模块,用于通过扩充后的所述恶意代码样本训练深度信念网络,并通过训练后的所述深度信念网络对扩充后的所述恶意代码样本中的各恶意代码进行分类。
8.根据权利要求7所述的工业互联网恶意代码识别装置,其特征在于,所述映射模块,具体用于根据原始恶意代码样本中的各恶意代码行为设定对应的静态行为特征;建立所述恶意代码行为与所述静态行为特征一一对应的数学模型;通过所述数学模型将所述原始恶意代码样本映射为定维特征向量。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的工业互联网恶意代码识别方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述工业互联网恶意代码识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010566793.9A CN111881446B (zh) | 2020-06-19 | 2020-06-19 | 一种工业互联网恶意代码识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010566793.9A CN111881446B (zh) | 2020-06-19 | 2020-06-19 | 一种工业互联网恶意代码识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111881446A true CN111881446A (zh) | 2020-11-03 |
CN111881446B CN111881446B (zh) | 2023-10-27 |
Family
ID=73156537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010566793.9A Active CN111881446B (zh) | 2020-06-19 | 2020-06-19 | 一种工业互联网恶意代码识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881446B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565261A (zh) * | 2020-12-04 | 2021-03-26 | 浙江大学 | 基于多生成器AugGAN的对抗动态恶意API序列生成方法 |
CN112784271A (zh) * | 2021-01-21 | 2021-05-11 | 国网河南省电力公司电力科学研究院 | 一种电力工控系统的控制软件逆向分析方法 |
CN114547614A (zh) * | 2022-02-25 | 2022-05-27 | 深圳市联软科技股份有限公司 | 一种恶意文件识别方法及系统 |
US12093027B1 (en) * | 2023-06-02 | 2024-09-17 | Southwest Petroleum University | Recognition method and system for safety behaviors in industrial control system for gas field |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679030A (zh) * | 2013-12-12 | 2014-03-26 | 中国科学院信息工程研究所 | 一种基于动态语义特征的恶意代码分析检测方法 |
CN104820687A (zh) * | 2015-04-22 | 2015-08-05 | 中国科学院信息工程研究所 | 一种有向链接式分类器构造方法及分类方法 |
CN105488409A (zh) * | 2014-12-31 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种检测恶意代码家族变种及新家族的方法及系统 |
CN106096415A (zh) * | 2016-06-24 | 2016-11-09 | 康佳集团股份有限公司 | 一种基于深度学习的恶意代码检测方法及系统 |
CN107392025A (zh) * | 2017-08-28 | 2017-11-24 | 刘龙 | 基于深度学习的恶意安卓应用程序检测方法 |
CN109829306A (zh) * | 2019-02-20 | 2019-05-31 | 哈尔滨工程大学 | 一种优化特征提取的恶意软件分类方法 |
CN110362997A (zh) * | 2019-06-04 | 2019-10-22 | 广东工业大学 | 一种基于生成对抗网络的恶意url过采样方法 |
CN110717412A (zh) * | 2019-09-23 | 2020-01-21 | 广东工业大学 | 一种检测恶意pdf文档的方法及系统 |
CN110795732A (zh) * | 2019-10-10 | 2020-02-14 | 南京航空航天大学 | 基于SVM的Android移动网络终端恶意代码的动静结合检测方法 |
CN110995652A (zh) * | 2019-11-04 | 2020-04-10 | 中国电子科技网络信息安全有限公司 | 一种基于深度迁移学习的大数据平台未知威胁检测方法 |
CN111259219A (zh) * | 2020-01-10 | 2020-06-09 | 北京金睛云华科技有限公司 | 恶意网页识别模型、识别模型建立方法、识别方法及系统 |
-
2020
- 2020-06-19 CN CN202010566793.9A patent/CN111881446B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679030A (zh) * | 2013-12-12 | 2014-03-26 | 中国科学院信息工程研究所 | 一种基于动态语义特征的恶意代码分析检测方法 |
CN105488409A (zh) * | 2014-12-31 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种检测恶意代码家族变种及新家族的方法及系统 |
CN104820687A (zh) * | 2015-04-22 | 2015-08-05 | 中国科学院信息工程研究所 | 一种有向链接式分类器构造方法及分类方法 |
CN106096415A (zh) * | 2016-06-24 | 2016-11-09 | 康佳集团股份有限公司 | 一种基于深度学习的恶意代码检测方法及系统 |
CN107392025A (zh) * | 2017-08-28 | 2017-11-24 | 刘龙 | 基于深度学习的恶意安卓应用程序检测方法 |
CN109829306A (zh) * | 2019-02-20 | 2019-05-31 | 哈尔滨工程大学 | 一种优化特征提取的恶意软件分类方法 |
CN110362997A (zh) * | 2019-06-04 | 2019-10-22 | 广东工业大学 | 一种基于生成对抗网络的恶意url过采样方法 |
CN110717412A (zh) * | 2019-09-23 | 2020-01-21 | 广东工业大学 | 一种检测恶意pdf文档的方法及系统 |
CN110795732A (zh) * | 2019-10-10 | 2020-02-14 | 南京航空航天大学 | 基于SVM的Android移动网络终端恶意代码的动静结合检测方法 |
CN110995652A (zh) * | 2019-11-04 | 2020-04-10 | 中国电子科技网络信息安全有限公司 | 一种基于深度迁移学习的大数据平台未知威胁检测方法 |
CN111259219A (zh) * | 2020-01-10 | 2020-06-09 | 北京金睛云华科技有限公司 | 恶意网页识别模型、识别模型建立方法、识别方法及系统 |
Non-Patent Citations (4)
Title |
---|
DARIO PASQUINI, MARCO MINGIONE, ET AL.: ""Adversarial Out-domain Examples for Generative Models"", "2019 4TH IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY WORKSHOPS", pages 272 - 280 * |
李峰、舒斐等: ""基于深度学习的Linux远控木马检测"", 《计算机工程》, vol. 46, no. 7, pages 159 - 164 * |
杨安、孙利民等: ""工业控制系统入侵检测技术综述"", 《计算机研究与发展》, vol. 53, no. 9, pages 2039 - 2054 * |
金炳初、文辉等: ""基于行为路径树的恶意软件分类方法"", 《计算机工程与应用》, vol. 56, no. 11, pages 98 - 104 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565261A (zh) * | 2020-12-04 | 2021-03-26 | 浙江大学 | 基于多生成器AugGAN的对抗动态恶意API序列生成方法 |
CN112565261B (zh) * | 2020-12-04 | 2021-11-23 | 浙江大学 | 基于多生成器AugGAN的对抗动态恶意API序列生成方法 |
CN112784271A (zh) * | 2021-01-21 | 2021-05-11 | 国网河南省电力公司电力科学研究院 | 一种电力工控系统的控制软件逆向分析方法 |
CN112784271B (zh) * | 2021-01-21 | 2022-07-22 | 国网河南省电力公司电力科学研究院 | 一种电力工控系统的控制软件逆向分析方法 |
CN114547614A (zh) * | 2022-02-25 | 2022-05-27 | 深圳市联软科技股份有限公司 | 一种恶意文件识别方法及系统 |
US12093027B1 (en) * | 2023-06-02 | 2024-09-17 | Southwest Petroleum University | Recognition method and system for safety behaviors in industrial control system for gas field |
Also Published As
Publication number | Publication date |
---|---|
CN111881446B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Deeppayload: Black-box backdoor attack on deep learning models through neural payload injection | |
RU2654146C1 (ru) | Система и способ обнаружения вредоносных файлов с использованием элементов статического анализа | |
CN111881446A (zh) | 一种工业互联网恶意代码识别方法及装置 | |
RU2708356C1 (ru) | Система и способ двухэтапной классификации файлов | |
RU2697955C2 (ru) | Система и способ обучения модели обнаружения вредоносных контейнеров | |
Struppek et al. | Learning to break deep perceptual hashing: The use case neuralhash | |
US11212297B2 (en) | Access classification device, access classification method, and recording medium | |
Bagane et al. | Classification of Malware using Deep Learning Techniques | |
CN110826060A (zh) | 物联网恶意软件的可视化分类方法、装置与电子设备 | |
Li et al. | Deep learning backdoors | |
KR102302484B1 (ko) | 특성 선택에 기반한 모바일 악성 코드 분류 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
Zhu et al. | Fragile neural network watermarking with trigger image set | |
Cepeda et al. | Feature selection and improving classification performance for malware detection | |
CN107180190A (zh) | 一种基于混合特征的Android恶意软件检测方法及系统 | |
CN113901465A (zh) | 一种基于异质网络的Android恶意软件检测方法 | |
CN111866004A (zh) | 安全评估方法、装置、计算机系统和介质 | |
Lo et al. | Towards an effective and efficient malware detection system | |
CN111680291A (zh) | 一种对抗样本生成方法、装置、电子设备及存储介质 | |
Kumar et al. | Detection of malware using deep learning techniques | |
Wang et al. | Malware detection using cnn via word embedding in cloud computing infrastructure | |
CN111767575A (zh) | 数据防爬方法、装置、设备及计算机可读存储介质 | |
KR101893029B1 (ko) | 머신 러닝 기반의 취약점 정보를 분류하는 방법 및 장치 | |
CN114817925B (zh) | 基于多模态图特征的安卓恶意软件检测方法及系统 | |
CN107622201B (zh) | 一种抗加固的Android平台克隆应用程序快速检测方法 | |
CN112487421B (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 |