一种报文处理方法、装置、电子设备及存储介质与流程

文档序号:23230430发布日期:2020-12-08 15:18阅读:141来源:国知局
一种报文处理方法、装置、电子设备及存储介质与流程

本申请涉及计算机网络协议和网络数据处理的技术领域,具体而言,涉及一种报文处理方法、装置、电子设备及存储介质。



背景技术:

安全套接层(securesocketslayer,ssl)协议是一种安全协议,目的是为互联网通信提供安全及数据完整性保障;ssl协议的实现原理可以简单的理解为:在通信的两个设备采用ssl协议建立数据通信后,即在建立握手过程后,发送端可以将报文进行加密,再将加密后的报文传输至接收端,由接收端对加密后的报文进行解密,从而保障了通信过程中的信息安全。

ssl卸载(ssloffload)是指为帮助抵消ssl或者传输层安全性(transportlayersecurity,tls)协议报文带来的额外负担,单独使用专用处理设备来处理服务器与客户端之间的握手和加解密,从而减轻了服务器处理握手和加解密的计算压力,此处的专用处理设备可以被称为ssl卸载设备,也就简称为卸载设备。

在有些应用场景中,既存在第一服务器的通信报文要使用ssl卸载设备进行ssl卸载后,再对卸载后的通信报文进行审计和策略控制,又存在第二服务器的通信报文不做任何处理(即不进行ssl卸载)的情况,此处的通信报文可以包括多种协议类型的报文数据,多种协议类型例如:ssl协议和传输控制协议(transmissioncontrolprotocol,tcp)协议等;在实践过程中发现,ssl卸载设备会针对每个报文数据进行ssl卸载,从而引发很多异常错误的情况,也就是说,ssl卸载设备对卸载和非卸载的混合报文处理的效率十分低下。



技术实现要素:

本申请实施例的目的在于提供一种报文处理方法、装置、电子设备及存储介质,用于改善对卸载和非卸载的混合报文处理的效率十分低下的问题。

本申请实施例提供了一种报文处理方法,包括:拦截报文载荷包括安全套接层数据的网络层报文;从连接信息表中查找网络层报文中的五元组信息对应的处理标记,连接信息表中包含五元组信息与处理标记的对应关系,处理标记表征对报文的处理方式;若处理标记为放行标记,则根据报文载荷确定转发路径,并根据转发路径转发网络层报文。在上述的实现过程中,如果根据网络层报文的五元组信息在连接信息表中匹配到的处理标记为放行标记,放行标记表示不对该网络层报文进行ssl卸载,则直接放行该网络层报文,即根据报文载荷确定的转发路径转发该网络层报文,从而有效地提高了卸载设备对卸载和非卸载的混合流量处理的效率。

可选地,在本申请实施例中,在连接信息表中查找网络层报文中的五元组信息对应的处理标记之后,还包括:若处理标记为卸载标记,则将网络层报文进行卸载处理,获得卸载后的网络层报文,并发送卸载后的网络层报文,卸载处理表征对网络层报文中的安全套接层协议报文进行加解密处理。在上述的实现过程中,若处理标记为放行标记,则根据报文载荷确定转发路径,并根据转发路径转发网络层报文,若处理标记为卸载标记,则将网络层报文进行卸载处理,获得卸载后的网络层报文,并发送卸载后的网络层报文;在保证卸载设备对卸载和非卸载的混合流量处理的效率的情况下,完成卸载设备对正常需要ssl卸载的流量报文进行卸载,从而减轻了服务器处理握手和加解密的计算压力。

可选地,在本申请实施例中,拦截报文载荷包括安全套接层数据的网络层报文,包括:使用深度数据包检测技术对报文载荷进行检测和分类,获得分类后的报文载荷;若分类后的报文载荷包括安全套接层数据,则拦截报文载荷包括安全套接层数据的网络层报文。在上述的实现过程中,使用深度数据包检测技术对报文载荷进行检测和分类,再对分类后的报文进行拦截,从而卸载设备能够根据拦截的报文载荷确定的转发路径对网络层报文进行处理,使得卸载设备对网络层报文进行处理更加高效。

可选地,在本申请实施例中,该报文处理方法还包括:若在连接信息表中没有匹配到五元组信息,则提取网络层报文的特征值;将网络层报文的特征值与特征表中特征作对比,判断网络层报文是否属于无加密算法套件的情形,特征表包括无加密算法特征;若是,则在连接信息表中将网络层报文中的五元组信息对应的处理标记设置为放行标记。在上述的实现过程中,通过在连接信息表中将特征表中无套件算法特征对应的处理标记设置为放行标记,使得卸载设备后续根据连接信息表判断网络层报文存在无套件算法特征,则直接将网络层报文放行,避免了后续卸载设备仍然对无套件算法特征的报文进行ssl卸载的情况,从而有效地提高了卸载设备对卸载和非卸载的混合流量处理的效率。

可选地,在本申请实施例中,该报文处理方法还包括:若在连接信息表中没有匹配到五元组信息,则提取网络层报文的特征值;将网络层报文的特征值与特征表中特征作对比,判断网络层报文是否属于无数字证书的情形,特征表包括无数字证书特征;若是,则在连接信息表中将网络层报文中的五元组信息对应的处理标记设置为放行标记。在上述的实现过程中,通过在连接信息表中将特征表中无数字证书特征对应的处理标记设置为放行标记,使得卸载设备后续处理的网络层报文中,若网络层报文属于无数字证书的情形,则直接将网络层报文放行,避免了卸载设备仍然对无数字证书特征的报文进行ssl卸载的情况,从而有效地提高了卸载设备对卸载和非卸载的混合流量处理的效率。

本申请实施例还提供了一种报文处理装置,包括:协议报文拦截模块,用于拦截报文载荷包括安全套接层数据的网络层报文;处理标记匹配模块,用于从连接信息表中查找网络层报文中的五元组信息对应的处理标记,连接信息表中包含五元组信息与处理标记的对应关系,处理标记表征对报文的处理方式;网络报文发送模块,用于若处理标记为放行标记,则根据报文载荷确定转发路径,并根据转发路径转发网络层报文。

可选地,在本申请实施例中,还包括:网络报文卸载模块,用于若处理标记为卸载标记,则将网络层报文进行卸载处理,获得卸载后的网络层报文,并发送卸载后的网络层报文,卸载处理表征对网络层报文中的安全套接层协议报文进行加解密处理。

可选地,在本申请实施例中,协议报文拦截模块具体用于:使用深度数据包检测技术对报文载荷进行检测和分类,获得分类后的报文载荷;若分类后的报文载荷包括安全套接层数据,则拦截报文载荷包括安全套接层数据的网络层报文。

可选地,在本申请实施例中,该报文处理装置还包括:第一特征提取模块,用于若在连接信息表中没有匹配到五元组信息,则提取网络层报文的特征值;套件特征判断模块,用于将网络层报文的特征值与特征表中特征作对比,判断网络层报文是否属于无加密算法套件的情形,特征表包括无加密算法特征;第一放行标记模块,用于若网络层报文属于无加密算法套件的情形,则在连接信息表中将网络层报文中的五元组信息对应的处理标记设置为放行标记。

可选地,在本申请实施例中,该报文处理装置还包括:第二特征提取模块,用于若在连接信息表中没有匹配到五元组信息,则提取网络层报文的特征值;证书特征判断模块,用于将网络层报文的特征值与特征表中特征作对比,判断网络层报文是否属于无数字证书的情形,特征表包括无数字证书特征;第二放行标记模块,用于若网络层报文属于无加密算法套件的情形,则在连接信息表中将网络层报文中的五元组信息对应的处理标记设置为放行标记。

本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。

本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出的本申请实施例提供的报文处理方法适用的第一报文处理系统示意图;

图2示出的本申请实施例提供的报文处理方法适用的第二报文处理系统示意图;

图3示出的本申请实施例提供的报文处理方法的流程示意图;

图4示出的本申请实施例提供的对网络层报文进行放行的示意图;

图5示出的本申请实施例提供的对网络层报文进行ssl卸载的示意图;

图6示出的本申请实施例提供的报文处理装置的结构示意图;

图7示出的本申请实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。

在介绍本申请实施例提供的报文处理方法之前,先介绍本申请实施例涉及的一些概念:

端口镜像(portmirroring),是指通过在交换机或路由器上,将一个或多个源端口的数据流量转发到某一个指定端口来实现对网络的监听,指定端口称之为“镜像端口”或“目的端口”,在不严重影响源端口正常吞吐流量的情况下,可以通过镜像端口对网络的流量进行监控分析,这里的端口即可以是指物理端口,即插着网线的插口。

深度数据包检测(deeppacketinspection,dpi)是一种基于数据包的深度检测技术,针对不同的网络应用层载荷进行深度检测,通过对报文的有效载荷检测获得报文的载荷数据,并根据载荷数据进行处理,例如:确定载荷数据是否有效或者是否合法等。

数据库(database,db),是指存储电子数据或者电子文件的集合,简而言之可视为电子化的文件柜,用户可以对文件中的数据运行新增、截取、更新、删除等操作;这里的数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

需要说明的是,本申请实施例提供的报文处理方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的专用设备或者服务器,此处的计算机程序功能包括对安全套接层报文进行ssl卸载,这里的服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和unix服务器等。

请参见图1示出的本申请实施例提供的报文处理方法适用的第一报文处理系统示意图;在介绍本申请实施例提供的报文处理方法之前,先介绍该报文处理方法适用的应用场景包括但不限于:第一报文处理系统和下面即将提到的第二报文处理系统。

上述的第一报文处理系统包括:第一终端设备、互联网、卸载设备、第一服务器和第二服务器;其中,第一终端设备通过互联网与卸载设备通信连接,卸载设备分别与互联网、第一服务器和第二服务器分别连接,卸载设备可以对经过的通信报文进行ssl卸载或者不对通信报文进行ssl卸载,对经过的通信报文进行ssl卸载的情况具体例如:卸载设备对第一服务器与第一终端设备之间的通信报文进行ssl卸载;不对通信报文进行ssl卸载的情况具体例如:卸载设备不对第二服务器与第一终端设备之间的通信报文进行ssl卸载。

本申请实施例中的ssl卸载具体例如:在卸载设备与第一终端设备建立超文本传输安全协议(hypertexttransferprotocolsecure,https)的握手过程以及解密过程之后,卸载设备获得解密后的通过超文本传输协议(hypertexttransferprotocol,http)报文,并将http报文发送给第二服务器,同理地,卸载设备也可以将第二服务器向第一终端设备发送的http报文进行ssl卸载,获得https报文,并将https报文发送给第一终端设备,从而完成第一终端设备与第二服务器的双向通信过程。

上面是多个服务器与互联网中的第一终端设备进行通信的情况,在多个服务器与互联网中的第一终端设备通信过程中,存在卸载设备需要进行ssl卸载或者不进行ssl卸载两种情况:第一种情况,对局域网中的终端设备与服务器的通信报文进行ssl卸载,具体例如:卸载设备对第一服务器与第二终端设备之间的通信报文进行ssl卸载;第二种情况,不对通信报文进行ssl卸载,具体例如:卸载设备不对第二服务器与第二终端设备之间的通信报文进行ssl卸载。

请参见图2示出的本申请实施例提供的报文处理方法适用的第二报文处理系统示意图;第二报文处理系统的实施原理与第一报文处理系统的实施原理是类似的,有不清楚的地方可以参见第一报文处理系统的描述。第二报文处理系统包括:第一终端设备、交换机、卸载设备、数据分析设备、第一服务器和第二服务器;其中,第一终端设备可以通过交换机分别与第一服务器和第二服务器相互通信,卸载设备也可以通过交换机与第一终端设备、第一服务器和第二服务器相互通信,卸载设备还可以与直接连接的数据分析设备相互通信。

在上述的第二报文处理系统中,可以使用交换机来对经过的通信报文进行端口镜像,具体例如:将第一服务器与交换机连接的端口镜像至卸载设备与交换机连接的端口,以使得卸载设备可以对第一服务器的通信报文进行ssl卸载,并使用数据分析设备对卸载后的数据流量进行数据分析,这里的数据分析包括但不限于:审计分析、防火墙控制策略或者入侵检测(intrusiondetection)等等;或者第二服务器与交换机连接的端口镜像至卸载设备与交换机连接的端口,以使得卸载设备可以对第二服务器的通信报文进行ssl卸载,并使用数据分析设备对卸载后的数据流量进行数据分析。

第一报文处理系统和第二报文处理系统的主要区别在于,第一报文处理系统中的卸载设备的主要作用是用于减轻服务器在ssl卸载方面的计算压力,此处的卸载设备是要侵入业务系统的,即原业务系统的服务器配置文件需要修改;而第二报文处理系统中的卸载设备的主要作用在于为数据分析设备提供卸载后的数据流量,以使数据分析设备能够无障碍地对卸载后的数据流量进行数据分析,此处的卸载设备是不侵入业务系统的,即原业务系统的服务器配置文件不需要修改,只需在交换机上做端口镜像即可;本申请实施例提供的方案可以应用于上述两种报文处理系统。

请参见图3示出的本申请实施例提供的报文处理方法的流程示意图;该报文处理方法的主要思路是,如果根据网络层报文的五元组信息在连接信息表中匹配到的处理标记为放行标记,放行标记表示不对该网络层报文进行ssl卸载,则直接放行该网络层报文,即根据报文载荷确定的转发路径转发该网络层报文,从而有效地提高了卸载设备对卸载和非卸载的混合流量处理的效率;上述的报文处理方法可以包括:

步骤s110:拦截报文载荷包括安全套接层数据的网络层报文。

网络层报文包括两个部分:报文头部和报文载荷;其中,报文头部是描述报文本身结构或者网络传输的信息,报文头部例如:报文类型、报文版本、报文长度和五元组信息等等,五元组信息具体包括:源ip地址、目的ip地址、协议类型、源端口号和目的端口号;报文载荷是需要传输的实体数据,也就是需要传输给接收端的真正消息内容;其中,报文载荷可以包括数据链路层报文数据,报文载荷也可以包括网络层报文数据。

上述步骤s110中的拦截报文载荷包括安全套接层数据的网络层报文的实施方式可以包括:

第一种实施方式,先使用深度数据包检测技术对报文载荷进行检测和分类,获得分类后的报文载荷,分类后的报文包括:数据链路层报文和网络层报文,其中,网络层报文包括:文件传输协议(filetransferprotocol,ftp)报文、http报文和https报文等等,常见的ftp报文的目的端口号为21,常见的http报文的目的端口号为80,而常见的https报文的目的端口号为443。再对分类后的报文进行拦截,具体需要拦截的是,报文载荷包括安全套接层数据的网络层报文,具体拦截过程例如:使用深度数据包检测技术对报文载荷进行检测和分类,获得分类后的报文载荷;若分类后的报文载荷包括安全套接层数据,则拦截报文载荷包括安全套接层数据的网络层报文;其中,安全套接层数据的网络层报文中的目的端口通常是443端口,而目的端口又是五元组信息中的其中一个信息,那么具体的拦截方式可以是先从分类后的报文载荷中提取出网络层报文的五元组信息,然后再判断网络层报文对应五元组信息中的目的端口号是否为预设端口号;若是,则确定网络层报文的载荷数据包括安全套接层数据,并拦截该网络层报文;若否,则确定网络层报文的载荷数据不包括安全套接层数据;此处的预设端口号例如443端口。

第二种实施方式,根据载荷数据中的报文特征来判断并拦截报文载荷包括安全套接层数据的网络层报文,具体例如:提取出网络层报文中的载荷数据,并判断该载荷数据中的报文特征是否为x.509特征,此处的ssl握手过程将在下面进行详细地描述;若是,则确定网络层报文的载荷数据包括安全套接层数据,并拦截该网络层报文;若否,则确定网络层报文的载荷数据不包括安全套接层数据。

在拦截网络层报文之后,可以根据网络层报文对应的处理标记来对该网络层报文进行处理,具体的处理方式包括:

第一种处理方式,在电子设备本地预先设置连接信息表,并在连接信息表中查找网络层报文中的五元组信息对应的处理标记,然后根据该处理标记对匹配的网络层报文进行处理,这种处理方式可以包括:

在步骤s110之后,执行步骤s120:从连接信息表中查找网络层报文中的五元组信息对应的处理标记,连接信息表中包含五元组信息与处理标记的对应关系。

在步骤s120之后,执行步骤s130:若处理标记为放行标记,则根据报文载荷确定转发路径,并根据转发路径转发网络层报文。

请参见图4示出的本申请实施例提供的对网络层报文进行放行的示意图;图中的卸载设备以透明代理模式工作在网络层中,即卸载设备没有对网络层报文中的来源ip地址和目的ip地址进行更改,上述步骤s120至步骤s130的实施方式可以包括:

步骤s121:对网络层报文进行解析提取,获得网络层报文中的五元组信息。

上述步骤s121的实施方式例如;若拦截到终端设备向第二服务器发送的网络层报文,第二服务器的ip地址为20.2.1.4,终端设备的ip地址为1.1.1.2,卸载设备可以处理网络层的报文数据和传输层的报文数据。解析并提取出该网络层报文中的五元组信息,获得的五元组信息包括:来源ip地址是1.1.1.2,来源端口号是12345,目的ip地址是20.2.1.4,目的端口号为443,以及协议类型为https,由此可以看出,该报文的目的端口号是443,且协议类型为https,因此,该报文是https报文,需要拦截该https报文。

步骤s122:判断在连接信息表中是否查找到与五元组信息对应的处理标记。

连接信息表是一个包括五元组信息和处理标记等字段信息的数据表,此处的连接信息表可以是内存上的映射表,也可以是文件系统中存储的excel文件,也可以是数据库中的信息表,数据库包括:内存数据库、关系型数据库和非关系型数据库等。在连接信息表中可以存储有多个条数据,包括:第一条数据(来源ip:20.2.1.4,来源端口号:443,目的ip:1.1.1.2,目的端口号:12345,协议类型:https,处理标记:0)和第二条数据(来源ip:1.1.1.2,来源端口号:12345,目的ip:20.2.1.4,目的端口号:443,协议类型:https,处理标记:0)等。

