CN106203103B - 文件的病毒检测方法及装置 - Google Patents
文件的病毒检测方法及装置 Download PDFInfo
- Publication number
- CN106203103B CN106203103B CN201610465800.XA CN201610465800A CN106203103B CN 106203103 B CN106203103 B CN 106203103B CN 201610465800 A CN201610465800 A CN 201610465800A CN 106203103 B CN106203103 B CN 106203103B
- Authority
- CN
- China
- Prior art keywords
- data
- sample
- virus detection
- normalization
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了文件的病毒检测方法及装置。所述方法的一具体实施方式包括:从待检测文件中提取出特征信息,所述特征信息用于表征所述待检测文件的运行行为;对所述特征信息进行归一化处理,得到对应所述特征信息的归一化数据;将所述归一化数据转换为二进制数据,将所述二进制数据导入预先训练的病毒检测模型进行病毒检测得到病毒检测结果。该实现方式能够避免由于数量造成的病毒识别偏差,提高病毒识别的准确率,加快了病毒识别的速度。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及病毒检测处理技术领域,尤其涉及文件的病毒检测方法及装置。
背景技术
深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。将深度学习和神经网络结合起来用于对文件的病毒检测,能够对病毒文件进行准确识别。
现有的通过深度学习结合神经网络的病毒检测方法还存在不足之处,例如,现有的通过深度学习结合神经网络的病毒检测方法在训练病毒检测模型时的样本数据量有限,这就直接导致病毒检测模型只能根据样本数据检测出的少量的病毒,也无法发挥深度学习神经网络的优势;同时,现有的深度学习神经网络没有针对具体的病毒特征进行优化,导致得到的病毒检测模型检测病毒的准确性不高。
发明内容
本申请提供了文件的病毒检测方法及装置,以解决背景技术中提到的技术问题。
第一方面,本申请提供了一种文件的病毒检测方法,所述方法包括:从待检测文件中提取出特征信息,所述待检测文件包括安卓软件安装包文件,所述特征信息用于表征所述待检测文件的运行行为,包括不同数量级的不规则的数据;对所述特征信息进行归一化处理,得到对应所述特征信息的归一化数据;将所述归一化数据转换为二进制数据,将所述二进制数据导入预先训练的病毒检测模型进行病毒检测得到病毒检测结果。
第二方面,本申请提供了一种文件的病毒检测装置,所述装置包括:特征信息提取单元,用于从待检测文件中提取出特征信息,所述待检测文件包括安卓软件安装包文件,所述特征信息用于表征所述待检测文件的运行行为,包括不同数量级的不规则的数据;归一化数据获取单元,用于对所述特征信息进行归一化处理,得到对应所述特征信息的归一化数据;病毒检测单元,用于将所述归一化数据转换为二进制数据,将所述二进制数据导入预先训练的病毒检测模型进行病毒检测得到病毒检测结果。
本申请提供的文件的病毒检测方法及装置,首先从待检测文件中提取出特征数据,根据特征数据确定待检测文件的运行行为;然后对特征数据进行归一化处理,能够避免由于数量造成的病毒识别偏差,提高病毒识别的准确率;之后将归一化数据转换为二进制数据,加快了病毒识别的速度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2a是根据本申请的文件的病毒检测方法的一个实施例的流程图;
图2b是根据本申请的建立病毒检测模型的过程的一个实施例的流程图;
图3是根据本实施例的文件的病毒检测方法的应用场景的一个示意图;
图4是对应图3的安卓系统文件的病毒检测方法中样本特征数据示意图;
图5是对应图4的样本特征数据归一化后到数据示意图;
图6是根据到文件的病毒检测装置的结构示意图;
图7是根据本申请的服务器的一个实施例的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的文件的病毒检测方法或病毒检测装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送信息等。终端设备101、102、103上可以安装有各种客户端应用,例如输入法应用、文档管理类应用、搜索类应用、邮箱客户端、社交平台软件等,这些应用都包含多个文件。
终端设备101、102、103可以是运行各种应用的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供病毒检测的服务器,例如对终端设备101、102、103上的应用所包含的文件进行病毒检测的服务器或云服务器。服务器可以对接收到的文件进行分析和病毒检测等处理,并将病毒检测处理结果反馈给终端设备。
需要说明的是,本申请实施例所提供的文件的病毒检测方法可以由终端设备101、102、103单独执行,或者也可以由终端设备101、102、103和服务器105共同执行。由于生成病毒检测模型的数据处理量很大,所以,一般情况下,文件的病毒检测方法由服务器105执行。相应地,文件的病毒检测装置可以设置于终端设备101、102、103中,也可以设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2a示出了根据本申请的文件的病毒检测方法的一个实施例的方法流程200。上述的文件的病毒检测方法,包括以下步骤:
步骤201,从待检测文件中提取出特征信息。
在本实施例中,用户所使用的电子设备(例如图1所示的服务器)可以从本地或者远程地获取待检测文件。并从待检测文件中提取出特征信息。上述特征信息用于表征上述待检测文件的运行行为。病毒在文件中运行时,会具有区别于文件正常运行的数据行为;而当文件运行时存在非文件正常运行的数据行为时,不一定都是病毒运行行为。因此,当发现待检测文件中存在非文件正常运行的数据行为时,提取对应非文件正常运行的数据行为的特征信息。
步骤202,对上述特征信息进行归一化处理,得到对应上述特征信息的归一化数据。
特征信息对应非文件正常运行的数据行为,特征信息对应的数据信息通常都是不规则的数据,这些数据信息之间的数量级往往差别很大,如果直接对特征信息进行病毒识别,往往会忽略掉很多病毒信息。因此,需要对上述特征信息进行归一化处理(即,将特征信息的取值划归到0和1之间或-1和1之间),从而实现对不同数量级的特征信息进行相同的病毒检测。
步骤203,将上述归一化数据转换为二进制数据,将上述二进制数据导入预先训练的病毒检测模型进行病毒检测得到病毒检测结果。
归一化数据通常是十进制的数据形式,为了加快数据处理过程,需要将归一化数据从十进制转换为二进制,将二进制的归一化数据输入到预先训练的病毒检测模型进行病毒检测得到病毒检测结果。
在本实施例的一些可选的实现方式中,本实施例方法还包括建立病毒检测模型的步骤,如图2b所示,建立病毒检测模型的步骤可以包括以下步骤:
步骤2031,获取样本数据,上述样本数据的数量大于设置值。
要想得到精确的病毒检测模型,需要获得足够过的样本。本实施例的样本数据借助于大数据库,能够获取到107个或更多到样本数据,保证了样本数据能够覆盖各种可能到病毒文件。
步骤2032,对上述样本数据进行病毒检测,得到对应上述样本数据的风险等级标签。
获取到样本数据后,需要对样本数据进行病毒检测,以便确定样本数据包含了哪种病毒,并对病毒标注风险等级标签,上述风险等级标签用于表征样本数据为病毒数据的可能性。风险等级标签基本可以分为四种:无病毒、低风险、高风险和极度危险。根据实际需要,风险等级标签还可以根据其他标准分为具体到类型,此处不再赘述。
步骤2033,对上述样本数据进行归一化处理,得到对应上述样本数据的样本归一化数据。
样本数据之间的数量级往往差别很大,如果直接对样本数据进行病毒识别,往往会忽略掉很多病毒信息。因此,需要对上述样本数据进行归一化处理,从而实现对不同数量级的样本数据进行相同的病毒检测。需要说明到是,上述样本归一化数据包括上述风险等级标签,以便后续按照不同的风险等级标签对病毒检测模型对训练。
步骤2034,将上述样本归一化数据转换成二进制数据,并将上述二进制数据输入深度学习神经网络,得到多个预选病毒检测模型。
归一化数据通常是十进制的数据形式,为了加快数据处理过程,需要将归一化数据从十进制转换为二进制。将上述二进制数据输入深度学习神经网络,能够加快深度学习神经网络的学习过程。深度学习神经网络对归一化数据学习后,能得到多个预选病毒检测模型。
步骤2035,通过设定指标对上述预选病毒检测模型进行打分排序,将得分最高的预选病毒检测模型作为最终的病毒检测模型。
按照精度、曲线下面积和召回率等指标可以对预选病毒检测模型进行打分排序,将每种指标下得分最高到预选病毒检测模型作为最终的病毒检测模型。还可以对每种预选病毒检测模型满足各个指标的情况进行打分,选择能够同时满足各个指标到预选病毒检测模型作为最终的病毒检测模型。
在本实施例的一些可选的实现方式中,上述对上述样本数据进行归一化处理,得到对应上述样本数据的样本归一化数据包括:获取上述样本归一化数据的分布曲线,若上述分布曲线无法拟合成正态分布曲线,则在上述样本归一化数据对应的数据区间设置数据插入点,上述分布曲线用于表征样本归一化数据在数据区间上的分布趋势,上述数据插入点用于将上述数据区间平均分成设定个数据区间段。
归一化数据的分布曲线能够表明归一化数据到分布情况,当分布曲线无法拟合成正态分布曲线,说明归一化数据到分布不合理,不能完成体现病毒到特性。此时,可以在样本归一化数据对应的数据区间设置数据插入点,数据插入点用于将上述数据区间平均分成设定个数据区间段。当归一化数据在某些数据区间较为集中,而在另外的一些区间没有分布时,可以在分布较为集中的数据区间设置数据插入点,而在没有分布到数据区间不设置数据插入点。
在本实施例的一些可选的实现方式中,对上述样本数据进行归一化处理,得到对应上述样本数据的样本归一化数据还可以包括:若上述数据区间段内的样本归一化数据的分布曲线无法拟合成正态分布曲线,则在上述数据区间上增加数据插入点,直到数据区间段内的样本归一化数据的分布曲线拟合成正态分布曲线。
当设置数据插入点后,样本归一化数据的分布曲线仍然无法拟合成正态分布曲线,为了保证后续得到的病毒检测模型识别病毒到准确性,需要在上述数据区间上增加数据插入点,直到数据区间段内的样本归一化数据的分布曲线拟合成正态分布曲线。
在本实施例的一些可选的实现方式中,在步骤对上述样本数据进行归一化处理,得到对应上述样本数据的样本归一化数据,和步骤将上述样本归一化数据转换成二进制数据之间还包括:按照上述风险等级标签对样本归一化数据进行随机排序。
通过样本数据得到样本归一化数据后,归一化数据容易出现集中聚集到情况,此时,可以按照风险等级标签对样本归一化数据进行随机排序,使得各种风险等级到样本归一化数据实现均匀分布,有利于获得精确到病毒检测模型。
在本实施例的一些可选的实现方式中,上述将上述二进制数据输入深度学习神经网络,得到多个预选病毒检测模型包括:在深度学习神经网络的第一隐层和第二隐层分别设置relu函数和双曲正切函数作为激活函数。
采用relu函数能够在保证计算精度的前提下减少计算量;同时使神经网络到一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生;采用双曲正切函数能够加速收敛,并改善梯度消散问题。
在本实施例的一些可选的实现方式中,上述将上述二进制数据输入深度学习神经网络,得到多个预选病毒检测模型包括:在深度学习神经网络设置残留层,通过上述残留层调整上述深度学习神经网络的输入输出关系,上述残留层用于通过深度学习神经网络的输入数据对深度学习神经网络的输出数据进行修正。
本申请的文件的病毒检测方法,首先从待检测文件中提取出特征数据,根据特征数据确定待检测文件的运行行为;然后对特征数据进行归一化处理,能够避免由于数量造成的病毒识别偏差,提高病毒识别的准确率;之后将归一化数据转换为二进制数据,加快了病毒识别的速度。
继续参考图3,图3是根据本实施例的文件的病毒检测方法的应用场景的一个示意性流程图300,该流程图300具体包括以下几个步骤:
步骤301,提取样本的特征数据。
收集千万级的安卓软件安装包文件(Android Package,apk)样本,运用现有的病毒引擎对这些样本打风险等级标签,标签分为无病毒、低风险、高风险和极度危险四个等级。解析样本,从样本中提取出千维特征,把样本转成一系列的数值,如图4所示,这些特征数值代表了apk样本。
步骤302,对特征数值进行归一化处理。
在数据输入层,对样本特征数值进行归一化处理,解决取值不同造成的不同维度互相抑制发挥作用的问题。这种连续型数据输入进去后,各维数的取值范围不一样,甚至取值范围差距非常大,如第一维特征取值范围是1到几千万,而第三维特征取值范围在0到10之间,原始特征不同维的数据取值范围差距巨大,如果直接输入到神经网络中,会造成取值大的神经网络节点很快达到饱和,抑制取值小的神经网络节点发挥作用,导致取值小的神经网络节点的特征数据起不了作用,其实这种特征含有的信息量也许很大。也就是原始特征直接输入,因为取值范围差别的原因,会造成抑制部分有价值的特征的贡献。因此,根据激活函数的特性,把所有特征数据归一到[-1,1],保证每个特征对整个神经网络的训练价值均等。归一化公式如下:
其中,z为归一化后到特征数据;x为特征数据;μ为特征数据的均值;σ为特征数据的均方差。
该种归一化方式比较适用于正态分布,统计我们的原始特征数据分布,比如apk的大小、函数个数等大部分特征数据分布也近似为正态分布,以apk大小分布为例,统计2400万样本得到apk大小概率分布如下表1所示:
apk大小范围 | 数量 | 概率 |
1K—100K | 65万 | 2.7% |
100K—1M | 441万 | 18.3% |
1M—10M | 1315万 | 54.8% |
10M—20M | 299万 | 12.4% |
20M以上 | 284万 | 11.8% |
表1
表1中,K表示千比特字节;M表示兆比特字节。
从表可以看出呈现中间大两头小的钟形分布,类似正态分布,并且所得特征中70%的连续型特征均具有类似的正态分布。因此,选用上述归一化方法。采用归一化后把各维度的特征数据均归一到[-1,1]这个区间,有效的解决了每个维度对节点激活的作用均等。在同等条件下,归一化后进行训练的模型比原始数据效果精确度上提高6个百分点,可见归一化后对训练安卓深度神经网络作用效果非常明显,这也是归一化的贡献。
采用了非参数平滑归一化方法,多切点处理,形成矩阵,有效应对输入特征数据中可能存在的长尾分布,并能抵抗噪声以及野点(不规则到点)。原始特征数据归一到[-1,1]后,一些维度的输入特征数据在-1到1这个区间的分布很不均匀,以apk中“method”的个数为例说明,90%的apk这个维度归一到[-0.1,0.1]区间,密度非常大,如果把-1到1分为10个区间的话,那么90%的apk的特征数据会落到一个很窄的区间里,其他大部分区间没有数值落入,不仅导致该特征的贡献区分度降低,对学习病毒的作用降低,还会放大落在不重要区间的噪声野点对神经网络的激活作用,造成野点和噪声影响效果。本实施例提出了多切点平滑技术,有效的解决这两个问题。在本实施例中,在进行数据输入时,把[-1,1]的区间通过设定多个插入点的方式来修改数据的分布。比如,把插入点个数增多到29个,这样-1到1就有了30个区间间隔,每个间隔跨度是0.06,这样会有效解决密集分布的问题,把密集的数据分布划分到更加细粒度的更多的小区间里,使数据的分布更加平滑和多样,使得对神经网络的节点激活更加有区分性。通过同等条件下试验,加入多切点平滑术后,精度比正常归一化后的效果提高3个百分点,在已经较高精确度的情况,提升3个百分点实属非常不易,表明本实施例的归一化平滑技术非常有效,最终的原始数据归一化后的数据如图5所示。
归一化数据准备好后,把训练样本随机打乱顺序,模拟真实输入是无序的场景,这样的目的是避免每个批处理文件都是同样的标签和类型的样本。比如,输入的连续成百上千个批处理文件训练样本都是同一类型同一标签,不停的强化神经网络节点的激活,而得不到不同类型不同标签的样本的修正,就容易影响神经网络的训练效果。随机打乱后,每次的样本具有多样性,模型真实的场景,更有利于训练出较优的稳定的模型。
步骤303,对归一化数据进行数据类型转换,将类型转换后的归一化数据导入神经网络得到病毒检测模型。
把训练数据进行二进制转换,并进行校验,这么做的目的是训练时处理二进制数据流,加快训练时的处理速度。使用经过上百次试验后优化的神经网络结构参数,用后向传播算法训练深层神经网络,隐层激活函数使用relu函数,在第二隐层采用双曲正切函数激活函数,加速收敛并改善梯度消散的问题。网络结构引入了残留层的设计,使网络能建模更复杂、更精细的输入输出关系。训练过程动态调节学习率,大大加快后向传播算法的收敛速度以及收敛效果。通过与深度学习损失函数的效果对比,引入了支持向量机的目标函数,很大程度上提高了神经网络的拟合能力。
最后根据曲线下面积、精度、召回率等多指标选取最佳训练轮数的模型。经过大量试验发现,100次循环以上的模型容易有过拟合的现象,而10次循环左右的模型,没有经过充分的学习训练,网络结构不是最优的。一般选取训练20次循环到30次循环之间的模型作为最终模型,这个区间的模型精确度和召回率两者兼顾,在这个区间选择精度在99.7%左右,召回率在99.6%左右,结合曲线下面积比较高的模型,效果一般会比较理想。
进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种文件的病毒检测装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的病毒检测装置包括:特征信息提取单元601、归一化数据获取单元602和病毒检测单元603。其中,特征信息提取单元601,用于从待检测文件中提取出特征信息,上述特征信息用于表征上述待检测文件的运行行为;归一化数据获取单元602,用于对上述特征信息进行归一化处理,得到对应上述特征信息的归一化数据;病毒检测单元603,用于将上述归一化数据转换为二进制数据,将上述二进制数据导入预先训练的病毒检测模型进行病毒检测得到病毒检测结果。
在本实施例的一些可选的实现方式中,上述文件的病毒检测装置还包括:病毒检测模型建立单元(图中未示出),用于建立病毒检测模型,包括:样本数据获取子单元(图中未示出)、风险等级标签获取子单元(图中未示出)、样本归一化数据获取子单元(图中未示出)、预选病毒检测模型获取子单元(图中未示出)和病毒检测模型获取子单元(图中未示出)。其中,样本数据获取子单元,用于获取样本数据,上述样本数据的数量大于设置值;风险等级标签获取子单元,用于对上述样本数据进行病毒检测,得到对应上述样本数据的风险等级标签,上述风险等级标签用于表征样本数据为病毒数据的可能性;样本归一化数据获取子单元,用于对上述样本数据进行归一化处理,得到对应上述样本数据的样本归一化数据,上述样本归一化数据包括上述风险等级标签;预选病毒检测模型获取子单元,用于将上述样本归一化数据转换成二进制数据,并将上述二进制数据输入深度学习神经网络,得到多个预选病毒检测模型;病毒检测模型获取子单元,用于通过设定指标对上述预选病毒检测模型进行打分排序,将得分最高的预选病毒检测模型作为最终的病毒检测模型。
在本实施例的一些可选的实现方式中,上述样本归一化数据获取子单元包括:第一数据插入点设置模块(图中未示出),用于获取上述样本归一化数据的分布曲线,若上述分布曲线无法拟合成正态分布曲线,则在上述样本归一化数据对应的数据区间设置数据插入点,上述分布曲线用于表征样本归一化数据在数据区间上的分布趋势,上述数据插入点用于将上述数据区间平均分成设定个数据区间段。
在本实施例的一些可选的实现方式中,上述样本归一化数据获取子单元还包括:第二数据插入点设置模块(图中未示出),用于在上述数据区间段内的样本归一化数据的分布曲线无法拟合成正态分布曲线时,在上述数据区间上增加数据插入点,直到数据区间段内的样本归一化数据的分布曲线拟合成正态分布曲线。
在本实施例的一些可选的实现方式中,上述装置还包括:排序单元(图中未示出),用于按照上述风险等级标签对样本归一化数据进行随机排序。
在本实施例的一些可选的实现方式中,上述预选病毒检测模型获取子单元包括:激活函数设置模块(图中未示出),用于在深度学习神经网络的第一隐层和第二隐层分别设置relu函数和双曲正切函数作为激活函数。
在本实施例的一些可选的实现方式中,上述预选病毒检测模型获取子单元包括:残留层设置模块(图中未示出),用于在深度学习神经网络设置残留层,通过上述残留层调整上述深度学习神经网络的输入输出关系,上述残留层用于通过深度学习神经网络的输入数据对深度学习神经网络的输出数据进行修正。
下面参考图7,其示出了适于用来实现本申请实施例的服务器的计算机系统700的结构示意图。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有系统700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,上述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括特征信息提取单元、归一化数据获取单元和病毒检测单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。例如,病毒检测单元还可以被描述为“用于检测病毒的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中上述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当上述一个或者多个程序被一个设备执行时,使得上述设备:从待检测文件中提取出特征信息,上述特征信息用于表征上述待检测文件的运行行为;对上述特征信息进行归一化处理,得到对应上述特征信息的归一化数据;将上述归一化数据转换为二进制数据,将上述二进制数据导入预先训练的病毒检测模型进行病毒检测得到病毒检测结果。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种文件的病毒检测方法,其特征在于,所述方法包括:
从待检测文件中提取出特征信息,所述待检测文件包括安卓软件安装包文件,所述特征信息用于表征所述待检测文件的运行行为,包括不同数量级的不规则的数据;
对所述特征信息进行归一化处理,得到对应所述特征信息的归一化数据;
将所述归一化数据转换为二进制数据,将所述二进制数据导入预先训练的病毒检测模型进行病毒检测得到病毒检测结果;
所述方法还包括建立病毒检测模型的步骤,所述建立病毒检测模型的步骤包括:
获取样本数据,所述样本数据的数量大于设置值;
对所述样本数据进行病毒检测,得到对应所述样本数据的风险等级标签,所述风险等级标签用于表征样本数据为病毒数据的可能性;
对所述样本数据进行归一化处理,得到对应所述样本数据的样本归一化数据,所述样本归一化数据包括所述风险等级标签;
将所述样本归一化数据转换成二进制数据,并将所述二进制数据输入深度学习神经网络,得到多个预选病毒检测模型;
通过设定指标对所述预选病毒检测模型进行打分排序,将得分最高的预选病毒检测模型作为最终的病毒检测模型。
2.根据权利要求1所述的方法,其特征在于,所述对所述样本数据进行归一化处理,得到对应所述样本数据的样本归一化数据包括:
获取所述样本归一化数据的分布曲线,其中所述分布曲线用于表征样本归一化数据在数据区间上的分布趋势;
若所述分布曲线无法拟合成正态分布曲线,则在所述样本归一化数据对应的数据区间设置数据插入点,其中,所述数据插入点用于将所述数据区间平均分成设定个数据区间段。
3.根据权利要求2所述的方法,其特征在于,所述对所述样本数据进行归一化处理,得到对应所述样本数据的样本归一化数据还包括:
若所述数据区间段内的样本归一化数据的分布曲线无法拟合成正态分布曲线,则在所述数据区间上增加数据插入点,直到数据区间段内的样本归一化数据的分布曲线拟合成正态分布曲线。
4.根据权利要求1所述的方法,其特征在于,在步骤对所述样本数据进行归一化处理,得到对应所述样本数据的样本归一化数据,和步骤将所述样本归一化数据转换成二进制数据之间还包括:
按照所述风险等级标签对样本归一化数据进行随机排序。
5.根据权利要求2所述的方法,其特征在于,所述将所述二进制数据输入深度学习神经网络,得到多个预选病毒检测模型包括:
在深度学习神经网络的第一隐层和第二隐层分别设置relu函数和双曲正切函数作为激活函数。
6.根据权利要求2所述的方法,其特征在于,所述将所述二进制数据输入深度学习神经网络,得到多个预选病毒检测模型包括:
在深度学习神经网络设置残留层,通过所述残留层调整所述深度学习神经网络的输入输出关系,所述残留层用于通过深度学习神经网络的输入数据对深度学习神经网络的输出数据进行修正。
7.一种文件的病毒检测装置,其特征在于,所述装置包括:
特征信息提取单元,用于从待检测文件中提取出特征信息,所述待检测文件包括安卓软件安装包文件,所述特征信息用于表征所述待检测文件的运行行为,包括不同数量级的不规则的数据;
归一化数据获取单元,用于对所述特征信息进行归一化处理,得到对应所述特征信息的归一化数据;
病毒检测单元,用于将所述归一化数据转换为二进制数据,将所述二进制数据导入预先训练的病毒检测模型进行病毒检测得到病毒检测结果;所述装置还包括:
病毒检测模型建立单元,用于建立病毒检测模型,包括:
样本数据获取子单元,用于获取样本数据,所述样本数据的数量大于设置值;
风险等级标签获取子单元,用于对所述样本数据进行病毒检测,得到对应所述样本数据的风险等级标签,所述风险等级标签用于表征样本数据为病毒数据的可能性;
样本归一化数据获取子单元,用于对所述样本数据进行归一化处理,得到对应所述样本数据的样本归一化数据,所述样本归一化数据包括所述风险等级标签;
预选病毒检测模型获取子单元,用于将所述样本归一化数据转换成二进制数据,并将所述二进制数据输入深度学习神经网络,得到多个预选病毒检测模型;
病毒检测模型获取子单元,用于通过设定指标对所述预选病毒检测模型进行打分排序,将得分最高的预选病毒检测模型作为最终的病毒检测模型。
8.根据权利要求7所述的装置,其特征在于,所述样本归一化数据获取子单元包括:
第一数据插入点设置模块,用于获取所述样本归一化数据的分布曲线,若所述分布曲线无法拟合成正态分布曲线,则在所述样本归一化数据对应的数据区间设置数据插入点,所述分布曲线用于表征样本归一化数据在数据区间上的分布趋势,所述数据插入点用于将所述数据区间平均分成设定个数据区间段。
9.根据权利要求8所述的装置,其特征在于,所述样本归一化数据获取子单元还包括:
第二数据插入点设置模块,用于在所述数据区间段内的样本归一化数据的分布曲线无法拟合成正态分布曲线时,在所述数据区间上增加数据插入点,直到数据区间段内的样本归一化数据的分布曲线拟合成正态分布曲线。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
排序单元,用于按照所述风险等级标签对样本归一化数据进行随机排序。
11.根据权利要求8所述的装置,其特征在于,所述预选病毒检测模型获取子单元包括:
激活函数设置模块,用于在深度学习神经网络的第一隐层和第二隐层分别设置relu函数和双曲正切函数作为激活函数。
12.根据权利要求8所述的装置,其特征在于,所述预选病毒检测模型获取子单元包括:
残留层设置模块,用于在深度学习神经网络设置残留层,通过所述残留层调整所述深度学习神经网络的输入输出关系,所述残留层用于通过深度学习神经网络的输入数据对深度学习神经网络的输出数据进行修正。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610465800.XA CN106203103B (zh) | 2016-06-23 | 2016-06-23 | 文件的病毒检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610465800.XA CN106203103B (zh) | 2016-06-23 | 2016-06-23 | 文件的病毒检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106203103A CN106203103A (zh) | 2016-12-07 |
CN106203103B true CN106203103B (zh) | 2020-06-30 |
Family
ID=57461803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610465800.XA Active CN106203103B (zh) | 2016-06-23 | 2016-06-23 | 文件的病毒检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106203103B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009424A (zh) * | 2017-11-22 | 2018-05-08 | 北京奇虎科技有限公司 | 病毒行为检测方法、装置及系统 |
CN108614970B (zh) * | 2018-04-03 | 2023-12-15 | 腾讯科技(深圳)有限公司 | 病毒程序的检测方法、模型训练方法、装置及设备 |
CN108563951B (zh) * | 2018-04-13 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 病毒检测方法及装置 |
CN110532771A (zh) * | 2018-05-23 | 2019-12-03 | 深信服科技股份有限公司 | 恶意文件检测方法、装置、设备及计算机可读存储介质 |
CN110633197B (zh) * | 2018-06-22 | 2024-04-12 | 北京京东尚科信息技术有限公司 | 一种过度绘制的检测方法和装置 |
CN109582741B (zh) * | 2018-11-15 | 2023-09-05 | 创新先进技术有限公司 | 特征数据处理方法和装置 |
CN110837638B (zh) * | 2019-11-08 | 2020-09-01 | 鹏城实验室 | 一种勒索软件的检测方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110154495A1 (en) * | 2009-12-21 | 2011-06-23 | Stranne Odd Wandenor | Malware identification and scanning |
CN104794535B (zh) * | 2015-04-16 | 2018-07-06 | 清华大学 | 一种基于主导行业的电力需求预测及预警的方法 |
CN105426760B (zh) * | 2015-11-05 | 2018-04-06 | 工业和信息化部电信研究院 | 一种安卓恶意应用的检测方法及装置 |
-
2016
- 2016-06-23 CN CN201610465800.XA patent/CN106203103B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106203103A (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106203103B (zh) | 文件的病毒检测方法及装置 | |
CN108737406B (zh) | 一种异常流量数据的检测方法及系统 | |
CN113657545B (zh) | 用户业务数据的处理方法、装置、设备及存储介质 | |
CN112528025A (zh) | 基于密度的文本聚类方法、装置、设备及存储介质 | |
CN105022754B (zh) | 基于社交网络的对象分类方法及装置 | |
CN110147389B (zh) | 帐号处理方法和装置、存储介质及电子装置 | |
CN106354856B (zh) | 基于人工智能的深度神经网络强化搜索方法和装置 | |
CN116361801B (zh) | 基于应用程序接口语义信息的恶意软件检测方法及系统 | |
CN111984792A (zh) | 网站分类方法、装置、计算机设备及存储介质 | |
CN112131322B (zh) | 时间序列分类方法及装置 | |
CN111260220A (zh) | 群控设备识别方法、装置、电子设备和存储介质 | |
CN113986660A (zh) | 系统调整策略的匹配方法、装置、设备及存储介质 | |
CN114332500A (zh) | 图像处理模型训练方法、装置、计算机设备和存储介质 | |
CN114048729A (zh) | 医学文献评价方法、电子设备、存储介质和程序产品 | |
CN113628043B (zh) | 基于数据分类的投诉有效性判断方法、装置、设备及介质 | |
CN110162769B (zh) | 文本主题输出方法和装置、存储介质及电子装置 | |
CN114417159A (zh) | 内容质量评估方法、模型训练方法及相关装置 | |
CN113011886B (zh) | 帐号类型的确定方法和装置及电子设备 | |
CN110689937A (zh) | 编码模型训练方法、系统、设备及检测项目编码方法 | |
CN111984842B (zh) | 银行客户数据处理方法及装置 | |
CN111581640A (zh) | 一种恶意软件检测方法、装置及设备、存储介质 | |
CN106446696B (zh) | 一种信息处理方法及电子设备 | |
CN116821455A (zh) | 基于社交工具的区域数据回溯分析方法及系统 | |
CN110555007A (zh) | 盗号行为判别方法、装置、计算设备及存储介质 | |
CN111368858A (zh) | 用户满意度评估方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |