一种信息处理方法及服务器与流程

文档序号:12199030阅读:221来源:国知局
一种信息处理方法及服务器与流程

本发明涉及通讯技术,尤其涉及一种信息处理方法及服务器。



背景技术:

本申请发明人在实现本申请实施例技术方案的过程中,至少发现相关技术中存在如下技术问题:

随着网络技术的法杖,病毒传播得更快,破坏能力更强,是防毒杀毒工作面临巨大挑战,目前,采用现有技术,主流的识别病毒的解决方案为:一、提取已知病毒样本中的一段二进制特征码,该特征码能唯一识别病毒,将此特征码添加到病毒数据库,在病毒检测时搜索是否有匹配的病毒特征数据,从而识别出病毒;二、将未知病毒运行在虚拟机下以检测病毒行为,从而识别出病毒。

采用上述现有技术,存在的缺点为:通过上述第一种解决方案,提取病毒特征码技术,虽然能快速和准确识别已知病毒,但是,对新型病毒无法识别或识别的误报率高。通过上述第二种解决方案,将病毒运行在虚拟机下检测病毒行为,其检测结果完全依赖于分析人员的专业水平,不仅大大增加了人工成本,而且也同样存在误报率的问题,而且病毒还存在病毒加壳,会导致分析人员在使用应用程序接口(API)调用序列时数量巨大,导致效率低下的问题。然而,相关技术中,对于如何精准识别病毒的问题,尚无有效解决方案。



技术实现要素:

有鉴于此,本发明实施例希望提供一种信息处理方法及服务器,至少解决了现有技术存在的问题,能精准的识别病毒。

本发明实施例的技术方案是这样实现的:

本发明实施例的一种信息处理方法,所述方法包括:

获取至少一个指定类型的可执行文件,从所述至少一个指定类型的可执行文件中提取至少一个第一操作指令,判断所述第一操作指令的特征是否符合预设策略,如果符合所述预设策略,则将所述第一操作指令确定为特征指令;

提取所述特征指令的特征值,将所述特征指令的特征值用于构造病毒分类模型,分析得到病毒的结构特征参数;

根据所述病毒分类模型对至少一个待检测的文件进行识别时,从所述至少一个待检测的文件中提取至少一个第二操作指令,判断所述第二操作指令的特征值是否符合所述病毒的结构特征参数,如果符合所述病毒的结构特征参数,则识别出所述待检测的文件为病毒文件。

上述方案中,所述判断所述第一操作指令的特征是否符合预设策略,包括以下一种或多种方式:

方式一:判断所述第一操作指令是否用于调用指定的系统应用程序接口API函数,以执行包括修改注册表或修改系统关键路径在内的操作,如果是,则符合所述预设策略;

方式二:判断所述第一操作指令的出现频率和/或次数是否达到预设的阈值,如果是,则符合所述预设策略;

方式三:判断所述第一操作指令所包含的静态代码信息入口处的区域大小和/或边界是否符合预设条件,如果是,则符合所述预设策略。

上述方案中,所述将所述特征指令的特征值用于构造病毒分类模型,分析得到病毒的结构特征参数,包括:

将所述特征指令的特征值作为参考样本,对所述参考样本进行信息不纯度的分析,以得到病毒种类划分的基准参考值;

根据所述基准参考值进行病毒分类模型的划分,得到至少一个病毒分类模型,通过所述至少一个病毒分类模型得到用于表征病毒分类的所述病毒的结构特征参数。

上述方案中,所述根据所述基准参考值进行病毒分类模型的划分,得到至 少一个病毒分类模型,包括:

所述病毒分类模型为决策树模型时,以所述基准参考值作为决策树的分支节点,分别向所述分支节点的左侧和右侧进行划分并在残差的梯度减少方向建立至少一个分类回归树,由所述至少一个分类回归树构成所述至少一个病毒分类模型。

上述方案中,所述分别向所述分支节点的左侧和右侧进行划分并在残差的梯度减少方向建立至少一个分类回归树,包括:

获取所述参考样本的估计值与训练得到的实际值;

根据所述估计值和所述实际值,计算出估计值与实际值的残差所构成的梯度;

在每一次梯度减少的方向建立一个新的分类回归树,重复N次,N为大于1的自然数,得到N个分类回归树。

