一种高速网络数据包内容分析装置的制作方法

文档序号:7868951阅读:234来源:国知局
专利名称:一种高速网络数据包内容分析装置的制作方法
技术领域
本发明属于高速网络信息监控技术领域,更具体地,涉及一种高速网络数据包内容分析装置。
背景技术
对网络信息内容进行必要的监管和审查,确保敏感内容无法在网络大肆传播,对于维护社会稳定以及保障青少年身心健康成长具有重要的理论价值与现实意义。但随着IT、网络技术的迅猛发展,以人人网、新浪微博等为代表的新兴网络应用服务不断地涌现。这些新兴的网络服务已经逐渐形成了庞大的用户群体,并且用户之间借助各种社会关系形成错综复杂的信息传播路径,对传统网络信息监控渠道带来了巨大的冲击。此外网络带宽的急速增长也构成了网络内容监控面临的另一个难题。目前,在高速网络内容的监控方面,常用的是基于网络处理器或者通用软件机群分析的解决方案。

网络处理器即具有专用集成芯片线速转发报文的高速度特性同时又具有通用芯片的可编程性。这种方法一般系统分为控制层和业务层,控制层采用RISC通用处理器,负责用户交互、策略更新、配置等工作;业务层利用多CPU和专用硬件组成的网络处理器进行包分析、过滤,用户编写微代码并应用到网络处理器上生效。这种做法具有较高的灵活性,但目前受网络处理器性能的限制,总体性能还不是太高。而且微代码类似汇编语言,开发难度较大,如果需要系统进行内容分析过滤,开发速度和处理速度都将更低。不过随着网络处理器性能的不断提高,已经被广泛应用到高速网络设备的设计中。软件方案实质上是基于通用架构的服务器集群进行网络内容的分析检测工作。由于传统的流量采集和协议还原方式一般是工作于基于X86体系结构PC工作站上,受到CPU处理能力和PCI总线速度等多个方面因素的制约存在着较大的技术性能瓶颈,因此它需要后台配备以相应规模的还原与存储服务器集群来满足对高速网络流量的检测需要。由于需要通过服务器集群技术才能达到较高性能,高速网络的内容监控系统往往采用分流的设计模式,即由专用硬件设备负责捕获数据并分流到多个软件处理系统分别处理。这种解决方法能够在一定程度上灵活快速的将针对低速网络的内容分析检测功能进行移植。但是随着网络流量越大越复杂,整个系统将趋向越来越复杂,投资和维护成本也将趋高。此外目前高速网络环境下,一般系统通常会在对数据进行还原和存储后,在系统的外围采用离线的方法来对内容进行监控和审查,实现内容还原与分析检测的分离,利用磁盘空间作为缓冲,防止存储为核心的协议还原系统的复杂内容分析与检测会影响到前段内容还原的速度。但这又引入了磁盘IO的性能瓶颈,并且无法满足实时性,从而无法做到对网络数据的实时过滤和动态阻隔。

发明内容
针对现有技术的缺陷,本发明提供一种高速网络数据包内容分析装置,实时监控网络数据流,及时发现敏感,并做出相应的响应;针对高速网络环境,无需大量服务器集群和离线文件分析,只需获取高速网络数据包,即可识直接对网络内容进行在线实时的分析检测。一种高速网络数据包内容分析装置,包括网卡,用于获取高速网络数据包;FPGA,用于过滤掉不属于需要检测的应用层协议类型的网络数据包,然后将过滤得到的网络数据包分流到各众核处理器中;至少一个的众核处理器,根据核分配策略对其包含的多核进行任务分配,用于对分流得到的网络数据包并行执行协议还原、数据包内容提取、数据包内容敏感性分析以及敏感内容分析结果输出;主控板,用于对FPGA板卡配置需要检测的应用层协议类型,以及对众核处理器配置核分配策略和数据包内容敏感性分析策略,保存和输出来自众核处理器的敏感内容分析结果。进一步地,所述众核处理器包括执行协议还原的第一类核,用于获取FPGA分流传送进来的网络数据包,首先按照网络层协议IP进行数据包的IP分片重组,然后再传输层进行TCP/UDP协议重组,将一个TCP会话流或者UDP数据包作为还原结果;执行数据包内容提取的第二类核,用于根据还原结果所采用的应用层协议类型选择相应的协议解析器,利用协议解析器在还原结果中提取文本内容和图像内容;

