一种数据特征提取的方法及装置的制造方法

文档序号:9791787阅读:495来源:国知局
一种数据特征提取的方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及通信技术领域,尤其涉及一种数据特征提取的方法及装置。
【背景技术】
[0002]随着互联网技术的飞速发展,新的应用和服务不断涌现,应用层协议层出不穷。这在带给人们极大便利的同时,其安全性问题也日趋严重。各种新的应用和未知协议导致网络越来越复杂并且难以管理。对应用层协议精确识别进而根据识别结果进行指定流量的管理是目前解决上述问题的主要方式,也是新一代防火墙的核心所在。目前,对应用层协议的识别,使用最广泛的技术为深度包检测(Deep Packet Inspect1n,DPI)技术,这也是最有效的技术,因为DPI技术主要是基于应用层特征的提取,根据提取的应用层特征,进行形成一定的规则,用于应用识别,所以在指定流量中提取出有效的应用层特征,是应用识别的主要工作。
[0003]目前,可以通过对网络流量的捕获分析而得到应用层特征,但现有技术中的应用层特征提取都是采用简单的自动化特征提取的方法,主要是针对通用应用层协议的特征提取,例如,超文本传送协议(Hypertext transfer protocol ,HTTP),而对于私有协议及加密流量的特征提取,目前还没有比较有效的方法。

【发明内容】

