业务消息处理方法、装置、设备及存储介质与流程

文档序号:19938435发布日期:2020-02-14 22:51阅读:145来源:国知局
业务消息处理方法、装置、设备及存储介质与流程

本申请实施例涉及互联网技术领域,特别涉及一种业务消息处理方法、装置、设备及存储介质。



背景技术:

随着人类进入信息时代,网络已经成为人们日常生活中不可或缺的信息承载工具,然而,网络在给人们带来便利的同时也被一些恶意组织利用网络进行攻击破坏等非法活动。

为了应对网络攻击,企业一般使用网络流量分析系统对网络流量进行统计、分析和防御,网络流量分析系统承担着企业的网络流量分析防御的功能。网络流量分析系统根据部署方式可以分为如下两种:串行分析系统和旁路流量分析系统。旁路流量分析系统使用镜像流量进行分析,一般是在企业入口交换机上使用分光器把业务消息拷贝一份发给旁路流量分析系统,再由旁路流量分析系统中的分析节点对该业务消息进行分析处理。旁路流量分析系统的优点是业务侧无感知,自身在发生改动或出现故障后不影响业务功能,扩展性强,部署灵活,因此一些大型互联网公司一般会采用旁路流量分析系统实现网络流量分析和防御功能。

旁路流量分析系统中通常包括多个分析节点,以实现分布式的网络流量分析功能。在将业务消息分发给不同的分析节点进行处理时,属于同一个会话的请求消息和响应消息有可能会被分发给不同的分析节点,而各个分析节点又是独立地进行分析,这就导致基于会话的网络攻击无法被有效检测出来。也即,旁路流量分析系统对基于会话的网络攻击的检测能力不足。



技术实现要素:

本申请实施例提供了一种在业务消息处理方法、装置、设备及存储介质,可用于解决相关技术中旁路流量分析系统对基于会话的网络攻击的检测能力不足的技术问题。所述技术方案如下:

一方面,本申请实施例提供了一种业务消息处理方法,所述方法包括:

接收旁路流量分析系统中的各个分析节点发送的消息标识,所述旁路流量分析系统包括n个分析节点,所述n为大于1的整数;

获取第一消息标识,所述第一消息标识是接收到的各个所述消息标识中的任意一个消息标识;

若接收到的各个所述消息标识中,存在与所述第一消息标识相匹配的第二消息标识,则向所述旁路流量分析系统中的目标分析节点发送匹配结果信息,所述匹配结果信息用于将第一业务消息和第二业务消息路由至所述旁路流量分析系统中的同一分析节点进行处理;

其中,所述第一业务消息的消息标识是所述第一消息标识,所述第二业务消息的消息标识是所述第二消息标识;两个相匹配的消息标识所对应的两个业务消息,是属于同一会话的请求消息和响应消息。

另一方面,本申请实施例提供了一种业务消息处理方法,所述方法包括:

获取第一业务消息;

生成第一消息标识,所述第一消息标识是所述第一业务消息的消息标识;

向匹配服务器发送所述第一消息标识,所述匹配服务器用于在获取到与所述第一消息标识相匹配的第二消息标识的情况下,向旁路流量分析系统中的目标分析节点发送匹配结果信息,所述匹配结果信息用于将所述第一业务消息和第二业务消息路由至所述旁路流量分析系统中的同一分析节点进行处理;

其中,所述第二业务消息的消息标识是所述第二消息标识;两个相匹配的消息标识所对应的两个业务消息,是属于同一会话的请求消息和响应消息。

再一方面,本申请实施例提供了一种业务消息处理装置,所述装置包括:

标识接收模块,用于接收旁路流量分析系统中的各个分析节点发送的消息标识,所述旁路流量分析系统包括n个分析节点,所述n为大于1的整数;

标识获取模块,用于获取第一消息标识,所述第一消息标识是接收到的各个所述消息标识中的任意一个消息标识;

结果发送模块,用于若接收到的各个所述消息标识中,存在与所述第一消息标识相匹配的第二消息标识,则向所述旁路流量分析系统中的目标分析节点发送匹配结果信息,所述匹配结果信息用于将第一业务消息和第二业务消息路由至所述旁路流量分析系统中的同一分析节点进行处理;其中,所述第一业务消息的消息标识是所述第一消息标识,所述第二业务消息的消息标识是所述第二消息标识;两个相匹配的消息标识所对应的两个业务消息,是属于同一会话的请求消息和响应消息。

又一方面,本申请实施例提供了一种业务消息处理装置,所述装置包括:

消息获取模块,用于获取第一业务消息;

标识生成模块,用于生成第一消息标识,所述第一消息标识是所述第一业务消息的消息标识;

标识发送模块,用于向匹配服务器发送所述第一消息标识,所述匹配服务器用于在获取到与所述第一消息标识相匹配的第二消息标识的情况下,向旁路流量分析系统中的目标分析节点发送匹配结果信息,所述匹配结果信息用于将所述第一业务消息和第二业务消息路由至所述旁路流量分析系统中的同一分析节点进行处理;其中,所述第二业务消息的消息标识是所述第二消息标识;两个相匹配的消息标识所对应的两个业务消息,是属于同一会话的请求消息和响应消息。