执行数据包内容分析融合的第三类核,用于分别对文本和图像内容检测敏感程度,再对属于同一个还原结果中的文本和图像的敏感程度做综合分析,得到最终的分析融合结果;执行敏感内容分析结果输出的第四类核,用于在分析融合结果表明敏感程度高时,将其对应的敏感内容分析结果即敏感内容及敏感内容相关信息输出给主控板。进一步地,所述敏感内容相关信息包括敏感内容的源IP、网页地址URL、捕获时间、敏感内容访问者IP和出现频次。进一步地,所述主控板载入有配置文件,并接受动态的配置修改,通过CPCI总线对FPGA以及众核处理器进行动态配置。进一步地,所述主控板包含⑶I接口。通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果1、高系统吞吐量利用硬件设备和FPGA获取网络数据包将提供强大的输入能力。采用众核计算平台,计算能力大幅提升,协议还原和内容检测过程中的单步瓶颈现象将得以解决。从而跟传统方式相比,单机系统吞吐量得以大幅提升,适同于高速网络环境。2、在线实时监控只要获取到原始的网络数据包,就可以利用众核计算平台的强大并发计算能力,直接进行协议还原和敏感信息的分析检测。与传统方法相比,无需进行离线分析,可以实时的进行检测结果的反馈,及时采取相应措施。3、检测效率高由于协议还原、分析检测内容、分析处理和综合分析在众核计算平台下实现,计算能力大幅提升且可根据不同任务量及时进行计算资源调度,使得内容检测效率大大提高,避免了单步处理速度过慢带来的性能瓶颈。此外由于进行在线检测,无需先将待检测文件保存至硬盘等外部存储器,跳过了硬盘IO的性能瓶颈,进一步提高了系统的检测效率。


