病毒的类型识别方法及装置与流程

文档序号:11707969阅读:333来源:国知局
病毒的类型识别方法及装置与流程

本发明涉及信息安全领域,具体而言,涉及一种病毒的类型识别方法及装置。



背景技术:

相关技术中病毒(如蠕虫)识别,一般采用网络流量中特征值匹配的方式或基于行为的识别技术进行识别。但是,由于病毒(如蠕虫)如果出现变种,那么特征有可能失效,如果采用正常的特征与这些失效的特征进行匹配,则可能会出现误报或者漏报,进而相关技术采用特征值匹配的方式进行病毒(如蠕虫)识别会存在误报和漏报的问题。



技术实现要素:

根据本申请实施例的一个方面,提供了一种病毒的类型识别方法,包括:对病毒的待测行为数据进行预处理,得到词频向量;获取词频向量与病毒的各个分类的聚类中心点之间的距离,得到多个距离值;将多个距离值中的最小距离值所对应的聚类中心点所在分类确定为病毒的类型。

根据本申请实施例的另一方面,还提供了一种病毒的类型识别装置,包括:第一预处理模块,用于对病毒的待测行为数据进行预处理,得到词频向量;第一获取模块,用于获取词频向量与病毒的各个分类的聚类中心点之间的距离,得到多个距离值;确定模块,用于将多个距离值中的最小距离值所对应的聚类中心点所在分类确定为病毒的类型。

在本申请实施例中,采用对病毒的待测行为数据进行预处理,计算经预处理后得到的词频向量与各个分类的聚类中心点的距离值,将距离值中的最小距离值所对应的聚类中心点所在分类确定为该病毒的类型的方式,即通过计算待测数据样本与各个分类的聚类中心点的距离的大小来确定该待测行为数据所对应的病毒是属于该病毒的哪个分类的技术手段,进而能够对未知的变种的样本进行很好的识别,进而避免了病毒识别的误报和漏报的可能,进而解决了相关技术中采用特征值匹配的方式进行病毒识别会存在误报和漏报的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本申请实施例的一种病毒的类型识别方法的计算机终端的硬件结构框图;

图2是根据本申请实施例1的病毒的类型识别方法的流程图一;

图3是根据本申请实施例1的病毒的类型识别方法的流程图二;

图4是根据本申请可选实施例的获取蠕虫行为数据的流程图;

图5是根据本申请可选实施例的对采集到的数据进行分类的流程图;

图6是根据本申请实施例的病毒的类型识别装置的结构框图一;

图7是根据本申请实施例的病毒的类型识别装置的结构框图二;

图8是根据本申请实施例的病毒的类型识别装置的结构框图三;

图9是根据本申请实施例的病毒的类型识别装置的结构框图四;

图10是根据本申请实施例的一种计算机终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本申请实施例,还提供了一种病毒的类型识别的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种病毒的类型识别方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的病毒的类型识别方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

在上述运行环境下,本申请提供了如图2所示的病毒的类型识别方法。图2是根据本申请实施例1的病毒的类型识别方法的流程图一,如图2所示,该方法包括步骤s202-步骤s206:

步骤s202,对病毒的待测行为数据进行预处理,得到词频向量;

在本申请中的一个可选实施例中,上述词频向量中的元素表示词汇的词频,而该 词汇可以是对上述待测行为数据进行分词处理后直接得到,也可以是对上述待测行为数据进行分词处理后再进行过滤得到,对于后者,上述步骤s202可以表现为:对待测行为数据进行分词处理,得到多个词汇;按照预设规则对多个词汇进行过滤,得到过滤处理后的词汇,并获取过滤处理后的词汇的词频,将各个过滤处理后的词汇的词频构成词频向量;其中,过滤处理后的词汇的个数与词频向量的维数相等。对于后者,上述对待测行为数据进行预处理的过程可以包括对待测行为数据进行分词处理和过滤处理,得到需要的词汇的词频,将这些词频做成一个上述向量,即上述词频向量。即该词频向量中的元素表示这些词汇的词频,比如该词频向量为(1,2,3),则表示词汇的个数为3个,3个词汇的词频分别为1、2、3。

需要说明的是,该病毒可以是木马病毒,也可以是蠕虫病毒,但不限于此。

需要说明的是,上述预设规则可以是将对后续计算相似度的影响不大的词汇进行过滤去除,具体地,可以通过以下之一方式实现:根据所述词汇的类型对多个所述词汇进行过滤;获取所述词汇的词频tf-idf值,并根据所述tf-idf值对多个所述词汇进行过滤。

需要说明的是,词汇的类型可以为规则的词汇和不规则的词汇,对于不规则的词汇可以为带有特殊符号的词汇,比如以‘-’开头的,‘>’开头的,但并不限于此,对于哪些词汇为不规则的词汇可以根据实际需要进行预先设定,由于不规则的词汇对后续计算相似度的影响并不大,因而可以直接将其滤掉。

上述词频表示一个词汇出现的次数除以该待测行为数据分词后得到的词汇数量总和,其是一个数值。一个词的词频越大,那么该词对后续计算相似度的影响就会越大,因而应当将词频较小的词汇滤除,具体地,根据tf-idf值对多个词汇进行过滤可以包括:将多个词汇的tf-idf值进行升序排列或者降序排列;在进行升序排列的情况下,将第一个至第n个之间的词汇作为过滤处理后的词汇;在进行降序排列的情况下,将倒数第一个至倒数第n个之间的词汇作为过滤处理后的词汇;其中,n与词频向量的维数相等。根据tf-idf值对多个词汇进行过滤也可以包括:随机选取n个tf-idf值,将选取的n个tf-idf值所对应的n个词汇作为过滤处理后的词汇,其中,n与词频向量的维数相等。但并不限于此。

在本申请的一个实施例中,图3是根据本申请实施例1的病毒的类型识别方法的流程图二,如图3所示,在步骤s202之前,上述方法还包括:

步骤s302,从用于提供存在漏洞的运行系统的蜜罐中获取待测行为数据。

需要说明的是,蜜罐是一种在互联网上运行的计算机系统,其包含一定的漏洞, 能够诱骗病毒进行入侵。可以通过采集入侵数据来对该入侵病毒进行分析,处理。当然该蜜罐也可以作为其他用途使用,比如发现攻击,产生报警等,并不限于此。在本申请实施例中,该待测行为数据可以理解为病毒入侵蜜罐之后得到的入侵数据,该待测行为数据带有该病毒的操作行为特征。

需要说明的是,上述待测行为数据的获取并不仅限于蜜罐方式获取,其也可以从网络流量中提取出来或者可以从网络端的沙盒(sandbox)中得到,具体地,从网络端的sandbox中得到可以表现为在网络流量中抓到病毒实体后会放到sandbox中,然后从sandbox得到该病毒的行为数据(即待测行为数据)。

需要说明的是,在步骤s302之后,步骤s202之前,上述方法还可以包括:对获取到的上述待测行为数据进行标准化。标准化的方式表现为:将数据中五元组一致的,并且在预定时间内的数据作为一组数据进行处理;也可以表现为:将同一时间、同一ip地址、同一蜜罐的数据作为一整条数据进行处理;但并不限于此。

上述五元组可以包括:源ip地址,源端口,目的ip地址,目的端口和传输层协议。

步骤s204,获取所述词频向量与所述病毒的各个分类的聚类中心点之间的距离,得到多个距离值;

需要说明的是,该词频向量与各个分类的聚类中心点之间的距离可以是指欧式距离,也可以绝对值距离,马氏距离等,并不限于此。相应的,采用不同的距离类型,那么计算该距离值的方式也是不同的,比如如果上述距离采用的是欧式距离,那么可以采用来计算上述距离值,其中d表示距离,i=1,2…n,其中,n表示上述词频向量的维数,xi1,xi2分别表示计算距离的双方的坐标或者词频向量的对应元素。

在本申请的一个实施例中,上述各个分类是通过对采集到的大量的该病毒的行为数据通过聚类算法得到的,具体地,在步骤s204之前,上述方法还可以包括:统计病毒的行为数据;对行为数据进行与上述预处理相同的处理,得到处理后的行为数据;采用预定聚类算法对预处理后的行为数据进行分类,得到各个分类。

需要说明的是,上述病毒的行为数据也是通过上述蜜罐的方式来获取的,上述预定聚类算法可以为k-means聚类算法,层次聚类算法,自组织映射som聚类算法,模糊c均值fcm聚类算法,但并不限于此。

通过统计病毒的行为数据,对其进行预处理以及训练分类得到各个类,即通过机 器学习的方式,对大量的病毒的行为样本数据进行训练分析,在很大程度上能够避免采用特征值匹配的方式识别病毒时出现的漏报和误报的问题。

以采用k-means聚类算法对这些行为数据进行分类为例,具体分类过程可以表现为:a,先假设存在k个点,随机生成k个聚类中心点(初始聚类中心点);b,分别计算数据集与这k个点的距离,距离最接近的归为一类;c,重新计算已经得到各个类的聚类中心;d,重复b,c直至新的质心(聚类中心)与原质心相等或小于指定阈值,算法结束,即分类结束。

步骤s206,将所述多个距离值中的最小距离值所对应的聚类中心点所在分类确定为所述病毒的类型。

通过上述步骤,采用对病毒的待测行为数据进行预处理,计算经预处理后得到的词频向量与各个分类的聚类中心点的距离值,将距离值中的最小距离值所对应的聚类中心点所在分类确定为该病毒的类型的方式,即通过计算待测数据样本与各个分类的聚类中心点的距离的大小来确定该待测行为数据所对应的病毒是属于该病毒的哪个分类的技术手段,进而能够对未知的变种的样本进行很好的识别,进而避免了病毒识别的误报和漏报的可能,进而解决了相关技术中采用特征值匹配的方式进行病毒识别会存在误报和漏报的技术问题。

需要说明的是,在上述步骤s206之后,上述方法还可以包括:在确定了该病毒的类型之后,产生报警信息。通过报警信息可以通知相关人员对该类型的病毒进行相应的处理。

需要说明的是,上述方法可以适用于网络侧的入侵检测,比如,在上述病毒为蠕虫病毒的情况下,由于蠕虫病毒在传播过程中,一般会使用telnet协议进行,该协议为明文传输协议,因而上述方法可以适用于网络端的关于明文传输的入侵检测。

需要说明的是,由于同一类型的病毒可能有很多种类,通过上述方法可以获知待分析的数据所带有的病毒是属于很多种类中的哪一个种类,但并不限于此,也可以实现判断待分析的数据是否正常。

为了更好的理解本申请,以下结合可选的实施例对本申请实施例做进一步解释。

本申请实施例提供了一种可选的病毒类型识别方法,以下以该病毒为蠕虫病毒为例说明该可选的病毒类型识别方法的流程。

该可选的病毒类型识别方法包括:从路由中截取流量;标准化数据:将流量中五元组一致的,并且在一分钟内的数据作为一组数据进行处理;处理该数据并依据在训 练过程中得到的关键字建立矩阵向量(相当于上述实施例中的词频向量);计算这个向量与已知k个中心点(相当于上述实施例中的各个分类的聚类中心点)的距离;距离最小的,则为该类的蠕虫;并报警。

具体地,可以上述优选的方法包括以下步骤:

(1)蠕虫行为数据的获取:

可以有多种方案对蠕虫的行为进行获取,在本优选实施例中采用蜜罐的方式来获取。获取的行为数据示例如下:

图4是根据本申请可选实施例的获取蠕虫行为数据的流程图,如图4所示,获取蠕虫行为数据过程包括:

步骤s402,attachlogin(ssh/telnet),即蠕虫通过ssh或者telnet方式登录蜜罐;

步骤s404,exec×bash,即蠕虫进入蜜罐;

步骤s406,getthepid,即获取进程的id号;

步骤s408,findtheip(thispid),即根据上述id号找到该蠕虫所在的ip;

步骤s410,storeinthedb(ip,time,content),即将该蠕虫所在的ip、蠕虫攻击该蜜罐的时间、蠕虫进行攻击的内容信息存储到数据库中。

(2)蠕虫行为数据的预处理:

在蜜罐中,得到大量的该类数据,首先对这些数据进行预处理;把同一时候,同一个ip,同一个蜜罐的数据作为一整条数据集合起来;然后,计算这些数据的相似度;先进行分词,并将一些不规则的词汇去掉,比如以‘-’开头的,‘>’开头的。然后计算这些词汇的tf-idf值。计算出来后,比较这些词的tf-idf值,取前20个词汇,做为一个20维的向量,并且分别计算每条数据中,关于这个词汇的词频,并把它做为一个20维的词频向量。

(3)采用聚类算法,对上述的数据集合进行分类:

以k-means聚类算法为例,对这些数据进行分类计算,其中,点与点之间的距离采用欧式距离,可以采用别的距离公式来代替。(注:这点的聚类算法并不局限于k-means聚类算法),分类的过程如下:

a先假设存在k个点,随机生成k个中心点;

b分别计算数据集与这k个点的距离,距离最接近的归为一类;

c重新计算已经得到各个分类的中心;

d重复b,c直至新的质心与原质心相等或小于指定阈值,算法结束。

(4)识别过程(相当于上述实施例1中步骤s202至步骤s206)。

得到上述的几个中心点后,如果有新的数据集出现,只需要按照上述的预处理,来计算出它与这几个中心点的距离,与它离的最近的点所在的分类,就是该蠕虫的类别。

本可选实施例中的(1)-(3)相当于上述实施例1中的统计病毒的行为数据;对行为数据进行与上述预处理相同的处理,得到处理后的行为数据;采用预定聚类算法对预处理后的行为数据进行分类,得到各个类的过程。

由此可以看出,上述可选实施例主要分为两个阶段:训练分类阶段,识别阶段。训练分类阶段:在通过蜜罐的方式采集到数据之后,需要对采集到的数据进行训练(即对采集到的数据进行分类)。图5是根据本申请可选实施例的对采集到的数据进行分类的流程图,如图5所示,主要包括:

步骤s501,标准化数据(即对蠕虫的行为数据进行标准化处理);

步骤s502,对数据进行分词并去除类似停用词;

步骤s503,通过计算tf-idf值选取关键词(相当于上述实施例1中过滤处理后的词汇);

步骤s504,利用选取的关键词建造n维的词频向量;

步骤s505;采用聚类算法对其进行处理;

步骤s506,得到k个聚类中心点。

其中,步骤s505包括:

步骤s505-1,随机生成k个初始聚类中心点;

步骤s505-2,分别计算与k个初始聚类中心点的距离,并把距离最相近的归位异类,这样将数据分为k类;

步骤s505-3,重新计算各个分类的聚类中心点;

步骤s505-4,判断计算得到的聚类中心点是否不再变化,在是的情况下,分类完成。

识别阶段:得到数据后,对数据进行标准化,分词,建立词频向量,然后判断与k个点的距离,距离哪个近,则该数据对应的蠕虫就是哪个类的蠕虫。

需要说明的是,上述的(2)过程以及步骤s501-步骤s504的过程所采用的方式同样适用于在识别阶段对数据进行标准化、分词以及建立词频向量的过程。步骤s502和步骤s504相当于上述实施例1中的步骤s202。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的病毒的类型识别方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

根据本发明实施例,还提供了一种用于实施上述病毒的类型识别方法的装置,图6是根据本申请实施例的病毒的类型识别装置的结构框图一,如图6所示,该装置包括:

第一预处理模块62,用于对病毒的待测行为数据进行预处理,得到词频向量;

需要说明的是,该病毒可以是木马病毒,也可以是蠕虫病毒,但不限于此。

上述预处理的过程可以通过独立的模块(例如第一预处理模块62)完成,也可以 由模块中所包含的多个子模块或单元来完成,对于后者,第一预处理模块62可以只包括分词单元,用于对待测行为数据进行分词处理后,并获取分词处理后的词汇的词频,将各个分词处理后的词汇的词频构成上述词频向量;也可以既包含分词单元,也包括过滤单元,具体如图7所示,上述第一预处理模块62包括:分词单元72,用于对待测行为数据进行分词处理,得到多个词汇;过滤单元74,与上述分词单元72连接,用于按照预设规则对多个词汇进行过滤,得到过滤处理后的词汇,并获取过滤处理后的词汇的词频,将各个过滤处理后的词汇的词频构成上述词频向量;其中,过滤处理后的词汇的个数与上述词频向量的维数相等。即通过分词单元72对待测行为数据进行分词以及过滤单元74对分词后得到的词汇进行过滤,完成了上述第一处理模块62进行的预处理过程,最终得到一个能够代表该待测行为数据的一个词频向量。

需要说明的是,词频向量中的元素表示经过上述预处理后得到的这些词汇的词频,比如该词频向量为(1,2,3),则表示词汇的个数为3个,3个词汇的词频分别为1、2、3。

需要说明的是,上述预设规则可以是将对后续计算相似度的影响不大的词汇进行过滤去除,具体地,对于上述过滤单元74可以通过多个子单元来完成上述过滤过程,例如,如图7所示,上述过滤单元74可以包括以下至少之一:第一过滤子单元720,用于根据所述词汇的类型对多个所述词汇进行过滤;第二过滤子单元722,用于获取所述词汇的词频tf-idf值,并根据所述tf-idf值对多个所述词汇进行过滤。

