CN108614970A - 病毒程序的检测方法、模型训练方法、装置及设备 - Google Patents
病毒程序的检测方法、模型训练方法、装置及设备 Download PDFInfo
- Publication number
- CN108614970A CN108614970A CN201810289056.1A CN201810289056A CN108614970A CN 108614970 A CN108614970 A CN 108614970A CN 201810289056 A CN201810289056 A CN 201810289056A CN 108614970 A CN108614970 A CN 108614970A
- Authority
- CN
- China
- Prior art keywords
- feature
- layer
- virus
- behavior sequence
- shallow
- 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
- 241000700605 Viruses Species 0.000 title claims abstract description 125
- 238000012549 training Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000001514 detection method Methods 0.000 title claims abstract description 52
- 230000003612 virological effect Effects 0.000 claims abstract description 110
- 238000003745 diagnosis Methods 0.000 claims abstract description 101
- 230000004927 fusion Effects 0.000 claims abstract description 67
- 238000000605 extraction Methods 0.000 claims abstract description 61
- 238000013528 artificial neural network Methods 0.000 claims abstract description 41
- 239000000284 extract Substances 0.000 claims abstract description 14
- 230000006399 behavior Effects 0.000 claims description 206
- 238000003860 storage Methods 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 11
- 230000000840 anti-viral effect Effects 0.000 claims description 9
- 201000010099 disease Diseases 0.000 claims description 9
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 238000010801 machine learning Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 4
- 239000013598 vector Substances 0.000 description 35
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 210000005036 nerve Anatomy 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 101000911390 Homo sapiens Coagulation factor VIII Proteins 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 102000057593 human F8 Human genes 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002574 poison Substances 0.000 description 1
- 231100000614 poison Toxicity 0.000 description 1
- 229940047431 recombinate Drugs 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000007619 statistical method Methods 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/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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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
Abstract
本申请实施例公开了一种病毒程序的检测方法、模型训练方法、装置及设备,涉及计算机技术领域。所述方法包括:获取目标应用程序的行为序列,该行为序列包括待测应用程序在运行时所执行的至少一个行为;提取行为序列的浅层特征和深层特征,其中,浅层特征包括采用数学统计方式提取的特征,深层特征包括采用深度神经网络提取的特征;对浅层特征和深层特征进行融合,生成融合特征;根据融合特征确定目标应用程序是否为病毒程序。本申请实施例通过实现了自动化地特征提取及病毒检测,提升了病毒检测的效率,并且通过深度神经网络提取目标应用程序的深层特征,提升了病毒检测的泛化能力。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种病毒程序的检测方法、模型训练方法、装置及设备。
背景技术
用户在使用手机、平板电脑之类的终端时,可能会在不经意间下载到病毒程序。这些病毒程序有的会破坏终端功能和数据,有的会恶意窃取用户隐私,产生各种危害。
目前,采用如下方式对病毒程序进行检测:安全人员根据病毒程序的行为,人工制定病毒程序的行为规则,而后通过对目标应用程序的行为进行分析,判断其是否符合病毒程序的行为规则,如果目标应用程序的行为符合病毒程序的行为规则,则确定该目标应用程序为病毒程序。
上述检测病毒程序的方式依赖于人工制定病毒程序的行为规则,效率低下,且对于复杂的病毒程序,人工发现并制定其行为规则较为困难。
发明内容
本申请实施例提供了一种病毒程序的检测方法、模型训练方法、装置及设备,可用于解决采用基于人工制定的病毒程序的行为规则进行病毒检测所存在的问题。所述技术方案如下:
一方面,本申请实施例提供一种病毒程序的检测方法,所述方法包括:
获取目标应用程序的行为序列,所述行为序列包括所述目标应用程序在运行时所执行的至少一个行为;
提取所述行为序列的浅层特征和深层特征,其中,所述浅层特征包括采用数学统计方式提取的特征,所述深层特征包括采用深度神经网络提取的特征;
对所述浅层特征和所述深层特征进行融合,生成融合特征;
根据所述融合特征确定所述目标应用程序是否为病毒程序。
另一方面,本申请实施例提供一种模型训练方法,所述方法包括:
获取训练样本,所述训练样本包括:样本应用程序和所述样本应用程序对应的标签,所述标签用于指示所述样本应用程序是否为病毒程序;
获取所述样本应用程序的行为序列,所述样本应用程序的行为序列包括所述样本应用程序在运行时所执行的至少一个行为;
采用数学统计方式提取所述样本应用程序的行为序列的浅层特征;
将所述样本应用程序的行为序列输入至病毒检测模型,通过所述病毒检测模型采用深度神经网络提取所述样本应用程序的行为序列的深层特征;
通过所述病毒检测模型对所述浅层特征和所述深层特征进行融合,生成融合特征,并基于所述融合特征预测所述样本应用程序是否为所述病毒程序;
根据所述病毒检测模型的预测结果和所述标签对所述病毒检测模型的参数进行修正,直至所述病毒检测模型满足停止训练条件时,结束对所述病毒检测模型的训练。
另一方面,本申请实施例提供一种病毒程序的检测方法,所述方法包括:
当目标应用程序处于运行状态时,获取所述目标应用程序的行为序列,所述行为序列包括所述目标应用程序在运行时所执行的至少一个行为;
通过病毒检测模型提取所述行为序列的深层特征,并结合所述行为序列的浅层特征确定所述目标应用程序是否为病毒程序,其中,所述深层特征包括采用深度神经网络提取的特征,所述浅层特征包括采用数学统计方式提取的特征;
当所述目标应用程序为所述病毒程序时,显示用于提示所述目标应用程序为所述病毒程序的提示信息。
再一方面,本申请实施例提供一种病毒程序的检测装置,所述装置包括:
序列获取模块,用于获取目标应用程序的行为序列,所述行为序列包括所述目标应用程序在运行时所执行的至少一个行为;
特征提取模块,用于提取所述行为序列的浅层特征和深层特征,其中,所述浅层特征包括采用数学统计方式提取的特征,所述深层特征包括采用深度神经网络提取的特征;
特征融合模块,用于对所述浅层特征和所述深层特征进行融合,生成融合特征;
病毒检测模块,用于根据所述融合特征确定所述目标应用程序是否为病毒程序。
再一方面,本申请实施例提供一种模型训练装置,所述装置包括:
样本获取模块,用于获取训练样本,所述训练样本包括:样本应用程序和所述样本应用程序对应的标签,所述标签用于指示所述样本应用程序是否为病毒程序;
序列获取模块,用于获取所述样本应用程序的行为序列,所述样本应用程序的行为序列包括所述样本应用程序在运行时所执行的至少一个行为;
第一提取模块,用于采用数学统计方式提取所述样本应用程序的行为序列的浅层特征;
第二提取模块,用于将所述样本应用程序的行为序列输入至病毒检测模型,通过所述病毒检测模型采用深度神经网络提取所述样本应用程序的行为序列的深层特征;
模型预测模块,用于通过所述病毒检测模型对所述浅层特征和所述深层特征进行融合,生成融合特征,并基于所述融合特征预测所述样本应用程序是否为所述病毒程序;
模型训练模块,用于根据所述病毒检测模型的预测结果和所述标签对所述病毒检测模型的参数进行修正,直至所述病毒检测模型满足停止训练条件时,结束对所述病毒检测模型的训练。
再一方面,本申请实施例提供一种病毒程序的检测装置,所述装置包括:
序列获取模块,用于当目标应用程序处于运行状态时,获取所述目标应用程序的行为序列,所述行为序列包括所述目标应用程序在运行时所执行的至少一个行为;
病毒检测模块,用于通过病毒检测模型提取所述行为序列的深层特征,并结合所述行为序列的浅层特征确定所述目标应用程序是否为病毒程序,其中,所述深层特征包括采用深度神经网络提取的特征,所述浅层特征包括采用数学统计方式提取的特征;
病毒提示模块,用于当所述目标应用程序为所述病毒程序时,显示用于提示所述目标应用程序为所述病毒程序的提示信息。
又一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述病毒程序的检测方法。
又一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述模型训练方法。
还一方面,本申请实施例提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述病毒程序的检测方法。
还一方面,本申请实施例提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述模型训练方法。
又一方面,本申请实施例提供一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述方面所述的病毒程序的检测方法。
又一方面,本申请实施例提供一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述方面所述的模型训练方法。
本申请实施例提供的技术方案中,通过提取目标应用程序的行为序列的浅层特征和深层特征,并将上述浅层特征和深层特征进行融合,根据融合特征确定目标应用程序是否为病毒程序,实现了自动化地特征提取及病毒检测,提升了病毒检测的效率;另外,即使是行为复杂的目标应用程序,采用本申请提供的方案同样能够进行自动化地特征提取及病毒检测,克服人工制定规则所存在的局限。并且,通过深度神经网络提取目标应用程序的深层特征,提升了病毒检测方法的泛化能力。
附图说明
图1是本申请一个实施例提供的病毒程序的检测方法的流程图;
图2示例性示出了一种病毒检测模型的示意图;
图3是本申请一个实施例提供的模型训练方法的流程图;
图4A示出了通过模型训练过程生成模型文件的示意性流程图;
图4B示出了采用模型文件进行病毒检测的示意性流程图;
图5是本申请另一个实施例提供的病毒程序的检测方法的流程图;
图6示例性示出了病毒检测引擎的用户界面图;
图7是本申请一个实施例提供的病毒程序的检测装置的框图;
图8是本申请一个实施例提供的模型训练装置的框图;
图9是本申请另一个实施例提供的病毒程序的检测装置的框图;
图10是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供的病毒程序的检测方法,各步骤的执行主体为计算机设备。计算机设备具备处理和计算功能。
在一种可能的应用场景中,在服务端对病毒程序进行检测,此时各步骤的执行主体为服务器。所述服务器可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。在一个示例中,服务端运行有病毒检测引擎,该病毒检测引擎执行下述方法示例中的各个步骤,以对病毒程序进行检测。
在另一种可能的应用场景中,在客户端对病毒程序进行检测,此时各步骤的执行主体为终端。例如,终端可以是手机、平板电脑、多媒体播放设备、可穿戴设备等任意可安装运行应用程序的电子设备。在一个示例中,终端中安装运行有病毒检测引擎,该病毒检测引擎执行下述方法示例中的各个步骤,以对病毒程序进行检测。
在又一种可能的应用场景中,由服务端和客户端交互配合对病毒程序进行检测。以对终端中的目标应用程序进行检测为例,终端获取目标应用程序的行为序列,将该目标应用程序的行为序列提交给服务器,由服务器提取行为序列的浅层特征和深层特征,并据此判定目标应用程序是否为病毒程序,而后服务器将判定结果反馈给客户端。在上述应用场景中,可以充分利用云端服务器的计算能力,减轻终端设备的计算压力。
另外,本申请实施例提供的方法,适用于对Android(安卓)应用程序进行检测。当然,并不限定本申请实施例提供的方法还适用于对其它操作系统中的应用程序进行检测,如Windows系统、iOS系统或者其它基于Android系统的定制系统等。
请参考图1,其示出了本申请一个实施例提供的病毒程序的检测方法的流程图。该方法可以包括如下几个步骤:
步骤101,获取目标应用程序的行为序列。
目标应用程序是指待检测其是否为病毒程序的应用程序。目标应用程序的行为序列包括:目标应用程序在运行时所执行的至少一个行为。例如,上述行为包括但不限于发送短信、访问通讯录、发送邮件、访问网络、隐藏图标等。
可选地,不同的行为对应于不同的API(Application Programming Interface,应用程序编程接口),目标应用程序通过调用接口,执行与该接口对应的行为。例如,目标应用程序通过调用用于发送短信的接口,执行发送短信这一行为。通过对目标应用程序所调用的接口进行监控,即可获取目标应用程序所执行的行为。
可选地,不同的行为对应于不同的标识,上述行为序列可采用每一个行为对应的标识进行表示。标识可以为整型值,如1、2、3等。例如,目标应用程序的行为序列可以表示为[1,3,2,7,21,15,…]。各个行为对应的标识可以预先由人工制定,并将该对应关系预配置在设备中。
以目标应用程序为Android应用程序为例,可以在Android模拟器中运行该目标应用程序,由Android模拟器获取目标应用程序在运行时所执行的各个行为,并输出相应的行为序列。Android模拟器是一个可以运行在电脑上的虚拟设备,可以在不使用手机物理设备的情况下运行Android应用程序。
需要说明的是,行为序列中包含的各个行为的排列顺序,与各个行为的执行顺序相一致。在先执行的行为排在在后执行的行为之前。例如,目标应用程序在运行时依次执行了发送短信、访问通讯录、发送邮件等操作,其中,发送短信对应的标识为5、访问通讯录对应的标识为3、发送邮件对应的标识为7,则该行为序列可表示为[5,3,7,…]。
步骤102,提取行为序列的浅层特征和深层特征。
浅层特征包括采用数学统计方式提取的特征。例如,通过对行为序列中包含的各个行为的出现次数、频率、位置等进行统计分析,得到行为序列的浅层特征。
在一种可能的实施方式中,采用下述步骤提取行为序列的浅层特征:
1、计算行为序列中的每一个行为在行为序列中的出现次数占比;
2、根据各个行为在行为序列中的出现次数占比,生成浅层特征。
可选地,浅层特征以向量形式表示。假设应用程序在运行时可执行的行为总数为n,行为对应的标识的取值范围是1~n,则浅层特征向量可以表示成[SV1,SV2,SV3,…,SVn]的n维向量。其中,SVi表示标识为i的行为在行为序列中的出现次数占比,即:
其中,counti表示标识为i的行为在行为序列中的出现次数,j∈[1,n]且j为整数。
深层特征包括采用深度神经网络(Deep Neural Networks,DNN)提取的特征。神经网络的基本结构包括输入层、隐藏层和输出层。深度神经网络是指具有多个隐藏层的神经网络。深度神经网络能够对特征进行重组、映射等处理,从而生成更具泛化能力的深层特征。可选地,采用LSTM(Long Short-Term Memory,长短期记忆)网络提取行为序列的深层特征。此外,在其它可能的示例中,也可选用CNN(Convolutional Neural Network,卷积神经网络)、GRU(Gated Recurrent Unit,门控循环单元)等其它神经网络,本申请实施例对此不作限定。
在一种可能的实施方式中,采用下述步骤提取行为序列的深层特征:
1、对行为序列中的每一个行为进行向量化,得到行为序列的向量化表示;
2、将行为序列的向量化表示输入至深度神经网络,得到深层特征。
向量化(embedding)的方法有很多,如One-hot编码、Word2Vec方法等,本申请实施例对此不作限定。以One-hot编码为例,假设应用程序在运行时可执行的行为总数为6,行为序列为[3、6、2、2、1],则One-hot编码后得到的向量化表示为:[[0,0,1,0,0,0],[0,0,0,0,0,1],[0,1,0,0,0,0],[0,1,0,0,0,0],[1,0,0,0,0,0]]。之后,将行为序列的向量化表示输入至深度神经网络,得到深层特征。深层特征也可以向量形式表示。例如,将行为序列的向量化表示输入至LSTM网络,得到深层特征向量。
通过对行为序列进行向量化,一方面可以满足深度神经网络对输入数据的格式要求,另一方面可以刻画出行为与行为之间的关系。
需要说明的一点是,在本申请实施例中,浅层特征除了包括采用数学统计方式提取的特征之外,还可能包括采用其它方式从行为序列中提取的特征,本申请实施例对此不作限定;类似地,深层特征除了包括采用深度神经网络提取的特征之外,还可能包括采用其它方式从行为序列中提取的特征,本申请实施例对此也不作限定。
步骤103,对浅层特征和深层特征进行融合,生成融合特征。
对浅层特征和深层特征进行融合,其目的是在后续病毒判定过程中综合考虑上述浅层特征和深层特征。可选地,本步骤包括如下几个子步骤:
1、对浅层特征和深层特征分别进行归一化处理,得到处理后的浅层特征和处理后的深层特征;
2、将处理后的浅层特征和处理后的深层特征进行拼接,得到融合特征。
考虑到浅层特征和深层特征可能不在同一量级区间,如果直接拼接会导致量级小的特征向量无意义,也即拼接后的向量只由量级大的特征向量所决定。因此,通过对浅层特征向量和深层特征向量进行归一化,其目的是使得上述两个特征向量在同一量级区间。
可选地,向量归一化值=((原始向量-均值)/(标准差+epsilon))*gamma+beta,其中,epsilon,gamma,beta为常量,均值和标准差为模型训练得到的参数。当采用浅层特征向量作为原始向量代入上述公式时,便可得到处理后的浅层特征向量;当采用深层特征向量作为原始向量代入上述公式时,便可得到处理后的深层特征向量。
假设处理后的浅层特征向量为[0.2,0.1,0.8],处理后的深层特征向量为[0.5,0.3,0.2],则拼接后得到的融合特征向量为[0.2,0.1,0.8,0.5,0.3,0.2]。
步骤104,根据融合特征确定目标应用程序是否为病毒程序。
可选地,将融合特征输入至分类器,得到用于指示目标应用程序是否为病毒程序的输出结果。例如,分类器可以选用softmax分类器。分类器的输出结果包括第一输出结果和第二输出结果,其中,第一输出结果表示是病毒程序,第二输出结果表示不是病毒程序。示例性地,第一输出结果为1,第二输出结果为0。
综上所述,本申请实施例提供的方案中,通过提取目标应用程序的行为序列的浅层特征和深层特征,并将上述浅层特征和深层特征进行融合,根据融合特征确定目标应用程序是否为病毒程序,实现了自动化地特征提取及病毒检测,提升了病毒检测的效率;另外,即使是行为复杂的目标应用程序,采用本申请提供的方案同样能够进行自动化地特征提取及病毒检测,克服人工制定规则所存在的局限。
并且,通过深度神经网络提取目标应用程序的深层特征,相较于采用决策树这类简单模型提取的浅层特征,能够提升病毒检测方法的泛化能力。
在基于图1实施例提供的一个可选实施例中,预先训练生成病毒检测模型,通过该病毒检测模型确定目标应用程序是否为病毒程序。例如,将目标应用程序的行为序列输入至病毒检测模型,由该病毒检测模型提取行为序列的浅层特征和深层特征,对浅层特征和深层特征进行融合生成融合特征,而后根据融合特征确定目标应用程序是否为病毒程序。也即上述图1实施例中的步骤102-104可以由病毒检测模型完成。
下面,对病毒检测模型的训练过程进行介绍说明。该训练过程中,各步骤的执行主体可以是计算机设备,如PC(Personal Computer,个人计算机)或服务器。简单来说,该训练过程可以包括如下几个步骤:
1、获取训练样本集。
训练样本集包括多个训练样本,每一个训练样本包括:样本应用程序和该样本应用程序对应的标签,上述标签用于指示该样本应用程序是否为病毒程序。
2、采用机器学习算法对训练样本进行训练,得到病毒检测模型。
可选地,病毒检测模型包括:特征提取层、融合层和分类层。其中,特征提取层用于通过深度神经网络提取目标应用程序的行为序列的深层特征。融合层用于对浅层特征和深层特征进行融合,生成融合特征。分类层用于根据融合特征确定目标应用程序是否为病毒程序。
结合参考图2,其示例性示出了一种病毒检测模型20的示意图。该病毒检测模型包括输入层21、特征提取层22、融合层23、分类层24和输出层25。
输入层21的输入数据为应用程序(如样本应用程序或目标应用程序)的行为序列,其中,样本应用程序的行为序列的提取方式可参见上文对目标应用程序的行为序列的提取方式的介绍,此处不再赘述。通过特征提取层22中的深度神经网络提取行为序列的深层特征。另外,行为序列的浅层特征可直接采用数学统计方式提取。而后,通过融合层23对浅层特征和深层特征进行融合生成融合特征,最后由分类层24中的分类器(如softmax分类器)根据融合特征对应用程序是否属于病毒程序进行分类,并通过输出层25输出结果。
在一个示例中,如图3所示,上述模型训练方法可以包括如下几个步骤:
步骤301,获取训练样本。
在通常情况下,计算机设备获取的训练样本的数量为多个。训练样本越多,最终训练得到的模型的准确性通常来说越好。
步骤302,获取样本应用程序的行为序列。
样本应用程序的行为序列包括样本应用程序在运行时所执行的至少一个行为。例如,计算机设备可以将样本应用程序在应用模拟器(如Android模拟器)中运行,提取样本应用程序的行为序列。
步骤303,采用数学统计方式提取样本应用程序的行为序列的浅层特征。
与上文介绍的类似,计算机设备可以计算样本应用程序的行为序列中的每一个行为在该行为序列中的出现次数占比,而后根据各个行为在行为序列中的出现次数占比,生成浅层特征。对于提取样本应用程序的行为序列的浅层特征的具体说明,可参见上文关于提取目标应用程序的行为序列的浅层特征的相关说明,此处不再赘述。
步骤304,将样本应用程序的行为序列输入至病毒检测模型,通过病毒检测模型采用深度神经网络提取样本应用程序的行为序列的深层特征。
计算机设备将样本应用程序的行为序列输入至病毒检测模型的输入层,而后由特征提取层中的深度神经网络提取样本应用程序的行为序列的深层特征向量。
可选地,特征提取层对行为序列中的每一个行为进行向量化,得到行为序列的向量化表示之后,将行为序列的向量化表示输入至深度神经网络,由深度神经网络提取深层特征向量。
步骤305,通过病毒检测模型对浅层特征和深层特征进行融合,生成融合特征,并基于融合特征预测样本应用程序是否为病毒程序。
特征提取层得到的深层特征向量输入至融合层,同时将样本应用程序的浅层特征向量也输入至融合层,由融合层对浅层特征向量和深层特征向量进行融合,生成融合特征向量。
融合层得到的融合特征向量输入至分类层,由分类层中的分类器根据融合特征向量预测样本应用程序是否为病毒程序。
步骤306,根据病毒检测模型的预测结果和标签对病毒检测模型的参数进行修正,直至病毒检测模型满足停止训练条件时,结束对病毒检测模型的训练。
对于每一个样本应用程序,计算机设备可以将病毒检测模型对该样本应用程序的预测结果以及该样本应用程序对应的标签进行比较,以确定模型对该样本应用程序是否预测准确。
另外,病毒检测模型的停止训练条件可以预先设定,例如停止训练条件包括病毒检测模型的预测准确度达到预设阈值,如95%。
当病毒检测模型不满足停止训练条件时,计算机设备采用新的训练样本继续对该模型进行训练,以优化该模型的参数,直至病毒检测模型满足停止训练条件时停止,最终得到满足实际应用需求的病毒检测模型。
结合参考图4A和图4B,图4A示出了通过模型训练过程生成模型文件的示意性流程图,图4B示出了采用上述模型文件进行病毒检测的示意性流程图。
模型训练过程如下:将样本应用程序在应用模拟器(如Android模拟器)中运行,提取样本应用程序的行为序列,采用数学统计方式提取样本应用程序的行为序列的浅层特征向量,采用样本应用程序的行为序列、浅层特征向量和样本应用程序对应的标签,对深度神经网络进行训练,生成病毒检测模型的模型文件。
病毒检测过程如下:将目标应用程序在应用模拟器或终端中运行,提取目标应用程序的行为序列,采用数学统计方式提取目标应用程序的浅层特征向量,将目标应用程序的行为序列输入至病毒检测模型的输入层,通过特征提取层提取目标应用程序的行为序列的深层特征向量,而后将目标应用程序的浅层特征向量和深层特征向量输入至融合层,生成融合特征向量,再由分类层根据融合特征向量确定目标应用程序是否为病毒程序。
请参考图5,其示出了本申请另一个实施例提供的病毒程序的检测方法的流程图。
上述方法可应用于诸如手机、平板电脑之类的终端中。可选地,上述终端中安装运行有病毒检测引擎,该病毒检测引擎具备执行下述方法步骤的功能。病毒检测引擎可以作为第三方应用程序,在终端出厂后,由用户在终端中下载安装病毒检测引擎。病毒检测引擎也可以在终端出厂之前,以SDK(Software Development Kit,软件开发工具包)的形式预安装在终端设备的芯片中,例如上述芯片为主处理器芯片或者AI(ArtificialIntelligence,人工智能)芯片。
本实施例提供的方法可以包括如下几个步骤:
步骤501,当目标应用程序处于运行状态时,获取目标应用程序的行为序列。
当目标应用程序在终端中运行时,病毒检测引擎获取该目标应用程序的行为序列。目标应用程序的行为序列包括目标应用程序在运行时所执行的至少一个行为。例如,病毒检测引擎通过对目标应用程序所调用的接口进行监控,即可获取目标应用程序所执行的行为。
步骤502,通过病毒检测模型提取行为序列的深层特征,并结合行为序列的浅层特征确定目标应用程序是否为病毒程序。
病毒检测引擎获取目标应用程序的行为序列之后,一方面将该目标应用程序的行为序列输入至训练好的病毒检测模型,由病毒检测模型通过深度神经网络提取目标应用程序的行为序列的深层特征;另一方面病毒检测引擎采用数学统计方式提取目标应用程序的行为序列的浅层特征。
之后,病毒检测引擎将目标应用程序的行为序列的深层特征和浅层特征输入至病毒检测模型的融合层,通过该融合层对深层特征和浅层特征进行融合,生成融合特征。融合特征被输入至病毒检测模型的分类层,通过该分类层中的分类器预测目标应用程序是否为病毒程序,并输出预测结果。
步骤503,当目标应用程序为病毒程序时,显示用于提示目标应用程序为病毒程序的提示信息。
当目标应用程序为病毒程序时,病毒检测引擎显示提示信息,该提示信息用于向用户提示目标应用程序为病毒程序。可选地,如图6所示,病毒检测引擎显示悬浮窗口61,该悬浮窗口61中显示有目标应用程序的基本信息62(包括名称、图标、来源等),还显示有提示信息63(系统检测到该应用程序为病毒程序,为确保安全,请及时卸载)。
可选地,上述提示信息中还包括卸载控件,该卸载控件用于触发卸载被检测为病毒程序的目标应用程序。病毒检测引擎获取到对应于卸载控件的操作指令之后,根据该操作指令卸载目标应用程序。例如,如图6所示,用户点击悬浮窗口61中的卸载控件64,触发病毒检测引擎卸载目标应用程序。
综上所述,本申请实施例提供的方案中,通过病毒检测引擎自动检测运行的目标应用程序是否为病毒程序,并在检测出病毒程序时,向用户及时发出提示,以便于用户及时采取应对措施,有助于保障终端设备的安全性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图7,其示出了本申请一个实施例提供的病毒程序的检测装置的框图。该装置具有实现上述病毒程序的检测方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置700可以包括:序列获取模块710、特征提取模块720、特征融合模块730和病毒检测模块740。
序列获取模块710,用于获取目标应用程序的行为序列,所述行为序列包括所述目标应用程序在运行时所执行的至少一个行为。
特征提取模块720,用于提取所述行为序列的浅层特征和深层特征,其中,所述浅层特征包括采用数学统计方式提取的特征,所述深层特征包括采用深度神经网络提取的特征。
特征融合模块730,用于对所述浅层特征和所述深层特征进行融合,生成融合特征。
病毒检测模块740,用于根据所述融合特征确定所述目标应用程序是否为病毒程序。
综上所述,本申请实施例提供的方案中,通过提取目标应用程序的行为序列的浅层特征和深层特征,并将上述浅层特征和深层特征进行融合,根据融合特征确定目标应用程序是否为病毒程序,实现了自动化地特征提取及病毒检测,提升了病毒检测的效率。并且,通过深度神经网络提取目标应用程序的深层特征,提升了病毒检测的泛化能力。
在基于图7实施例提供的一个可选实施例中,所述特征提取模块720包括浅层特征提取单元和深层特征提取单元。其中,浅层特征提取单元用于提取行为序列的浅层特征,深层特征提取单元用于提取行为序列的深层特征。
在一个示例中,所述浅层特征提取单元用于:计算所述行为序列中的每一个行为在所述行为序列中的出现次数占比;根据各个所述行为在所述行为序列中的出现次数占比,生成所述浅层特征。
在一个示例中,所述深层特征提取单元用于:对所述行为序列中的每一个行为进行向量化,得到所述行为序列的向量化表示;将所述行为序列的向量化表示输入至深度神经网络,得到所述深层特征。
在基于图7实施例提供的另一个可选实施例中,所述特征融合模块730,用于:对所述浅层特征和所述深层特征分别进行归一化处理,得到处理后的浅层特征和处理后的深层特征;将所述处理后的浅层特征和所述处理后的深层特征进行拼接,得到所述融合特征。
在基于图7实施例提供的另一个可选实施例中,所述病毒检测模块740,用于:将所述融合特征输入至分类器,得到用于指示所述目标应用程序是否为所述病毒程序的输出结果。
在基于图7实施例提供的另一个可选实施例中,用于确定所述目标应用程序是否为所述病毒程序的病毒检测模型采用下述方法训练得到:
获取训练样本集,所述训练样本集包括多个训练样本,每一个训练样本包括:样本应用程序和所述样本应用程序对应的标签,所述标签用于指示所述样本应用程序是否为所述病毒程序;
采用机器学习算法对所述训练样本进行训练,得到所述病毒检测模型,所述病毒检测模型用于根据所述目标应用程序的行为序列的浅层特征和深层特征,确定所述目标应用程序是否为所述病毒程序。
可选地,所述病毒检测模型包括:特征提取层、融合层和分类层;
所述特征提取层用于通过所述深度神经网络提取所述目标应用程序的行为序列的深层特征;
所述融合层用于对所述浅层特征和所述深层特征进行融合,生成融合特征;
所述分类层用于根据所述融合特征确定所述目标应用程序是否为病毒程序。
请参考图8,其示出了本申请一个实施例提供的模型训练装置的框图。该装置具有实现上述模型训练方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置800可以包括:样本获取模块810、序列获取模块820、第一提取模块830、第二提取模块840、模型预测模块850和模型训练模块860。
样本获取模块810,用于获取训练样本,所述训练样本包括:样本应用程序和所述样本应用程序对应的标签,所述标签用于指示所述样本应用程序是否为病毒程序。
序列获取模块820,用于获取所述样本应用程序的行为序列,所述样本应用程序的行为序列包括所述样本应用程序在运行时所执行的至少一个行为。
第一提取模块830,用于采用数学统计方式提取所述样本应用程序的行为序列的浅层特征。
第二提取模块840,用于将所述样本应用程序的行为序列输入至病毒检测模型,通过所述病毒检测模型采用深度神经网络提取所述样本应用程序的行为序列的深层特征。
模型预测模块850,用于通过所述病毒检测模型对所述浅层特征和所述深层特征进行融合,生成融合特征,并基于所述融合特征预测所述样本应用程序是否为所述病毒程序。
模型训练模块860,用于根据所述病毒检测模型的预测结果和所述标签对所述病毒检测模型的参数进行修正,直至所述病毒检测模型满足停止训练条件时,结束对所述病毒检测模型的训练。
可选地,所述病毒检测模型包括:特征提取层、融合层和分类层。所述特征提取层用于通过所述深度神经网络提取所述样本应用程序的行为序列的深层特征;所述融合层用于对所述浅层特征和所述深层特征进行融合,生成融合特征;所述分类层用于根据所述融合特征确定所述样本应用程序是否为所述病毒程序。
请参考图9,其示出了本申请另一个实施例提供的病毒程序的检测装置的框图。该装置具有实现上述病毒程序的检测方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置900可以包括:序列获取模块910、病毒检测模块920和病毒提示模块930。
序列获取模块910,用于当目标应用程序处于运行状态时,获取所述目标应用程序的行为序列,所述行为序列包括所述目标应用程序在运行时所执行的至少一个行为。
病毒检测模块920,用于通过病毒检测模型提取所述行为序列的深层特征,并结合所述行为序列的浅层特征确定所述目标应用程序是否为病毒程序,其中,所述深层特征包括采用深度神经网络提取的特征,所述浅层特征包括采用数学统计方式提取的特征。
病毒提示模块930,用于当所述目标应用程序为所述病毒程序时,显示用于提示所述目标应用程序为所述病毒程序的提示信息。
可选地,该装置900还包括:指令获取模块和程序卸载模块。
指令获取模块,用于获取对应于所述提示信息中的卸载控件的操作指令。
程序卸载模块,用于根据所述操作指令卸载所述目标应用程序。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图10,其示出了本申请一个实施例提供的计算机设备的结构框图。例如,该计算机设备可以是一终端、PC或服务器。该计算机设备可用于实施上述实施例中提供的病毒程序的检测方法,或者用于实施上述实施例中提供的模型训练方法。具体来讲:
所述计算机设备1000包括中央处理单元(CPU)1001、包括随机存取存储器(RAM)1002和只读存储器(ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。所述计算机设备1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
所述基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中所述显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。所述基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为计算机设备1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
根据本发明的各种实施例,所述计算机设备1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1000可以通过连接在所述系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
在示例中实施例中,还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集。所述至少一条指令、至少一段程序、代码集或指令集经配置以由一个或者一个以上处理器执行,以实现上述病毒程序的检测方法。
在示例中实施例中,还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集。所述至少一条指令、至少一段程序、代码集或指令集经配置以由一个或者一个以上处理器执行,以实现上述模型训练。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时实现上述病毒程序的检测方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时实现上述模型训练方法。
可选地,上述计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述病毒程序的检测方法。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述模型训练方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种病毒程序的检测方法,其特征在于,所述方法包括:
获取目标应用程序的行为序列,所述行为序列包括所述目标应用程序在运行时所执行的至少一个行为;
提取所述行为序列的浅层特征和深层特征,其中,所述浅层特征包括采用数学统计方式提取的特征,所述深层特征包括采用深度神经网络提取的特征;
对所述浅层特征和所述深层特征进行融合,生成融合特征;
根据所述融合特征确定所述目标应用程序是否为病毒程序。
2.根据权利要求1所述的方法,其特征在于,所述提取所述行为序列的浅层特征,包括:
计算所述行为序列中的每一个行为在所述行为序列中的出现次数占比;
根据各个所述行为在所述行为序列中的出现次数占比,生成所述浅层特征。
3.根据权利要求1所述的方法,其特征在于,所述提取所述行为序列的深层特征,包括:
对所述行为序列中的每一个行为进行向量化,得到所述行为序列的向量化表示;
将所述行为序列的向量化表示输入至所述深度神经网络,得到所述深层特征。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述对所述浅层特征和所述深层特征进行融合,生成融合特征,包括:
对所述浅层特征和所述深层特征分别进行归一化处理,得到处理后的浅层特征和处理后的深层特征;
将所述处理后的浅层特征和所述处理后的深层特征进行拼接,得到所述融合特征。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述融合特征确定所述目标应用程序是否为病毒程序,包括:
将所述融合特征输入至分类器,得到用于指示所述目标应用程序是否为所述病毒程序的输出结果。
6.根据权利要求1至3任一项所述的方法,其特征在于,用于确定所述目标应用程序是否为所述病毒程序的病毒检测模型采用下述方法训练得到:
获取训练样本集,所述训练样本集包括多个训练样本,每一个训练样本包括:样本应用程序和所述样本应用程序对应的标签,所述标签用于指示所述样本应用程序是否为所述病毒程序;
采用机器学习算法对所述训练样本进行训练,得到所述病毒检测模型,所述病毒检测模型用于根据所述目标应用程序的行为序列的浅层特征和深层特征,确定所述目标应用程序是否为所述病毒程序。
7.根据权利要求6所述的方法,其特征在于,所述病毒检测模型包括:特征提取层、融合层和分类层;
所述特征提取层用于通过所述深度神经网络提取所述目标应用程序的行为序列的深层特征;
所述融合层用于对所述浅层特征和所述深层特征进行融合,生成融合特征;
所述分类层用于根据所述融合特征确定所述目标应用程序是否为病毒程序。
8.一种模型训练方法,其特征在于,所述方法包括:
获取训练样本,所述训练样本包括:样本应用程序和所述样本应用程序对应的标签,所述标签用于指示所述样本应用程序是否为病毒程序;
获取所述样本应用程序的行为序列,所述样本应用程序的行为序列包括所述样本应用程序在运行时所执行的至少一个行为;
采用数学统计方式提取所述样本应用程序的行为序列的浅层特征;
将所述样本应用程序的行为序列输入至病毒检测模型,通过所述病毒检测模型采用深度神经网络提取所述样本应用程序的行为序列的深层特征;
通过所述病毒检测模型对所述浅层特征和所述深层特征进行融合,生成融合特征,并基于所述融合特征预测所述样本应用程序是否为所述病毒程序;
根据所述病毒检测模型的预测结果和所述标签对所述病毒检测模型的参数进行修正,直至所述病毒检测模型满足停止训练条件时,结束对所述病毒检测模型的训练。
9.根据权利要求8所述的方法,其特征在于,所述病毒检测模型包括:特征提取层、融合层和分类层;
所述特征提取层用于通过所述深度神经网络提取所述样本应用程序的行为序列的深层特征;
所述融合层用于对所述浅层特征和所述深层特征进行融合,生成融合特征;
所述分类层用于根据所述融合特征确定所述样本应用程序是否为所述病毒程序。
10.一种病毒程序的检测方法,其特征在于,所述方法包括:
当目标应用程序处于运行状态时,获取所述目标应用程序的行为序列,所述行为序列包括所述目标应用程序在运行时所执行的至少一个行为;
通过病毒检测模型提取所述行为序列的深层特征,并结合所述行为序列的浅层特征确定所述目标应用程序是否为病毒程序,其中,所述深层特征包括采用深度神经网络提取的特征,所述浅层特征包括采用数学统计方式提取的特征;
当所述目标应用程序为所述病毒程序时,显示用于提示所述目标应用程序为所述病毒程序的提示信息。
11.一种病毒程序的检测装置,其特征在于,所述装置包括:
序列获取模块,用于获取目标应用程序的行为序列,所述行为序列包括所述目标应用程序在运行时所执行的至少一个行为;
特征提取模块,用于提取所述行为序列的浅层特征和深层特征,其中,所述浅层特征包括采用数学统计方式提取的特征,所述深层特征包括采用深度神经网络提取的特征;
特征融合模块,用于对所述浅层特征和所述深层特征进行融合,生成融合特征;
病毒检测模块,用于根据所述融合特征确定所述目标应用程序是否为病毒程序。
12.一种模型训练装置,其特征在于,所述装置包括:
样本获取模块,用于获取训练样本,所述训练样本包括:样本应用程序和所述样本应用程序对应的标签,所述标签用于指示所述样本应用程序是否为病毒程序;
序列获取模块,用于获取所述样本应用程序的行为序列,所述样本应用程序的行为序列包括所述样本应用程序在运行时所执行的至少一个行为;
第一提取模块,用于采用数学统计方式提取所述样本应用程序的行为序列的浅层特征;
第二提取模块,用于将所述样本应用程序的行为序列输入至病毒检测模型,通过所述病毒检测模型采用深度神经网络提取所述样本应用程序的行为序列的深层特征;
模型预测模块,用于通过所述病毒检测模型对所述浅层特征和所述深层特征进行融合,生成融合特征,并基于所述融合特征预测所述样本应用程序是否为所述病毒程序;
模型训练模块,用于根据所述病毒检测模型的预测结果和所述标签对所述病毒检测模型的参数进行修正,直至所述病毒检测模型满足停止训练条件时,结束对所述病毒检测模型的训练。
13.一种病毒程序的检测装置,其特征在于,所述装置包括:
序列获取模块,用于当目标应用程序处于运行状态时,获取所述目标应用程序的行为序列,所述行为序列包括所述目标应用程序在运行时所执行的至少一个行为;
病毒检测模块,用于通过病毒检测模型提取所述行为序列的深层特征,并结合所述行为序列的浅层特征确定所述目标应用程序是否为病毒程序,其中,所述深层特征包括采用深度神经网络提取的特征,所述浅层特征包括采用数学统计方式提取的特征;
病毒提示模块,用于当所述目标应用程序为所述病毒程序时,显示用于提示所述目标应用程序为所述病毒程序的提示信息。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的病毒程序的检测方法,或者实现如权利要求8或9所述的模型训练方法,或者实现如权利要求10所述的病毒程序的检测方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一所述的病毒程序的检测方法,或者实现如权利要求8或9所述的模型训练方法,或者实现如权利要求10所述的病毒程序的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810289056.1A CN108614970B (zh) | 2018-04-03 | 2018-04-03 | 病毒程序的检测方法、模型训练方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810289056.1A CN108614970B (zh) | 2018-04-03 | 2018-04-03 | 病毒程序的检测方法、模型训练方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108614970A true CN108614970A (zh) | 2018-10-02 |
CN108614970B CN108614970B (zh) | 2023-12-15 |
Family
ID=63659378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810289056.1A Active CN108614970B (zh) | 2018-04-03 | 2018-04-03 | 病毒程序的检测方法、模型训练方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108614970B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359439A (zh) * | 2018-10-26 | 2019-02-19 | 北京天融信网络安全技术有限公司 | 软件检测方法、装置、设备及存储介质 |
CN109657468A (zh) * | 2018-11-29 | 2019-04-19 | 北京奇虎科技有限公司 | 病毒行为检测方法、装置及计算机可读存储介质 |
CN110704840A (zh) * | 2019-09-10 | 2020-01-17 | 中国人民公安大学 | 一种基于卷积神经网络cnn的恶意软件检测方法 |
CN111723200A (zh) * | 2019-03-20 | 2020-09-29 | 京东数字科技控股有限公司 | 一种确定用户行为特征的方法及系统 |
CN112990473A (zh) * | 2019-12-12 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 一种模型训练方法、装置及系统 |
CN113312620A (zh) * | 2021-06-01 | 2021-08-27 | 海光信息技术股份有限公司 | 一种程序安全检测方法及装置、处理器芯片、服务器 |
CN114332700A (zh) * | 2021-12-24 | 2022-04-12 | 中国电子信息产业集团有限公司第六研究所 | 一种网络病毒分类方法、装置、电子设备及存储介质 |
CN115547414A (zh) * | 2022-10-25 | 2022-12-30 | 黑龙江金域医学检验实验室有限公司 | 潜在毒力因子的确定方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617397A (zh) * | 2013-12-13 | 2014-03-05 | 北京邮电大学 | 智能终端中应用的安全性评估方法及系统 |
CN105205396A (zh) * | 2015-10-15 | 2015-12-30 | 上海交通大学 | 一种基于深度学习的安卓恶意代码检测系统及其方法 |
CN106156793A (zh) * | 2016-06-27 | 2016-11-23 | 西北工业大学 | 结合深层特征提取和浅层特征提取的医学图像分类方法 |
CN106203103A (zh) * | 2016-06-23 | 2016-12-07 | 百度在线网络技术(北京)有限公司 | 文件的病毒检测方法及装置 |
-
2018
- 2018-04-03 CN CN201810289056.1A patent/CN108614970B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617397A (zh) * | 2013-12-13 | 2014-03-05 | 北京邮电大学 | 智能终端中应用的安全性评估方法及系统 |
CN105205396A (zh) * | 2015-10-15 | 2015-12-30 | 上海交通大学 | 一种基于深度学习的安卓恶意代码检测系统及其方法 |
CN106203103A (zh) * | 2016-06-23 | 2016-12-07 | 百度在线网络技术(北京)有限公司 | 文件的病毒检测方法及装置 |
CN106156793A (zh) * | 2016-06-27 | 2016-11-23 | 西北工业大学 | 结合深层特征提取和浅层特征提取的医学图像分类方法 |
Non-Patent Citations (2)
Title |
---|
仲伟峰等: "深浅层特征及模型融合的说话人识别", 《声学学报》 * |
仲伟峰等: "深浅层特征及模型融合的说话人识别", 《声学学报》, vol. 43, no. 2, 31 March 2018 (2018-03-31), pages 264 - 266 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359439B (zh) * | 2018-10-26 | 2019-12-13 | 北京天融信网络安全技术有限公司 | 软件检测方法、装置、设备及存储介质 |
CN109359439A (zh) * | 2018-10-26 | 2019-02-19 | 北京天融信网络安全技术有限公司 | 软件检测方法、装置、设备及存储介质 |
CN109657468A (zh) * | 2018-11-29 | 2019-04-19 | 北京奇虎科技有限公司 | 病毒行为检测方法、装置及计算机可读存储介质 |
CN111723200A (zh) * | 2019-03-20 | 2020-09-29 | 京东数字科技控股有限公司 | 一种确定用户行为特征的方法及系统 |
CN110704840A (zh) * | 2019-09-10 | 2020-01-17 | 中国人民公安大学 | 一种基于卷积神经网络cnn的恶意软件检测方法 |
CN112990473B (zh) * | 2019-12-12 | 2024-02-02 | 杭州海康威视数字技术股份有限公司 | 一种模型训练方法、装置及系统 |
CN112990473A (zh) * | 2019-12-12 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 一种模型训练方法、装置及系统 |
CN113312620A (zh) * | 2021-06-01 | 2021-08-27 | 海光信息技术股份有限公司 | 一种程序安全检测方法及装置、处理器芯片、服务器 |
CN113312620B (zh) * | 2021-06-01 | 2022-12-09 | 海光信息技术股份有限公司 | 一种程序安全检测方法及装置、处理器芯片、服务器 |
CN114332700B (zh) * | 2021-12-24 | 2023-08-25 | 中国电子信息产业集团有限公司第六研究所 | 一种网络病毒分类方法、装置、电子设备及存储介质 |
CN114332700A (zh) * | 2021-12-24 | 2022-04-12 | 中国电子信息产业集团有限公司第六研究所 | 一种网络病毒分类方法、装置、电子设备及存储介质 |
CN115547414A (zh) * | 2022-10-25 | 2022-12-30 | 黑龙江金域医学检验实验室有限公司 | 潜在毒力因子的确定方法、装置、计算机设备及存储介质 |
CN115547414B (zh) * | 2022-10-25 | 2023-04-14 | 黑龙江金域医学检验实验室有限公司 | 潜在毒力因子的确定方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108614970B (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108614970A (zh) | 病毒程序的检测方法、模型训练方法、装置及设备 | |
CN111275080B (zh) | 基于人工智能的图像分类模型训练方法、分类方法及装置 | |
CN110399925B (zh) | 账号的风险识别方法、装置及存储介质 | |
US10484413B2 (en) | System and a method for detecting anomalous activities in a blockchain network | |
CN105376255B (zh) | 一种基于K-means聚类的Android平台入侵检测方法 | |
US10603579B2 (en) | Location-based augmented reality game control | |
US20210042628A1 (en) | Building a federated learning framework | |
KR20190109427A (ko) | 침입 탐지를 위한 지속적인 학습 | |
CN116506217B (zh) | 业务数据流安全风险的分析方法、系统、存储介质及终端 | |
CN110855648B (zh) | 一种网络攻击的预警控制方法及装置 | |
CN112487208B (zh) | 一种网络安全数据关联分析方法、装置、设备及存储介质 | |
CN110245579A (zh) | 人流密度预测方法及装置、计算机设备及可读介质 | |
CN109547426B (zh) | 业务响应方法及服务器 | |
CN110909195A (zh) | 基于区块链的图片标注方法、装置及存储介质、服务器 | |
CN112329816A (zh) | 数据分类方法、装置、电子设备和可读存储介质 | |
KR101963756B1 (ko) | 소프트웨어 취약점 예측 모델 학습 장치 및 방법, 소프트웨어 취약점 분석 장치 및 방법 | |
CN110929806A (zh) | 基于人工智能的图片处理方法、装置及电子设备 | |
CN114422224A (zh) | 面向攻击溯源的威胁情报智能分析方法及系统 | |
CN107180190A (zh) | 一种基于混合特征的Android恶意软件检测方法及系统 | |
CN106778851A (zh) | 基于手机取证数据的社交关系预测系统及其方法 | |
US20200175201A1 (en) | Secure data monitoring utilizing secure private set intersection | |
CN106998336B (zh) | 渠道中的用户检测方法和装置 | |
US11126898B2 (en) | Computer vision classifier using item micromodels | |
CN115883261A (zh) | 一种基于att和ck的电力系统apt攻击建模方法 | |
CN113726545B (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 |