本发明实施例的一种服务器,所述服务器包括:

判断单元,用于获取至少一个指定类型的可执行文件,从所述至少一个指定类型的可执行文件中提取至少一个第一操作指令,判断所述第一操作指令的特征是否符合预设策略,如果符合所述预设策略,则将所述第一操作指令确定为特征指令;

处理单元,用于提取所述特征指令的特征值,将所述特征指令的特征值用于构造病毒分类模型,分析得到病毒的结构特征参数;

识别单元,用于根据所述病毒分类模型对至少一个待检测的文件进行识别时,从所述至少一个待检测的文件中提取至少一个第二操作指令,判断所述第二操作指令的特征值是否符合所述病毒的结构特征参数,如果符合所述病毒的结构特征参数,则识别出所述待检测的文件为病毒文件。

上述方案中,所述判断单元,进一步用于采取以下一种或多种方式来判断所述第一操作指令的特征是否符合预设策略:

方式一:判断所述第一操作指令是否用于调用指定的系统应用程序接口API函数,以执行包括修改注册表或修改系统关键路径在内的操作,如果是, 则符合所述预设策略;

方式二:判断所述第一操作指令的出现频率和/或次数是否达到预设的阈值,如果是,则符合所述预设策略;

方式三:判断所述第一操作指令所包含的静态代码信息入口处的区域大小和/或边界是否符合预设条件,如果是,则符合所述预设策略。

上述方案中,所述处理单元,进一步用于:

第一子处理单元,用于将所述特征指令的特征值作为参考样本,对所述参考样本进行信息不纯度的分析,以得到病毒种类划分的基准参考值;

第二子处理单元,用于根据所述基准参考值进行病毒分类模型的划分,得到至少一个病毒分类模型,通过所述至少一个病毒分类模型得到用于表征病毒分类的所述病毒的结构特征参数。

上述方案中,所述第二子处理单元,进一步用于在所述病毒分类模型为决策树模型时,以所述基准参考值作为决策树的分支节点,分别向所述分支节点的左侧和右侧进行划分并在残差的梯度减少方向建立至少一个分类回归树,由所述至少一个分类回归树构成所述至少一个病毒分类模型。

上述方案中,所述第二子处理单元,进一步用于获取所述参考样本的估计值与训练得到的实际值;根据所述估计值和所述实际值,计算出估计值与实际值的残差所构成的梯度;在每一次梯度减少的方向建立一个新的分类回归树,重复N次,N为大于1的自然数,得到N个分类回归树。

本发明实施例的信息处理方法,包括:获取至少一个指定类型的可执行文件,从所述至少一个指定类型的可执行文件中提取至少一个第一操作指令,判断所述第一操作指令的特征是否符合预设策略,如果符合所述预设策略,则将所述第一操作指令确定为特征指令;提取所述特征指令的特征值,将所述特征指令的特征值用于构造病毒分类模型,分析得到病毒的结构特征参数;根据所述病毒分类模型对至少一个待检测的文件进行识别时,从所述至少一个待检测的文件中提取至少一个第二操作指令,判断所述第二操作指令的特征值是否符合所述病毒的结构特征参数,如果符合所述病毒的结构特征参数,则识别出所 述待检测的文件为病毒文件。

采用本发明实施例,对可能为病毒文件的可执行文件进行检测分析,当发现该可执行文件中的第一操作指令的特征符合预设策略,则将该可执行文件作为已知的病毒文件,将该已知的病毒文件中符合预设策略的第一操作指令作为特征指令并对其特征值进行提取,以便于通过提取的该特征值来构造病毒分类模型,从而分析得到病毒的结构特征参数。对待检测的文件进行识别,看是否为病毒文件时,提取该待检测的文件中的第二操作指令,判断所述第二操作指令的特征值是否符合所述病毒的结构特征参数,如果符合所述病毒的结构特征参数,则识别出所述待检测的文件为病毒文件。不仅无需人工介入病毒识别的分析,而且能通过结构特征参数的比对,精准的识别出病毒,从而提高了识别精度和识别效率。

附图说明

图1为本发明实施例中进行信息交互的各方硬件实体的示意图;

图2为本发明方法实施例一的一个实现流程示意图;

