一种病毒传播行为检测方法及装置与流程

文档序号:20578308发布日期:2020-04-29 01:17阅读:136来源:国知局
一种病毒传播行为检测方法及装置与流程

本申请涉及互联网安全领域,尤其涉及一种病毒传播行为检测方法及装置。



背景技术:

在互联网安全领域,计算机病毒一直是防治的重点。由于计算机病毒更新换代的速度很快,传统的基于病毒特征库的查杀往往会比较被动,一般需要在病毒大规模爆发、研究人员得到病毒样本后,才能够提取到相应的病毒特征。

以wannacry勒索病毒为例,其使用eternalblue漏洞安装后门,待病毒大规模爆发、获取到病毒样本后,珍贵的文档文件早已被加密,再进行病毒查杀为时已晚,造成的损失难以挽回。



技术实现要素:

有鉴于此,本申请公开了一种病毒传播行为检测方法和装置。

根据本申请实施例的第一方面,公开了一种病毒传播行为检测方法,所述方法包括:

获取待检测报文中的服务器消息块smb的版本信息,并将所述版本信息与对应于待检测病毒的目标smb版本进行匹配;所述待检测报文为用于smb版本协商的请求报文;

如果所述版本信息与所述目标smb版本匹配,进一步确定发送所述待检测报文的终端的操作系统;

获取所述操作系统支持的smb版本,并确定所述操作系统支持的smb版本,是否包括不同于所述预设的目标smb版本的smb版本;如果是,则确定所述待检测报文有病毒传播行为。

根据本申请实施例的第二方面,公开了一种病毒传播行为检测装置,所述装置包括:

版本信息获取模块,用于获取待检测报文中的服务器消息块smb的版本信息,并将所述版本信息与对应于待检测病毒的目标smb版本进行匹配;所述待检测报文为用于smb版本协商的请求报文;

操作系统确定模块,用于在所述版本信息与所述目标smb版本匹配的情况下,进一步确定发送所述待检测报文的终端的操作系统;

版本信息检查模块,用于获取所述操作系统支持的smb版本,并确定所述操作系统支持的smb版本,是否包括不同于所述预设的目标smb版本的smb版本;如果是,则确定所述待检测报文有病毒传播行为。

以上技术方案中,由于正常流量中的版本协商请求报文会罗列系统支持的所有smb版本,而待检测病毒传播行为仅会列出该病毒传播所使用的smb版本,本方案对版本协商请求报文包括的smb的版本进行了检查匹配,并进一步与报文源ip对应的终端系统所支持的smb版本进行比较,即可发现终端系统支持高版本smb,却依旧使用低版本smb的病毒流量,因此可以及早发现病毒传播行为,以便及时发出警告、遏止损失。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书文本一同用于解释原理。

图1是本说明书示出的一种病毒传播行为检测方法的流程示例图;

图2是本说明书示出的smb版本协商的请求报文的结构对比图;

图3是本说明书示出的一种操作系统指纹识别技术的实现的交互示例图;

图4是本说明书示出的一种病毒传播行为检测流程的逻辑示意图;

图5是本说明书示出的一种病毒传播行为检测装置的结构示例图;

图6是本说明书示出的一种病毒传播行为检测装置的可选结构示例图。

具体实施方式

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

下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的系统和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在互联网安全领域,计算机病毒一直是防治的重点。由于计算机病毒更新换代的速度很快,传统的基于病毒特征库的查杀往往会比较被动,一般需要在病毒大规模爆发、研究人员得到病毒样本后,才能够提取到相应的病毒特征,当有新的病毒或者病毒变种出现时,需要提取新的病毒特征点并更新病毒库,而等待病毒库更新的这段时间,往往就是变种病毒肆虐的时间。

以wannacry勒索病毒为例,其使用eternalblue漏洞安装后门,待病毒大规模爆发、获取到病毒样本后,珍贵的文档文件早已被加密,再进行病毒查杀为时已晚,造成的损失难以挽回。

基于此,本说明书提出一种通过提取smb(servermessageblock,服务器消息块)版本协商请求报文中的smb版本信息,依据正常流量与病毒传播流量的区别来检测病毒传播行为的技术方案。

在实现时,由于正常流量在smb版本协商请求报文中会携带所有可用的smb版本的信息,而病毒传播流量则只会携带特定的smb版本的信息,对此进行判断后,再辅以检查报文来源终端的操作系统所支持的smb版本,即可发现理应包含更多smb版本信息,事实却至包含病毒对应的smb版本信息的病毒传播流量。

在以上技术方案中,一方面,由于可以根据病毒传播流量理应包含更多smb版本信息,事实却至包含病毒对应的smb版本信息的特性,从众多报文中检查出具有病毒传播行为的报文,能够完成预期的病毒传播行为检测的任务;另一方面,由于该基于病毒行为特征的检测方法相对于基于病毒特征库查杀的方式,无需频繁更新病毒库,能够及早地阻断病毒的传播,最大程度上保障业务正常和组网安全。

下面通过具体实施例并结合具体的应用场景,按照检测方法主体、可选实现方法的顺序介绍本说明书所公开的病毒传播行为检测方法。

