一种基于大数据的网络流量异常实时监测系统的制作方法

文档序号:12890051阅读:413来源:国知局
一种基于大数据的网络流量异常实时监测系统的制作方法与工艺

本发明属于互联网领域,更具体地来说,设计一种基于大数据的网络流量异常实时监测系统。



背景技术:

1、信息时代的网络安全问题

随着网络规模的不断扩大以及各类网络应用的持续深化,互联网已经成为人们生活中不可或缺的基础设施。但与此同时,各类网络攻击日益猖獗,严重威胁着互联网的安全。例如2014年1月21日国内通用顶级域的根服务器忽然出现异常,导致众多知名网站出现dns解析故障,用户无法正常访问事故发生期间,超过85%的用户遭遇了dns故障,引发网速变慢和打不开网站的情况;2015年4月中旬,阿里安全研究实验室近日发现一个名为“wifi杀手”的安卓系统漏洞。利用该漏洞,黑客可对开启了wifi的安卓手机远程攻击,窃取手机内的照片、通讯录等重要信息,影响市面上大部分安卓设备。如何防护对计算机和网络资源的恶意使用与破坏成了当前亟待解决的问题。

2、网络安全产品现状

安装防火墙和入侵检测系统等网络安全产品已经成为一种通用防护措施。网络防火墙能够强化安全策略,有效记录internet上的活动,同时也是个安全的检查站,但是防火墙不仅容易被攻破,而且无法应对来自本网络内部的攻击。基于web的入侵检测系统是目前最流行的web主动安全防护技术,它能够检测到外部攻击与合法用户滥用特权的情况,在最大程度上弥补防火墙的缺陷,然而黑客通过一些适应性策略可以使检测不起作用。

3、流量监控方法

传统的流量监控方法一般分为三个步骤:流量引流、协议重组及后台内容分析。引流分类单元按照协议类型将收到的数据包发给不同的协议重组单元,协议重组单元还原应用层信息,随后将还原的应用层信息连同时间标签、链路信息等发送至后台内容分析单元进行分析。后台内容分析对还原的应用层信息进行热点统计、互联网信息分析等。从而采取一定的措施抑制网络攻击。

在此基础上,可以引入统一资源定位符(url),在预定时间内对url的请求次数进行统计以确定热点url,主动抓取url对应的资源,对其内容进行分析,达到流量监控的目的。



技术实现要素:

本发明旨在解决以上现有技术的问题。提出了一种使系统实时性更强,实时在线进行网络抓包与及时响应使系统具有更好的实用性的基于大数据的网络流量异常实时监测系统。本发明的技术方案如下:

一种基于大数据的网络流量异常实时监测系统,其包括:

数据采集模块:用于把嗅探器工具分布式放置于网络中,实时抓取网络数据包信息并发送给url处理模块(702);

url处理模块:用于根据接收的网络数据包信息,对统一资源定位符对url进行特征提取,并转发给url分析模块;

url分析模块:对大量url数据进行有监督学习,得到能够通过对url进行分析判定出访问性质的模型;将提取过有效信息的url输入模型,经过多个分类器分类打标,确定该url的访问性质;

及时响应模块(704):在确定url的访问性质后及时响应前端,在监测到访问异常的情况下及时对用户作出警示,同时可视化呈现攻击次数与形式。

进一步的,所述url处理模块中对url进行特征提取处理,具体方法如下:去除“#”后的无效数据;将剩余片段按“?”进行切割;分理出文件路径片段,以“/”与“=”划分;查询部分以“&”与“=”划分;将划分所得的参数与值分别放入处理函数中进行正则匹配,处理完毕后的片段即为模型需要的url信息片段。

进一步的,所述数据采集模块与url处理模块间设置了一个用于减小服务器负担的cache层。

进一步的,所述url分析模块将提取过有效信息的url输入模型,经过多个分类器的分类打标,确定该url的访问性质具体包括:分别选取以下特征进行分类打标:url参数值的长度异常值:字符分布,利用统计学中的卡方检验计算字符分布的异常值α;枚举类型,计算属性值的输入属于所枚举异常类型的情况;关键词抽取,寻找相同访问性质的url共同特征,在扫描所有url数据后,对所有物理位置相邻的字符串进行频次记录,筛除频次过低的字符串后对剩余字符串做互信息计算。