图3-5为本发明实施例分类模型(分类器)的实例示意图;

图6为本发明方法实施例二的一个实现流程示意图;

图7为本发明方法实施例三的一个实现流程示意图;

图8为本发明服务器实施例一的一个组成结构示意图;

图9为本发明服务器实施例的一个硬件结构示意图。

具体实施方式

下面结合附图对技术方案的实施作进一步的详细描述。

图1为本发明实施例中进行信息交互的各方硬件实体的示意图,图1中包括:终端设备11-12,基站21-23,服务器31,终端与终端之间,终端与服务器之间在信息交互的过程中除了传输未感染病毒的正常文件,也可能会传播感染病毒的病毒文件,病毒文件包括已知病毒文件和/或未知病毒文件,为了信息交 互中的信息安全考虑,需要从众多信息中识别出病毒。

基于上述图1所示的系统,采用本发明实施例,是通过在服务器31侧收集病毒文件,包括已知病毒文件和未知病毒文件,由于病毒文件通常为可执行文件,因此,首先对可能为病毒文件的可执行文件进行检测分析,当发现该可执行文件中的第一操作指令的特征符合预设策略,则将该可执行文件作为已知的病毒文件,将该已知的病毒文件中符合预设策略的第一操作指令作为特征指令并对其特征值进行提取,以便于通过提取的该特征值来构造病毒分类模型,从而分析得到病毒的结构特征参数。之后,对待检测的文件进行识别,看是否为病毒文件时,提取该待检测的文件中的第二操作指令,判断所述第二操作指令的特征值是否符合所述病毒的结构特征参数,如果符合所述病毒的结构特征参数,则识别出所述待检测的文件为病毒文件。

针对图1所示的系统架构,举例来说,在服务器31中至少需要完成以下处理:1)对已知病毒的特征提取处理;2)将提取的特征存入数据库以用于后续构造分类器使用;3)根据提取的特征构造用于识别病毒和病毒具体分类的该分类器;4)对未知病毒文件利用该构造分类器进行病毒检测,识别出病毒,输出病毒分类。

上述图1的例子只是实现本发明实施例的一个系统架构实例,本发明实施例并不限于上述图1所述的系统结构,基于该系统架构,提出本发明各个实施例。

方法实施例一、

本发明实施例的信息处理方法,如图2所示,所述方法包括:

步骤101、获取至少一个指定类型的可执行文件,从所述至少一个指定类型的可执行文件中提取至少一个第一操作指令。

这里,由于病毒文件通常为可执行文件,因此,首先对可能为病毒文件的可执行文件进行检测分析,该可能为病毒文件的可执行文件可以称为PE文件,通常该PE文件的文件名后缀为“.exe”。PE文件中包含大量的静态信息,静态信息中有普通的信息,也有指令信息,比如普通的信息可以是函数入口信息, 指令信息是调用该函数的操作指令。

步骤102、判断所述第一操作指令的特征是否符合预设策略,如果是,则执行步骤103,否则,不予进行处理。

这里,由于服务器并不确定该PE文件是否就是分析所需要的文件,即已知病毒文件,因此,还需要对PE文件中的指令信息进行检测分析。

由于已知病毒文件的指令信息具备一定的特征,比如,病毒文件中的某些指令信息会调用一些较为特殊的系统应用程序接口(API)函数来达到其破坏目的,如对注册表的读写操作、修改系统关键路径,同种病毒的代码部分往往具有相似性;比如,具备这些特征的指令信息的出现次数和频率很频繁,或者即便不具有某种特征,还未明确的情况下指令信息的出现次数和频率很多频繁;比如,很多病毒采用加密技术,可以提取代码入口处的区域大小、边界等做为特征值等等;因此,将这些情况都作为预设策略,对PE文件中的指令信息进行检测分析时,按照指令信息的特征与预设策略中的特征进行比对,如果发现具备一定的特征,则将这样的指令信息作为重要特征指令,用于后续构造分类器使用。

步骤103、所述第一操作指令的特征符合所述预设策略,将所述第一操作指令确定为特征指令。