请参考图1,图1本说明书示出的一种病毒传播行为检测方法的流程示例图,所述方法执行以下步骤:

s101,获取待检测报文中的服务器消息块smb的版本信息,并将所述版本信息与对应于待检测病毒的目标smb版本进行匹配;所述待检测报文为用于smb版本协商的请求报文;

s102,如果所述版本信息与所述目标smb版本匹配,进一步确定发送所述待检测报文的终端的操作系统;

s103,获取所述操作系统支持的smb版本,并确定所述操作系统支持的smb版本,是否包括不同于所述预设的目标smb版本的smb版本;如果是,则确定所述待检测报文有病毒传播行为。

本方法可以应用于具有数据处理和逻辑判断能力的任意网络设备上,例如网关、防火墙、路由器、内网服务器等等,下文以内网安全服务器为例。

例如,内网安全服务器收到分别来自终端a、b、c的三条用于smb版本协商的请求报文,首先获取上述请求报文中携带的smb版本信息,假设来自终端a的请求报文中包含了smbv1、smbv2和smbv3的版本信息,而来自终端b和终端c的请求报文中都只有smbv1的版本信息。

在本说明书中,目标smb版本取决于待检测病毒的行为特性,本说明书针对的待检测病毒具有无论终端操作系统支持何种smb版本,传播该病毒的smb版本协商请求报文都会只携带该病毒所使用的smb版本信息的特性,故而可以选择所述病毒所使用的smb版本作为目标smb版本。具体针对何种病毒、采用何种目标smb版本,本领域技术人员可以依据以上叙述自行确定,本说明书不作具体限制。

请参见图2,图2是本说明书示出的smb版本协商的请求报文的结构对比图。

在示出的一种实施方式中,待检测病毒使用的smb版本为smbv1,对应于待检测病毒的目标smb版本包括smbv1版本,不包括smbv2版本或smbv3版本;则上述将所述版本信息与对应于待检测病毒的目标smb版本进行匹配,具体而言,如果所述待检测报文中的smb的版本信息中,包含smbv1相关字段,且不包含smbv2相关字段,且不包含smbv3相关字段,则匹配成功。

回到上述例子,来自终端a的请求报文中包含了smbv1、smbv2和smbv3的版本信息,故而匹配失败;而来自终端b和终端c的请求报文中都只有smbv1的版本信息,匹配成功。

至此,已经可以确定来自终端a的请求报文并非传播该病毒的报文,而来自终端b和终端c的请求报文由于匹配成功,则需要进行进一步的确认。

在本说明书中,确定发送所述待检测报文的终端的操作系统的方式有很多,例如,如果所检查的网络内所有终端的操作系统是统一的已知版本,则可以直接调取该已知版本信息;或者,通过待检测报文追溯到发送该报文的终端,进而通过各种技术手段获取该终端的操作系统信息;从时间角度而言,可以在上述匹配结束之前就预先获取各终端的操作系统信息并存储起来以备查询,也可以在上述匹配结束之后再获取对应终端的操作系统信息。具体采用何种方式确定发送所述待检测报文的终端的操作系统,本领域技术人员可以根据具体情况自行选择,本说明书不作具体限定。

在示出的一种实施方式中,可以通过操作系统指纹识别技术,分析所述发送所述待检测报文的终端发出的报文,以获取所述终端的操作系统信息;或,根据所述发送所述待检测报文的终端发送的httpget报文,获取所述终端的操作系统信息。

继续上述例子,假设通过操作系统指纹识别技术,获取终端a的操作系统信息。请参见图3,图3是本说明书示出的一种操作系统指纹识别技术的实现的交互示例图。上述内网安全服务器作为检测端,终端b作为被检测端,该实现可以具体包括:

1021,检测端由于上述匹配过程发现被检测端有可疑行为,向被检测端发送检测报文;

1022,被检测端收到上述检测报文后,回复响应报文;

1023,检测端收到上述响应报文后,对该响应报文进行分析。

由于操作系统指纹识别技术可以从被检测端发送的响应报文中提取特定特征,进而得到未明文记载的该被检测端的操作系统发信息。为方便叙述,假设进行分析之后,确定终端b的操作系统为x系统。

假设通过终端c发送的httpget报文,获取终端c的操作系统信息,具体而言,该操作系统信息会被携带在上述httpget报文中的user-agent等字段中,内网安全服务器可以从中提取到终端c的操作系统信息。为方便叙述,假设进行提取之后,确定终端c的操作系统为y系统。

下一步为获取上述操作系统支持的smb版本。此步骤可以通过查询预置的、包含操作系统与支持的smb版本的对应关系的数据表完成,或者通过其他可行的方式完成,本领域技术人员可以根据实际需求参考相关技术资料自行决定,本说明书无需对此作具体限定。

例如,上述例子中,终端b所使用的x操作系统经确定支持smbv1、smbv2和smbv3,而终端c所使用的y操作系统经确定仅支持smbv1。则可以确定终端b符合支持其他smb版本,且其smb版本协商请求报文仅包含对应于待检测病毒的smbv1版本的判断标准,确定由终端b发送的该smb版本协商请求报文有病毒传播行为。