步骤s123:若在连接信息表中查找到的处理标记为放行标记,则根据报文载荷确定转发路径,并根据转发路径转发网络层报文。

上述步骤s122至步骤s123的实施方式例如:在内存数据库或者关系型数据库的连接信息表中存储有多个条数据,包括:上述的第一条数据和第二条数据等,则可以从连接信息表中查询到第二条数据,这里的第二条数据中的处理标记为0。其中,上述的内存数据库例如:memcached和redis等,关系型数据库例如:mysql、postgresql、oracle和sqlsever等。若根据五元组信息从该链接信息表中查找到的处理标记为0(处理标记为0的含义表示为放行标记),那么可以在不改变报文的转发路径的情况下对拦截的报文进行转发;其中,拦截的报文可以是数据链路层报文,拦截的报文也可以是网络层报文。上述的根据报文载荷确定的转发路径转发网络层报文分为两种情况:第一种情况,若拦截的报文载荷包括数据链路层报文,那么可以在转发数据库(forwardingdatabase,fdb)中查询数据链路层报文的介质访问控制层(mediaaccesscontrol,mac)地址,获得该数据链路层报文的转发路径,此处的转发路径例如:下一跳的mac地址,并根据该转发路径对该数据链路层报文进行转发;第二种情况,若拦截的报文载荷包括网络层报文,那么可以在路由表中查询网络层报文中的目的ip地址的下一跳ip地址,将下一跳ip地址作为转发路径,并根据转发路径对该网络层报文进行转发,具体例如:根据网络层报文可以确定出五元组信息,假设从网络层报文解析出的五元组信息为(来源ip:20.2.1.4,来源端口号:443,目的ip:1.1.1.2,目的端口号:12345,协议类型:https),那么可以在路由表中查询到目的ip地址为1.1.1.2的下一跳ip地址为1.1.1.2,直接向1.1.1.2的设备发送网络层报文。

上面描述了对拦截到的终端设备向第二服务器发送的网络层报文进行处理(若匹配到处理标记为0,则对网络层报文放行)的情况,同理地,对拦截到第二服务器向终端设备发送的网络层报文进行处理(若匹配到处理标记为0,则对网络层报文放行)的实施原理也是类似的,这里不再对其进行赘述。

在上述的实现过程中,通过拦截获得流量数据中的网络层报文,并提取网络层报文中的五元组信息,从连接信息表中获取网络层报文中的五元组信息对应的处理标记,若处理标记为放行标记,则根据报文载荷确定转发路径,并根据转发路径转发网络层报文;也就是说,如果根据网络层报文的五元组信息在连接信息表中匹配到的处理标记为放行标记,放行的处理标记表示不对该网络层报文进行ssl卸载,则直接放行该网络层报文,即根据报文载荷确定的转发路径转发该网络层报文,从而有效地提高了卸载设备对卸载和非卸载的混合流量处理的效率。

第二种处理方式,从网络层报文中提取出特定设备在网络层报文中预先设置的处理标记,其中,特定设备例如:服务器或者服务器与卸载设备之间通信连接的设备;该处理方式的其中一种实施方式例如:卸载设备若在检测到网络层报文中包括处理标记,则根据该处理标记处理该网络层报文,具体地,可以对该网络层报文放行,也可以对该网络层报文进行ssl卸载。上述的处理方式的另一种实施方式例如:服务器在接收到终端设备发送的建立连接的请求(clienthello)报文后,服务器将处理标记设置在建立连接的响应(serverhello)报文中,卸载设备在检测到响应报文中的处理标记时,将该处理标记和该响应报文对应的五元组信息记录,并根据该处理标记对后续匹配到五元组信息的网络层报文进行处理。

请参见图5示出的本申请实施例提供的对网络层报文进行ssl卸载的示意图;图中的卸载设备以透明代理模式工作在网络层中,即卸载设备没有对网络层报文的五元组信息中的来源ip地址和目的ip地址进行更改,但是,卸载设备可以对五元组信息中的协议类型、来源端口号和目的端口号进行更改,以及根据第一服务器的数字证书对发送给第一服务器的报文数据进行ssl卸载(卸载设备代替第一服务器与其它设备建立握手的过程,以及对向第一服务器的报文数据进行解密和对第一服务器向其它设备发送的报文数据进行加密)。

可选地,在查找到网络层报文中的五元组信息对应的处理标记之后,若确定处理标记为卸载标记,则可以对网络层报文进行卸载处理;也就是说,在步骤s120之后,还包括:

步骤s140:若在连接信息表中查找到的处理标记为卸载标记,则将网络层报文进行卸载处理,获得卸载后的网络层报文,并发送卸载后的网络层报文。

其中,连接信息表还可以包括:第三条数据(来源ip:20.2.1.1,来源端口号:80,目的ip:1.1.1.2,目的端口号:12345,协议类型:http,处理标记:1)和第四条数据(来源ip:1.1.1.2,来源端口号:12345,目的ip:20.2.1.1,目的端口号:443,协议类型:https,处理标记:1)等。

上述步骤s140的实施方式例如:假设拦截的是终端设备向第一服务器发送的网络层报文,那么该网络层报文的五元组信息包括:来源ip地址是1.1.1.2,来源端口号是12345,目的ip是20.2.1.1,目的端口号是443,协议类型是https。可以理解的是,根据五元组信息从该链接信息表中查找到的处理标记为1(处理标记为1的含义表示为ssl卸载),那么将网络层报文进行ssl卸载,并向第一服务器发送卸载后的网络层报文;其中,卸载后的网络层报文中的五元组信息包括:来源ip地址是1.1.1.2,来源端口号是12345,目的ip是20.2.1.1,目的端口号是80,协议类型是http;上述的卸载处理表征根据预先存储的证书信息对网络层报文中的安全套接层协议报文进行握手建立过程和加解密处理。

上面描述了对拦截到的终端设备向第一服务器发送的网络层报文进行处理(若匹配到处理标记为1,则对网络层报文进行ssl卸载,即根据第一服务器的数字证书对发送给第一服务器的网络层报文中的https报文进行解密,获得http报文)的情况,同理地,对拦截到第一服务器向终端设备发送的网络层报文进行处理(若匹配到处理标记为1,则对网络层报文进行ssl卸载,即根据第一服务器的数字证书对第一服务器发送的网络层报文中的http报文进行加密,获得https报文)的实施原理也是类似的,这里不再对其进行赘述。

步骤s150:若在连接信息表中没有匹配出与五元组信息对应的处理标记,则将网络层报文进行卸载处理,获得卸载后的网络层报文,并发送卸载后的网络层报文。

其中,该步骤s150的实施原理和实施方式与步骤s140的实施原理和实施方式是相似或类似的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤s140的描述。

在上述的实现过程中,若处理标记为放行标记,则根据报文载荷确定转发路径,并根据转发路径转发网络层报文;若处理标记为卸载标记,则将网络层报文进行卸载处理,获得卸载后的网络层报文,并发送卸载后的网络层报文;在保证卸载设备对卸载和非卸载的混合流量处理的效率的情况下,完成卸载设备对正常需要ssl卸载的流量报文进行卸载,从而减轻了服务器处理握手和加解密的计算压力。

为了便于理解,下面在介绍对网络层报文的报文载荷的特征进行处理之前,先介绍网络层报文的报文载荷为ssl报文时,对ssl报文的握手过程以及握手过程出现的错误特征进行简单描述;以终端设备与第一服务器建立握手过程为例,这里的建立握手过程包括:

首先,终端设备向第一服务器发送建立握手请求(clienthello),该建立握手请求中包括:ssl协议版本、随机数(randomnumber)以及所有支持的多个密码套件算法。

其次,第一服务器在接收到终端设备发送的立握手请求之后,向终端设备返回建立握手响应(serverhello),建立握手响应包括:ssl协议版本、随机数、服务器从多个密码套件算法中选择的密码套件算法(ciphersuite)、会话标识(sessionid),在向终端设备发送建立握手响应之后,第一服务器还可以向终端设备发送数字证书(certification),以及信息发送完成响应(serverhellodone)。

再次,终端设备对第一服务器发送的数字证书(certification)进行验证(这里仅描述终端设备单向验证第一服务器的过程),也就是说,终端设备验证第一服务器的身份是可以信任的,而且不是第三方冒充的,终端设备获得证书中心服务器的公钥,并使用该公钥验证第一服务器发送的数字证书是否真实有效,该数字证书是证书中心服务器建立握手之前用私钥签名颁发给第一服务器的,因此,终端设备使用公钥对数字证书内容进行解密即可获知内容是否真实有效。

然后,终端设备在验证数字证书有效之后,使用第一服务器的公钥加密通信主密钥生成密钥交换请求(clientkeyexchange),向第一服务器发送密钥交换请求,使用生成的通信主密钥加密第一个握手消息,并将该加密的握手消息(encryptedhandshakemessage)发送给第一服务器。