还一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述业务消息处理方法。

可选地,所述计算机设备为匹配服务器或分析节点。

还一方面,本申请是实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述业务消息处理方法。

还一方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品被处理器执行时,用于实现上述业务消息处理方法。

本申请实施例提供的技术方案可以带来如下有益效果:

通过在从接收到的各个消息标识中,找到相匹配的第一消息标识和第二消息标识之后,向旁路流量分析系统中的目标分析节点发送匹配结果信息,该匹配结果信息用于将第一业务消息和第二业务消息路由至旁路流量分析系统中的同一分析节点进行处理,从而保证了属于同一会话的请求消息和响应消息能够被路由至同一分析节点进行处理,解决了相关技术所存在的技术问题,提高了旁路流量分析系统对基于会话的网络攻击的检测能力。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个实施例提供的实施环境的示意图;

图2示例性示出了一种分光节点向分析节点发送业务消息的示意图;

图3示例性示出了另一种分光节点向分析节点发送业务消息的示意图;

图4是本申请一个实施例提供的业务消息处理方法的流程图;

图5示例性示出了请求消息和响应消息的交互过程的示意图;

图6是本申请另一个实施例提供的业务消息处理方法的流程图;

图7是本申请另一个实施例提供的业务消息处理方法的流程图;

图8是本申请另一个实施例提供的业务消息处理方法的流程图;

图9是本申请另一个实施例提供的业务消息处理方法的流程图;

图10是本申请一个实施例提供的业务消息处理装置的框图;

图11是本申请另一个实施例提供的业务消息处理装置的框图;

图12是本申请另一个实施例提供的业务消息处理装置的框图;

图13是本申请一个实施例提供的计算机设备的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

请参考图1,其示出了本申请一个实施例提供的实施环境的示意图。该实施环境可以包括:终端10、业务服务器20、旁路流量分析系统30(包括分光节点和多个分析节点)和匹配服务器40。

终端10可以是诸如手机、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备、pc(personalcomputer,个人计算机)等电子设备。

可选地,终端10中安装有目标应用程序的客户端,该目标应用程序可以实现设计的业务功能,如该目标应用程序可以是视频类应用程序、社交类应用程序、即时通信类应用程序、游戏类应用程序、资讯类应用程序、阅读类应用程序、购物类应用程序、音乐类应用程序等等,本申请实施例对此不作限定。

业务服务器20用于为终端10中的目标应用程序的客户端提供后台服务。例如,业务服务器20可以是上述目标应用程序的后台服务器。业务服务器20可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。

在本申请实施例中,终端10和业务服务器20之间通过网络传输数据,该数据包括业务消息。终端10和业务服务器20之间可以基于某种协议传输数据,如http(hypertexttransferprotocol,超文本传输协议)。http是目前使用最广泛的应用层协议,由于其使用广泛,基于http协议的网络攻击已成为最常采用的攻击方法,严重威胁到企业生产安全。一个http会话(session)可以包括一个请求消息和一个响应消息。例如,终端10向业务服务器20发送请求消息,业务服务器20向终端发送该请求消息对应的响应消息。

在本申请实施例中,会话可以指在一个不间断的特定操作时间内,两个设备之间的通信交互。在一个会话期间,两个设备之间传输的所有报文都属于该会话。在本申请实施例中,会话指的是终端10和业务服务器20之间用于传输业务消息的通信交互,一个会话可以包括一次请求和响应的交互,也即一个会话包括一个请求消息和一个响应消息。

旁路流量分析系统30是用于对上述业务消息进行安全分析的系统。其中,旁路流量分析系统30包括分光节点和n个分析节点,且n为大于1的整数。其中,分光节点也可以称为分光器或分光设备,用于对终端10和业务服务器20之间传输的业务消息进行拷贝,并分发给不同的分析节点进行处理。分析节点的数量为多个,用于实现分布式的网络流量分析功能。可选地,该多个分析节点可以部署在同一个idc(internetdatacenter,互联网数据中心)中,也可以部署在多个不同的idc中,也即采用跨idc的部署方式,每一个idc中可以包括一个或多个分析节点。分析节点可以是任何具备处理和存储能力的计算机设备,如服务器。

在上文已经介绍,在将业务消息分发给不同的分析节点进行处理时,属于同一个会话的请求消息和响应消息有可能会被分发给不同的分析节点。例如,如图2所示,属于同一个http会话的http请求消息和http响应消息被分发给了两个不同的分析节点,其中,http请求消息发送给了分析节点1,http响应消息被分发给了分析节点2,且该分析节点1和分析节点2属于同一个idc。也即,属于同一个http会话的http请求消息和http响应消息,被分发给了同一个idc中的两个不同的分析节点。又例如,如图3所示,属于同一个http会话的http请求消息和http响应消息被分发给了两个不同的分析节点,其中,http请求消息发送给了分析节点1,http响应消息被分发给了分析节点2,且该分析节点1和分析节点2属于两个不同的idc,分析节点1属于idc1且分析节点2属于idc2。也即,属于同一个http会话的http请求消息和http响应消息,被分发给了两个不同idc中的两个分析节点。