[0004]本发明实施例提供一种数据特征提取的方法及装置,以解决现有技术中无法有效地提取私有协议和加密流量中的数据特征的问题。
[0005]本发明实施例提供的具体技术方案如下:
[0006]—种数据特征提取的方法,包括:
[0007]确定需要进行数据特征提取的第一会话和第二会话,并从上述第一会话包含的报文中提取第一设定数目的报文信息,以及从上述第二会话包含的报文中提取第二设定数目的报文信息;其中,上述第一会话和第二会话是同一个应用操作在不同时间所产生的,上述报文信息中至少包括报文应用层负载字节序;
[0008]采用指定的匹配算法,依次根据从第一会话中提取的每一个报文应用层负载字节序构建相应的状态机,每构建一个状态机,将当前构建的状态机与从第二会话中提取的每一个报文应用层负载字节序依次进行匹配,每执行一次匹配,对当前获得的匹配结果进行迭代合并,并根据预设规则计算当前获得的经迭代合并后的匹配结果的权值,直到确定当前获得的权值不小于设定阈值为止,确定匹配成功并停止构建状态机及停止匹配,以及将当前获得的经迭代合并后的匹配结果作为上述应用操作的数据特征。
[0009]本发明实施例中,确定同一个应用操作对应的第一会话和第二会话,根据从第一会话提取的报文应用层负载字节序和指定的匹配算法,构建状态机,并根据从第二会话中提取的报文应用层负载字节序,进行匹配,最后获得应用操作的数据特征,解决了对私有协议及加密流量的应用特征提取难得问题,提高了效率,解放了人力,并且通过特征串迭代合并得到了强特征集合,提高了所提取特征串的有效性。
[0010]较佳的,从上述第一会话包含的报文中提取第一设定数目的报文信息,以及从上述第二会话包含的报文中提取第二设定数目的报文信息,具体包括:
[0011]依次从第一会话中读取报文,每读取一个报文,判断当前读取的一个报文的应用层负载长度是否大于0,且是否为重传报文,并在确定上述一个报文的应用层负载长度大于0,且不是重传报文时,从上述一个报文中提取报文信息,直至提取到第一设定数目的报文信息为止,停止读取报文;其中,报文信息中至少包括应用层负载长度;
[0012]依次从第二会话中读取报文,每读取一个报文,判断当前读取的一个报文的应用层负载长度是否大于0,且是否为重传报文,并在确定上述一个报文的应用层负载长度大于0,且不是重传报文时,从上述一个报文中提取报文信息,直至提取到第二设定数目的报文信息为止,停止读取报文;其中,报文信息中至少包括应用层负载长度。
[0013]这样,在提取报文信息时,进行预处理,即只对符合要求的报文进行提取,缩小了进行数据特征提取的报文的范围,减少了大量报文匹配带来的性能损耗。
[0014]较佳的,采用指定的匹配算法,根据从第一会话中提取的一个报文应用层负载字节序构建相应的状态机,具体包括:
[0015]基于从第一会话中提取的一个报文应用层负载字节序,采用预设方式进行处理,得到相应的模式串集合;
[0016]基于上述模式串集合,采用指定的匹配算法构建相应的状态机。
[0017]这样,通过构建模式串集合和多模式匹配,进而得到应用操作的数据特征,而不是使用逐字节序比较等方法,这样显著提升了匹配速度,也提高了匹配精度,排除了漏掉有效特征串的问题。
[0018]较佳的,基于从第一会话中提取的一个报文应用层负载字节序,采用预设方式进行处理,得到相应的模式串集合,具体包括:
[0019]从上述一个报文应用层负载字节序中的第一个字节开始,以2字节为单位进行字节段提取,直到剩余字节的长度小于2为止,获得第一提取结果;
[0020]从上述一个报文应用层负载字节序中的第二个字节开始,以2字节为单位进行字节段提取,直到剩余字节的长度小于2为止,获得第二提取结果;
[0021]分别将第一提取结果和第二提取结果中包含的每一个字节段作为一个模式串,生成相应的模式串集合,并保存每一个模式串在上述一个报文应用层负载字节序中的起始位置值和结束位置值。
[0022]较佳的,将当前构建的状态机与从第二会话中提取的任意一个报文应用层负载字节序进行匹配后,获得相应的匹配结果,在上述匹配结果中记录有匹配得到的所有特征串,以及每一个特征串在第一会话中的报文应用层负载字节序中的起始位置值和结束位置值,以及在第二会话中的报文应用层负载字节序中的起始位置值和结束位置值;其中,上述特征串上述特征串为,上述当前构建的状态机中的所有模式串中在上述从第二会话中提取的任意一个报文应用层负载字节序中出现的任意一个模式串。
[0023]较佳的,将当前构建的状态机与从第二会话中提取的任意一个报文应用层负载字节序进行匹配,获得相应的匹配结果,对当前获得的匹配结果进行迭代合并,具体包括:
[0024]将当前获得的匹配结果中的每一个特征串按照每一个特征串在第二会话中的报文应用层负载字节序中的起始位置值以及每一个特征串在第一会话中的报文应用层负载字节序中的起始位置值,按照从小到大的顺序进行排序;
[0025]排序结束后,从第一个特征串开始,依次判断相邻的两个特征串是否可以迭代合并,若是,则获得合并后的特征串,否则,从下一个特征串开始,依次判断相邻的两个特征串是否可以迭代合并,直到最后一个特征串为止;其中,迭代合并表示,相邻的两个特征串合并后,将合并后的特征串再和相邻的下一个特征串进行合并;
[0026]针对上述所有不能迭代合并的特征串,依次判断每一个特征串在第二会话中的报文应用层负载字节序中的起始位置值和在第一会话中的报文应用层负载字节序中的起始位置值是否相等时,若是,则进行保留,否则,进行舍弃;
[0027]将经迭代合并后的匹配结果中连续为0x00和Oxff的特征串舍弃
[0028]这样,对匹配结果,进行了优化,舍弃弱特征,并通过特征串合并等操作得到了强特征集合,提高了所提取特征串的有效性,降低了数据特征提取中无效特征产生的噪声。
[0029]较佳的,判断相邻的两个特征串是否可以迭代合并,具体包括:
[0030]判断相邻的两个特征串是否满足预设条件;其中,上述预设条件为,相邻的两个特征串中的前一个特征串在第二会话中的报文应用层负载字节序中的结束位置值不小于后一个特征串在第二会话中的报文应用层负载字节序中的起始位置值,并且,后一个特征串在第二会话中的报文应用层负载字节序中的结束位置值与前一个特征串在第二会话中的报文应用层负载字节序中的起始位置值的第一差值,与,后一个特征串在第一会话中的报文应用层负载字节序中的结束位置值与前一个特征串在第一会话中的报文应用层负载字节序中的起始位置值的第二差值相等,以及,上述第一差值和第二差值都不小于2。
[0031]较佳的,根据预设规则计算当前获得的经迭代合并后的匹配结果的权值,具体包括:
[0032]将经迭代合并后的匹配结果中每一个长度为2的特征串的权值设置为I,并将每一个长度大于2的特征串的权值设置为2;
[0033]将经迭代合并后的匹配结果中每一个特征串的权值进行累加,获得所有特征串的权值和,并上述权值和作为上述当前获得的迭代合并后的匹配结果的权值。
[0034]较佳的,进一步包括:
[0035]根据上述报文信息和上述应用操作的数据特征,构建识别上述应用操作的规则,其中,报文信息中至少包括,源端口、目的端口、报文在会话中的位置以及报文在会话中的流向ig息。
[0036]一种数据特征提取装置,包括:
[0037]提取单元,用于确定需要进行数据特征提取的第一会话和第二会话,并从上述第一会话包含的报文中提取第一设定数目的报文信息,以及从上述第二会话包含的报文中提取第二设定数目的报文信息;其中,上述第一会话和第二会话是同一个应用操作在不同时间所产生的,上述报文信息中至少包括报文应用层负载字节序;
[0038]匹配单元,用于采用指定的匹配算法,依次根据从第一会话中提取的每一个报文应用层负载字节序构建相应的状态机,每构建一个状态机,将当前构建的状态机与从第二会话中提取的每一个报文应用层负载字节序依次进行匹配,每执行一次匹配,对当前获得的匹配结果进行迭代合并,并根据预设规则计算当前获得的经迭代合并后的匹配结果的权值,直到确定当前获得的权值不小于设定阈值为止,确定匹配成功并停止构建状态机及停止匹配,以及将当前获得的经迭代合并后的匹配结果作为上述应用操作的数据特征。
[0039]本发明实施例中,确定同一个应用操作对应的第一会话和第二会话,根据从第一会话提取的报文应用层负载字节序和指定的匹配算法,构建状态机,并根据从第二会话中提取的报文应用层负载字节序,进行匹配,最后获得应用操作的数据特征,解决了对私有协议及加密流量的应用特征提取难得问题,提高了效率,解放了人力,并且,通过特征串迭代合并得到了强特征集合,提高了所提取特征串的有效性。
[0040]较佳的,从上述第一会话包含的报文中提取第一设定数目的报文信息,以及从上述第二会话包含的报文中提取第二设定数目的报文信息时,提取单元具体用于:
[0041]依次从第一会话中读取报文,每读取一个报文,判断当前读取的一个报文的应用层负载长度是否大于0,且是否为重传报文,并在确定上述一个报文的应用层负载长度大于0,且不是重传报
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1