最后,第一服务器使用自己的私钥解密密钥交换请求(clientkeyexchange)获得通信主密钥,并使用通信主密钥解密加密的握手消息之后,向终端设备发送交换密钥响应(changecipherspec),交换密钥响应用于告知终端设备后续的通信内容都是使用该主密钥进行加密的。

可选地,在对网络层报文进行处理时,还可以根据网络层报文是否属于无加密算法套件的情形是否来确定处理方式,包括:

步骤s210:若在连接信息表中没有匹配到五元组信息,则提取网络层报文的特征值。

上述步骤s210中的提取网络层报文的特征值有很多种方式:

第一种方式,将报文载荷为安全套接层协议的网络层报文转换为二进制数据,使用散列函数对二进制数据进行计算,获得网络层报文对应的散列值,将网络层报文对应的散列值作为网络层报文的特征值。

第二种方式,将报文载荷为安全套接层协议的网络层报文转换为二进制数据,再将二进制数据转换为灰度图像或者二值图像,再使用散列函数对灰度图像或者二值图像进行计算,获得网络层报文对应的散列值,将网络层报文对应的散列值作为网络层报文的特征值。

第三种方式,使用主成分分析(principalcomponentanalysis,pca)或者方向梯度直方图(histogramoforientedgradient,hog)特征提取算法对报文载荷为安全套接层协议的网络层报文进行特征提取,获得网络层报文的特征值。

第四种方式,将报文载荷为安全套接层协议的网络层报文转换为二进制数据,再将二进制数据转换为灰度图像或者二值图像;然后使用特征提取神经网络模型对灰度图像或者二值图像进行特征提取,获得网络层报文的特征值;特征提取网络模型是指从图像中提取图像特征的神经网络模型;此处的特征提取网络模型可以包括:骨干神经网络和尺度提取网络;其中,这里骨干神经网络可用于提取图像中的特征,这里的尺度提取网络用于提取待检测图像的多尺度特征。

第五种方式,将报文载荷为安全套接层协议的网络层报文转换为二进制数据,再将二进制数据转换为灰度图像或者二值图像;然后使用特征提取器(featureextractor)对灰度图像或者二值图像进行特征提取,获得网络层报文的特征值;此处的特征提取器可以是深度神经网络,常用的深度神经网络包括:vgg网络、resnet网络、wideresnet网络和inception网络等。

步骤s220:将网络层报文的特征值与特征表中特征作对比,判断网络层报文是否属于无加密算法套件的情形,特征表包括无加密算法特征。

无套件算法特征是指服务器不支持终端设备提供的套件算法时,服务器返回给终端设备的错误响应特征。上述步骤s220中的无套件算法特征的获得方式有很多种:第一种方式,拦截第一服务器在不支持终端设备提供的套件算法时,返回给终端设备的错误响应报文,并根据上述特征值提取的多种方式提取错误响应报文的特征值;第二种方式,使用已存在的错误响应报文的特征值对生成对抗网络(generativeadversarialnetwork,gan)进行训练,获得训练后的gan模型,使用训练后的gan模型根据错误响应报文生成错误响应报文的特征值。

特征表是指使用上述的多种特征值提取方式提取的特征值构建的特征表。上述步骤s220中的特征表的获得方式有很多种:第一种方式,人工将获得的特征值插入数据库的特征表中;第二种方式,根据上述方式提取的特征值或者生成的特征值构建或者维护特征表。

上述步骤s220中的将网络层报文的特征值与特征表中特征作对比的实施方式有很多种:第一种实施方式,计算网络层报文的特征值与特征表中特征的相似度,根据该相似度来进行对比;第二种实施方式,计算网络层报文的特征值与特征表中特征的差异值,根据该差异值来进行对比;第三种实施方式,分别计算网络层报文的特征值对应的第一哈希值,以及特征表中特征对应的第二哈希值,并将第一哈希值与第二哈希值进行对比。

上述步骤s220中的判断网络层报文是否属于无加密算法套件的情形有很多种实施方式:第一种实施方式,从特征表中查找到无套件算法特征,并计算网络层报文的特征值与无套件算法特征的相似度,若相似度超过预设阈值,则确定网络层报文属于无加密算法套件的情形;第二种实施方式,计算网络层报文的特征值与特征表中每个特征的相似度,若特征表中相似度最大的特征是无套件算法特征,则确定网络层报文是属于无加密算法套件的情形。

步骤s230:若网络层报文的特征值是无套件算法特征,则在连接信息表中将网络层报文中的五元组信息对应的处理标记设置为放行标记。

