一种基于数据包捕获技术的网络威胁分析系统及方法与流程

文档序号:11930526阅读:306来源:国知局
一种基于数据包捕获技术的网络威胁分析系统及方法与流程

本发明属于网络异常检测技术领域,具体涉及一种基于数据包捕获技术的网络威胁分析系统及方法。



背景技术:

随着互联网技术的高速发展,网络结构日趋复杂,网络环境交叉渗透,网络攻击纷繁多样。层出不穷的网络安全事件给社会带来巨大的经济损失和严重的社会影响。

为应对目前网络中越来越多的威胁,当前市场上出现了入侵检测系统、入侵防御系统、杀毒软件、防火墙等多样化的网络安全产品,但是这些产品具有以下局限性:

(1)无法满足高速网络的发展:面对较大实时的网络数据,很难满足精准检测的要求,而满足精确检测要求的产品效率较低或需要消耗大量的系统资源;

(2)报文检测无关性:绝大多数入侵检测系统采用模式匹配的方法。而简单包模式匹配是基于单个包的匹配检测,由于其无法跟踪协议的状态,因此针对协议破绽的很多攻击由于单个包都是看似正常的,故攻击是无法检测出来的;

(3)无法检测未知类型攻击:一系列IDS产品主要是采用模式匹配等方法来发现入侵行为,而IDS所使用的规则库主要依赖于人工分析提取;

(4)网络检测结果复杂:由于网络规模的不断扩大与网络结构的日益复杂,多种网络安全软件的多源海量检测结果也纷繁复杂,致使管理人员无法及时做出响应。



技术实现要素:

针对上述现有技术存在的不足,本发明提供一种基于数据包捕获技术的网络威胁分析系统及方法。

本发明的技术方案如下:

一种基于数据包捕获技术的网络威胁分析系统,包括:数据包捕获模块、基于包的异常检测模块、基于流的异常检测模块、网络威胁数据库和威胁分析展示模块;

所述数据包捕获模块,用于实时捕获大规模网络流量数据包,将一定时间片长度内捕获到的数据包以该时间片命名,并发送给基于包的异常检测模块;

所述基于包的异常检测模块,用于接收数据包捕获模块发送的时间片,对该时间片进行概要信息的记录;根据概要信息提取该时间片网络流数据特征,形成特征文件;利用GBRT提升树算法对特征文件进行检测,得到异常时间片;将异常时间片发送给网络威胁数据库,并将异常时间片及其相邻时间片发送给基于流的异常检测模块;

所述基于流的异常检测模块,用于接收基于包的异常检测模块发送的异常时间片和相邻时间片,对异常时间片结合相邻时间片进行流重组,判断是否能提取出该异常时间片的流,是,进行该异常时间片的流特征提取和流特征选择,形成流特征文件,否则,重新进行流重组;利用AdaBoost算法对流特征文件进行异常检测,将检测结果融合得到异常流数据检测结果;将异常流数据检测结果发送给网络威胁数据库;所述异常流数据检测结果包括:攻击类型、攻击源、攻击目标和攻击发生的时间;

所述网络威胁数据库,用于存储基于包的异常检测模块和基于流的异常检测模块发送的异常时间片和异常数据流检测结果,并将异常数据流检测结果转发给威胁分析展示模块;存储威胁分析展示模块发送的统计分析结果;

所述威胁分析展示模块,用于接收异常数据流检测结果,进行检测结果统计分析,将统计分析结果发送给网络威胁数据库,并向用户显示。

利用基于数据包捕获技术的网络威胁分析系统的网络威胁分析方法,包括如下步骤:

步骤1:数据包捕获模块实时捕获数据包,并判断是否满足时间片长度,是,以时间片命名捕获到的数据包,将该时间片发送给基于包的异常检测模块,否则,继续捕获数据包;

步骤2:基于包的异常检测模块接收数据包捕获模块发送的时间片,进行概要信息的记录;