匹配服务器40用于匹配属于同一会话的业务消息。例如,若上述业务消息为请求消息,匹配服务器40匹配与该请求消息属于同一会话的响应消息;若上述业务消息为响应消息,匹配服务器40匹配与该响应消息属于同一会话的请求消息。对于属于同一会话的请求消息和响应消息,该响应消息是对该请求消息的应答。可选地,匹配服务器40与旁路流量分析系统30的分析节点之间,可以通过网络进行通信。

可选地,匹配服务器40的数量可以是一个,也可以是多个。示例性地,匹配服务器40的数量为m,且该m为大于1的整数。需要说明的一点是,若匹配服务器40的数量为多个,通过均匀一致性哈希的方法,为业务消息选择相应的匹配服务器40,并通过加入一个或多个虚拟节点,来均衡化不同的匹配服务器40之间的负载,以保证各个匹配服务器40之间负载均衡。

请参考图4,其示出了本申请一个实施例提供的业务消息处理方法的流程图。该方法的执行主体可以是图1所示实施环境的匹配服务器40。该方法可以包括以下几个步骤(401~403):

步骤401,接收旁路流量分析系统中的各个分析节点发送的消息标识。

消息标识是业务消息的唯一标识符,用于唯一标识一个业务消息。本申请实施例中的业务消息是指基于会话的业务消息,属于同一会话的业务消息包括一个请求消息和一个响应消息。

在一个可能的实施例中,如果会话是基于tcp/ip(transmissioncontrolprotocol/internetprotocol,传输控制协议/互联网协议)传输的,上述消息标识包括该业务消息的五元组信息。可选地,请求消息的五元组信息包括源ip地址、源端口号、目的ip地址、目的端口号和响应号(ack号);响应消息的五元组信息包括目的ip地址、目的端口号、源ip地址、源端口号和序列号(seq号)。

对于属于同一会话的请求消息和响应消息来说,该请求消息对应的五元组信息和该响应消息对应的五元组信息相同。示例性地,结合参考图5,在同一会话中,请求消息51的源ip地址为1.1.1.1,源端口号为5566,目的ip地址为2.2.2.2,目的端口号为80,响应号(ack号)为7000;响应消息52的目的ip地址为1.1.1.1,目的端口号为5566,源ip地址为2.2.2.2,源端口号为80,序列号(seq号)为7000。

在另一个可能的实施例中,上述消息标识包括该业务消息的五元组信息的摘要,其中,该摘要可以根据上述五元组信息,采用消息摘要算法生成,例如,对上述五元组信息采用哈希算法或md5(message-digestalgorithm5,消息摘要算法第五版)算法,生成上述摘要。需要说明的一点是,由于属于同一会话的业务消息对应的五元组信息相同,因此,属于同一会话的业务消息对应的五元组信息的摘要也相同。

步骤402,获取第一消息标识。

第一消息标识是匹配服务器接收到的各个消息标识中的任意一个消息标识。匹配服务器在接收到各个消息标识之后,可以按照既定规则选择消息标识进行处理,以查找是否存在相匹配的消息标识。

步骤403,若接收到的各个消息标识中,存在与第一消息标识相匹配的第二消息标识,则向旁路流量分析系统中的目标分析节点发送匹配结果信息。

匹配结果信息用于将第一业务消息和第二业务消息路由至旁路流量分析系统中的同一分析节点进行处理。其中,第一业务消息的消息标识是第一消息标识,第二业务消息的消息标识是第二消息标识;两个相匹配的消息标识所对应的两个业务消息,是属于同一会话的请求消息和响应消息。

在本申请实施例中,匹配服务器根据上述第一消息标识,在接收到的各个消息标识中,查找是否存在与该第一消息标识相匹配的第二消息标识。可选地,第一消息标识包括第一业务消息的五元组信息(记为第一五元组信息),匹配服务器在接收到的各个消息标识中,查找是否存在与该第一五元组信息相同的五元组信息(记为第二五元组信息),该第一五元组信息和第二五元组信息相匹配。在另一种可能的实施例中,第一消息标识包括第一业务消息的五元组信息的摘要(记为第一摘要),匹配服务器在接收到的各个消息标识中,查找是否存在与该第一摘要相同的摘要(记为第二摘要),该第一摘要和第二摘要相匹配。

匹配服务器在找到相匹配的第一消息标识和第二消息标识之后,向旁路流量分析系统中的目标分析节点发送匹配结果信息。在本申请实施例中,假设第一分析节点是第一业务消息所在的分析节点,第二分析节点是第二业务消息所在的分析节点。

