一种流量识别方法、装置、服务器及存储介质与流程

文档序号:17071826发布日期:2019-03-08 23:23阅读:182来源:国知局
一种流量识别方法、装置、服务器及存储介质与流程

本发明实施例涉及互联网技术领域,尤其涉及一种流量识别方法、装置、服务器及存储介质。



背景技术:

随着互联网技术的飞速发展,出现了各类网络传输协议,其中,安全套接字超文本传输协议(hypertexttransferprotocoloversocketlayer,https)由于其较好的安全性能,被广泛应用于互联网中的安全敏感的通讯,例如交易支付、电子银行等。而流量识别作为网络监控的关键环节,可以防止非法网站的恶意连接,保证https流量在网络传输过程中的安全。

https的广泛应用为网页、手机应用提供了通信安全保障,确保了用户的个人信息不被泄漏,但同时也给https流量识别带来了不便,由于传输数据的加密,运营商或安全网关等无法对传输数据中的信息进行安全检测,无法防止用户受到非法网站或软件的诱骗,如果要对传输数据信息进行安全检测,必须先对传输数据进行解密,但这会使数据传输的安全性降低。



技术实现要素:

本发明提供了一种流量识别方法、装置、服务器及存储介质,以实现提高https流量数据传输的安全性。

第一方面,本发明实施例提供了一种流量识别方法,包括:

获取https流量数据;

从所述https流量数据中分离出两个或两个以上tls承载数据;

对满足预设条件的tls承载数据提取属性值后并入当前特征集中;

并入后的当前特征集与预设非法特征库的匹配度大于预设阈值,则所述https流量数据为非法流量数据。

进一步的,所述满足预设条件的tls承载数据为握手类型值为1的tls承载数据。

进一步的,所述提取属性值为通过tls标准协议栈提取。

进一步的,在对满足预设条件的tls承载数据提取属性值后并入当前特征集中之前,还包括:

前一https流量数据为合法流量数据,则将前一https流量数据中提取的属性值插入后的特征集作为当前特征集;

前一https流量数据为非法流量数据,则创建空白特征集作为当前特征集。

进一步的,所述属性值包括:时间戳、签名算法、密钥算法套件和服务器名称。

进一步的,所述对满足预设条件的tls承载数据提取属性值后并入当前特征集中,包括:

对满足预设条件的tls承载数据提取属性值;

将提取的属性值插入当前特征集中;

将插入后的当前特征集中的属性值根据所述时间戳排序,排序后的当前特征集作为并入后的当前特征集。

进一步的,在并入后的当前特征集与预设非法特征库的匹配度大于预设阈值,则所述https流量数据为非法流量数据之后,还包括:

销毁并入后的当前特征集。

第二方面,本发明实施例提供了一种流量识别装置,包括:

数据获取模块,用于获取https流量数据;

数据分离模块,用于从所述https流量数据中分离出两个或两个以上tls承载数据;

属性值提取模块,用于对满足预设条件的tls承载数据提取属性值后并入当前特征集中;

识别模块,用于识别若并入后的当前特征集与预设非法特征库的匹配度大于预设阈值,则所述https流量数据为非法流量数据。

第三方面,本发明实施例提供了一种服务器,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的流量识别方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的流量识别方法。

本发明实施例提供了一种流量识别方法、装置、服务器及存储介质。该方法包括:获取https流量数据;从所述https流量数据中分离出两个或两个以上tls承载数据;对满足预设条件的tls承载数据提取属性值后并入当前特征集中;并入后的当前特征集与预设非法特征库的匹配度大于预设阈值,则所述https流量数据为非法流量数据。通过上述技术方案,实现了提高流量数据传输的安全性。

附图说明

图1为本发明实施例一提供的一种流量识别方法的流程图;

图2为本发明实施例二提供的一种流量识别方法的流程图;

图3为本发明实施例二提供的tls标准协议栈的示意图;

图4为本发明实施例二提供的提取属性值与非法特征库进行匹配的实现流程图;

图5为本发明实施例三提供的一种流量识别装置的结构示意图;

图6为本发明实施例四提供的一种服务器的硬件结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种流量识别方法的流程图,本实施例可适用于对https流量数据进行识别的情况。具体的,该流量识别方法可以由流量识别装置执行,该流量识别装置可以通过软件和/或硬件的方式实现,并集成在服务器中。进一步的,服务器包括但不限定于:网络服务器、系统后台服务器以及云端服务器。

参考图1,该方法具体包括如下步骤:

s110、获取https流量数据。