步骤3:基于包的异常检测模块根据概要信息提取该时间片网络流数据特征,形成特征文件;

步骤4:基于包的异常检测模块利用GBRT提升树算法对特征文件进行异常检测,判断该时间片是否异常,是,得到异常时间片,执行步骤5,否则,执行步骤1;

步骤5:基于包的异常检测模块将异常时间片发送给网络威胁数据库,并将异常时间片及其相邻时间片发送给基于流的异常检测模块;

步骤6:基于流的异常检测模块接收基于包的异常检测模块发送的异常时间片和相邻时间片,对异常时间片结合相邻时间片进行流重组,判断是否能提取出该异常时间片的流,是,进行该异常时间片的流特征提取和流特征选择,形成流特征文件,否则,重新进行流重组;

步骤7:基于流的异常检测模块利用AdaBoost算法对流特征文件进行异常检测,将检测结果融合得到异常流数据检测结果,所述异常流数据检测结果包括:攻击类型、攻击源、攻击目标、攻击发生的时间;

步骤8:基于流的异常检测模块将异常流数据检测结果发送给网络威胁数据库;

步骤9:网络威胁数据库存储基于包的异常检测模块和基于流的异常检测模块发送的异常时间片和异常数据流检测结果,并将异常数据流检测结果发送给威胁分析展示模块;

步骤10:威胁分析展示模块接收异常数据流的检测结果,进行检测结果统计分析,将统计分析结果发送给网络威胁数据库,并向用户显示;

步骤11:网络威胁数据库存储威胁分析展示模块发送的分析结果。

有益效果:本发明的一种基于数据包捕获技术的网络威胁分析系统及方法与现有技术相比,具有以下优点:

1、通过数据包捕获技术能够精准捕获网络中数据流量,减少资源消耗;

2、基于数据包和数据流的多粒度异常检测能够精准检测网络威胁;

3、通过威胁分析能自动分析提取攻击类型;

4、对网络威胁能够及时做出预警。

附图说明

图1本发明一种实施方式的一种基于数据包捕获技术的网络威胁分析系统结构框图;

图2本发明一种实施方式的一种基于数据包捕获技术的网络威胁分析方法流程图。

具体实施方式

下面结合附图对本发明的一种实施方式作详细说明。

基于数据包捕获技术的网络威胁分析系统对网络中大规模实时的网络流量通过winpcap监听,基于包的异常检测模块将网络流量按照时间片通过检测技术检测出时间片是否异常;通过基于流的异常检测模块对异常时间片及相邻的时间片进行数据流检测,将得到的异常时间片流信息与异常检测统计信息写入威胁分析数据库;威胁分析展示模块通过分析网络异常检测结果,得到网络威胁分析评估结果,写入威胁分析数据库,并实时读取网络威胁分析评估结果、网络异常检测统计结果、网络数据统计记录信息在web界面进行实时展示,提供决策人员实时掌控网络分析状况。

本实施方式采用的是后台为PHP语言、前台为extjs框架的MVC框架搭建。MVC是一种使用模型-视图-控制器(Model View Controller,MVC)设计创建基于B/S架构的Web应用程序的模式。

在MVC结构中,模型(Model)主要处理相应的与数据库相关的操作,具体负责基于包的检测和基于流检测结果和数据库的交互并为控制器控制访问和修改这些数据提供接口。

视图(View)层用来显示从模型中获取的基于数据包和数据流检测结果。在原型系统中视图层主要采用ExtJS框架进行搭建。

控制器(Controller)定义了原型系统的交互行为。在原型系统中控制器层起到了承前启后的作用。控制器层是模型层与视图层之间的桥梁,控制器可以接受用户在视图层的输入也可以将模型层数据传递给视图层。

代码采用了分层架构,保证了整个框架逻辑清晰、将各个对象之间的耦合程度降到最低,使得本系统具有较强的拓展性和复用性。采用B/S架构,用户可以在浏览器上向服务器发送请求,服务器在确定用户身份后做出响应返回浏览器端。

