HTTP数据特征分析方法及系统技术方案

技术编号:14697659 阅读:96 留言:0更新日期:2017-02-24 02:54
本发明专利技术揭示的HTTP数据特征分析方法及系统,通过S1,判断注入的互联网数据是否为HTTP数据;S2,当判断不是HTTP数据时,使所述互联网数据进入DPI引擎进行深度包特征检测;S3,当判断注入的互联网数据是HTTP数据时,识别出HTTP数据的体域及头部;S4,使体域不做分段解析直接进入所述DPI引擎进行深度包特征检测;S5,使头部进入HTTP_DPI引擎中进行解析,所述HTTP_DPI引擎将头部划分成若干指针结构体,按指针结构体独立并行解析,并在匹配到特征指纹库后将与特征指纹库匹配的数据标记为特征指纹所示的应用。本发明专利技术能够有效降低对系统资源的强消耗和高依赖性;同时能够有效的覆盖全部数据,特别是HTTP协议数据,降低了特征误判、漏判的风险,提高了应用的识别能力。

【技术实现步骤摘要】

本专利技术涉及数据特征分析方法及系统,尤其是HTTP数据特征分析方法及系统
技术介绍
深度报文检测技术(即DeepPacketInspection,以下简称DPI),是一种面向应用层分析的流量分析检测技术,DPI技术已成为高端网络设备的标准配置,用于对网络流量的精细化控制和分析。但是由于硬件性能、功能适配、系统架构等因素的制约,DPI一直无法在为数众多的低端网络设备(如家庭路由、商业WIFI、瘦AP等)中广泛使用,这主要是由于传统DPI技术在进行数据解析时多不关心上层应用的具体数据结构,对于来源数据均从数据的头部开始逐个字节扫描,直到数据结尾或指定的字节数,进而从扫描的数据中判断是否与数据指纹库相匹配,以此获得对来源数据的识别。而从数据首字节开始扫描,整个过程对系统资源要求高,造成DPI技术只能应用于资源较充裕的大型网络设备,而对如家庭网关、商业WiFi类等小型网络设备无法使用,从而导致面向广大终端用户的高级流量优化和服务提升的缺失,因此有必要实现能适配于低端网络设备的深度报文检测技术。另外,由于目前互联网数据,特别是移动互联网数据80%以上为基于HTTP协议的应用数据,因此对HTTP协议的深度解析会极大影响DPI的性能消耗及识别能力。而为了能够实现性能的兼顾,在进行数据扫描时往往无法做到全量数据覆盖,特别是存在HTTP协议数据的无法全覆盖的问题,因此会增加特征误判、漏判的风险,使得应用的识别能力下降。
技术实现思路
本专利技术的目的就是为了解决现有技术中存在的上述问题,该项技术主要是利用HTTP协议数据具有严格的格式规范要求以及目前主流互联网应用以其为宿主协议的特性来达到对DPI技术的性能优化及应用识别能力提升的目的,从而提供一种HTTP数据特征分析方法及系统。本专利技术的目的将通过以下技术方案得以实现:HTTP数据特征分析方法,其特征在于:包括如下步骤:S1,接收注入的互联网数据,判断注入的互联网数据是否为HTTP数据;S2,当判断注入的互联网数据不是HTTP数据时,使所述互联网数据进入DPI引擎进行深度包特征检测;S3,当判断注入的互联网数据是HTTP数据时,识别出HTTP数据的体域及头部;S4,使体域不做分段解析直接进入所述DPI引擎进行深度包特征检测;S5,使头部进入HTTP_DPI引擎中进行解析,所述HTTP_DPI引擎将头部划分成若干指针结构体,按指针结构体独立并行解析,并在匹配到特征指纹库后,将与特征指纹库匹配的数据标记为特征指纹所示的应用。优选的,所述的HTTP数据特征分析方法,其中:所述S1步骤包括如下过程:判断接收到的数据流是否为TCP数据,如果是,则检查其目的端口是否为80;如果是,则依据RFC2616标准对应用层数据进行数据包拆解,判断其数据包中是否包含HTTP的请求方法,如果包含,则标记该数据流为HTTP数据流;否则,认定该数据流是非HTTP数据流。优选的,所述的HTTP数据特征分析方法,其中:在所述S5步骤中所述HTTP_DPI引擎对HTTP头部的解析包括如下过程:S51,所述HTTP_DPI引擎将HTTP头部中的各个头域独立存储,并给每个头域分配一个指针结构体(数据单元);S52,所述HTTP_DPI引擎对指针结构体(数据单元)进行扫描,并操作多个指针结构体(数据单元)同时偏移,以对多个头部结构进行并行解析;S53,将扫描得到的指针结构体(数据单元)的数据与特征指纹库进行匹配查找,若可查询到与该数据相吻合的特征指纹,则定义该指针结构体(数据单元)为特征指纹,若获取的特征指纹可唯一指示一个实际应用时即定义该数据流为所述实际应用;若不能,则等待该数据流其他数据单元的特征指纹,然后合并查找是否存在组合特征;若存在,则该数据流定义为组合特征所示的应用,若不存在,则该数据流定义为未被识别的应用。优选的,所述的HTTP数据特征分析方法,其中:所述HTTP_DPI引擎的数据匹配算法包括HTTP报文单次扫描多次匹配算法。优选的,所述的HTTP数据特征分析方法,其中:根据RFC规定,将HTTP数据的头部划分成若干指针结构体,针对每个指针结构体均建立独立的指纹匹配DFA图,将若干指针结构体的指纹匹配DFA图集合形成特征指纹库。优选的,所述的HTTP数据特征分析方法,其中:所述应用指纹库生成算法包括稀疏矩阵的有限状态机算法。HTTP数据特征分析系统,包括:DPI引擎及HTTP_DPI引擎,还包括依次通信的互联网数据识别单元、非HTTP数据处理单元、HTTP数据识别单元、体域处理单元及头部处理单元;所述互联网数据识别单元用于接收注入的互联网数据,并判断注入的互联网数据是否为HTTP数据;所述非HTTP数据处理单元与所述DPI引擎通信,其用于当判断注入的互联网数据不是HTTP数据时,使注入的互联网数据进入DPI引擎进行深度包特征检测;所述HTTP数据识别单元用于当判断注入的互联网数据是HTTP数据时,识别出HTTP数据的体域及头部;所述体域处理单元与所述DPI引擎通信,期用于使识别出的体域不做分段解析直接进入所述DPI引擎进行深度包特征检测;所述头部处理单元与所述HTTP_DPI引擎进行通信,其用于使识别出的头部进入HTTP_DPI引擎中进行解析,所述HTTP_DPI引擎将头部划分成若干指针结构体,按指针结构体独立并行解析,并在匹配到特征指纹库后,将与特征指纹库匹配的数据标记为特征指纹所示的应用。本专利技术技术方案的优点主要体现在:本专利技术的方法设计精巧,过程简单,通过算法的改进及识别过程的优化,能够有效降低传统DPI识别技术对系统资源的强消耗和高依赖性;同时能够有效的覆盖全部数据,特别是HTTP协议数据,降低了特征误判、漏判的风险,提高了应用的识别能力。具体实施方式本专利技术揭示的HTTP数据特征分析方法,其特征在于:包括如下步骤:S1,接收注入的互联网数据,判断注入的互联网数据是否为HTTP数据;HTTP数据流作为一种常见的应用层数据,具有明显的特征标识,HTTP数据采用目的端口为80的TCP流进行传输,同时根据HTTPRFC的相关规定其数据流分为请求和应答,HTTP请求数据结构分为HeadDomain和BodyDomain,其中HeadDomain中包含HTTP的请求方法、请求URI、请求域名等信息,因此,我们对监控到的TCP数据流进行数据包解析,通过判断其端口、数据结构以判断其是否为HTTP数据。具体的判断过程如下:判断接收到的数据流是否为TCP数据,如果是,则检查其目的端口是否为80;如果是,则依据RFC2616标准对应用层数据进行数据包拆解,判断其数据包中是否包含HTTP的请求方法,如果包含,则标记该数据流为HTTP数据流;否则,认定该数据流是非HTTP数据流。S2,当判断注入的互联网数据不是HTTP数据时,使所述互联网数据进入DPI引擎进行深度包特征检测,此处,所述DPI引擎的工作原理及实现机制非本专利要保护的重点,在此不再赘述;而所述DPI引擎对互联网数据处理后,可能产生两种结果:1.可识别出数据的具体应用,如识别出某互联网数据对应的应用为微信;2.无法识别出互联网数据的具体应用,则以二层数据协议的形式存在。S3,当判断注入的互联网数据是HTTP数据时,识别出HTTP数据的体域及头部(头本文档来自技高网...

【技术保护点】
HTTP数据特征分析方法,其特征在于:包括如下步骤:S1,接收注入的互联网数据,判断注入的互联网数据是否为HTTP数据;S2,当判断注入的互联网数据不是HTTP数据时,使所述互联网数据进入DPI引擎进行深度包特征检测;S3,当判断注入的互联网数据是HTTP数据时,识别出HTTP数据的体域及头部;S4,使体域不做分段解析直接进入所述DPI引擎进行深度包特征检测;S5,使头部进入HTTP_DPI引擎中进行解析,所述HTTP_DPI引擎将头部划分成若干指针结构体,按指针结构体独立并行解析,并在匹配到特征指纹库后, 将与特征指纹库匹配的数据标记为特征指纹所示的应用。

【技术特征摘要】
1.HTTP数据特征分析方法,其特征在于:包括如下步骤:S1,接收注入的互联网数据,判断注入的互联网数据是否为HTTP数据;S2,当判断注入的互联网数据不是HTTP数据时,使所述互联网数据进入DPI引擎进行深度包特征检测;S3,当判断注入的互联网数据是HTTP数据时,识别出HTTP数据的体域及头部;S4,使体域不做分段解析直接进入所述DPI引擎进行深度包特征检测;S5,使头部进入HTTP_DPI引擎中进行解析,所述HTTP_DPI引擎将头部划分成若干指针结构体,按指针结构体独立并行解析,并在匹配到特征指纹库后,将与特征指纹库匹配的数据标记为特征指纹所示的应用。2.根据权利要求1所述的HTTP数据特征分析方法,其特征在于:所述S1步骤包括如下过程:判断接收到的数据流是否为TCP数据,如果是,则检查其目的端口是否为80;如果是,则依据RFC2616标准对应用层数据进行数据包拆解,判断其数据包中是否包含HTTP的请求方法,如果包含,则标记该数据流为HTTP数据流;否则,认定该数据流是非HTTP数据流。3.根据权利要求1所述的HTTP数据特征分析方法,其特征在于:在所述S5步骤中所述HTTP_DPI引擎对HTTP头部的解析包括如下过程:S51,所述HTTP_DPI引擎将HTTP头部中的各个头域独立存储,并给每个头域分配一个指针结构体(数据单元);S52,所述HTTP_DPI引擎对指针结构体(数据单元)进行扫描,并操作多个指针结构体(数据单元)同时偏移,以对多个头部结构进行并行解析;S53,将扫描得到的指针结构体(数据单元)的数据与特征指纹库进行匹配查找,若可查询到与该数据相吻合的特征指纹,则定义该指针结构体(数据单元)为特征指纹,若获取的特征指纹可唯一指示一个实际应用时即定义该数据流为所述实际应用;若不能,则等待该数据流其他...

【专利技术属性】
技术研发人员:丁增红周明中
申请(专利权)人:苏州迈科网络安全技术股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1