在一个示例中,目标分析节点为第一分析节点。匹配服务器向旁路流量分析系统中的第一分析节点发送匹配结果信息,该匹配结果信息包括第一消息标识和第二分析节点的节点标识。第一分析节点在接收到配结果信息之后,根据第一消息标识获取第一业务消息,然后根据第二分析节点的节点标识,向第二分析节点发送第一业务消息。第二分析节点根据第一业务消息的消息标识(也即第一消息标识),获取与该第一消息标识相匹配的第二消息标识所对应的第二业务消息,然后对第一业务消息和第二业务消息进行处理。通过上述方式,实现将属于同一会话的第一业务消息和第二业务消息,路由至同一分析节点(也即第二分析节点)进行处理。

在另一个示例中,目标分析节点为第二分析节点。匹配服务器向旁路流量分析系统中的第二分析节点发送匹配结果信息,该匹配结果信息包括第二消息标识和第一分析节点的节点标识。第二分析节点在接收到配结果信息之后,根据第二消息标识获取第二业务消息,然后根据第一分析节点的节点标识,向第一分析节点发送第二业务消息。第一分析节点根据第二业务消息的消息标识(也即第二消息标识),获取与该第二消息标识相匹配的第一消息标识所对应的第一业务消息,然后对第一业务消息和第二业务消息进行处理。通过上述方式,实现将属于同一会话的第一业务消息和第二业务消息,路由至同一分析节点(也即第一分析节点)进行处理。

在又一个示例中,目标分析节点包括第一分析节点和第二分析节点。匹配服务器向旁路流量分析系统中的第一分析节点发送第一匹配结果信息,以及向该旁路流量分析系统中的第二分析节点发送第二匹配结果信息,其中,第一匹配结果信息包括第一消息标识和第三分析节点的节点标识,第二匹配结果信息包括所述第二消息标识和所述第三分析节点的节点标识。其中,第三分析节点是旁路流量分析系统中不同于第一分析节点和第二分析节点的另一分析节点。第一分析节点在接收到配结果信息之后,根据第一消息标识获取第一业务消息,然后根据第三分析节点的节点标识,向第三分析节点发送第一业务消息。第二分析节点在接收到配结果信息之后,根据第二消息标识获取第二业务消息,然后根据第三分析节点的节点标识,向第三分析节点发送第二业务消息。第三分析节点对第一业务消息和第二业务消息进行处理。通过上述方式,实现将属于同一会话的第一业务消息和第二业务消息,路由至同一分析节点(也即第三分析节点)进行处理。

在本申请实施例中,节点标识是分析节点的唯一标识符,不同的分析节点具有不同的节点标识。例如,节点标识可以是ip地址。

在本申请实施例中,对于分析节点对业务消息的处理的具体过程不作限定,分析节点通过对业务消息进行分析处理,以检测是否存在网络攻击,如sql(structuredquerylanguage,结构化查询语言)注入、xss(crosssitescripting,跨站脚本)攻击、csrf(cross-siterequestforgery,跨站请求伪造)攻击、振荡波等网络攻击。

另外,若接收到的各个消息标识中,不存在与第一消息标识相匹配的第二消息标识,则匹配服务器确定该第一消息标识匹配失败,选择其它消息标识进行匹配。

综上所述,本申请实施例提供的技术方案中,通过在从接收到的各个消息标识中,找到相匹配的第一消息标识和第二消息标识之后,向旁路流量分析系统中的目标分析节点发送匹配结果信息,该匹配结果信息用于将第一业务消息和第二业务消息路由至旁路流量分析系统中的同一分析节点进行处理,从而保证了属于同一会话的请求消息和响应消息能够被路由至同一分析节点进行处理,解决了相关技术所存在的技术问题,提高了旁路流量分析系统对基于会话的网络攻击的检测能力。

另外,利用属于同一会话的业务消息的五元组信息相同的特性,对属于同一会话的业务消息进行匹配,保证了匹配的准确性。

请参考图6,其示出了本申请另一个实施例提供的业务消息处理方法的流程图。该方法的执行主体可以是图1所示实施环境的匹配服务器40。该方法可以包括以下几个步骤(601~605):

步骤601,接收旁路流量分析系统中的各个分析节点发送的消息标识。

可选地,匹配服务器接收各个分析节点发送的匹配请求。匹配请求包括至少一条映射信息,该映射信息包括消息标识、数据量和节点标识。也即每一条映射信息包括一个业务消息的消息标识、该业务消息的数据量,以及该业务消息所在的分析节点的节点标识。

步骤602,获取第一消息标识。

步骤603,若接收到的各个消息标识中,存在与第一消息标识相匹配的第二消息标识,则获取第一数据量和第二数据量。

第一数据量是指第一业务消息的数据量,第二数据量是指第二业务消息的数据量。

关于匹配服务器根据第一消息标识匹配第二消息标识的方法,在上述图4实施例的步骤403中进行了介绍,在此不作赘述。

步骤604,若第一数据量小于第二数据量,则向旁路流量分析系统中的第一分析节点发送匹配结果信息。

第一分析节点是第一业务消息所在的分析节点。匹配服务器向第一分析节点发送的匹配结果信息包括第一消息标识和第二分析节点的节点标识。其中,该第二分析节点是第二业务消息所在的分析节点。