这里,预设策略包括:上述步骤102中提及的,病毒文件中的某些指令信息会调用一些较为特殊的系统API函数来达到其破坏目的,如对注册表的读写操作、修改系统关键路径,同种病毒的代码部分往往具有相似性;比如,具备这些特征的指令信息的出现次数和频率很频繁,或者即便不具有某种特征,还未明确的情况下指令信息的出现次数和频率很多频繁;比如,很多病毒采用加密技术,可以提取代码入口处的区域大小、边界等做为特征值等等这些策略,但是不限于本文指出的这些策略。

步骤104、提取所述特征指令的特征值,将所述特征指令的特征值用于构造病毒分类模型,分析得到病毒的结构特征参数。

这里,通过上述步骤101-103对已知病毒文件中重要特征指令的特征值分 析,并将所述特征指令的特征值用于构造病毒分类模型,分析得到的该病毒的结构特征参数必然能概括出大部分病毒及其变种或类似结构的新型病毒的通用表现形式,从而为最终的病毒检测提供良好的判断依据。

步骤105、根据所述病毒分类模型对至少一个待检测的文件进行识别时,从所述至少一个待检测的文件中提取至少一个第二操作指令。

待检测文件可以为新型的病毒文件,也可能为未感染病毒的正常文件,根据所述病毒分类模型对至少一个待检测的文件进行识别,实际上是进行病毒的结构特征参数的匹配,该病毒分类模型中包括了各种病毒的结构特征参数。病毒分类模型为至少一个,当病毒分类模型为不止一个时,比如两个病毒分类模型,可以将其中任意一个病毒分类模型中的病毒的结构特征参数用于与待检测文件进行匹配,也可以将两个病毒分类模型进行迭代或叠加后先得到综合分类模型,再将该综合分类模型中的病毒的结构特征参数用于与待检测文件进行匹配。当然,病毒分类模型可以为更多,比如五个,可以与其中至少一个病毒分类模型进行迭代或叠加后得到综合分类模型,如,分别两两迭代或叠加得到第一综合分类模型和第二综合分类模型,再与剩下的一个原有的分类模型进行迭代或叠加等等。如图3-图5所示为几种分类模型(或称分类器)的迭代或叠加组合实例。

步骤106、判断所述第二操作指令的特征值是否符合所述病毒的结构特征参数,如果是,则执行步骤107;否则,不予进行处理。

步骤107、所述第二操作指令的特征值符合所述病毒的结构特征参数,识别出所述待检测的文件为病毒文件。

待检测文件可以为新型的病毒文件,也可能为未感染病毒的正常文件,提取该待检测文件中的指令信息特征值,将其根据所述至少一个病毒分类模型进行识别,实际上是进行病毒的结构特征参数的匹配,只要有至少一个匹配结果,则说明该待检测文件为病毒文件,进一步,可以根据病毒分类模型的病毒分类结果对该病毒文件、或病毒文件中某条或多条指令信息为哪一类病毒进行区分。

如图3-5所示为几种分类模型(或称分类器)的迭代或叠加组合实例,图 3-图5中以A11代表分类构造器,如图3所示,分类构造器中所构造的病毒分类模型有3个,待检测文件分别与其中任意一个病毒分类模型中的结构特征参数进行匹配;如图4所示,分类构造器中所构造的病毒分类模型有5个,模型1-4这4个病毒分类模型两两进行迭代或叠加后先得到综合分类模型1和综合分类模型2,模型5不进行迭代或叠加,之后将综合分类模型1、综合分类模型2、模型5中的病毒的结构特征参数用于与待检测文件进行匹配;如图5所示,分类构造器中所构造的病毒分类模型有5个,模型1-2这2个病毒分类模型两两进行迭代或叠加后先得到综合分类模型1,模型3-5这3个病毒分类模型进行迭代或叠加后先得到综合分类模型2’,之后将综合分类模型1、综合分类模型2’、中的病毒的结构特征参数用于与待检测文件进行匹配。

基于上述方法实施例一,在实际应用中,步骤102中,所述判断所述第一操作指令的特征是否符合预设策略,基于以下一种或多种方式的原则进行,方式一:判断所述第一操作指令是否用于调用指定的系统应用程序接口API函数,以执行包括修改注册表或修改系统关键路径在内的操作,如果是,则符合所述预设策略;方式二:判断所述第一操作指令的出现频率和/或次数是否达到预设的阈值,如果是,则符合所述预设策略;方式三:判断所述第一操作指令所包含的静态代码信息入口处的区域大小和/或边界是否符合预设条件,如果是,则符合所述预设策略。