具体的,https协议是一种应用层协议,其是在http上层加入ssl(securesocketslayer,安全套接字层)/tls(transportlayersecurity,传输层安全协议),从而通过采用公钥加密法保障应用程序之间的数据传输无法被窃听、篡改或冒充等。通过https协议传输处理的数据即为https流量数据,https流量数据可以是由不同的底层协议所承载的,在网络数据传输的过程中,将不同底层承载方式的https数据收集起来,并将https流量数据的数据包按照时间顺序进行排列,以进行进一步的处理。其中,底层协议包括基于以太网的点对点通讯协议(point-to-pointprotocoloverethernet,pppoe)、gprs隧道协议(gprstunnellingprotocol,gtp)、通用路由封装协议(genericroutingencapsulation,gre)。

s120、从所述https流量数据中分离出两个或两个以上tls承载数据。

具体的,按照底层协议对https流量数据进行解析,可从https流量数据中识别并分离出tls协议所承载的数据,即tls承载数据,tls承载数据并非所传输的具体数据内容,而是与tls公钥加密相关的数据。分离出的多个tls承载数据并不都是需要解析的,而是需要从中判别出满足预设条件的,以进一步提取出属性值,用于识别https流量数据是否为非法流量数据。

进一步的,在分离tls承载数据之前,可依据https流量的源ip、目的ip及tcp端口号对https流量数据进行分组管理,以保障客户端和服务器之间交换的报文不会丢失或者失序。其中,tcp是一种面向连接的、可靠的、基于字节流的传输层通信协议,tcp端口就是为tcp协议通信提供服务的端口。与此同时,对于每组https流量数据的数据包进行排序和重组,以防止数据传输过程中出现乱序、丢包的情况,不便于对https流量数据进行解析。

s130、对满足预设条件的tls承载数据提取属性值后并入当前特征集中。

具体的,对分离出的tls承载数据进行分析,部分tls承载数据的握手类型(handshaketype)非clienthello,这类tls承载数据中不包含流量识别所需要的属性值,对这类tls承载数据不作处理;对于握手类型为clienthello的tls承载数据,提取属性值并入当前特征集中,以进行流量识别。其中,属性值是指时间戳、签名算法等用于识别https流量数据是否非法的数据特征,当前特征集是用于存储https流量数据属性值的数据集,其可能包含了前一组https流量数据的属性值,将新提取到的属性值并入所述当前特征集中,以完成当前特征集的更新。

s140、并入后的当前特征集与预设非法特征库的匹配度大于预设阈值,则所述https流量数据为非法流量数据。

具体的,预设非法特征库是基于非法网站或非法访问的流量数据建立,通过对非法的流量数据进行特征提取,将提取出的非法特征集合在一起,建立非法特征库。将对tls承载数据提取属性值后形成的当前特征集与非法特征库进行比较,判断当前特征集中的属性值是否包含非法特征以及非法特征所占的比例。若匹配度大于预设阈值,即非法特征所占的比例超过一定阈值,则将所述https流量数据识别为非法流量数据。示例性的,预设阈值为70%,则当前特征集中的属性值与非法特征库进行匹配,若符合非法特征的属性值个数超过了当前特征集中属性值总个数的70%,则判定所述https流量数据为非法流量数据。在此基础上,可根据识别结果生成提示信息并推送至源ip的客户端(web浏览器、app等),提示当前访问为不安全/非法的,并自动进行拦截。如果并入后的当前特征集与预设非法特征库的匹配度没有超过预设阈值,则判定所述https流量数据为合法流量数据,继续对网络中的https流量数据进行采集。

本发明实施例一提供的一种流量方法,通过获取https流量数据;从所述https流量数据中分离出两个或两个以上tls承载数据;对满足预设条件的tls承载数据提取属性值后并入当前特征集中;并入后的当前特征集与预设非法特征库的匹配度大于预设阈值,则所述https流量数据为非法流量数据,实现了提高流量数据传输的安全性。

实施例二

图2为本发明实施例二提供的一种流量识别方法的流程图,本实施例是在上述实施例的基础上,进行具体优化。具体的,参考图2,该方法具体包括如下步骤:

s210、获取https流量数据。

需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。

s220、从所述https流量数据中分离出两个或两个以上tls承载数据。

s230、对满足预设条件的tls承载数据提取属性值。

进一步的,所述满足预设条件的tls承载数据为握手类型值为1的tls承载数据。

具体的,只有握手类型(handshaketype)值为1,即握手类型为clienthello的tls承载数据可提取出相关的属性值以进行流量识别。在对tls承载数据解析的过程中,需要将非clienthello的数据删除,只保留clienthello的数据。依据tls标准协议中的rfc5246-a.4.handshakeprotocol对tls承载数据的握手类型进行判断,具体如下:

enum{

hello_request(0),client_hello(1),server_hello(2),certificate(11),server_key_exchange(12),certificate_request(13),server_hello_done(14),certificate_verify(15),client_key_exchange(16),finished(20)

(255)

}handshaketype;

进一步的,所述提取属性值为通过tls标准协议栈提取。

图3为本发明实施例二提供的tls标准协议栈的示意图。对于handshaketype为1的tls承载数据,通过解析tls标准协议栈(tls-clienthello协议栈)对tls承载数据进行分析,从中提取出时间戳、签名算法等属性值。

进一步的,所述属性值包括:时间戳、签名算法、密钥算法套件(ciphersuites)和服务器名称(servername)。

具体的,时间戳是一组可验证的字符序列,唯一地标识某一刻的时间,用于标识https流量数据的生成、访问时间等。签名算法是指数字签名的算法,数字签名是只有信息的发送者才能产生的、别人无法伪造的一段数字串,这段数字串是对数据的发送者发送数据真实性的有效证明,用以认证数据来源,并核实数据在传输过程中是否发生变化,例如rabin签名、dss签名、rsa签名。密钥算法套件是在传输层安全(tls)/安全套接字层(ssl)网络协议中定义的,包括协商安全设置时使用的身份验证、加密、消息认证码(mac)和密钥交换算法。服务器名称是数据传输的关键节点,通过识别传输的节点确认https流量数据的传输路径和处理过程的安全性。对tls标准协议栈进行解析可提取出上述几种属性值,并与非法特征库中存储的非法特征进行匹配,如果当前特征集中的时间戳、签名算法等与非法特征的匹配度超过一定阈值,说明属性值符合非法特征。

s240、将提取的属性值插入当前特征集中

进一步的,在对满足预设条件的tls承载数据提取属性值后并入当前特征集中之前,还包括:

前一https流量数据为合法流量数据,则将前一https流量数据中提取的属性值插入后的特征集作为当前特征集;

前一https流量数据为非法流量数据,则创建空白特征集作为当前特征集。

具体的,当前一https流量数据为合法流量数据时,则对前一https流量数据提取出的属性值所构成的特征集即为当前特征集,直接将此次流量识别过程中提取出的属性值并入当前特征集即可;当前一https流量数据为非法流量数据时,在识别之后会销毁特征集,以避免此次流量识别受到上次的非法特征的影响,因此,需要新建一个空白的特征集用于存储此次提取出的属性值。

s250、将插入后的当前特征集中的属性值根据所述时间戳排序,排序后的当前特征集作为并入后的当前特征集

具体的,将当前特征集中的属性值根据时间戳进行排序,以明确所述属性值和tls承载数据在https流量数据中所处的位置,便于对流量数据进行管理,防止由于数据传输过程中的乱序等情况带来的干扰。

s260、并入后的当前特征集与预设非法特征库的匹配度大于预设阈值?

具体的,判断并入后的当前特征集与预设非法特征库的匹配度是否大于预设阈值,若是,则执行步骤s270;若否则执行步骤s280。

s270、所述https流量数据为合法流量数据。

具体的,若并入后的当前特征集与预设非法特征库的匹配度不大于预设阈值,说明当前特征集中的大部分属性值都属于合法特征,识别所述https流量数据为合法流量数据,可以继续进行传输和访问。

s280、则所述https流量数据为非法流量数据,执行步骤s290。

具体的,若并入后的当前特征集与预设非法特征库的匹配度大于预设阈值,说明当前特征集中有相当一部分属性值符合非法特征,识别所述https流量数据为非法流量数据,执行步骤s290,并根据识别结果生成提示信息并推送至源ip的客户端(web浏览器、app等),提示当前访问为不安全/非法的,并自动进行拦截。

s290、销毁并入后的当前特征集。

具体的,将当前特征集销毁,避免其中存储的非法的属性值影响之后的流量识别。

图4为本发明实施例二提供的提取属性值与非法特征库进行匹配的实现流程图。如图4所示,将提取出的属性值不断并入到当前特征集中(如果当前特征集之前已经被销毁,则需要建立空白特征集),并按照时间戳对当前特征集中的属性值进行排序。将排序后的当前特征集与非法特征库进行匹配,若匹配度大于预设阈值,则https流量数据为非法流量数据,输出匹配结果并销毁特征集,否则继续对网络中的http流量数据提取属性值并进行处理。