图1是本发明一种高速网络数据包内容分析装置结构示意图。图2是本发明一种高速网络数据包内容分析方法的流程图。图3是本发明方法中步骤(3)的细化流程图。图4是本发明方法中步骤(4)的细化流程图。图5是本发明众核计算平台中的核分配调度策略的示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图1所示,本发明一种高速网络数据包内容分析装置,包括如下部分(I)网卡。主要用来获取高速网络数据包。(2)FPGA。主要根据所获取的网络数据包头部中的源IP、目的IP、源端口、目的端口、应用层协议的五元组信息对网络数据包进行过滤和分流。过滤的主要工作是凡是该数据包的协议类型不是配置信息中需要检测的应用协议类型,将直接滤掉该数据包不做处理。分流的主要任务是针对装置中可能会存在的多个众核单板计算机,FPGA需要根据五元组信息,在多个众核单板计算机之间进行数据包分流,争取实现各单板计算机之间的负载均衡。(3)众核处理器(可插拔式板卡设备)。众核处理器主要用于网络数据包的协议还原、待检测内容的应用层解析和提取、对文本和图像内容的敏感内容分别分析和综合分析、敏感内容分析结果的输出。为了最大程度的利用众核计算平台的强大计算能力,需要这些处理步骤能够最大限度的并行执行。并通过合理有效的核任务分工策略,尽可能的加大任务量较大的步骤所分配核数,尽可能的消除处理流程中的瓶颈现象,保证整个处理流程能够达到较大吞吐量。具体地说,就是部分核执行协议还原,部分核执行数据包内容提取,部分核执行数据包敏感性内容分析,部分核执行敏感内容输出。如果有必要还可以并行集成多个众核处理器,通过FPGA在各众核设备之间进行数据分流,进一步提升整个系统的吞吐量。图5中给出了一个16核的众核分配策略示意图,从图中可以看到分组I包括核I至4,各核分别运行一个独立的协议还原程序,通过四核的并发执行应对高速网络的数据流量压力。分组2考虑到应用层协议的还原算法相对简单,就只包括核5和核6来对上一级的四个协议还原程序的输出结果进行应用层协议的解析和内容提取。由于内容检测算法相对而言复杂度较高,对计算资源需求较大,例中(分组5和分组6)分别为文本和图片的检测分配了两个核进行分析检测。最后分组7由核13和核14组成进行待检测内容的综合判定,并由分组8即核15来输出高速网络数据包的分析处理结果。当然,以上只是一个众核分配策略的示意方案。对网络数据包进行协议还原主要是获取FPGA分流传送进来的网络数据包,按照网络层协议(IP)进行数据包的IP分片重组,按照传输层协议(TCP/UDP)进行数据包协议重组(主要是TCP会话流的数据重组),将同一会话流中的数据内容当做一个还原结果提交;提取相应的分析检测内容主要是判断数据包协议还原结果所采用的应用层协议类型,根据不同的应用层协议,选择不同的协议解析器,进行相关的待检测内容的解析与提取,判断提取出内容的类型,分为文本类型内容和图像类型内容进行保存;对文本和图像内容分别进行敏感性分析和综合分析主要是判断待检测内容的类型信息,分为文本和图像内容进行具体的分析处理,获取检测内容的敏感程度。再针对同一个协议还原结果集的文本和图片内容分析检测的结果,进行综合分析,获得最终的分析融合结果。敏感内容分析结果输出主要是有众核平台通过CPCI总线向主控板输出最终分析处理结果。若内容敏感且需要进行证据留存,则还需通过众核设备的网口向外部设备输出处理结果和敏感内容。处理结果主要是被判定为敏感内容的源IP(若为网页内容可能还需包括URL等信息)、数据被捕获的时间、敏感内容访问者IP等等。(4)主控板。主控板为嵌入式,对外部提供⑶I接口,同时通过CPCI总线将配置信息分发到各个设备上。⑶I接口主要是为了方便进行整个系统的配置以及数据包检测结果的查询显示等。而这里的配置信息主要包括系统需要检测的应用层协议类型组合、众核的核分配策略(这里主要是指各任务所需占用的核数)、待检内容的分析融合策略(例如文本或图片内容的敏感程度检测结果在最终判定结果中所占的权重等)、敏感内容是否输出进行证据留存等。数据包检测结果主要是被判定为敏感内容的数据包来源IP (若为网页内容可能还需包括URL等信息)、数据被捕获的时间、敏感内容访问者IP、近期出现频次等等。如图2所示,本发明高速网络数据包内容分析装置的工作过程具体为