进一步的,所述url参数值的长度异常值,利用统计学中的切比雪夫不等式以及长度的均值与方差可以计算出长度的异常值p,

其中x为url参数值的长度;μ为长度均值,σ2为长度方差,k表示标准差个数;

进一步的,所述字符分布利用统计学中的卡方检验计算字符分布的异常值α具体包括:对于字符串{s1,s2,…,sn},cd(s)i表示cd(s)中的第i个概率值,icdi表示icd中的第i个概率值,则其中i=1,2,…,n,即icd中的第i个概率值是样本集中所有样本分布的第i个概率值的均值;

进一步的,所述枚举类型,计算属性值的输入属于枚举类型异常的情况,所述定义函数f和g,函数f是线性递增函数,g(x)表示样本函数,当依次输入训练样本时,倘若遇到新样本则g加1,否则g减1。

f(x)=x

当所有样本都学习结束后得到的函数f和g的相关系数ρ可由下面的公式定义:

其中var(f)和var(g)分别是函数f和g的方差,covar(f,g)是函数f和g的协方差。

进一步的,所述关键词抽取互信息体现了字符串内部结合方式是否紧密,其计算公式如下:

其中,p(s1s2s3)表示字符串s1s2s3出现的概率,p(s1s2)、p(s2s3)含义相仿。

进一步的,此外,还需要计算字符串邻字的左右邻字丰富程度,,其左右邻字的丰富程度可以使用信息熵获得其中p(i)表示该字符串的邻字i出现的概率。

进一步的,所述及时响应模块中对用户的及时响应,具体方法如下:实时数据训练得到分类标签后,判断该url是否异常,在监测到异常访问时,针对个人用户,防御插件弹出警告提示,建议不再继续访问;针对服务器管理员,系统提示服务器受到攻击,攻击地址显示在首页地图上,近期遭受的攻击形式及其次数以折线图形式显示在界面上。

本发明的优点及有益效果如下:

本发明对在复杂环境下的网络异常流量进行实时监测。对url进行准确切片,同时有效的进行特征提取,如长度异常值、字符分布等,以免误判访问性质。bagging集成多模型有监督学习相确保了模型的可靠性。采用时间复杂度相对较小的算法——gbdt、决策树等、使系统实时性更强,实时在线进行网络抓包与及时响应使系统具有更好的实用性,与此同时,良好的人机交互界面更是使系统的使用简单、便捷。

附图说明

图1是本发明提供优选实施例的为本发明网页版展示图

图2为本发明移动客户端应用界面图

图3为本发明url信息提取示例图

图4为本发明数据分析模块结构示意图

图5为本发明bagging框架集成流程图

图6为本发明实时数据预测流程图

图7为本发明系统的整体结构图

图8为本发明数据采集模块示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。

本发明解决上述技术问题的技术方案是:

本发明提出了一个用于网络流量异常实时监测的系统。图8所示为本系统的整体结构图。图1、图2、图3所示为系统的网页、移动客户端应用界面与插件展示图。将大量的已知访问性质的url数据提取有效信息后,进行多模型有监督学习,得到具有极高准确性的分类器。在网络上实时抓取数据包信息,获得url数据,将其解析为有意义的无害形式。将所得有效信息传入事先训练好的分类器,进行访问性质的辨别,在监测出异常访问情况时,web与移动客户端对信息进行可视化处理,更新实时监测数据。保护插件对异常访问进行拦截。

整个流量监测系统的重要过程包括:数据采集模块,url有效信息的提取,分类器的训练,在线分析url,及时响应。

一、数据采集模块

嗅探器广泛应用于所有能够捕获和分析网络流量的产品。在数据采集模块的设计中把嗅硬件探器分布式放于网络中,每一个嗅探器为一个数据采集点,最终实现全局网络的数据采集。对于大数据、高并发的服务器访问来说,数据库存取瓶颈一直是个令人头疼的问题。所以在数据采集模块与数据处理模块间加了一个cache层,减小了服务器的负担,增加了处理效率。

二、url有效信息的提取