如图1所示,一种基于数据包捕获技术的网络威胁分析系统,包括:数据包捕获模块、基于包的异常检测模块、基于流的异常检测模块、网络威胁数据库和威胁分析展示模块;

所述数据包捕获模块,用于判断用户是否选择了网卡,未选择网卡,显示网络的设备列表,获取用户选择的网卡,选择了网卡,对大规模网络流量,利用winpcap技术实时捕获数据包,将一定时间片长度内捕获到的数据包以该时间片命名,并发送给基于包的异常检测模块;

所述基于包的异常检测模块,用于接收数据包捕获模块发送的该时间片,进行概要信息的记录;根据概要信息,利用非广延熵提取该时间片网络流数据特征,形成特征文件;利用GBRT(Gradient Boost Regression Tree)提升树对特征文件进行检测,得到异常时间片;将异常数据包的检测结果和日志文件发送给网络威胁数据库,并将异常时间片及其相邻时间片发送给基于流的异常检测模块;所述异常数据包的检测结果为异常时间片内数据包的基本信息;

本实施方式中,进行概要信息记录的方法为:对每个数据包提取出六个属性即源IP、目的IP、源端口、目的端口、字节数、协议类型,并用概要数据结构对每个时间窗口内这些属性的统计信息进行记录。

所述基于流的异常检测模块,用于接收基于包的异常检测模块发送的异常时间片和相邻时间片,对异常时间片结合相邻时间片进行流重组,判断是否能提取出该异常时间片的流,是,进行该异常时间片的流特征提取和流特征选择,形成流特征文件,否则,重新进行流重组;利用AdaBoost算法对流特征文件进行异常检测,将检测结果融合得到异常流数据检测结果;将异常流数据检测结果和日志文件发送给网络威胁数据库;所述异常流数据检测结果包括:攻击类型、攻击源、攻击目标、攻击发生的时间;

本实施方式中,采用数据集国际知识发现和数据挖掘竞赛(Data Mining and Knowledge Discovery CUP99,KDD CUP99),根据DARPA(Defense Advanced Research Projects Agency)提供的truthlist对时间片进行标记,含有攻击数据的时间窗口标记为DARPA中的四种攻击类别之一,不含有攻击数据的窗口则标记为NORMAL。

DARPA数据集中主要的四种攻击类型是:

1)R2L:Remote File Access

远端的攻击者利用如netBIOS、NFS等服务,发现可利用的帐号或不适当的设定,非法登入主机。

2)U2R:User Gain Root

发动此类攻击的攻击者,是一些有一般用户权限的合法使用者,或通过非法手段获得一般用户权限的非法使用者。他们通过利用漏洞,发动诸如缓冲区溢出等攻击,获得超级用户的权限。

3)DOS:拒绝服务攻击

最基本的DOS攻击就是利用合理的服务请求来占用过多的服务资源,使服务器超载,从而无法为正常的用户提供服务。服务资源通常包括网络带宽,存储容量,开放的进程或向内的连接。

4)PROBE:网络扫描

网络扫描是一种常见的产生网络异常流量的行为,通常攻击者都是通过扫描来确定其目标的。扫描可以得到目标的操作系统版本信息,提供的服务和端口信息,有了这些信息攻击者就可以有针对性地发动攻击。它表现为在一段时间内,一个或多个源IP访问大量不同的目的IP的某个端口或一个目标的不同端口。

网络流具有连续性,利用时间片存储数据包可能导致将异常流连接或正常流连接从中分开,因此在对一个时间片流重组时候需要制定策略来读取相邻的时间片来确保需要流重组的时间片的流的完整性,TCP是一种面向连接的协议,客户和服务器之间的任何一次会话都需要建立连接。而TCP流重组是为了对TCP会话进行分析,是对应用层分析检测的基础。因此需要对异常时间片进行流重组以提取出流特征属性进行详细的检测。