(I)利用高速网卡设备获取网络数据包。(2)利用FPGA对网络数据包进行过滤和分流。(3)利用众核处理器对网络数据包进行协议还原。参见图3,包括以下子步骤(3-1)获取FPGA分流传送进来的网络数据包;(3-2)按照网络层协议(IP)进行数据包的IP分片重组;(3-3)按照传输层协议(TCP/UDP)进行数据包协议重组若是TCP则转入(3_4),否则为UDP则直接将该数据包作为还原结果提交;(3-4)对数据包进行会话流的数据重组,当会话结束时,进入步骤(3-5),否则继续返回(3-1)进行协议重组;(3-5)将同一会话流中的数据内容当做一个还原结果进行提交。(4)从协议还原结果中,按照应用层协议提取相应的分析检测内容。参见图4,包括以下子步骤(4-1)判断数据包协议还原结果集所采用的应用层协议类型;(4-2)根据不同的应用层协议,选择不同的协议解析器(例如HTTP协议解析器、SMTP协议解析器、POP3协议解析器等)进行协议解析,并进行相关的待检测内容的提取;(4-3)判断提取出内容的类型,分为文本类型内容和图像类型内容进行保存和下一步处理。(5)对待检测内容进行分析处理,并对分析结果进行综合分析,获得最终的分析处理结果。包括以下子步骤( 5-1)提取同一结果集的待检测内容,并依据内容的类型信息分别提取文本和图像内容;( 5-2)对于同一结果集的文本和图像内容进行分析处理内容,获取内容的敏感程度;此步骤可采用基于关键词匹配技术和基于纹理与肤色点检测相结合的方法对文本和图像内容进行分析处理。(5-3)针对同一还原结果集的内容分析检测的结果,对文本和图像的敏感程度进行综合评价,获得该还原结果集最终的分析处理结果。(5-4)向主控板输出最终敏感分析结果。若内容敏感且需要进行证据留存,则通过网口向外部设备输出敏感内容及敏感相关信息。(6)嵌入式主控板主要对外部提供⑶I接口进行整个系统的配置以及数据包检测结果的查询显示,同时通过CPCI总线将实时的配置信息分发到各个设备上。(7)本领域的技术人员容易理 解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种高速网络数据包内容分析装置,包括 网卡,用于获取高速网络数据包; FPGA,用于过滤掉不属于需要检测的应用层协议类型的网络数据包,然后将过滤得到的网络数据包分流到各众核处理器中; 至少一个的众核处理器,根据核分配策略对其包含的多核进行任务分配,用于对分流得到的网络数据包并行执行协议还原、数据包内容提取、数据包内容敏感性分析以及敏感内容分析结果输出; 主控板,用于对FPGA板卡配置需要检测的应用层协议类型,以及对众核处理器配置核分配策略和数据包内容敏感性分析策略,保存和输出来自众核处理器的敏感内容分析结果。
2.根据权利要求1所述的高速网络数据包内容分析装置,其特征在于,所述众核处理器包括 执行协议还原的第一类核,用于获取FPGA分流传送进来的网络数据包,首先按照网络层协议IP进行数据包的IP分片重组,然后再传输层进行TCP/UDP协议重组,将一个TCP会话流或者UDP数据包作为还原结果; 执行数据包内容提取的第二类核,用于根据还原结果所采用的应用层协议类型选择相应的协议解析器,利用协议解析器在还原结果中提取文本内容和图像内容; 执行数据包内容分析融合的第三类核,用于分别对文本和图像内容检测敏感程度,再对属于同一个还原结果中的文本和图像的敏感程度做综合分析,得到最终的分析融合结果; 执行敏感内容分析结果输出的第四类核,用于在分析融合结果表明敏感程度高时,将其对应的敏感内容分析结果即敏感内容及敏感内容相关信息输出给主控板。
3.根据权利要求2所述的高速网络数据包内容分析装置,其特征在于,所述敏感内容相关信息包括敏感内容的源IP、网页地址URL、捕获时间、敏感内容访问者IP和出现频次。
4.根据权利要求1或2或3所述的高速网络数据包内容分析装置与方法,其特征在于,所述主控板载入有配置文件,并接受动态的配置修改,通过CPCI总线对FPGA以及众核处理器进行动态配置。
5.根据权利要求1或2或3所述的高速网络数据包内容分析装置与方法,其特征在于,所述主控板包含⑶I接口。
全文摘要
本发明公开了一种高速网络数据包内容分析装置,包括网卡,用于获取高速网络数据包;FPGA,用于过滤掉不属于需要检测的应用层协议类型的网络数据包,然后将过滤得到的网络数据包分流到各众核处理器中;至少一个的众核处理器,根据核分配策略对其包含的多核进行任务分工,用于对分流得到的网络数据包并行执行协议还原、数据包内容提取以及数据包内容分析融合任务;主控板,用于对FPGA和众核处理器进行配置。本发明只需获取原始的网络数据包,就可利用众核处理器的并行计算能力,直接进行协议还原和敏感信息的分析检测,与传统方法相比,计算能力大幅提升,实时性强,检测效率高。
文档编号H04L12/26GK103067218SQ20121054600
公开日2013年4月24日 申请日期2012年12月14日 优先权日2012年12月14日
发明者徐晶, 王韩波, 刘威, 许炜, 尚彪, 望昕宇, 程凡, 孙鑫 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1