方法实施例二、

本发明实施例的信息处理方法,如图6所示,所述方法包括:

步骤201、获取至少一个指定类型的可执行文件,从所述至少一个指定类型的可执行文件中提取至少一个第一操作指令。

这里,由于病毒文件通常为可执行文件,因此,首先对可能为病毒文件的可执行文件进行检测分析,该可能为病毒文件的可执行文件可以称为PE文件,通常该PE文件的文件名后缀为“.exe”。PE文件中包含大量的静态信息,静态信息中有普通的信息,也有指令信息,比如普通的信息可以是函数入口信息, 指令信息是调用该函数的操作指令。

步骤202、判断所述第一操作指令的特征是否符合预设策略,如果是,则执行步骤203,否则,不予进行处理。

这里,由于服务器并不确定该PE文件是否就是分析所需要的文件,即已知病毒文件,因此,还需要对PE文件中的指令信息进行检测分析。

由于已知病毒文件的指令信息具备一定的特征,比如,病毒文件中的某些指令信息会调用一些较为特殊的系统应用程序接口(API)函数来达到其破坏目的,如对注册表的读写操作、修改系统关键路径,同种病毒的代码部分往往具有相似性;比如,具备这些特征的指令信息的出现次数和频率很频繁,或者即便不具有某种特征,还未明确的情况下指令信息的出现次数和频率很多频繁;比如,很多病毒采用加密技术,可以提取代码入口处的区域大小、边界等做为特征值等等;因此,将这些情况都作为预设策略,对PE文件中的指令信息进行检测分析时,按照指令信息的特征与预设策略中的特征进行比对,如果发现具备一定的特征,则将这样的指令信息作为重要特征指令,用于后续构造分类器使用。

步骤203、所述第一操作指令的特征符合所述预设策略,将所述第一操作指令确定为特征指令。

这里,预设策略包括:上述步骤202中提及的,病毒文件中的某些指令信息会调用一些较为特殊的系统API函数来达到其破坏目的,如对注册表的读写操作、修改系统关键路径,同种病毒的代码部分往往具有相似性;比如,具备这些特征的指令信息的出现次数和频率很频繁,或者即便不具有某种特征,还未明确的情况下指令信息的出现次数和频率很多频繁;比如,很多病毒采用加密技术,可以提取代码入口处的区域大小、边界等做为特征值等等这些策略,但是不限于本文指出的这些策略。

步骤204、将所述特征指令的特征值作为参考样本,对所述参考样本进行信息不纯度的分析,以得到病毒种类划分的基准参考值,根据所述基准参考值进行病毒分类模型的划分,得到至少一个病毒分类模型,通过所述至少一个病 毒分类模型得到用于表征病毒分类的所述病毒的结构特征参数。

这里,通过上述步骤201-203对已知病毒文件中重要特征指令的特征值分析,并将所述特征指令的特征值用于构造病毒分类模型,分析得到的该病毒的结构特征参数必然能概括出大部分病毒及其变种或类似结构的新型病毒的通用表现形式,从而为最终的病毒检测提供良好的判断依据。

这里,所述根据所述基准参考值进行病毒分类模型的划分,得到至少一个病毒分类模型,包括:所述病毒分类模型为决策树模型时,以所述基准参考值作为决策树的分支节点,分别向所述分支节点的左侧和右侧进行划分并在残差的梯度减少方向建立至少一个分类回归树,由所述至少一个分类回归树构成所述至少一个病毒分类模型。

步骤205、根据所述病毒分类模型对至少一个待检测的文件进行识别时,从所述至少一个待检测的文件中提取至少一个第二操作指令。