所述流特征提取是从数据流里提取出通过流特征选择程序选择好的流特征,流特征选择是指从原始特征集中选择使某种评估标准最优的特征子集。其目的是使选出的最优特征子集所构建的模型达到和特征选择前近似甚至更好的预测精度。这样不但提高了分类计算效率,而且大幅度提升了测试准确度。

由于不同网络流可能属于同一攻击,因此需要将AdaBoost算法检测结果根据攻击融合策略进行所述检测结果融合,得到更加准确可靠的网络异常状况。

所述网络威胁数据库,用于存储基于包的异常检测模块和基于流的异常检测模块发送的异常数据包的检测结果和异常数据流的检测结果,并将异常数据流的检测结果转发给威胁分析展示模块,存储日志文件;存储威胁分析展示模块发送的统计分析结果;

所述威胁分析展示模块,用于接收异常数据流检测结果,进行检测结果统计分析,统计分析结果包括:网络异常检测统计结果即攻击类型发生种类、每类攻击发生的次数、至当前时间窗口为止各攻击类型发生的概率和攻击类型所占的事件安全权重,根据网络异常检测统计结果得到一个综合的威胁值即网络威胁分析评估结果。将威胁值、网络异常检测统计结果和网络数据记录发送给网络威胁数据库,将威胁值和网络异常检测统计结果向用户展示,展示的形式是攻击事件统计表、攻击事件饼图、网络威胁分析图等。

本实施方式中,威胁分析展示模块通过web前端实现动态展示的效果。前端采用EXTJS技术实现结果的展现,后台采用PHP技术实现对本地功能代码的调用及与网络威胁数据库的交互。

如图2所示,利用基于数据包捕获技术的网络威胁分析系统的网络威胁分析方法,包括如下步骤:

步骤1:数据包捕获模块判断用户是否选择了网卡,未选择网卡,显示网络的设备列表,获取用户选择的网卡,选择了网卡,执行步骤2;

步骤2:数据包捕获模块利用winpcap技术实时捕获数据包,并判断是否满足时间片长度,是,以时间片命名捕获到的数据包,将该时间片发送给基于包的异常检测模块,否则,继续捕获数据包;

步骤3:基于包的异常检测模块接收数据包捕获模块发送的时间片,进行概要信息记录;

步骤4:基于包的异常检测模块根据概要信息提取时间片网络流数据特征,形成特征文件;

步骤5:基于包的异常检测模块利用GBRT提升树算法对特征文件进行检测,判断该时间片是否异常,是,得到异常时间片,执行步骤6,否则,执行步骤2;

步骤6:基于包的异常检测模块将异常时间片和日志文件发送给网络威胁数据库,并将异常时间片及其相邻时间片发送给基于流的异常检测模块;

步骤7:基于流的异常检测模块接收基于包的异常检测模块发送的异常时间片和相邻时间片,对异常时间片结合相邻时间片进行流重组,判断是否能提取出该异常时间片的流,是,进行该异常时间片的流特征提取和流特征选择,形成流特征文件,否则,重新进行流重组;

步骤8:基于流的异常检测模块利用AdaBoost算法对流特征文件进行异常检测,将检测结果融合得到异常流数据检测结果,所述异常流数据检测结果包括:攻击类型、攻击源、攻击目标、攻击发生的时间;

步骤9:基于流的异常检测模块将异常流数据检测结果和日志文件发送给网络威胁数据库;

步骤10:网络威胁数据库存储基于包的异常检测模块和基于流的异常检测模块发送的异常时间片数据包、异常数据流的检测结果和日志文件,并将异常数据流的检测结果转发给威胁分析展示模块;

步骤11:威胁分析展示模块接收异常数据流的检测结果,进行检测结果统计分析,将统计分析结果发送给网络威胁数据库,并向用户显示;

步骤12:网络威胁数据库存储威胁分析展示模块发送的统计分析结果。

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