第一分析节点在接收到配结果信息之后,根据第一消息标识获取第一业务消息,然后根据第二分析节点的节点标识,向第二分析节点发送第一业务消息。第二分析节点根据第一业务消息的消息标识(也即第一消息标识),获取与该第一消息标识相匹配的第二消息标识所对应的第二业务消息,然后对第一业务消息和第二业务消息进行处理。通过上述方式,实现将属于同一会话的第一业务消息和第二业务消息,路由至同一分析节点(也即第二分析节点)进行处理。

步骤605,若第一数据量大于第二数据量,则向旁路流量分析系统中的第二分析节点发送匹配结果信息。

第二分析节点是第二业务消息所在的分析节点。匹配服务器向第二分析节点发送的匹配结果信息包括第二消息标识和第一分析节点的节点标识。第二分析节点在接收到配结果信息之后,根据第二消息标识获取第二业务消息,然后根据第一分析节点的节点标识,向第一分析节点发送第二业务消息。第一分析节点根据第二业务消息的消息标识(也即第二消息标识),获取与该第二消息标识相匹配的第一消息标识所对应的第一业务消息,然后对第一业务消息和第二业务消息进行处理。通过上述方式,实现将属于同一会话的第一业务消息和第二业务消息,路由至同一分析节点(也即第一分析节点)进行处理。

另外,若第一数据量等于第二数据量,则匹配服务器可以执行上述步骤604向旁路流量分析系统中的第一分析节点发送匹配结果信息,也可以执行上述步骤605向旁路流量分析系统中的第二分析节点发送匹配结果信息,本申请实施例对此不作限定。

综上所述,本申请实施例提供的技术方案中,根据业务消息的数据量,选择向数据量较小的业务消息所在的分析节点发送匹配结果信息,使得在将属于同一会话的两个业务消息路由至同一分析节点时,数据量较小的业务消息被发送,数据量较大的业务消息不需要被发送,从而节省了分析节点间的传输资源,也有助于提高传输效率。

请参考图7,其示出了本申请一个实施例提供的业务消息处理方法的流程图。该方法的执行主体可以是图1所示实施环境中的分析节点。该方法可以包括以下几个步骤(701~703):

步骤701,获取第一业务消息。

第一业务消息可以是请求消息,也可以是响应消息。

步骤702,生成第一消息标识。

第一消息标识是第一业务消息的消息标识,用于对该第一业务消息起到唯一标识作用。可选地,分析节点根据上述第一业务消息,生成对应的第一消息标识。

在一种可能的实施方式中,第一消息标识为第一业务消息的五元组信息。可选地,第一业务消息中包括五元组信息,分析节点获取第一业务消息中包括的五元组信息,得到第一消息标识。在另一种可能的实施方式中,为了提升匹配服务器对消息标识的匹配效率,且有助于节省分析节点向匹配服务器发送消息标识所需的传输资源,第一消息标识为第一业务消息的五元组信息的摘要。可选地,上述摘要可以根据第一业务消息的五元组信息,采用消息摘要算法生成,例如,对上述五元组信息采用哈希算法或md5算法,生成上述摘要。通过生成五元组信息的摘要作为消息标识,实现了对消息标识的数据量压缩,五元组信息可以包括28个字节,但五元组信息的摘要仅需8个字节。

需要说明的一点是,当第一业务消息为请求消息时,五元组信息包括源ip地址、源端口号、目的ip地址、目的端口号和响应号(ack号);当第一业务消息为响应消息时,五元组信息包括目的ip地址、目的端口号、源ip地址、源端口号和序列号(seq号)。

步骤703,向匹配服务器发送第一消息标识。

匹配服务器用于在获取到与第一消息标识相匹配的第二消息标识的情况下,向旁路流量分析系统中的目标分析节点发送匹配结果信息,该匹配结果信息用于将第一业务消息和第二业务消息路由至旁路流量分析系统中的同一分析节点进行处理。其中,第二消息标识是第二业务消息对应的消息标识。

在一种可能的实施方式中,上述匹配服务器的数量为1,分析节点将上述第一消息标识发送至该匹配服务器。

在另一种可能的实施方式中,上述匹配服务器的数量为m,其中,m为大于1的正整数。可选地,分析节点根据上述第一业务消息的五元组信息的摘要,从m个匹配服务器中选择第一消息标识发送至的目标匹配服务器,然后向该目标匹配服务器发送第一消息标识。需要说明的一点是,对于属于同一会话的两个业务消息,对应的两个五元组信息相同,即对应的两个五元组信息的摘要也相同,因此,通过上述方法有效地保证了将属于同一会话的两个业务消息发送至同一匹配服务器。

可选地,第一分析节点还可以向匹配服务器发送匹配请求,该匹配请求中包括上述第一消息标识、第一数据量和该第一分析节点的节点标识。通过上述方式,以使得匹配服务器在找到与第一消息标识相匹配的第二消息标识之后,能够比对第一业务消息和第二业务消息的数据量,基于该数据量选择匹配结果信息发送至的业务节点。