url通常由三部分组成:资源类型、存放资源的主机域名、资源文件名,其中包含了大量的有效信息。例如,在“http://www.google.com”这个url中可以了解到客户端通过http协议发起通信,其主机地址为www.google.com。协议定义了url中的数据路径,后面是可选的查询与信息碎片。路径是个分层结构,每个文件夹以“/”分割,最后是文件。同时路径片段还有可选的path参数,参数名与值以“=”分隔。路径之后是查询部分,与路径之间以一个“?”隔开,查询部分包含了一个由“&”分割开的参数列表,参数名与值同样用“=”分开。最后部分是个段落,指向html文件中的某个部分。

为了提取url的有效信息,本文对url进行了如下处理:

1)首先需去除符号“#”后的无效数据;

2)将剩余片段按符号“?”进行切割,

3)分理出文件路径片段,以符号“/”与符号“=”划分;

4)查询部分以符号“&”与符号“=”划分;

5)将3)、4)划分所得的参数与值分别放入处理函数中进行正则匹配。处理函数会将数字用日期与时间代替,乱符更换为“$0”,长度小于10的小写字母组成的字符串改为“s”,长度大于2的“ox”开头的字符串改为“ox1234”,多个空格缩为一个空格。处理完毕后的片段即为模型需要的url信息片段。图4为url信息提取示例图。

三、分类器的训练

将已有的大量url数据提取有效信息后,开始训练分类器。

1)特征构造:众所周知,特征工程的构造严重影响着模型的有效性与准确率。本文分别选取:

a.url参数值的长度异常值:利用统计学中的切比雪夫不等式以及长度的均值与方差可以计算出长度的异常值p,

其中μ为长度均值,σ2为长度方差,k表示标准差个数;

b.字符分布:利用统计学中的卡方检验计算字符分布的异常值α。对于字符串{s1,s2,…,sn},cd(s)i表示cd(s)中的第i个概率值,icdi表示icd中的第i个概率值,则其中i=1,2,…,n。即icd中的第i个概率值是样本集中所有样本分布的第i个概率值的均值;

c.枚举类型:某个属性值的合法输入属于枚举类型的情况非常普遍,例如“gender”属性的合法参数是“{male,female}”,任何不属于这两种情况的输入都应该属于异常情况。定义函数f和g,函数f是线性递增函数,当依次输入训练样本时,倘若遇到新样本则g加1,否则g减1。

f(x)=x

当所有样本都学习结束后得到的函数f和g的相关系数ρ可由下面的公式定义:

其中var(f)和var(g)分别是函数f和g的方差,covar(f,g)是函数f和g的协方差;

d.关键词抽取:为了寻找相同访问性质的url共同特征,对同访问类型的url做关键词抽取显得尤为重要。在扫描所有url数据后,对所有物理位置相邻的字符串进行频次记录。筛除频次过低的字符串后对剩余字符串做互信息计算。互信息体现了字符串内部结合方式是否紧密,其计算公式如下:

其中,p(s1s2s3)表示字符串s1s2s3出现的概率,p(s1s2)、p(s2s3)含义相仿。

此外,还需要计算字符串邻字的左右邻字丰富程度,左右邻字越丰富,该字符串在数据集中就越灵活,是该种url关键词的可能性就越大。其左右邻字的丰富程度可以使用信息熵获得其中p(i)表示该字符串的邻字i出现的概率。

将特征扩展到总数据集,分别用xgboost、rf、lightgbm、lr算法进行有监督学习,并用bagging框架集成分类器得到分类模型,表1为机器学习算法实验准确率对照表。图5为分类器构造流程图。图6为bagging框架集成流程图。

表1机器学习算法实验准确率对照表

四、url在线分析

将实时抓取的url数据进行有效信息提取后,输入分类器,针对不同访问性质的五个子模型会分别给出分类结果及其预测准确率,综合比较子模型预测结果,取预测准确率最大的分类标签作为实时数据的访问性质回馈给前端。图7为实时数据预测流程图。

五、及时响应

通过通信串口,可视化模块显示数据处理模块所提供的数据结果。针对个人用户,倘若该url符合已知四种攻击形式,则插件弹出警告提示,建议不再继续访问;针对服务器管理员,系统会提示服务器受到攻击,攻击地址将显示在首页地图上,web可视化模块提供了一个完整的网络全局实时攻击情况,近期遭受的攻击形式及其次数以折线图形呈现。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

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