待检测文件可以为新型的病毒文件,也可能为未感染病毒的正常文件,根据所述病毒分类模型对至少一个待检测的文件进行识别,实际上是进行病毒的结构特征参数的匹配,该病毒分类模型中包括了各种病毒的结构特征参数。病毒分类模型为至少一个,当病毒分类模型为不止一个时,比如两个病毒分类模型,可以将其中任意一个病毒分类模型中的病毒的结构特征参数用于与待检测文件进行匹配,也可以将两个病毒分类模型进行迭代或叠加后先得到综合分类模型,再将该综合分类模型中的病毒的结构特征参数用于与待检测文件进行匹配。当然,病毒分类模型可以为更多,比如五个,可以与其中至少一个病毒分类模型进行迭代或叠加后得到综合分类模型,如,分别两两迭代或叠加得到第一综合分类模型和第二综合分类模型,再与剩下的一个原有的分类模型进行迭代或叠加等等。如图3-图5所示为几种分类模型(或称分类器)的迭代或叠加组合实例。

步骤206、判断所述第二操作指令的特征值是否符合所述病毒的结构特征参数,如果是,则执行步骤207;否则,不予进行处理。

步骤207、所述第二操作指令的特征值符合所述病毒的结构特征参数,识 别出所述待检测的文件为病毒文件。

待检测文件可以为新型的病毒文件,也可能为未感染病毒的正常文件,提取该待检测文件中的指令信息特征值,将其根据所述至少一个病毒分类模型进行识别,实际上是进行病毒的结构特征参数的匹配,只要有至少一个匹配结果,则说明该待检测文件为病毒文件,进一步,可以根据病毒分类模型的病毒分类结果对该病毒文件、或病毒文件中某条或多条指令信息为哪一类病毒进行区分。

方法实施例三、

基于上述方法实施例二,本发明实施例的信息处理方法,一个具体应用为:在所述病毒分类模型为决策树模型时,以所述基准参考值作为决策树的分支节点,分别向所述分支节点的左侧和右侧进行划分并在残差的梯度减少方向建立至少一个分类回归树。

如图7所示,上述具体应用的流程包括:

步骤301、获取所述参考样本的估计值与训练得到的实际值。

步骤302、根据所述估计值和所述实际值,计算出估计值与实际值的残差所构成的梯度。

步骤303、在每一次梯度减少的方向建立一个新的分类回归树,重复N次,N为大于1的自然数,得到N个分类回归树。

这里需要指出的是:以下涉及服务器项的描述,与上述方法描述是类似的,同方法的有益效果描述,不做赘述。对于本发明服务器实施例中未披露的技术细节,请参照本发明方法实施例的描述。

服务器实施例一:

本发明实施例的一种服务器,如图8所示,所述服务器包括:

判断单元41用于获取至少一个指定类型的可执行文件,从所述至少一个指定类型的可执行文件中提取至少一个第一操作指令,判断所述第一操作指令的特征是否符合预设策略,如果符合所述预设策略,则将所述第一操作指令确定为特征指令。

处理单元42用于提取所述特征指令的特征值,将所述特征指令的特征值用于构造病毒分类模型,分析得到病毒的结构特征参数;

识别单元43用于根据所述病毒分类模型对至少一个待检测的文件进行识别时,从所述至少一个待检测的文件中提取至少一个第二操作指令,判断所述第二操作指令的特征值是否符合所述病毒的结构特征参数,如果符合所述病毒的结构特征参数,则识别出所述待检测的文件为病毒文件。

采用本发明实施例,通过判断单元41、处理单元42和识别单元43,能对可能为病毒文件的可执行文件进行检测分析,当发现该可执行文件中的第一操作指令的特征符合预设策略,则将该可执行文件作为已知的病毒文件,将该已知的病毒文件中符合预设策略的第一操作指令作为特征指令并对其特征值进行提取,以便于通过提取的该特征值来构造病毒分类模型,从而分析得到病毒的结构特征参数。对待检测的文件进行识别,看是否为病毒文件时,提取该待检测的文件中的第二操作指令,判断所述第二操作指令的特征值是否符合所述病毒的结构特征参数,如果符合所述病毒的结构特征参数,则识别出所述待检测的文件为病毒文件。不仅无需人工介入病毒识别的分析,而且能通过结构特征参数的比对,精准的识别出病毒,从而提高了识别精度和识别效率。