关于匹配服务器在接收到上述匹配请求之后执行的步骤,在图4和图6实施例中进行了介绍,在此不作赘述。

综上所述,本申请实施例提供的技术方案中,通过业务服务器生成业务消息的消息标识,向匹配服务器发送消息标识,匹配服务器在从接收到的各个消息标识中,找到相匹配的第一消息标识和第二消息标识之后,向旁路流量分析系统中的目标分析节点发送匹配结果信息,该匹配结果信息用于将第一业务消息和第二业务消息路由至旁路流量分析系统中的同一分析节点进行处理,从而保证了属于同一会话的请求消息和响应消息能够被路由至同一分析节点进行处理,解决了相关技术所存在的技术问题,提高了旁路流量分析系统对基于会话的网络攻击的检测能力。

另外,选择五元组信息的摘要作为消息标识,有效地压缩了消息标识的数据量,一方面有助于提升匹配服务器对消息标识的匹配效率,另一方面也有助于节省分析节点向匹配服务器发送消息标识所需的传输资源。

另外,对于匹配服务器的数量是多个的情况,根据五元组信息的摘要将对应的业务消息发送给合适的匹配服务器,保证了同一会话的业务消息存在于同一匹配服务器中,提高了匹配成功的概率。

请参考图8,其示出了本申请另一个实施例提供的业务消息处理方法的流程图。该方法的执行主体可以是图1所示实施环境中的分析节点。该方法可以包括以下几个步骤(801~806):

步骤801,获取第一业务消息。

步骤802,生成第一消息标识。

步骤803,向匹配服务器发送第一消息标识。

上述步骤801-803与图7实施例的步骤701-703相同,具体参见图7实施例,在此不作赘述。

步骤804,接收匹配服务器发送的匹配结果信息。

匹配结果信息包括第一消息标识和第二分析节点的节点标识,其中,第二分析节点是第二业务消息所在的分析节点。该第二业务消息和第一业务消息属于同一会话,也就是说,若第一业务消息是请求消息,则第二业务消息是响应消息;若第一业务消息是响应消息,则第二业务消息是请求消息。

当然,上述匹配服务器还存在匹配失败的结果,在这种情况下,匹配服务器并不向分析节点发送匹配结果信息。

可选地,上述步骤803之后还包括以下几个步骤:

1、若在预设时长内未匹配到与第一业务消息属于同一会话的第二业务消息,则确定该第一业务消息匹配失败。

可选地,预设时长由分析节点根据实际情况确定,可以是10ms、20ms或30ms等,本申请实施例对此不作限定。需要说明的一点是,当第一业务消息所在的分析节点在上述预设时长内,既未收到匹配服务器发送的匹配结果信息,也未收到第二分析节点发送的第二业务消息时,分析节点确定上述第一业务消息匹配失败。另外,上述预设时长可以在分析节点发出第一消息标识的时候开始计时。

2、统计匹配失败的业务消息的数量。

分析节点可以统计匹配失败的业务消息的数量,以提供给技术人员进行分析。例如,当匹配失败的业务消息的数量超过一定比例时,可能业务逻辑出现问题,需要技术人员进行排查解决。

步骤805,向第二分析节点发送第一业务消息。

可选地,第一分析节点在接收到配结果信息之后,根据第一消息标识获取第一业务消息,并根据第二分析节点的节点标识,向第二分析节点发送第一业务消息,进一步地,第二分析节点根据第一业务消息的第一消息标识,获取与该第一消息标识相匹配的第二消息标识所对应的第二业务消息,接着,对第一业务消息和第二业务消息进行安全分析。通过上述方式,实现将属于同一会话的第一业务消息和第二业务消息,路由至同一分析节点(也即第二分析节点)进行处理。

在本申请实施例中,对于分析节点对业务消息的处理的具体过程不作限定,分析节点通过对业务消息进行分析处理,以检测是否存在网络攻击,如dos攻击、sql注入、xss(crosssitescripting,跨站脚本)攻击、csrf(cross-siterequestforgery,跨站请求伪造)攻击、振荡波等网络攻击。

综上所述,本申请实施例提供的技术方案中,通过匹配服务器的匹配结果信息将属于同一会话的两个业务消息发送至同一分析节点,降低了分析节点进行安全分析的难度,提高了旁路流量分析系统的检测能力。

另外,结合参考图9,以旁路流量分析系统对http会话进行攻击检测和分析为例,对本申请技术方案进行介绍说明:

步骤91,第一分析节点向匹配服务器发送http请求消息的五元组信息;

步骤92,第二分析节点向匹配服务器发送http响应消息的五元组信息;

步骤93,匹配服务器匹配上述http请求消息和http响应消息的五元组信息;若http请求消息和http响应消息的五元组信息相同,则匹配成功,说明该http请求消息和http响应消息属于同一会话;

步骤94,匹配成功后,匹配服务器将匹配结果信息发送至第一分析节点,该匹配结果信息包括http请求消息的五元组信息和第二分析节点的节点标识(如ip地址);

