具体实施方式
本发明实施例提供一种网络流量特征识别规则的建立方法和一种网络流量识别控制方法。本发明实施例还提供相应的装置。以下分别进行详细说明。
请参考图1,本发明实施例提供一种网络流量特征识别规则的建立方法,应用于分析中心服务器。该分析中心服务器与网络流量设备远程连接,可用于对网络流量设备遇到的未知网络流量进行流量特征提取。该方法包括:
101、分析中心服务器接收网络流量样本。
分析中心服务器接收的未知网络流量样本可以是网络流量设备上传的,也可以是用户上传的。
102、获取所述网络流量样本的载荷数据,从所述载荷数据中提取流量特征,其中,所述流量特征包括:标识特征、基本特征、行为特征、安全特征和内容特征中的至少一个。
所述流量特征包括:标识特征、基本特征、行为特征、安全特征和内容特征中的至少一个。
对于载荷数据是相对于需要提取的特征而言的,例如,对于所述流量特征属于会话层、表示层、应用层的字段,需要获取会话层、表示层、应用层的数据,而这部分数据对应于传输层报文的载荷数据。
流量特征提取方式由人工预先设置,分析中心服务器可以按照该特征提取方式直接对网络流量的报文数据等进行挖掘提取出有用的信息,例如:预设提取安全特征和内容特征,以判断该流量是否属于加密视频流量。在某些情况下,例如根据预设的特征提取方式不能提取到有效地流量特征时,可以采取人工分析或者与人工分析相结合的方式,提取未知网络流量样本的流量特征。
103、当流量特征包含的各个特征参量达到相应阈值时,确定该网络流量属于所述相应阀值对应的类别,将所述流量特征与类别对应存储,以生成特征识别规则。
分析中心服务器可以设定各种阈值对网络流量进行特征刻画,建立特征识别规则。流量特征包含多个特征参量,可以为每个特征参量设定一个或者一组阈值,当一个或者多个特征参量达到相应的阈值时,就可以确定该网络流量属于相应的类别。可以定义各种适于实际的类别,而不必仅仅按照应用协议的大类或者小类名称对网络流量进行分类。例如,可以设置一个带宽占用阈值,在带宽占用值超多该带宽占用阈值时,将该网络流量分入带宽消耗类别。
104、将特征识别规则下发给网络流量设备。
该特征识别规则用于下发给网络流量设备,使网络流量设备可以按照特征识别规则识别网络流量。
在一个实施例中,步骤102中预设的特征提取方式可以是:
a、提取所述网络流量样本的源IP地址、目的IP地址、源端口、目的端口、IP层协议类型。
可以采用现有的NetFlow分析技术提取对应于OSI参考模型中第2到4层网络流量的信息,提取到的NetFlow特征包括源IP地址、目的IP地址、源端口、目的端口、IP层协议类型等。
b、根据所述源IP地址和与目的IP地址,结合已知的第三方数据库提取用户属性,所述第三方数据库中保存有用户属性与IP地址的对应关系。
用户属性可以包括用户名、手机号、用户ID、组织机构属性、地理区域属性等特征中的至少一个。往往在第三方的数据库中会保存有源IP地址与用户属性的对应关系列表等,可以通过获取的源IP地址从已知的第三方数据库中提取用户属性。
c、从所述网络流量样本包含的传输控制协议TCP的协议栈指纹,或者超文本传输协议HTTP和文件传输协议FTP的版本字段,或者报文数据包含的关键字段中,提取终端与服务器应用环境属性。
终端与服务器应用环境属性包括终端与服务器采用的软件的类型与版本,例如终端采用的操作系统、浏览器等软件的类型及版本,以及服务器采用的操作系统等软件的类型及其版本等。网络流量包含的传输控制协议(TransmissionControl Protocol,TCP)的协议栈指纹包括一些独一无二的特性,通过这些特征,可以准确定位操作系统类型及其版本。也可以利用网络流量中包含的已知协议例如超文本传输协议(HyperText Transfer Protocol,HTTP)和文件传输协议(File Transfer Protocol,FTP)的版本字段来获取终端与服务器应用环境属性。还可以直接从网络流量的报文数据包含的各种信息例如关键字段等以获取终端与服务器应用环境属性。
d、将所述网络流量样本包含的报文数据与预先建立的应用报文数据库进行比较,以从所述应用报文数据库保存的报文数据与标识特征的对应关系中,提取标识特征。
可以预先建立一个应用报文数据库,其中保存有各种常用的应用报文数据及其标识特征。将网络流量样本与该应用报文数据库进行对比可以获取大部分网络流量的标识特征,标识特征包括应用协议的类型、名称及版本号等。还可以直接从网络流量的报文数据中包含的各种信息例如关键字段等以获取标识特征。
e、从所述未知网络流量样本中提取基本特征、行为特征、安全特征和内容特征。
可以直接从网络流量的报文数据包含的各种信息例如关键字段以获取基本特征、行为特征、安全特征和内容特征等。其中,基本特征可以包括:连接数统计、端口号域值范围、是否使用动态端口等;行为特征可以包括:客户端与服务器端的连接交互方式、带宽消耗规律、是否传输文件、是否传输音频、是否传输视频等;安全特征包括:是否加密传输、是否压缩传输、是否有其它逃避识别的特性等;内容特征包括:传输的文件名、文件性质、文件内容等,其中文件内容可以是普通文件、音频、视频、图片、脚本、可执行二进制文件等。
提取了上述各种流量特征后,就可以生成特定格式的流量特征,本发明中将该特定格式的流量特征称为Appflow流量特征。请参考图5,Appflow流量特征包括:Appflow版本号、Netflow特征和应用层特征,其中应用层特征包括用户属性、终端与服务器端应用属性和应用流量属性,应用流量属性又包括标识特征、基本特征、行为特征、安全特征和内容特征。Appflow流量特征包括了采用上述提取方法能够提取到的未知网络流量的尽量多的各种特征,从而方便识别该未知网络流量的类别,方便对该未知网络流量进行精细的控制。可以解决现有技术中,当用户不熟悉某大类或者某小类的网络流量的详细特征时,就不能制定适当的控制策略的问题。
在一个实施例中,步骤103中将特征识别规则下发给所述网络流量设备的步骤具体可以是包括:
将建立好的特征识别规则存储在分析中心服务器的应用知识库中;
在收到网络流量设备发送的更新请求时,将所述应用知识库中的特征识别规则下发给所述网络流量设备。
在其它实施例中,分析中心服务器也可以定期发送更新的特征识别规则给各个网络流量设备。
应用知识库是分析中心服务器上的一个数据库,存储所有建立好的特征识别规则。各个网络流量设备可以将其本地知识库和分析中心服务器上的应用知识库进行比较,判断版本是否相同,在版本不同时发送更新请求给分析中心服务器。分析中心服务器收到更新请求,就会将网络流量设备的本地知识库中缺少的特征识别规则下发给网络流量设备。
采用本发明实施例提供的网络流量特征识别规则的建立方法,分析中心服务器提取网络流量的流量特征后,可以按照流量特征的各个特征参量与阈值比较建立特征识别规则,用于对网络流量进行分类,解决了现有技术中需要预先安装并运行产生该网络流量的应用软件,才能建立相应的特征识别的规则的问题,通过将动态更新的特征识别规则下发给网络流量设备,可以持续提高网络流量设备对网络流量的分析识别及控制能力;还可以定义各种适于实际的类别,而不必仅仅按照应用协议的大类或者小类名称对网络流量进行分类。
请参考图2,本发明实施例还提供一种网络流量识别控制方法,应用于网络流量设备;该网络流量设备可以采用透明方式、路由方式、或者前两者的混合方式直路部署在网络中,也可以旁路部署在网络中;并且网络流量设备与中心分析服务器远程连接;其中,直路部署是指网络流量设备作为中转站,参与网络流量的接收和转发,旁路部署是指网络流量设备仅获取复制的网络流量,不参与网络流量的转发。该方法包括以下步骤:
201、网络流量设备采集网络流量样本。
202、根据预设的特征提取方式提取采集到的网络流量样本的流量特征。
所述流量特征包括用户属性、终端与服务器端应用属性和应用流量属性,所述应用流量属性包括标识特征、基本特征、行为特征、安全特征和内容特征。
本步骤中,按照预设的特征提取方式提取网络流量样本的流量特征,以便于识别该网络流量,提取到的流量特征愈多,则网络流量的可识别性就愈强。
203、根据所述特征识别规则对采集到的网络流量样本的流量特征进行识别,获得所述网络流量样本的类别,所述特征识别规则从分析中心服务器获得。
将采集到的流量特征与本地知识库中的特征识别规则进行对比,就可以识别出该网络流量样本的类别。并且可以根据特征识别规则输出特征格式的流量特征,即Appflow流量特征。
特征识别规则是分析中心服务器建立的,对应于各个类别的网络流量,随着处理的网络流量类别的增加,特征识别规则也在不断的增加。网络流量设备可以接收分析中心服务器定期下发的特征识别规则;也可以在需要时或者定期向分析中心服务器发送更新请求,接收所述分析中心服务器在收到更新请求后下发的特征识别规则。例如,网络流量设备可以定期将其本地知识库和分析中心服务器上的应用知识库进行比较,判断版本是否相同,在版本不同时发送更新请求给分析中心服务器;分析中心服务器收到更新请求,就会将网络流量设备中缺少的特征识别规则下发给网络流量设备。网络流量设备将收到的特征识别规则保存在本地知识库中。
204、根据所述类别获取预设的控制策略,并根据所述控制策略对所述网络流量进行相应操作。
控制策略是用户预先建立的,可以为每个类别的网络流量建立一种控制策略。网络流量设备在识别出网络流量的类别后,就可以根据该类别获取相应的控制策略,并按照该控制策略对该网络流量执行相应的操作,例如:阻断、放行、限流、干扰、审计等。
若本地存储中已有该类别网络流量的控制策略,则可以从本地存储中查询并获取预设的控制策略;若本地存储中没有该类别网络流量的控制策略,则可以将所述能够识别的网络流量样本的流量特征及类别输出到显示装置,供用户分析以制定控制策略,再接收用户输入的用于控制所述能够识别的网络流量的控制策略,并存储所述控制策略。
205、当根据特征识别规则不能对采集到的网络流量样本的流量特征进行识别时,将所述网络流量样本上传给分析中心服务器。
对于不能识别的网络流量样本,网络流量设备可以将该不能识别的网络流量上传给分析中心服务器,由该分析中心服务器对其进行分类,建立特征识别规则,请求接收分析中心服务器的该特征识别规则,以对后续同样的网络流量进行识别。
在一个实施例中,步骤202中预设的特征提取方式可以与上一实施例所述的特征提取方式相同,包括所述步骤a、b、c、d、e,此处不再详述。
需要说明的是,特定格式的Appflow流量特征,如图5所示,包括:Appflow版本号、Netflow特征和应用层特征,其中应用层特征包括用户属性、终端与服务器端应用环境属性和应用流量属性,应用流量属性又包括标识特征、基本特征、行为特征、安全特征和内容特征。具体如下:
[1]名称:AppFlow
[2]版本头格式
[3]NetFlow特征:为OSI参考模型中第2-4层特征,遵守IP数据流信息输出(IP Flow Information Export,IPFIX)定义(兼容NetFlow格式)
[4]应用层特征,如下:
[4.1]用户属性:可以包括用户名、手机号、用户ID、组织机构属性、地理区域属性等特征,例如:格式可以为{用户标识符(user identifier,UID)=V,用户名称=V,用户位置(Location)=V,…}
[4.2]终端与服务器端应用环境属性:可以包括终端采用的操作系统、浏览器等软件的类型及版本,以及服务器采用的操作系统等软件的类型及其版本等,例如:格式可以为{操作系统(Operating System,OS)类型=V,OS版本号=V,…}
[4.3]应用流量属性:可以按响应时序排列,还可把应用端的连接关系表达出来,如下所示:
标识特征:{应用协议类型=V,应用协议名称=V,应用协议版本号=V,…}
基本特征:{连接数=V,端口号域值=V,动态端口=V,…}
行为特征:{动态端口=V,连接交互模式=V,带宽消耗倾向=V,文件传输=V,语音传输=V,视频传输=V,…}
安全特征:{加密=V,压缩=V,逃避识别=V,…}
内容特征:{文件=V,图像=V,视频=V,…}
Appflow流量特征包括了采用上述提取方法能够提取到的未知网络流量的尽量多的各种特征,从而方便识别该未知网络流量的类别,方便对该未知网络流量进行精细的控制。
在一个实施例中,步骤201之前还包括:
建立网络流量的流表和/或会话表,并利用所述流表和/或会话表采网络流量样本。
可以为网络流量建立流表和/或会话表,并添加流和/或会话标识,以方便网络流量进行采样。
在该实施例的基础上,在为网络流量建立流表和/或会话表之前还可以包括一个预处理步骤,包括对网络流量进行IP报文分片重组和TCP流重组,以方便建立流表和/或会话表。
采用本发明实施例提供的网络流量识别控制方法,提取网络流量的流量特征后,可以按照特征识别规则识别其类别,该类别可以是特征识别规则定义的各种类别,而解决了现有技术中网络流量仅能按照应用协议的大类或者小类名称进行分类的局限,从而可以实现对网络流量的精细化控制;并且由于能够将不能识别的网络流量发给分析中心服务器并获取分析中心服务器下发的特征识别规则,从而可以持续提高对网络流量的识别和控制能力。
在一个应用场景中,假定出现了一种新的软件,采用的应用协议类型是在P2P基础上的改进。则按照现有技术,由于该新的软件的网络流量的协议类型不同于现有的P2P,则不能识别该网络流量;而采用本发明实施例的技术方案,不必局限于识别协议类型,可以按照其具体的流量特征进行分类识别,从而识别出该网络流量属于带宽消耗类别,进而对其进行相应的流量控制。
请参考图3,本发明实施例还提供一种分析中心服务器,包括:分析引擎单元302,以及分别与分析引擎单元302连接的样本库单元301和应用知识库单元303。其中:
样本库单元301,用于接收网络流量样本。
分析引擎单元302,用于获取网络流量样本的载荷数据,从载荷数据中提取流量特征,其中,流量特征包括:标识特征、基本特征、行为特征、安全特征和内容特征中的至少一个。
应用知识库单元303,用于当所述流量特征包含的各个特征参量达到相应阈值时,确定该网络流量属于所述相应阀值对应的类别,将所述流量特征与类别对应存储,以生成特征识别规则,并将所述特征识别规则下发给所述网络流量设备。
在一个实施例中,所述应用知识库单元303进一步包括:
存储单元,用于存储所述特征识别规则;
接收发送单元,用于接收所述网络流量设备发送的更新请求,将存储的特征识别规则下发给所述网络流量设备。
本发明实施例提供的分析中心服务器,提取未知网络流量的流量特征后,可以按照流量特征的各个特征参量与阈值的比较建立特征识别规则,用于对网络流量进行分类,解决了现有技术中需要预先安装并运行产生该网络流量的应用软件,才能建立相应的特征识别的规则的问题,通过将动态更新的特征识别规则下发给网络流量设备,可以持续提高网络流量设备对网络流量的分析识别及控制能力;还可以定义各种适于实际的类别,而不必仅仅按照应用协议的大类或者小类名称对网络流量进行分类。
请参考图4,本发明实施例还提供一种网络流量设备,包括:分析单元401,分别与所述分析单元401连接的采样单元402、控制单元403和知识库管理单元404,以及与所述控制单元403连接的策略单元405。其中:
所述知识库管理单元404,用于从分析中心服务器获取网络流量的特征识别规则。
所述采样单元402,用于采集网络流量样本,当根据特征识别规则不能对采集到的网络流量样本的流量特征进行识别时,将所述网络流量样本上传给分析中心服务器;。
所述分析单元401,用于根据预设的特征提取方式提取采集到的网络流量样本的流量特征,并根据特征识别规则对采集到的网络流量样本进行识别,获取所述网络流量样本的类别。其中,所述流量特征包括:应用环境属性、标识特征、基本特征、行为特征、安全特征和内容特征。
所述控制单元403,用于根据所述类别从所述策略单元405中获取预设的控制策略,并根据所述控制策略对所述网络流量进行相应操作。
在一个实施例中,采样单元402,具体用于接收网络流量,建立网络流量的流表和/或会话表,并利用所述流表和/或会话表采集网络流量样本。其中,建立网络流量的流表和/或会话表,并添加流和/或会话标识,是为了方便对网络流量进行采样。
在该实施例的基础上,网络流量设备还可以包括一个预处理单元,用于对网络流量进行IP报文分片重组和TCP流重组,以方便建立流表和/或会话表。
在一个实施例中,所述分析单元401包括一个加载于其上的本地知识库,所有的特征识别模块都存储在该本地知识库中。
在一个实施例中,所述知识库管理单元404进一步包括:
发送接收单元,用于向分析中心服务器发送更新请求,并接收所述分析中心服务器下发的特征识别规则。
具体的,知识库管理单元404可以周期性查看本地知识库与分析中心服务器的应用知识库的版本差异,在版本有差异时,同步两个知识库,即:向分析中心服务器发送更新请求,并将接收到的特征识别规则存储在本地知识库中,完成本地知识库的同步更新。知识库管理单元404还可以用于对本地知识库做完整性校验,以保证本地知识库的安全。
该网络流量设备可以采用透明方式、路由方式、或者前两者的混合方式直路部署在网络中,也可以旁路部署在网络中;并且网络流量设备与中心分析服务器远程连接;其中,直路部署是指网络流量设备作为中转站,参与网络流量的接收和转发,旁路部署是指网络流量设备仅获取复制的网络流量,不参与网络流量的转发。
具体的,该网络流量设备具体部署于网络中的网关位置,所包含的各个单元可以部署于同一台物理设备上,也可以分布式部署于多台物理设备上。在流量控制场合,可以独立采用本发明实施例的网络流量设备;也可以将本发明实施例提供的网络流量设备与现有的网络流量设备串接部署,对现有的网络流量设备未能识别的网络流量进一步识别;还可以将提取生成的Appflow流量特征输出该第三方设备。
本发明实施例提供的网络流量设备,提取网络流量的流量特征后,可以按照特征识别规则识别其类别,该类别可以是特征识别规则定义的各种类别,而解决了现有技术中网络流量仅能按照应用协议的大类或者小类名称进行分类的局限,从而可以实现对网络流量的精细化控制;并且由于能够将不能识别的网络流量发给分析中心服务器并获取分析中心服务器下发的特征识别规则,从而可以持续提高对网络流量的识别和控制能力。
请参考图6,本发明实施例提供一种网络流量控制系统,包括:分析中心服务器601和通过网络与该分析中心服务器601连接的多个网络流量设备602。
分析中心服务器601,用于接收网络流量样本;获取所述网络流量样本的载荷数据,从所述载荷数据中提取流量特征,其中,所述流量特征包括:标识特征、基本特征、行为特征、安全特征和内容特征中的至少一个,当所述流量特征包含的各个特征参量达到相应阈值时,确定该网络流量属于所述相应阀值对应的类别,并将所述特征识别规则下发给所述网络流量设备。
网络流量设备602,用于采集网络流量样本;根据预设的特征提取方式提取采集到的网络流量样本的流量特征,根据所述特征识别规则对采集到的网络流量样本的流量特征进行识别,获得所述网络流量样本的类别,所述特征识别规则从分析中心服务器获得;根据所述类别获取预设的控制策略,并根据所述控制策略对所述网络流量进行相应操作;当根据特征识别规则不能对采集到的网络流量样本的流量特征进行识别时,将所述网络流量样本上传给分析中心服务器。
所述流量特征包括用户属性、终端与服务器端应用属性和应用流量属性,所述应用流量属性包括标识特征、基本特征、行为特征、安全特征和内容特征。
本发明实施例提供的网络流量控制系统,可以按照流量特征的各个特征参量与阈值的比较建立特征识别规则,用于对网络流量进行分类,解决了现有技术中需要预先安装并运行产生该网络流量的应用软件,才能建立相应的特征识别的规则的问题;可以按照特征识别规则识别网络流量类别,该类别可以是特征识别规则定义的各种类别,解决了现有技术中网络流量仅能按照应用协议的大类或者小类名称进行分类的局限,从而可以实现对网络流量的精细化控制。
采用本发明实施例提供的技术方案:
分析中心服务器无需预先安装并运行产生该网络流量的应用软件就可以提取网络流量特征并建立特征识别规则,可以定义各种适于实际的类别,而不必仅仅按照应用协议的大类或者小类名称进行分类。
网络流量设备可以将未知网络流量发给分析中心服务器,获取分析中心服务器分析后下发的特征识别规则,实时更新本地的特征识别规则,因而,可以持续提高网络流量设备对网络流量的识别控制能力;多台网络流量设备在连接一台分析中心服务器时,还可以共享分析中心服务器的应用知识库。
提供了一种可以兼容Netflow与IPFIX的,描述OSI参考模型中第2到7层网络流量信息的Appflow流量特征格式,描述了用户属性、终端与服务器端应用属性和应用流量属性等多种特征,从而用户可以对网络流量制定更详细的控制策略,进行更精细的控制。
本以上对本发明实施例所提供的网络流量特征识别规则的建立方法、网络流量识别控制方法以及分析中心服务器和网络流量设备以及网络流量控制系统进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,不应理解为对本发明的限制。