在本发明实施例一具体应用中,判断单元41还用于采取以下一种或多种方式来判断所述第一操作指令的特征是否符合预设策略,包括:方式一:判断所述第一操作指令是否用于调用指定的系统应用程序接口API函数,以执行包括修改注册表或修改系统关键路径在内的操作,如果是,则符合所述预设策略;方式二:判断所述第一操作指令的出现频率和/或次数是否达到预设的阈值,如果是,则符合所述预设策略;方式三:判断所述第一操作指令所包含的静态代码信息入口处的区域大小和/或边界是否符合预设条件,如果是,则符合所述预设策略。

由于已知病毒文件的指令信息具备一定的特征,比如,病毒文件中的某些指令信息会调用一些较为特殊的系统应用程序接口(API)函数来达到其破坏目的,如对注册表的读写操作、修改系统关键路径,同种病毒的代码部分往往 具有相似性;比如,具备这些特征的指令信息的出现次数和频率很频繁,或者即便不具有某种特征,还未明确的情况下指令信息的出现次数和频率很多频繁;比如,很多病毒采用加密技术,可以提取代码入口处的区域大小、边界等做为特征值等等;因此,将这些情况都作为预设策略,对PE文件中的指令信息进行检测分析时,按照指令信息的特征与预设策略中的特征进行比对,如果发现具备一定的特征,则将这样的指令信息作为重要特征指令,用于后续构造分类器使用。

在本发明实施例一具体应用中,处理单元42还可以包括:第一子处理单元,用于将所述特征指令的特征值作为参考样本,对所述参考样本进行信息不纯度的分析,以得到病毒种类划分的基准参考值;第二子处理单元,用于根据所述基准参考值进行病毒分类模型的划分,得到至少一个病毒分类模型,通过所述至少一个病毒分类模型得到用于表征病毒分类的所述病毒的结构特征参数。

这里,所述第一子处理单元可以具体为特征值提取模块,用于提取特征指令的特征值,将所述特征指令的特征值作为参考样本,对所述参考样本进行信息不纯度的分析,以得到病毒种类划分的基准参考值。所述第二子处理单元可以具体为构造分类器模块,根据所述基准参考值进行病毒分类模型的划分,得到至少一个病毒分类模型,通过所述至少一个病毒分类模型得到用于表征病毒分类的所述病毒的结构特征参数。相应的,所述识别单元,可以具体为病毒检测模块,用于识别出病毒和检测出识别出的病毒属于何种病毒分类。

这里需要指出的是,构造分类器模块在所述病毒分类模型为决策树模型时,以所述基准参考值作为决策树的分支节点,分别向所述分支节点的左侧和右侧进行划分并在残差的梯度减少方向建立至少一个分类回归树,由所述至少一个分类回归树构成所述至少一个病毒分类模型。具体的,是获取所述参考样本的估计值与训练得到的实际值;根据所述估计值和所述实际值,计算出估计值与实际值的残差所构成的梯度;在每一次梯度减少的方向建立一个新的分类回归树,重复N次,N为大于1的自然数,得到N个分类回归树。

有关特征值提取模块、构造分类器模块、病毒检测模块的具体举例和算法 描述请详见后续的应用场景描述。

服务器实施例二

这里需要指出的是,上述服务器可以是通过集群系统构成的,为实现各单元功能而合并为一或各单元功能分体设置的电子设备,客户端和服务器都至少包括用于存储数据的数据库和用于数据处理的处理器,或者包括设置于服务器内的存储介质或独立设置的存储介质。

其中,对于用于数据处理的处理器而言,在执行处理时,可以采用微处理器、中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Singnal Processor)或可编程逻辑阵列(FPGA,Field-Programmable Gate Array)实现;对于存储介质来说,包含操作指令,该操作指令可以为计算机可执行代码,通过所述操作指令来实现上述本发明实施例信息处理方法流程中的各个步骤。

该服务器作为硬件实体S11的一个示例如图9所示。所述装置包括处理器51、存储介质52以及至少一个外部通信接口53;所述处理器51、存储介质52以及外部通信接口53均通过总线54连接。

以一个现实应用场景为例对本发明实施例阐述如下:

在本病毒识别的应用场景中,采用本发明实施例具体为一种基于梯度上升决策树的未知病毒分类与预测方案。在病毒识别的技术中,采用本发明实施例主要是通过分析未知病毒与已知病毒PE文件中的重要特征指令结构的相似度预测病毒种类,提升未知病毒的检测成功率。而且,本方案不需要运行病毒,只需要提取PE文件中的静态信息进行分析即可。