步骤95,第一分析节点根据上述匹配结果信息,将上述http请求消息发送至第二分析节点;

步骤96,第二分析节点对该http请求消息和http响应消息进行处理。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参考图10,其示出了本申请一个实施例提供的业务消息处理装置的框图。该装置具有实现上述匹配服务器侧的业务消息处理方法的功能。所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是匹配服务器,也可以设置在匹配服务器中。该装置1000可以包括:标识接收模块1010、标识获取模块1020和结果发送模块1030。

标识接收模块1010,用于接收旁路流量分析系统中的各个分析节点发送的消息标识,所述旁路流量分析系统包括n个分析节点,所述n为大于1的整数。

标识获取模块1020,用于获取第一消息标识,所述第一消息标识是接收到的各个所述消息标识中的任意一个消息标识。

结果发送模块1030,用于若接收到的各个所述消息标识中,存在与所述第一消息标识相匹配的第二消息标识,则向所述旁路流量分析系统中的目标分析节点发送匹配结果信息,所述匹配结果信息用于将第一业务消息和第二业务消息路由至所述旁路流量分析系统中的同一分析节点进行处理;其中,所述第一业务消息的消息标识是所述第一消息标识,所述第二业务消息的消息标识是所述第二消息标识;两个相匹配的消息标识所对应的两个业务消息,是属于同一会话的请求消息和响应消息。

在示例性实施例中,所述结果发送模块1030,用于向所述旁路流量分析系统中的第一分析节点发送所述匹配结果信息,所述匹配结果信息包括所述第一消息标识和第二分析节点的节点标识;或者,向所述旁路流量分析系统中的第二分析节点发送所述匹配结果信息,所述匹配结果信息包括所述第二消息标识和第一分析节点的节点标识;或者,向所述旁路流量分析系统中的第一分析节点发送第一匹配结果信息,以及向所述旁路流量分析系统中的第二分析节点发送第二匹配结果信息,所述第一匹配结果信息包括所述第一消息标识和第三分析节点的节点标识,所述第二匹配结果信息包括所述第二消息标识和所述第三分析节点的节点标识;其中,所述第一分析节点是所述第一业务消息所在的分析节点,所述第二分析节点是所述第二业务消息所在的分析节点,所述第三分析节点是所述旁路流量分析系统中不同于所述第一分析节点和所述第二分析节点的另一分析节点。

在示例性实施例中,所述结果发送模块1030,还用于获取第一数据量和第二数据量,所述第一数据量是指所述第一业务消息的数据量,所述第二数据量是指所述第二业务消息的数据量;若所述第一数据量小于所述第二数据量,则向所述旁路流量分析系统中的第一分析节点发送所述匹配结果信息,所述匹配结果信息包括所述第一消息标识和第二分析节点的节点标识;若所述第一数据量大于所述第二数据量,则向所述旁路流量分析系统中的第二分析节点发送所述匹配结果信息,所述匹配结果信息包括所述第二消息标识和第一分析节点的节点标识;其中,所述第一分析节点是所述第一业务消息所在的分析节点,所述第二分析节点是所述第二业务消息所在的分析节点。

在示例性实施例中,所述消息标识包括所述业务消息的五元组信息;其中,所述请求消息的五元组信息包括源ip地址、源端口号、目的ip地址、目的端口号和响应号;所述响应消息的五元组信息包括目的ip地址、目的端口号、源ip地址、源端口号和序列号。

在示例性实施例中,所述消息标识包括所述业务消息的五元组信息的摘要;其中,所述请求消息的五元组信息包括源ip地址、源端口号、目的ip地址、目的端口号和响应号;所述响应消息的五元组信息包括目的ip地址、目的端口号、源ip地址、源端口号和序列号。

综上所述,本申请实施例提供的技术方案中,通过在从接收到的各个消息标识中,找到相匹配的第一消息标识和第二消息标识之后,向旁路流量分析系统中的目标分析节点发送匹配结果信息,该匹配结果信息用于将第一业务消息和第二业务消息路由至旁路流量分析系统中的同一分析节点进行处理,从而保证了属于同一会话的请求消息和响应消息能够被路由至同一分析节点进行处理,解决了相关技术所存在的技术问题,提高了旁路流量分析系统对基于会话的网络攻击的检测能力。

请参考图11,其示出了本申请另一个实施例提供的业务消息处理装置的框图。该装置具有实现上述分析节点侧的业务消息处理方法的功能。所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置具有实现上述业务消息处理方法的功能。该装置1100可以包括:消息获取模块1110、标识生成模块1120和标识发送模块1130。

消息获取模块1110,用于获取第一业务消息。

标识生成模块1120,用于生成第一消息标识,所述第一消息标识是所述第一业务消息的消息标识。

标识发送模块1130,用于向匹配服务器发送所述第一消息标识,所述匹配服务器用于在获取到与所述第一消息标识相匹配的第二消息标识的情况下,向旁路流量分析系统中的目标分析节点发送匹配结果信息,所述匹配结果信息用于将所述第一业务消息和第二业务消息路由至所述旁路流量分析系统中的同一分析节点进行处理;其中,所述第二业务消息的消息标识是所述第二消息标识;两个相匹配的消息标识所对应的两个业务消息,是属于同一会话的请求消息和响应消息。