需要说明的是,词汇的类型可以为规则的词汇和不规则的词汇,对于不规则的词汇可以为带有特殊符号的词汇,比如以‘-’开头的,‘>’开头的,但并不限于此,对于哪些词汇为不规则的词汇可以根据实际需要进行预先设定,由于不规则的词汇对后续计算相似度的影响并不大,因而可以通过上述第一过滤子单元720直接将其滤掉。

上述词频表示一个词汇出现的次数除以该待测行为数据分词后得到的词汇数量总和,其是一个数值。一个词的词频越大,那么该词对后续计算相似度的影响就会越大,因而应当将词频较小的词汇滤除,具体地,对于上述第二过滤子单元722可以通过多个子单元来完成上述过滤过程,上述第二过滤子单元722可以包括:排序单元7220,用于将多个词汇的tf-idf值进行升序排列或者降序排列;过滤次单元7222,与上述排序单元7220连接,用于在进行升序排列的情况下,将第一个至第n个之间的词汇作为过滤处理后的词汇;或者在进行降序排列的情况下,将倒数第一个至倒数第n个之间的词汇作为过滤处理后的词汇;其中,n与上述词频向量的维数相等。

需要说明的是,上述第二过滤子单元722还可以用于随机选取n个tf-idf值,将选取的n个tf-idf值所对应的n个词汇作为过滤处理后的词汇,其中,n与词频向量 的维数相等。但并不限于此。

在本申请的一个实施例中,图8是根据本申请实施例的病毒的类型识别装置的结构框图三,如图8所示,上述装置还可以包括:

第二获取模块80,与上述第一预处理模块62连接,用于从用于提供存在漏洞的运行系统的蜜罐中获取待测样本行为数据。

需要说明的是,蜜罐是一种在互联网上运行的计算机系统,其包含一定的漏洞,能够诱骗病毒进行入侵。可以通过采集入侵数据来对该入侵病毒进行分析,处理。当然该蜜罐也可以作为其他用途使用,比如发现攻击,产生报警等,并不限于此。在本申请实施例中,该待测行为数据可以理解为病毒入侵蜜罐之后得到的入侵数据,该待测行为数据带有该病毒的操作行为特征。

需要说明的是,上述第二获取模块80并不仅限于通过蜜罐方式获取待测样本行为数据,其也可以从网络流量中提取出来或者可以从网络端的沙盒(sandbox)中得到,具体地,从网络端的sandbox中得到可以表现为在网络流量中抓到病毒实体后会放到sandbox中,然后从sandbox得到该病毒的行为数据(即待测样本行为数据)。

需要说明的是,上述第一预处理模块62还可以用于对获取到的上述待测样本行为数据进行标准化。标准化的方式表现为:将数据中五元组一致的,并且在预定时间内的数据作为一组数据进行处理;也可以表现为:将同一时间、同一ip地址、同一蜜罐的数据作为一整条数据进行处理;但并不限于此。

上述五元组可以包括:源ip地址,源端口,目的ip地址,目的端口和传输层协议。

第一获取模块64,与上述第一预处理模块62连接,用于获取词频向量与病毒的各个分类的聚类中心点之间的距离,得到多个距离值;

需要说明的是,该词频向量与各个分类的聚类中心点之间的距离可以是指欧式距离,也可以绝对值距离,马氏距离等,并不限于此。相应的,采用不同的距离类型,那么计算该距离值的方式也是不同的,比如如果上述距离采用的是欧式距离,那么可以采用来计算上述距离值,其中d表示距离,i=1,2…n,其中,n表示上述词频向量的维数,xi1,xi2分别表示计算距离的双方的坐标或者词频向量的对应元素。

在本申请的一个实施例中,上述各个分类是通过对采集到的大量的该病毒的行为数据通过聚类算法得到的,具体地,图9是根据本申请实施例的病毒的类型识别装置 的结构框图四,如图9所示,所述装置还包括:统计模块90,用于统计所述病毒的行为数据;第二预处理模块92,与上述统计模块90连接,用于对所述行为数据进行与所述预处理相同的处理,得到处理后的所述行为数据;分类模块94,与上述第二预处理模块92连接,用于采用预定聚类算法对所述预处理后的所述行为数据进行分类,得到所述各个类。