上述步骤s230的实施方式例如:若网络层报文的特征值是无套件算法特征,则在数据库的连接信息表中将网络层报文中的五元组信息对应的处理标记设置为放行标记。在上述的实现过程中,通过在连接信息表中将特征表中无套件算法特征对应的处理标记设置为放行标记,使得卸载设备后续根据连接信息表判断网络层报文存在无套件算法特征,则直接将网络层报文放行,避免了后续卸载设备仍然对无套件算法特征的报文进行ssl卸载的情况,从而有效地提高了卸载设备对卸载和非卸载的混合流量处理的效率。

可选地,在对网络层报文进行处理时,还可以根据网络层报文是否属于无数字证书的情形来确定处理方式,包括:

步骤s240:若在连接信息表中没有匹配到五元组信息,则提取网络层报文的特征值。

其中,该步骤s240的实施原理和实施方式与步骤s210的实施原理和实施方式是相似或类似的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤s210的描述。

步骤s250:根据网络层报文与特征表中特征的相似度,判断网络层报文是否属于无数字证书的情形。

无数字证书特征,是指卸载设备上没有存储该网络层报文对应的数字证书,因此无法对该网络层报文进行ssl卸载(即对该网络层报文进行加密或者解密),导致在对后续的ssl报文进行ssl卸载的过程都会出现类似的错误。

其中,该步骤s250的实施原理和实施方式与步骤s220的实施原理和实施方式是相似或类似的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤s220的描述。

步骤s260:若网络层报文的特征值是无数字证书特征,则在连接信息表中将网络层报文中的五元组信息对应的处理标记设置为放行标记。

其中,该步骤s260的实施原理和实施方式与步骤s230的实施原理和实施方式是相似或类似的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤s230的描述。

在上述的实现过程中,通过在连接信息表中将特征表中无数字证书特征对应的处理标记设置为放行标记,使得卸载设备后续处理的网络层报文中,若网络层报文属于无数字证书的情形,则直接将网络层报文放行,避免了卸载设备仍然对无数字证书特征的报文进行ssl卸载的情况,从而有效地提高了卸载设备对卸载和非卸载的混合流量处理的效率。

请参见图6示出的本申请实施例提供的报文处理装置的结构示意图;本申请实施例提供了一种报文处理装置300,包括:

协议报文拦截模块310,用于拦截报文载荷包括安全套接层数据的网络层报文。

处理标记匹配模块320,用于从连接信息表中查找网络层报文中的五元组信息对应的处理标记,连接信息表中包含五元组信息与处理标记的对应关系,处理标记表征对报文的处理方式。

网络报文发送模块330,用于若处理标记为放行标记,则根据报文载荷确定转发路径,并根据转发路径转发网络层报文。

可选地,在本申请实施例中,还包括:

网络报文卸载模块,用于若处理标记为卸载标记,则将网络层报文进行卸载处理,获得卸载后的网络层报文,并发送卸载后的网络层报文,卸载处理表征对网络层报文中的安全套接层协议报文进行加解密处理。

可选地,在本申请实施例中,协议报文拦截模块具体用于:使用深度数据包检测技术对报文载荷进行检测和分类,获得分类后的报文载荷;若分类后的报文载荷包括安全套接层数据,则拦截报文载荷包括安全套接层数据的网络层报文。

可选地,在本申请实施例中,还包括:

第一特征提取模块,用于若在连接信息表中没有匹配到五元组信息,则提取网络层报文的特征值。

套件特征判断模块,用于将网络层报文的特征值与特征表中特征作对比,判断网络层报文是否属于无加密算法套件的情形,特征表包括无加密算法特征。

第一放行标记模块,用于若网络层报属于无加密算法套件的情形,则在连接信息表中将网络层报文中的五元组信息对应的处理标记设置为放行标记。

可选地,在本申请实施例中,还包括:

第二特征提取模块,用于若在连接信息表中没有匹配到五元组信息,则提取网络层报文的特征值。

证书特征判断模块,用于将网络层报文的特征值与特征表中特征作对比,判断网络层报文是否属于无数字证书的情形,特征表包括无数字证书特征。

第二放行标记模块,用于若网络层报文属于无数字证书的情形,则在连接信息表中将网络层报文中的五元组信息对应的处理标记设置为放行标记。

应理解的是,该装置与上述的报文处理方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统中的软件功能模块。

请参见图7示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备400,包括:处理器410和存储器420,存储器420存储有处理器410可执行的机器可读指令,机器可读指令被处理器410执行时执行如上的方法。

本申请实施例还提供了一种存储介质430,该存储介质430上存储有计算机程序,该计算机程序被处理器410运行时执行如上的方法。

其中,存储介质430可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom),可编程只读存储器(programmablered-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。

本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以使用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。

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