在示出的一种实施方式中,上述过程中,所获取的操作系统支持的smb版本仅包括所述预设的目标smb版本,则可认为该终端具有不确定风险,其有可能正在传播病毒,亦有可能确实是巧合仅支持与病毒相同的smb版本。对此,可以阻断来自发送所述待检测报文的终端且目的端口为445的报文,并重置tcp连接,以使其通过其他端口建立共享连接。一方面能够保证即使有所述待检测病毒,也无法通过445端口传播,另一方面可以保证该设备的其他网络连接功能。

继续上述例子,上述终端c由于其操作系统y经确定仅包括所述预设的目标smb版本即smbv1,则内网安全服务器可以阻断来自终端c且目的端口为445的报文,并重置tcp连接,以使终端c通过其他端口建立共享连接。

本说明书中,还提供提高该方法执行速度的可选方案。

在示出的一种实施方式中,所述待检测病毒通过445端口,使用tcp协议进行传播,该方法还包括一筛选步骤,即,判断待检测报文是否满足使用tcp协议,且目的端口为445的条件,如果否,则确定所述待检测报文无病毒传播行为。假设来自终端d的smb版本协商请求报文的目的端口为139,则该报文会在该筛选过程中被确认为无病毒传播行为,无需进行上述多重检测,因此能够提升该方法执行的效率。

请参见图4,图4是本说明书示出的一种病毒传播行为检测流程的逻辑示意图。上述例子中,分别来自终端abcd的smb版本协商请求报文的检测流程都可以在该图中找到。

上述即为本说明书所述病毒传播行为检测方法的实施例,本说明书还提供一种病毒传播行为检测装置的实施例。

请参见图5,图5是本说明书示出的一种病毒传播行为检测装置的结构示例图,该装置包括:

版本信息获取模块801,用于获取待检测报文中的服务器消息块smb的版本信息,并将所述版本信息与对应于待检测病毒的目标smb版本进行匹配;所述待检测报文为用于smb版本协商的请求报文;

操作系统确定模块802,用于在所述版本信息与所述目标smb版本匹配的情况下,进一步确定发送所述待检测报文的终端的操作系统;

版本信息检查模块803,用于获取所述操作系统支持的smb版本,并确定所述操作系统支持的smb版本,是否包括不同于所述预设的目标smb版本的smb版本;如果是,则确定所述待检测报文有病毒传播行为。

在示出的一种实施方式中,对应于待检测病毒的目标smb版本包括smbv1版本,不包括smbv2版本或smbv3版本;所述版本信息获取模块,具体用于:如果所述待检测报文中的smb的版本信息中,包含smbv1相关字段,且不包含smbv2相关字段,且不包含smbv3相关字段,则匹配成功。可以理解的是,此方案仅为一可行示例,实际应用中,待检测病毒对应的目标smb版本并不一定为smbv1,依据本方案思想的其他方案亦在本说明书保护范围内。

在示出的一种实施方式中,上述操作系统确定模块具体用于:通过操作系统指纹识别技术,分析所述发送所述待检测报文的终端发出的报文,以获取所述终端的操作系统信息;或,根据所述发送所述待检测报文的终端发送的httpget报文,获取所述终端的操作系统信息。可以理解的是,此方案仅为一可行示例,实际应用中,获取网络终端所运行的操作系统的方式有很多,本领域技术人员可以参照相关技术文档自行决定,依据本方案思想的其他方案亦在本说明书保护范围内。

请参见图6,图6是本说明书示出的一种病毒传播行为检测装置的可选结构示例图。在此例中扩展了筛选模块805和不确定风险处理模块804,具体实现如下。

在示出的一种实施方式中,上述待检测病毒通过445端口使用tcp协议进行传播,所述装置还包括筛选模块805,用于判断待检测报文是否满足使用tcp协议,且目的端口为445的条件,如果否,则确定所述待检测报文无病毒传播行为。应用本方案,可以通过筛选去除部分没有传播病毒行为的报文,因此可以提高本装置的运行效率。

在示出的一种实施方式中,上述操作系统支持的smb版本仅包括所述预设的目标smb版本,所述装置还包括不确定风险处理模块804,用于阻断来自发送所述待检测报文的终端且目的端口为445的报文,并重置tcp连接,以使其通过其他端口建立共享连接。应用本方案,对于无法确定是否有病毒传播行为的报文,对其进行了特殊处理,在保证通过445端口传播的病毒无法继续传播的前提下,部分保证了该报文对应终端的网络功能。可以理解的是,此方案仅为一可行示例,实际应用中,待检测病毒对应的协议并不一定是tcp协议,使用的端口也不一定是445端口,依据本方案思想的其他方案亦在本说明书保护范围内。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。可以理解的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为部分显示的模块可以是或者也可以不是部分模块,即可以位于一个地方,或者也可以分布到多个网络部分上。可以根据实际的需要选择组成部分来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述实施例阐明的装置、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。

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