本发明实施例二提供的一种流量识别方法,在上述实施例的基础上进行优化,通过解析tls标准协议栈提取出属性值,将属性值并入当前特征集中,实现当前特征集的更新;并将当前特征集中的属性值根据时间戳进行排序,以明确所述属性值和tls承载数据在https流量数据中所处的位置,便于对流量数据进行管理,防止由于数据传输过程中的乱序等情况带来的干扰;通过将当前特征集与预设特征库进行匹配,实现https数据的流量识别。

实施例三

图5为本发明实施例三提供的一种流量识别装置的结构示意图。本实施例提供的流量识别装置包括:

数据获取模块310,用于获取https流量数据;

数据分离模块320,用于从所述https流量数据中分离出两个或两个以上tls承载数据;

属性值提取模块330,用于对满足预设条件的tls承载数据提取属性值后并入当前特征集中;

识别模块340,用于识别若并入后的当前特征集与预设非法特征库的匹配度大于预设阈值,则所述https流量数据为非法流量数据。

本发明实施例四提供的一种流量识别装置,通过数据获取模块获取https流量数据,通过数据分离模块从所述https流量数据中分离出两个或两个以上tls承载数据;通过属性值提取模块对满足预设条件的tls承载数据提取属性值后并入当前特征集中;通过识别模块识别若并入后的当前特征集与预设非法特征库的匹配度大于预设阈值,则所述https流量数据为非法流量数据,实现了提高流量数据传输的安全性。

在上述实施例的基础上,所述满足预设条件的tls承载数据为握手类型值为1的tls承载数据。

进一步的,所述提取属性值为通过tls标准协议栈提取。

进一步的,所述装置还包括:

当前特征集创建模块,用于在对满足预设条件的tls承载数据提取属性值后并入当前特征集中之前,若前一https流量数据为合法流量数据,则将前一https流量数据中提取的属性值插入后的特征集作为当前特征集;若前一https流量数据为非法流量数据,则创建空白特征集作为当前特征集。

进一步的,所述属性值包括:时间戳、签名算法、密钥算法套件和服务器名称。

进一步的,所述属性值提取模块330包括:

提取单元,用于对满足预设条件的tls承载数据提取属性值;

插入单元,用于将提取的属性值插入当前特征集中;

排序单元,用于将插入后的当前特征集中的属性值根据所述时间戳排序,排序后的当前特征集作为并入后的当前特征集。

进一步的,所述装置,还包括:

销毁模块,用于在并入后的当前特征集与预设非法特征库的匹配度大于预设阈值,则所述https流量数据为非法流量数据之后,销毁并入后的当前特征集。

本发明实施例三提供的流量识别装置可以用于执行上述任意实施例提供的流量识别方法,具备相应的功能和有益效果。

实施例四

图6为本发明实施例四提供的一种服务器的硬件结构示意图。如图6所示,本实施例提供的一种服务器,包括:处理器410和存储装置420。该服务器中的处理器可以是一个或多个,图6中以一个处理器410为例,所述服务器中的处理器410和存储装置420可以通过总线或其他方式连接,图6中以通过总线连接为例。

所述一个或多个程序被所述一个或多个处理器410执行,使得所述一个或多个处理器实现上述实施例中任意所述的流量识别方法。

该服务器中的存储装置420作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中流量识别方法对应的程序指令/模块(例如,附图5所示的流量识别装置中的模块,包括数据获取模块310、数据分离模块320、属性值提取模块330以及识别模块340)。处理器410通过运行存储在存储装置420中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的流量识别方法。

存储装置420主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等(如上述实施例中的属性值、非法特征库等)。此外,存储装置420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

并且,当上述服务器中所包括一个或者多个程序被所述一个或者多个处理器410执行时,程序进行如下操作:获取https流量数据;从所述https流量数据中分离出两个或两个以上tls承载数据;对满足预设条件的tls承载数据提取属性值后并入当前特征集中;并入后的当前特征集与预设非法特征库的匹配度大于预设阈值,则所述https流量数据为非法流量数据。

本实施例提出的设备与上述实施例提出的流量识别方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述任意实施例,并且本实施例具备与执行流量识别方法相同的有益效果。

在上述实施例的基础上,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被流量识别装置执行时实现本发明上述任意实施例中的流量识别方法,该方法包括:获取https流量数据;从所述https流量数据中分离出两个或两个以上tls承载数据;对满足预设条件的tls承载数据提取属性值后并入当前特征集中;并入后的当前特征集与预设非法特征库的匹配度大于预设阈值,则所述https流量数据为非法流量数据。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的流量识别方法操作,还可以执行本发明任意实施例所提供的流量识别方法中的相关操作,且具备相应的功能和有益效果。

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

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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