CN113449297A - 恶意代码识别模型的训练方法、恶意代码识别方法及装置 - Google Patents
恶意代码识别模型的训练方法、恶意代码识别方法及装置 Download PDFInfo
- Publication number
- CN113449297A CN113449297A CN202010210990.7A CN202010210990A CN113449297A CN 113449297 A CN113449297 A CN 113449297A CN 202010210990 A CN202010210990 A CN 202010210990A CN 113449297 A CN113449297 A CN 113449297A
- Authority
- CN
- China
- Prior art keywords
- malicious code
- training
- feature set
- recognition model
- code recognition
- 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.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 137
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000003068 static effect Effects 0.000 claims abstract description 49
- 238000013528 artificial neural network Methods 0.000 claims abstract description 34
- 238000012360 testing method Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 15
- 244000035744 Hura crepitans Species 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 16
- 230000006399 behavior Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000007637 random forest analysis Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000002790 cross-validation Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000007621 cluster analysis Methods 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 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/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/045—Combinations of 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Virology (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种恶意代码识别模型的训练方法、恶意代码识别方法及装置。该恶意代码识别模型的训练方法,包括:获取恶意代码样本的静态分析特征集;获取恶意代码样本的动态分析特征集;基于静态分析特征集及动态分析特征集,训练预设的多层向前神经网络得到恶意代码识别模型。根据本发明实施例,能够获取识别准确度更高的恶意代码识别模型,进而更加准确地识别恶意代码。
Description
技术领域
本发明属于恶意代码识别技术领域,尤其涉及一种恶意代码识别模型的训练方法及装置,基于恶意代码识别模型的恶意代码识别方法及装置,电子设备和计算机存储介质。
背景技术
随着物联网的普及,越来越多的智能终端设备接入了网络,虽然为我们日常生活提供了方便,但也为恶意代码的传播提供了途径。APT攻击(Advanced Persistent Threat)事件和勒索病毒最近几年呈现爆发式增长。
目前,恶意代码的识别方法是基于训练好的模型去识别,而模型训练的方法主要有如下两种:1、利用分布式沙箱跑出行为特征,然后对随机森林网络进行模型训练;2、通过反编译提取恶意代码的静态特征,然后对随机森林网络进行模型训练。但是,由于恶意代码具有不同取值属性的特点,这些取值划分较多的属性会对随机森林网络产生较大的影响,所以随机森林网络在这种数据上产出的属性权值是不准确可信的。也就是说,基于随机森林网络训练出的模型,对于恶意代码识别的准确度较差。
因此,如何获取识别准确度更高的恶意代码识别模型,进而更加准确地识别恶意代码是本领域技术人员亟需解决的技术问题。
发明内容
本发明实施例提供一种恶意代码识别模型的训练方法及装置,基于恶意代码识别模型的恶意代码识别方法及装置,电子设备和计算机存储介质,能够获取识别准确度更高的恶意代码识别模型,进而更加准确地识别恶意代码。
第一方面,提供了一种恶意代码识别模型的训练方法,包括:
获取恶意代码样本的静态分析特征集;
获取恶意代码样本的动态分析特征集;
基于静态分析特征集及动态分析特征集,训练预设的多层向前神经网络得到恶意代码识别模型。
可选地,获取恶意代码样本的静态分析特征集,包括:
反编译恶意代码样本,得到汇编代码;
针对汇编代码进行静态分析特征提取,得到静态分析特征集。
可选地,获取恶意代码样本的动态分析特征集,包括:
基于预设的沙箱,获取恶意代码样本的动态分析特征集。
可选地,基于静态分析特征集及动态分析特征集,训练预设的多层向前神经网络得到恶意代码识别模型,包括:
利用静态分析特征集及动态分析特征集,构建原始特征集;
针对原始特征集进行特征标准化,得到标准特征集;
将标准特征集中每类特征的特征数据划分为三份,得到三个子特征集;
将三个子特征集两两随机组合,分别得到第一训练集、第二训练集及第三训练集;
基于第一训练集、第二训练集及第三训练集,训练多层向前神经网络得到恶意代码识别模型。
可选地,在将三个子特征集两两随机组合,分别得到第一训练集、第二训练集及第三训练集之后,还包括:
基于第一测试集、第二测试集及第三测试集,分别确定恶意代码识别模型的第一准确度、第二准确度及第三准确度;其中,第一测试集为非第一训练集的子特征集,第二测试集为非第二训练集的子特征集,第三测试集为非第三训练集的子特征集;
将第一准确度、第二准确度及第三准确度进行平均运算,得到目标准确度。
第二方面,提供了一种基于恶意代码识别模型的恶意代码识别方法,恶意代码识别模型是使用第一方面或者第一方面任一可选的实现方式中的恶意代码识别模型的训练方法得到的模型,包括:
获取待识别代码;
将待识别代码输入恶意代码识别模型,输出代码识别结果;其中,代码识别结果包括待识别代码为恶意代码或非恶意代码。
第三方面,提供了一种恶意代码识别模型的训练装置,包括:
第一获取模块,用于获取恶意代码样本的静态分析特征集;
第二获取模块,用于获取恶意代码样本的动态分析特征集;
训练模块,用于基于静态分析特征集及动态分析特征集,训练预设的多层向前神经网络得到恶意代码识别模型。
可选地,第一获取模块,用于反编译恶意代码样本,得到汇编代码;针对汇编代码进行静态分析特征提取,得到静态分析特征集。
可选地,第二获取模块,用于基于预设的沙箱,获取恶意代码样本的动态分析特征集。
可选地,训练模块,用于利用静态分析特征集及动态分析特征集,构建原始特征集;针对原始特征集进行特征标准化,得到标准特征集;将标准特征集中每类特征的特征数据划分为三份,得到三个子特征集;将三个子特征集两两随机组合,分别得到第一训练集、第二训练集及第三训练集;基于第一训练集、第二训练集及第三训练集,训练多层向前神经网络得到恶意代码识别模型。
可选地,训练模块还用于基于第一测试集、第二测试集及第三测试集,分别确定恶意代码识别模型的第一准确度、第二准确度及第三准确度;其中,第一测试集为非第一训练集的子特征集,第二测试集为非第二训练集的子特征集,第三测试集为非第三训练集的子特征集;将第一准确度、第二准确度及第三准确度进行平均运算,得到目标准确度。
第四方面,提供了一种基于恶意代码识别模型的恶意代码识别装置,恶意代码识别模型是使用第一方面或者第一方面任一可选的实现方式中的训练方法得到的模型,包括:
获取模块,用于获取待识别代码;
输出模块,用于将待识别代码输入恶意代码识别模型,输出代码识别结果;其中,代码识别结果包括待识别代码为恶意代码或非恶意代码。
第五方面,提供了一种电子设备,电子设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现第一方面或者第一方面任一可选的实现方式中的恶意代码识别模型的训练方法;或,
处理器执行计算机程序指令时实现第二方面的基于恶意代码识别模型的恶意代码识别方法。
第六方面,提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面或者第一方面任一可选的实现方式中的恶意代码识别模型的训练方法;或,
处理器执行计算机程序指令时实现第二方面的基于恶意代码识别模型的恶意代码识别方法。
本发明实施例的恶意代码识别模型的训练方法及装置,基于恶意代码识别模型的恶意代码识别方法及装置,电子设备和计算机存储介质,能够获取识别准确度更高的恶意代码识别模型,进而更加准确地识别恶意代码。该恶意代码识别模型的训练方法在获取恶意代码样本的静态分析特征集和动态分析特征集后,基于静态分析特征集及动态分析特征集,训练预设的多层向前神经网络。虽然恶意代码具有不同取值属性的特点,但多层向前神经网络能够克服这些取值划分较多的属性对其产生的影响,所以多层向前神经网络在这种数据上产出的属性权值是准确可信的,故训练出的恶意代码识别模型能够更加准确地识别恶意代码。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种恶意代码识别模型的训练方法的流程示意图;
图2是本发明实施例提供的一种基于恶意代码识别模型的恶意代码识别方法的流程示意图;
图3是本发明实施例提供的另一种恶意代码识别模型的训练方法的流程示意图;
图4是本发明实施例提供的一种静态分析特征提取的流程示意图;
图5是本发明实施例提供的一种动态分析特征提取的流程示意图;
图6是本发明实施例提供的一种多层向前神经网络层级示意图;
图7是本发明实施例提供的一种交叉验证示意图;
图8是本发明实施例提供的又一种恶意代码识别模型的训练方法的流程示意图;
图9是本发明实施例提供的一种恶意代码识别模型的训练装置的结构示意图;
图10是本发明实施例提供的一种基于恶意代码识别模型的恶意代码识别装置的结构示意图;
图11是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
目前,相关技术中的恶意代码的识别方法是基于训练好的模型去识别,而模型训练的方法主要是利用恶意代码对随机森林网络进行模型训练。但是,由于恶意代码具有不同取值属性的特点,这些取值划分较多的属性会对随机森林网络产生较大的影响,所以随机森林网络在这种数据上产出的属性权值是不准确可信的。也就是说,基于随机森林网络训练出的模型,对于恶意代码识别的准确度较差。
为了解决现有技术问题,本发明实施例提供了一种恶意代码识别模型的训练方法及装置,基于恶意代码识别模型的恶意代码识别方法及装置,电子设备和计算机存储介质。下面首先对本发明实施例所提供的恶意代码识别模型的训练方法进行介绍。
图1是本发明实施例提供的一种恶意代码识别模型的训练方法的流程示意图。如图1所示,该恶意代码识别模型的训练方法可以包括以下步骤:
S101、获取恶意代码样本的静态分析特征集。
为了获取更加准确的静态分析特征集,在一个实施例中,获取恶意代码样本的静态分析特征集,可以包括:反编译恶意代码样本,得到汇编代码;针对汇编代码进行静态分析特征提取,得到静态分析特征集。
S102、获取恶意代码样本的动态分析特征集。
为了获取更加准确的动态分析特征集,在一个实施例中,获取恶意代码样本的动态分析特征集,可以包括:基于预设的沙箱,获取恶意代码样本的动态分析特征集。
S103、基于静态分析特征集及动态分析特征集,训练预设的多层向前神经网络得到恶意代码识别模型。
为了获得更加准确的恶意代码识别模型,在一个实施例中,基于静态分析特征集及动态分析特征集,训练预设的多层向前神经网络得到恶意代码识别模型,可以包括:利用静态分析特征集及动态分析特征集,构建原始特征集;针对原始特征集进行特征标准化,得到标准特征集;将标准特征集中每类特征的特征数据划分为三份,得到三个子特征集;将三个子特征集两两随机组合,分别得到第一训练集、第二训练集及第三训练集;基于第一训练集、第二训练集及第三训练集,训练多层向前神经网络得到恶意代码识别模型。
为了检测恶意代码识别模型的准确度,在一个实施例中,在将三个子特征集两两随机组合,分别得到第一训练集、第二训练集及第三训练集之后,还可以包括:基于第一测试集、第二测试集及第三测试集,分别确定恶意代码识别模型的第一准确度、第二准确度及第三准确度;其中,第一测试集为非第一训练集的子特征集,第二测试集为非第二训练集的子特征集,第三测试集为非第三训练集的子特征集;将第一准确度、第二准确度及第三准确度进行平均运算,得到目标准确度。
在利用图1所示的恶意代码识别模型的训练方法得到恶意代码识别模型后,可使用该恶意代码识别模型进行恶意代码识别。图2是本发明实施例提供的一种基于恶意代码识别模型的恶意代码识别方法的流程示意图,如图2所示,该恶意代码识别方法可以包括以下步骤:
S201、获取待识别代码。
S202、将待识别代码输入恶意代码识别模型,输出代码识别结果;其中,代码识别结果包括待识别代码为恶意代码或非恶意代码。
综上所述,本发明实施例提供的恶意代码识别模型的训练方法在获取恶意代码样本的静态分析特征集和动态分析特征集后,基于静态分析特征集及动态分析特征集,训练预设的多层向前神经网络。虽然恶意代码具有不同取值属性的特点,但多层向前神经网络能够克服这些取值划分较多的属性对其产生的影响,所以多层向前神经网络在这种数据上产出的属性权值是准确可信的,故训练出的恶意代码识别模型能够更加准确地识别恶意代码。
下面以一个实施例对上述内容进行说明,具体如下:
如图3所示,该实施例的整体方案流程为:利用正常样本和异常样本确定样本集,通过反编译提取代码的静态分析特征得到静态分析特征集(包括函数操作码N-Gram,引用字符串及数量,引用函数及数量,指令块及数量),通过沙箱提取恶意代码的动态特征得到动态分析特征集(包括文件系统行为,注册表行为,网络行为,主动防御行为,进程和服务相关行为,资源消耗);基于静态分析特征集和动态分析特征集,得到训练结果集和测试结果集;利用训练结果集对神经网络进行训练得到训练好的模型,利用测试结果集对训练好的模型进行分类识别测试,可识别出正常文件还是恶意文件。
可选地,静态分析特征提取的过程如图4所示,利用交互式反汇编器专业版(Interactive Disassembler Professional,IDA Pro)反汇编工具对恶意样本反汇编,得到汇编代码,基于汇编代码提取静态特征,为了提高分析效率,对静态特征进行聚类分析,静态分类特征如下所示:
调用系统应用程序接口(Application Programming Interface,API)及调用数量:恶意代码执行恶意操作,往往依赖于对系统操作函数的调用。通过对系统API的调用来读取、修改操作系统资源对象,通过对恶意代码调用API分析,能够更加容易获知恶意代码的行为特征。
函数引用字符串及引用数量:字符串通常被用作系统API调用或者恶意代码编写者自定义函数的参数,可以较为直观反映恶意程序行为,如通过“http://”可以看出程序试图访问超文本传输协议(http)服务。
指令块及数量:指令块是指一个连续的指令序列,控制流从它的开始进入执行到其末尾,中间不可能有其它分支或中断。指令块与控制流相关联,反映在函数中就是函数中的条件分支和判断转移,其数量在一定程度反映此函数的重要程度。
函数操作码N-Gram序列:N-Gram特征将程序文件视为一个字节流,然后使用大小N的滑动窗口进行操作,得到长度为N的字节序列。
可选地,动态分析特征提取的过程如图5所示,将需要分析的恶意代码放在沙箱中,提取恶意代码的动态分析特征,按照行为特征特点进行聚类分析,动态分析特征集包括:
文件系统行为:拷贝和移动自身到系统目录下,在临时文件夹下创建临时文件,用来存储通过网络下载的额外组件,感染用户计算机或系统上的其它可执行文件,遍历特定类型文件,加密特定类型文件。
注册表行为及数量:获取或修改网络适配器的相关参数,注册或查询运行所需要的COM组件(COM component)或通过类标识符(class identifier,CLSID)检索COM对象,禁用系统防火墙,修改开机启动项。
网络行为:使用安全套接层(Secure Sockets Layer,SSL)加密通信链接,使用费标准的接口进行通信,扫描Windows端口130和445,链接到其他远程机器并下载可执行文件,通过简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)滥发垃圾邮件。
主动防御行为:通过中央处理器(CPU,central processing unit)特权指令或硬件名称检测虚拟运行环境,通过实践差和进程相关结构体中的标识检查程序是否处于调试状态。
进程和服务相关行为:通过远程线程,异步过程调用等方法进行代码注入,修改系统数据结构隐藏自身,终止安全软件相关服务。
资源消耗行为:通过程序运行前后CPU、内存、磁盘占用情况,监控有无异常程序,如挖矿等。
可选地,多层向前神经网络(Multilayer Feed-Forward Neural Network)层级如图6所示,其由输入层(input layer)、隐藏层(Hidden layer)及输出层(output layer)组成。图6中x1、x2、xi及xn均表示输入,w1j、w2j、wij及wnj均表示输入层和隐藏层之间的权重系数,wjk表示隐藏层和输出层之间的权重系数,Oj和Ok分别表示隐藏层和输出层的输出。
多层向前神经网络具有如下特点:
1、输入层是由训练集的实例特征向量传入。
2、经过连接接点的权重(weight)传入下一层,一层的输出是下一层的输入。
3、隐藏层的个数可以是任意的,输入层有一层,输出层有一层。
4、每个单元也可以称之为神经结点,根据生物学来源定义。
5、若为两层的神经网络,输入层是不算在里面的。
6、在每一层中加权求和,然后根据非线性方程转化输出。
7、作为多层向前神经网络,理论上,如果有足够的隐藏层和足够的训练集,可以模拟出任何方程。
8、使用神经网络训练数据之前,必须确定神经网络的层数,以及每层单元的个数。
9、特征向量在被传入输入层时通常要先标准化到0-1之间(为了加速学习过程)。
10、采用交叉验证方法提高准确度,交叉验证示意图如图7所示:
将特征集A划分为特征集A1、特征集A2和特征集A3,下面将有三种情况。第一种情况:将特征集A1、特征集A2作为训练集,特征集A3作为测试集;利用特征集A1、特征集A2对多层向前神经网络进行恶意代码的分类识别训练,利用特征集A3计算训练好的恶意代码识别模型的准确度;第二种情况:将特征集A2、特征集A3作为训练集,特征集A1作为测试集;利用特征集A2、特征集A3对多层向前神经网络进行恶意代码的分类识别训练,利用特征集A1计算训练好的恶意代码识别模型的准确度;第三种情况:将特征集A1、特征集A3作为训练集,特征集A2作为测试集;利用特征集A1、特征集A3对多层向前神经网络进行恶意代码的分类识别训练,利用特征集A2计算训练好的恶意代码识别模型的准确度。在分别求得三种情况下恶意代码识别模型的准确度后,进行计算平均准确度。
在一种实施例中,恶意代码识别模型的训练流程如图8所示,为了加速学习过程,对于特征集中的特征进行标准化处理,标准化到0-1之间;
将标准化后的特征集,将每类特征分为3份(数据集1,数据集2和数据集3),然后通过随机组合形成3组输入数据,每组数据中均有两份数据作为训练集,另外一份数据作为测试集;在交叉验证的过程中,通过多层向前神经网络对3种组合的训练集数据进行训练,共得出三个准确度;计算三个准确度的平均值作为最后的准确度,并得到恶意代码识别模型;利用训练出来的恶意代码识别模型判断输入代码是否为恶意代码。
本发明实施例还提供一种恶意代码识别模型的训练装置,如图9所示,该恶意代码识别模型的训练装置,可以包括:
第一获取模块901,用于获取恶意代码样本的静态分析特征集;
第二获取模块902,用于获取恶意代码样本的动态分析特征集;
训练模块903,用于基于静态分析特征集及动态分析特征集,训练预设的多层向前神经网络得到恶意代码识别模型。
可选地,第一获取模块901,用于反编译恶意代码样本,得到汇编代码;针对汇编代码进行静态分析特征提取,得到静态分析特征集。
可选地,第二获取模块902,用于基于预设的沙箱,获取恶意代码样本的动态分析特征集。
可选地,训练模块903,用于利用静态分析特征集及动态分析特征集,构建原始特征集;针对原始特征集进行特征标准化,得到标准特征集;将标准特征集中每类特征的特征数据划分为三份,得到三个子特征集;将三个子特征集两两随机组合,分别得到第一训练集、第二训练集及第三训练集;基于第一训练集、第二训练集及第三训练集,训练多层向前神经网络得到恶意代码识别模型。
可选地,训练模块903还用于基于第一测试集、第二测试集及第三测试集,分别确定恶意代码识别模型的第一准确度、第二准确度及第三准确度;其中,第一测试集为非第一训练集的子特征集,第二测试集为非第二训练集的子特征集,第三测试集为非第三训练集的子特征集;将第一准确度、第二准确度及第三准确度进行平均运算,得到目标准确度。
图9提供的恶意代码识别模型的训练装置中的各个模块具有实现图1所示实例中各个步骤的功能,并达到与图1所示恶意代码识别模型的训练方法相同的技术效果,为简洁描述,在此不再赘述。
本发明实施例还提供一种基于恶意代码识别模型的恶意代码识别装置,如图10所示,该基于恶意代码识别模型的恶意代码识别装置,可以包括:
获取模块1001,用于获取待识别代码;
输出模块1002,用于将待识别代码输入恶意代码识别模型,输出代码识别结果;其中,代码识别结果包括待识别代码为恶意代码或非恶意代码。
图10提供的基于恶意代码识别模型的恶意代码识别装置中的各个模块具有实现图2所示实例中各个步骤的功能,并达到与图2所示基于恶意代码识别模型的恶意代码识别方法相同的技术效果,为简洁描述,在此不再赘述。
图11是本发明实施例提供的一种电子设备的结构示意图。
电子设备可以包括处理器1101以及存储有计算机程序指令的存储器1102。
具体地,上述处理器1101可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器1102可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器1102可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器1102可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1102可在综合网关容灾设备的内部或外部。在特定实施例中,存储器1102是非易失性固态存储器。在特定实施例中,存储器1102包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器1101通过读取并执行存储器1102中存储的计算机程序指令,以实现图1所示的恶意代码识别模型的训练方法或图2所示的基于恶意代码识别模型的恶意代码识别方法。
在一个示例中,电子设备还可包括通信接口1103和总线1110。其中,如图11所示,处理器1101、存储器1102、通信接口1103通过总线1110连接并完成相互间的通信。
通信接口1103,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线1110包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1110可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
另外,本发明实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现图1所示的恶意代码识别模型的训练方法或图2所示的基于恶意代码识别模型的恶意代码识别方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种恶意代码识别模型的训练方法,其特征在于,包括:
获取恶意代码样本的静态分析特征集;
获取所述恶意代码样本的动态分析特征集;
基于所述静态分析特征集及所述动态分析特征集,训练预设的多层向前神经网络得到恶意代码识别模型。
2.根据权利要求1所述的恶意代码识别模型的训练方法,其特征在于,所述获取恶意代码样本的静态分析特征集,包括:
反编译所述恶意代码样本,得到汇编代码;
针对所述汇编代码进行静态分析特征提取,得到所述静态分析特征集。
3.根据权利要求1所述的恶意代码识别模型的训练方法,其特征在于,所述获取所述恶意代码样本的动态分析特征集,包括:
基于预设的沙箱,获取所述恶意代码样本的所述动态分析特征集。
4.根据权利要求1所述的恶意代码识别模型的训练方法,其特征在于,所述基于所述静态分析特征集及所述动态分析特征集,训练预设的多层向前神经网络得到恶意代码识别模型,包括:
利用所述静态分析特征集及所述动态分析特征集,构建原始特征集;
针对所述原始特征集进行特征标准化,得到标准特征集;
将所述标准特征集中每类特征的特征数据划分为三份,得到三个子特征集;
将三个所述子特征集两两随机组合,分别得到第一训练集、第二训练集及第三训练集;
基于所述第一训练集、所述第二训练集及所述第三训练集,训练所述多层向前神经网络得到所述恶意代码识别模型。
5.根据权利要求4所述的恶意代码识别模型的训练方法,其特征在于,在所述将三个所述子特征集两两随机组合,分别得到第一训练集、第二训练集及第三训练集之后,还包括:
基于第一测试集、第二测试集及第三测试集,分别确定所述恶意代码识别模型的第一准确度、第二准确度及第三准确度;其中,所述第一测试集为非所述第一训练集的子特征集,所述第二测试集为非所述第二训练集的子特征集,所述第三测试集为非所述第三训练集的子特征集;
将所述第一准确度、所述第二准确度及所述第三准确度进行平均运算,得到目标准确度。
6.一种基于恶意代码识别模型的恶意代码识别方法,其特征在于,所述恶意代码识别模型是使用权利要求1至5任一项所述的恶意代码识别模型的训练方法得到的模型,包括:
获取待识别代码;
将所述待识别代码输入所述恶意代码识别模型,输出代码识别结果;其中,所述代码识别结果包括所述待识别代码为恶意代码或非恶意代码。
7.一种恶意代码识别模型的训练装置,其特征在于,包括:
第一获取模块,用于获取恶意代码样本的静态分析特征集;
第二获取模块,用于获取所述恶意代码样本的动态分析特征集;
训练模块,用于基于所述静态分析特征集及所述动态分析特征集,训练预设的多层向前神经网络得到恶意代码识别模型。
8.一种基于恶意代码识别模型的恶意代码识别装置,其特征在于,所述恶意代码识别模型是使用权利要求1至5任一项所述的恶意代码识别模型的训练方法得到的模型,包括:
获取模块,用于获取待识别代码;
输出模块,用于将所述待识别代码输入所述恶意代码识别模型,输出代码识别结果;其中,所述代码识别结果包括所述待识别代码为恶意代码或非恶意代码。
9.一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-5任意一项所述的恶意代码识别模型的训练方法;或,
所述处理器执行所述计算机程序指令时实现如权利要求6所述的基于恶意代码识别模型的恶意代码识别方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-5任意一项所述的恶意代码识别模型的训练方法;或,
所述处理器执行所述计算机程序指令时实现如权利要求6所述的基于恶意代码识别模型的恶意代码识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010210990.7A CN113449297A (zh) | 2020-03-24 | 2020-03-24 | 恶意代码识别模型的训练方法、恶意代码识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010210990.7A CN113449297A (zh) | 2020-03-24 | 2020-03-24 | 恶意代码识别模型的训练方法、恶意代码识别方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113449297A true CN113449297A (zh) | 2021-09-28 |
Family
ID=77806316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010210990.7A Pending CN113449297A (zh) | 2020-03-24 | 2020-03-24 | 恶意代码识别模型的训练方法、恶意代码识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113449297A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300765A1 (en) * | 2008-05-27 | 2009-12-03 | Deutsche Telekom Ag | Unknown malcode detection using classifiers with optimal training sets |
CN108334781A (zh) * | 2018-03-07 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 病毒检测方法、装置、计算机可读存储介质和计算机设备 |
CN109214178A (zh) * | 2017-06-30 | 2019-01-15 | 中国电信股份有限公司 | App应用恶意行为检测方法及装置 |
WO2019153604A1 (zh) * | 2018-02-06 | 2019-08-15 | 平安科技(深圳)有限公司 | 人机识别模型的建立装置、方法及计算机可读存储介质 |
-
2020
- 2020-03-24 CN CN202010210990.7A patent/CN113449297A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300765A1 (en) * | 2008-05-27 | 2009-12-03 | Deutsche Telekom Ag | Unknown malcode detection using classifiers with optimal training sets |
CN109214178A (zh) * | 2017-06-30 | 2019-01-15 | 中国电信股份有限公司 | App应用恶意行为检测方法及装置 |
WO2019153604A1 (zh) * | 2018-02-06 | 2019-08-15 | 平安科技(深圳)有限公司 | 人机识别模型的建立装置、方法及计算机可读存储介质 |
CN108334781A (zh) * | 2018-03-07 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 病毒检测方法、装置、计算机可读存储介质和计算机设备 |
Non-Patent Citations (3)
Title |
---|
胡小生: "改进随机子空间与决策树相结合的不平衡数据分类方法", 《佛山科学技术学院学报(自然科学版)》, 30 September 2013 (2013-09-30), pages 22 - 26 * |
葛雨玮 等: "基于动态BP神经网络的恶意代码同源性分析", 《小型微型计算机系统》, 30 November 2016 (2016-11-30), pages 2527 - 2531 * |
陈琪 等: "基于静态结构的恶意代码同源性分析", 《计算机工程与应用》, 31 December 2017 (2017-12-31), pages 93 - 98 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753800B (zh) | 融合频繁项集与随机森林算法的Android恶意应用检测方法及系统 | |
CN104517054B (zh) | 一种检测恶意apk的方法、装置、客户端和服务器 | |
CN105229661B (zh) | 基于信号标记确定恶意软件的方法、计算设备及存储介质 | |
CN111858242A (zh) | 一种系统日志异常检测方法、装置及电子设备和存储介质 | |
CN108614970B (zh) | 病毒程序的检测方法、模型训练方法、装置及设备 | |
KR20110081177A (ko) | 비밀 정보의 검출 | |
CN113486350B (zh) | 恶意软件的识别方法、装置、设备及存储介质 | |
US20200159925A1 (en) | Automated malware analysis that automatically clusters sandbox reports of similar malware samples | |
CN109714356A (zh) | 一种异常域名的识别方法、装置及电子设备 | |
CN112528284A (zh) | 恶意程序的检测方法及装置、存储介质、电子设备 | |
CN111222137A (zh) | 一种程序分类模型训练方法、程序分类方法及装置 | |
CN113935033A (zh) | 特征融合的恶意代码家族分类方法、装置和存储介质 | |
CN113468520A (zh) | 应用于区块链业务的数据入侵检测方法及大数据服务器 | |
CN111861465A (zh) | 基于智能合约的检测方法及装置、存储介质、电子装置 | |
CN113282920B (zh) | 日志异常检测方法、装置、计算机设备和存储介质 | |
CN108959922B (zh) | 一种基于贝叶斯网的恶意文档检测方法及装置 | |
CN103093147B (zh) | 一种识别信息的方法和电子装置 | |
CN106528805A (zh) | 基于用户的移动互联网恶意程序url智能分析挖掘方法 | |
CN113971284B (zh) | 基于JavaScript的恶意网页检测方法、设备及计算机可读存储介质 | |
CN116134785A (zh) | 网络设备属性的低时延识别 | |
CN106034132A (zh) | 保护方法与计算机系统 | |
CN114285587A (zh) | 域名鉴别方法和装置、域名分类模型的获取方法和装置 | |
CN113449297A (zh) | 恶意代码识别模型的训练方法、恶意代码识别方法及装置 | |
KR20220116410A (ko) | 보안 규제 준수 자동화 장치 | |
CN115310087A (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 |