基于http报文数据的并行化网络异常检测方法与系统的制作方法
【专利说明】
[0001 ] 技术领域:
本发明涉及网络安全应用领域,尤其涉及基于HTTP报文数据的并行化网络异常检测方法与系统。
[0002]【背景技术】:
目前,网络异常已经成为国内乃至全世界的网络安全领域最为关注的危害之一。伴随着网络应用的迅速发展,网络异常带来的危害和影响也日益突显。根据CNCERT统计,SQL注入攻击、跨站点脚本攻击等主要网络攻击已经占网络安全事件的一半以上。网络异常一方面影响用户的正常享受网络服务,对网络服务提供商造成巨大的经济危害和信用危害,另一方面会窃取用户的隐私信息,甚至威胁到用户的资金安全和信息安全,危害巨大。
[0003]网络异常中的SQL注入、XSS等主要异常虽然攻击具体实现技术各不相同,但它们具有通用的攻击发起模式。即通过对参数进行注入payload来进行攻击,参数可能出现在GET、P0ST、PATH等等位置。因此,针对请求URL中的参数进行挖掘分析,是解决网络异常的一个重要突破口。已有的网络异常检测主要采用滥用检测方法和异常检测方法。滥用检测方法是利用预先定义的攻击特征来检测攻击,这种方法的准确率高,可应用于商业的入侵检测;它的缺点是:一方面需要手动定义不同的攻击特征模式,另一方面它无法有效应对新出现的攻击类型。异常检测方法学习访问的正常行为并建立正常访问的行为特征,检测并发现偏离正常访问的行为。异常检测方法的缺点是,对异常访问较为敏感,检测的错误率较尚O
[0004]
【发明内容】
:
针对上述问题,本发明要解决的技术问题是提供基于HTTP报文数据的并行化网络异常检测方法与系统。
[0005]本发明的基于HTTP报文数据的并行化网络异常检测方法与系统,其特征在于:包括以下步骤:
a.获取HTTP报文数据;
b.对HTTP报文数据进行数据清洗并入库;
c.对入库的报文数据进行分层抽样,引入隐马尔科夫语法模型构建组合分类器并构建模糊化集合;
d.使用组合分类器作为检测模型,引入模糊化集合动态判断待检测样本是否为异常访问记录,输出异常访问记录。
[0006]优选的,所述HTTP报文数据包括记录标识、日期、时间、源IP点分式、请求URL的域名、路径、参数、HTTP访问的状态码和HTTP请求方式。
[0007]优选的,所述步骤b中数据清洗是基于HADOOP分布式计算框架,对HTTP报文数据进行清洗、入库,清洗后的HTTP报文数据包括源IP点分式、请求URL的域名、请求URL的路径、请求URL的参数、访问次数和日期,对参数尝试使用GBK、UTF-8、GB2312进行解码,进一步根据报文记录中的访问日期、源IP、请求URL的域名和请求URL的参数进行记录分组并统计频次。
[0008]优选的,所述步骤c中分层抽样是对样本记录进行抽样,每个IP每天抽取一条记录作为训练样本,以减少训练的计算复杂度,然后对抽取训练样本中的参数值和参数序列,弓丨入隐马尔科夫语法模型并行的构造正常参数值和正常参数序列的语法模型,将不同参数的隐马尔科夫语法模型组成对应的隐马尔科夫组合分类器。
[0009]优选的,所述步骤d中组合分类器是作为检测模型,对待检测样本进行检测,计算得到待检测样本的评估概率值,为提高评估的正确率,引入模糊化集合,依据评估概率值进行模糊化和推理,判断该样本是否为异常访问记录。
[0010]本发明的基于HTTP报文数据的并行化网络异常检测系统,包括:
数据采集单元,用于获取HTTP报文数据;
数据清洗单元,用于对HTTP报文数据进行清洗并入库;
数据训练单元,用于对入库的报文数据进行分层抽样,引入隐马尔科夫语法模型构建组合分类器并构建模糊化集合;
数据检测单元,用于使用组合分类器作为检测模型,引入模糊化集合动态判断待检测样本是否为异常访问记录,输出异常访问记录。
[0011]优选的,所述数据采集单元是通过架设HTTP报文采集服务器、镜像交换机以及光电转换等设备,实现HTTP报文数据的采集。
[0012]本发明有益效果:本发明基于HADOOP大数据分析平台,可以全量分析HTTP报文数据,发现数据中隐藏的网络异常;分析确定发起攻击的IP地址,可以针对IP地址进行封杀,使得已发生的网络异常减少影响范围。此外,通过源IP进行回溯,还可以通过与IP资源比对,进一步挖掘发起攻击的终端的地理位置等社会信息,使得源头上阻止网络攻击发生变成可能。
[0013]【附图说明】:
为了易于说明,本发明由下述的具体实施及附图作以详细描述。
[0014]图1是本发明基于HTTP报文数据的并行化网络异常分析方法的业务流程图;
图2是本发明基于HTTP报文数据的并行化网络异常分析方法的数据流程图;
图3是本发明基于HTTP报文数据的并行化网络异常分析方法的数据清洗的流程示意图;
图4是本发明基于HTTP报文数据的并行化网络异常分析系统的模块示意图。
[0015]【具体实施方式】:
为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图中示出的具体实施例来描述本发明。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此夕卜,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0016]如图1-4所示,本实施例的基于HTTP报文数据的并行化网络异常检测方法,其特征在于:包括以下步骤:
a.获取HTTP报文数据;
b.对HTTP报文数据进行数据清洗并入库;
c.对入库的报文数据进行分层抽样,引入隐马尔科夫语法模型构建组合分类器并构建模糊化集合;
d.使用组合分类器作为检测模型,引入模糊化集合动态判断待检测样本是否为异常访问记录,输出异常访问记录。
[0017]具体地,HTTP报文数据包括记录标识、日期、时间、源IP点分式、请求URL的域名、路径、参数、HTTP访问的状态码和HTTP请求方式。
[0018]具体地,检测方法包含三个主要的数据处理过程,第一、数据清洗;第二、引入隐马尔科夫语法模型并行构建检测模型;第三、根据检测模型评估待检测记录。详细针对以上结构说明,步骤2中,基于HADOOP分布式计算框架,对HTTP报文数据进行清洗并入库。
[0019]数据清洗使用MapReduce计算实现,分为两个MapReduce程序。MapReduce程序一包含Mapper阶段,无Reducer阶段。Mapper阶段将原始的HTTP报文数据作为计算输入,其主要功能是去除不相关的字段、对参数值解码。
[0020]MapReduce程序二分为Mapper阶段和Reducer阶段。Mapper阶段对报文数据进行分片并分配到集群环境上并行运行。以源IP+日期+请求的URL作为KEY进行统计。Reducer阶段将Mapper阶段的输出根据KEY值进行规约统计,最终输出清洗后的HTTP报文数据。
[0021]清洗前的HTTP报文数据包括:记录标识、日期、时间、源IP点分式、请求URL的域名、路径、参数、HTTP访问的状态码、HTTP请求方式;
清洗后的HTTP报文数据包括:源IP点分式、请求URL的域名、请求URL的路径、请求URL的参数、访问次数、日期。
[0022]步骤3中,抽样选取报文记录、引入隐马尔科夫语法模型并行建立请求URL参数的检测模型、将不同参数的隐马尔科夫语法模型组成对应的隐马尔科夫组合分类器。
[0023]训练模型由三个过程组成。I)在HADOOP平台上,对样本记录按照IP字段分片,作并行分层抽样操作,保证每个源IP每天针对某一个请求只提供一个样本,得到训练样本集合B= Ib^b2,引入隐马尔科夫语法模型建立请求URL参数的访问记录的正常模型。对请求URL样本bi(l < i < η)进行分割,得到请求的域名、路径、参数。针对请求的不同参数在HADOOP平台的不同节点并行建立隐马尔科夫语法模型。请求的参数可作为一个字符序列Sequence。设bi中包含的参数集合为P= {pi,p2,…,Pm},则请求记录中包含字符序列Sequence=Kpi,vi),(P2,V2),…,(Pm, vn)}。其中,Pj对应某个参数名称,Vj对应某个参数值。对于bi的参数名称,{ Pl,P2,…,Pm}组成一个状态序列SQi,每一个参数名称通过编码对应该序列中的一个状态,对参数名称序列建立隐马尔科夫语法模型Mq1。对于bl的参数值,