需要说明的是,上述病毒的行为数据也是通过上述蜜罐的方式来获取的,上述预定聚类算法可以为k-means聚类算法,层次聚类算法,自组织映射som聚类算法,模糊c均值fcm聚类算法,但并不限于此。

通过上述统计模块90,第二预处理模块92以及分类模块94实现通过机器学习的方式,对大量的病毒的行为样本数据进行训练分析,在很大程度上能够避免采用特征值匹配的方式识别病毒时出现的漏报和误报的问题。

确定模块66,与上述第一获取模块64连接,用于将多个距离值中的最小距离值所对应的聚类中心点所在分类确定为病毒的类型。

通过上述装置,通过第一预处理模块62,第一获取模块64以及确定模块66采用对病毒的待测行为数据进行预处理,计算经预处理后得到的词频向量与各个分类的聚类中心点的距离值,将距离值中的最小距离值所对应的聚类中心点所在分类确定为该病毒的类型的方式,即上述装置通过计算待测数据样本与各个分类的聚类中心点的距离的大小来确定该待测行为数据所对应的病毒是属于该病毒的哪个分类的技术手段,进而能够对未知的变种的样本进行很好的识别,进而避免了病毒识别的误报和漏报的可能,进而解决了相关技术中采用特征值匹配的方式进行病毒识别会存在误报和漏报的技术问题。

需要说明的是,上述装置还可以包括:报警模块,用于在确定了该病毒的类型之后,产生报警信息。通过报警信息可以通知相关人员对该病毒进行相应的处理。

需要说明的是,上述装置可以适用于网络侧的入侵检测。比如,在上述病毒为蠕虫病毒的情况下,由于蠕虫病毒在传播过程中,一般会使用telnet协议进行,该协议为明文传输协议,因而上述方法可以适用于网络端的关于明文传输的入侵检测。

需要说明的是,由于同一类型的病毒可能有很多种类,通过上述装置可以获知待分析的数据所带有的病毒是属于很多种类中的哪一个种类,但并不限于此,也可以实现判断待分析的数据是否正常。

上述的各个模块可以包含在一个处理器中,也可以包含在多个处理器,并不限于此。

实施例3

本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。

可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

在本实施例中,上述计算机终端可以执行应用程序的病毒的类型识别方法中以下步骤的程序代码:对病毒的待测行为数据进行预处理,得到词频向量;获取词频向量与病毒的各个分类的聚类中心点之间的距离,得到多个距离值;将多个距离值中的最小距离值所对应的聚类中心点所在分类确定为病毒的类型。

可选地,图10是根据本发明实施例的一种计算机终端的结构框图。如图10所示,该计算机终端a可以包括:一个或多个(图中仅示出一个)处理器1002、存储器1004、以及传输装置1006,服务器1008。

其中,存储器1004可用于存储软件程序以及模块,如本申请实施例中的病毒的类型识别方法和装置对应的程序指令/模块,处理器1002通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的病毒的类型识别方法。存储器1004可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1004可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端a。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。上述服务器1008通过一个网络与计算机终端a进行交互。

处理器1002可以通过传输装置1006调用存储器存储的信息及应用程序,以执行下述步骤:对病毒的待测行为数据进行预处理,得到词频向量;获取词频向量与病毒的各个分类的聚类中心点之间的距离,得到多个距离值;将多个距离值中的最小距离值所对应的聚类中心点所在分类确定为病毒的类型。

采用本申请实施例,提供了一种病毒的类型识别的方案。采用对病毒的待测行为数据进行预处理,计算经预处理后得到的词频向量与各个分类的聚类中心点的距离值,将距离值中的最小距离值所对应的聚类中心点所在分类确定为该病毒的类型的方式,即通过计算待测数据样本与各个分类的聚类中心点的距离的大小来确定该待测行为数据所对应的病毒是属于该病毒的哪个分类的技术手段,进而能够对未知的变种的样本进行很好的识别,进而避免了病毒识别的误报和漏报的可能,进而解决了相关技术中 采用特征值匹配的方式进行病毒识别会存在误报和漏报的技术问题。

本领域普通技术人员可以理解,图10所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图10其并不对上述电子装置的结构造成限定。例如,计算机终端还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

实施例4

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的病毒的类型识别方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对病毒的待测行为数据进行预处理,得到词频向量;获取词频向量与病毒的各个分类的聚类中心点之间的距离,得到多个距离值;将多个距离值中的最小距离值所对应的聚类中心点所在分类确定为病毒的类型。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

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

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

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

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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