本发明实施例的方法可以采用特征值提取模块、构造分类器模块、病毒检测模块来实现,其具体举例和算法如下所述。通过所述特征提取模块、构造分类器模块、病毒预测模块,至少需要完成以下处理:1)对已知病毒的特征提取处理;2)将提取的特征存入数据库以用于后续构造分类器使用;3)根据提取的特征构造用于识别病毒和病毒具体分类的该分类器;4)对未知病毒文件利用该构造分类器进行病毒检测,识别出病毒,输出病毒分类。

一、针对所述特征值提取模块而言,由于绝大多数病毒文件都是PE格式的文件。病毒文件在进行各种操作时与普通PE文件类似,但它们常常通过调用一些较为特殊的系统API函数来达到其破坏目的,如对注册表的读写操作、修改系统关键路径。同种病毒的代码部分往往具有相似性,因此提取PE文件中的重要特征指令,将特征指令的出现次数作为判断依据。由于很多病毒采用加密技术,可以提取代码入口处的区域大小、边界等做为特征值进行比较。如:在m个PE格式的病毒文件中,选取n个有意义的操作指令作为特征提取出来,组成m*n的矩阵X,其中X(ij)表示第i个文件中第j个特征出现的次数,m个病毒文件所对应的病毒类为m维向量Y,Y(i)表示第i个病毒文件所属的病毒分类。简单来说,是通过分析PE文件中的重要指令和结构的相似度来识别病毒和判断病毒分类。

二、针对所述构造分类器模块而言,本发明实施例的分类器采用梯度上升决策树实现,原理为:算法开始时,为每个样本赋上一个估计值,初始时每个样本的估计值都一样,在每一步训练中的到的模型(分类回归树),会是的数据点的估计有对有错,计算数据点估计值与实际值的残差的梯度,在每一次模型梯度减少的方向建立一个新模型,重复N次(N由用户指定),会得到N个简单的分类器(分类回归树),将N个分类器组合起来(加权、或者进行投票等),得到一个最终的模型。N个简单的分类器采用分类回归树构造,具体步骤包括:

a、输入X和Y-p的梯度g;

b、遍历X,选择任意特征的特征值X(ij),计算所有用特征值划分后的信息不纯性度(比较杂乱)(可以选择GINI指数、双化指数、有序双化指数),信息不纯度越大代表信息当前X包含的病毒种类越杂乱,找到信息不纯度最小时的X(kl);

c、求出X(il){i:0~m-1}中所有大于X(kl)的值d(k){k:1,2……},将X的所有的d(k)行组成左子树数据集LX,对应的g为Lg,将剩下的行组成右子树数据集RX,对应的病毒种类为Rg;

d、若划分后的LX,RX的数量是否小于用户设定数量,返回a步骤,继续 寻找X(kl),r若信息不纯性度量是小于一定值,则执行e步骤,否则执行g步骤;

e、返回当前X对应的g的平均值为分类树的叶节点;

f、选择X(kl)为分裂结点,节点的左子树是大于特征值的数据集LX,Lg,节点的右子树小于等于特征值的数据集RX,Rg;

g、将左子树的数据集LX,Lg做为新数据集X,g,执行b步骤;

h、将右子树的数据集RX,Rg作为新数据集X,g,执行c步骤。

两个核心点为:1)使用分类回归树,以信息的不纯度量作为树的分支节点,类比通信中采用的放大器的作用机理,将信号放大,更容易识别和区分,类似的,信息越不纯,越容易作为区分的参考值,可以通过这种信息不纯度分析更容易筛分出病毒分类。2)在残差的梯度减少方向建立分类回归树,可以使预测结果逼近真实结果。

三、针对所述病毒检测模块而言,分类器中得到N个简单分类器,用N个分类器依次对未知病毒文件进行判断,每次判断病毒文件按照树的分支条件选择符合自己的叶子节点,计算每次分类器判断得到的叶子节点的信息增益,相加最多的为最终结果。可以采用任意一个分类器,也可以采用将多个分类器迭代的方法,这种迭代方案可以避免树的过拟合,且还能提高病毒识别及分类的成功率。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可 以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1