在示例性实施例中,所述标识生成模块1120,用于获取所述第一业务消息的五元组信息,得到所述第一消息标识;或者,获取所述第一业务消息的五元组信息;生成所述五元组信息的摘要,得到所述第一消息标识;其中,当所述第一业务消息为所述请求消息时,所述五元组信息包括源互联网协议ip地址、源端口号、目的ip地址、目的端口号和响应号;当所述第一业务消息为所述响应消息时,所述五元组信息包括目的ip地址、目的端口号、源ip地址、源端口号和序列号。

在示例性实施例中,所述标识发送模块1130,用于向所述匹配服务器发送匹配请求,所述匹配请求中包括所述第一消息标识、第一数据量和第一分析节点的节点标识;其中,所述第一数据量是所述第一业务消息的数据量,所述第一分析节点是所述第一业务消息所在的分析节点。

在示例性实施例中,如图12所示,所述装置1100还包括:结果接收模块1140和消息发送模块1150。

结果接收模块1140,用于接收所述匹配服务器发送的所述匹配结果信息,所述匹配结果信息包括所述第一消息标识和第二分析节点的节点标识,所述第二分析节点是所述第二业务消息所在的分析节点。

消息发送模块1150,用于向所述第二分析节点发送所述第一业务消息。

在示例性实施例中,匹配服务器的数量为m,且所述m为大于1的整数;如图12所示,所述装置1100还包括:目标选择模块1160。

目标选择模块1160,用于根据所述第一业务消息的五元组信息的摘要,从所述m个匹配服务器中选择所述第一消息标识发送至的目标匹配服务器;其中,当所述第一业务消息为所述请求消息时,所述五元组信息包括源ip地址、源端口号、目的ip地址、目的端口号和响应号;当所述第一业务消息为所述响应消息时,所述五元组信息包括目的ip地址、目的端口号、源ip地址、源端口号和序列号。

在示例性实施例中,如图12所示,所述装置1100还包括:失败确定模块1170和数量统计模块1180。

失败确定模块1170,用于若在预设时长内未匹配到与所述第一业务消息属于同一会话的所述第二业务消息,则确定所述第一业务消息匹配失败。

数量统计模块1180,用于统计匹配失败的业务消息的数量。

综上所述,本申请实施例提供的技术方案中,通过业务服务器生成业务消息的消息标识,向匹配服务器发送消息标识,匹配服务器在从接收到的各个消息标识中,找到相匹配的第一消息标识和第二消息标识之后,向旁路流量分析系统中的目标分析节点发送匹配结果信息,该匹配结果信息用于将第一业务消息和第二业务消息路由至旁路流量分析系统中的同一分析节点进行处理,从而保证了属于同一会话的请求消息和响应消息能够被路由至同一分析节点进行处理,解决了相关技术所存在的技术问题,提高了旁路流量分析系统对基于会话的网络攻击的检测能力。

请参考图13,其示出了本申请实施例提供的一种计算机设备的结构框图。该计算机设备可以用于实施上述实施例中提供的业务处理方法。该计算机设备可以是上文介绍的匹配服务器,也可以是分析节点。具体来讲:

该计算机设备1300包括处理单元(如cpu(centralprocessingunit,中央处理器)、gpu(graphicsprocessingunit,图形处理器)和fpga(fieldprogrammablegatearray,现场可编程逻辑门阵列)等)1301、包括ram(randomaccessmemory,随机存取存储器)1302和rom(readonlymemory,只读存储器)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。该计算机设备1300还包括帮助计算计算机设备内的各个器件之间传输信息的基本i/o系统(input/output,输入/输出)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1312的大容量存储设备1307。

该基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中,该显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。该基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。

该大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。该大容量存储设备1307及其相关联的计算机可读介质为计算机设备1300提供非易失性存储。也就是说,该大容量存储设备1307可以包括诸如硬盘或者cd-rom(compactdiscread-onlymemory,只读光盘)驱动器之类的计算机可读介质(未示出)。

不失一般性,该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom(erasableprogrammablereadonlymemory,可擦除可编程只读存储器)、eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、闪存或其他固态存储其技术,cd-rom、dvd(digitalvideodisc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。上述的系统存储器1104和大容量存储设备1307可以统称为存储器。

根据本申请实施例,该计算机设备1300还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1300可以通过连接在该系统总线1305上的网络接口单元1311连接到网络1312,或者说,也可以使用网络接口单元1311来连接到其他类型的网络或远程计算机系统(未示出)。

该存储器还包括至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述业务处理方法。

本申请实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或该指令集在被处理器执行时以实现上述业务处理方法。

可选地,该计算机可读存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、固态硬盘(ssd,solidstatedrives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(reram,resistancerandomaccessmemory)和动态随机存取存储器(dram,dynamicrandomaccessmemory)。

在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品被处理器执行时,用于实现上述业务处理方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。

以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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