一种基于极值点分类的网络入侵检测方法与流程

文档序号:13949929阅读:152来源:国知局
一种基于极值点分类的网络入侵检测方法与流程

本发明涉及计算机网络安全领域,尤其涉及一种基于极值点分类的网络入侵检测方法。



背景技术:

随着互联网技术的发展,网络攻击手段日益复杂化、多元化、智能化,网络安全问题日益突出。入侵检测方法作为网络安全系统的一个重要的动态防护措施,通过收集和分析网络行为、审计数据,检查网络或系统中是否存在违反安全策略的行为和被攻击的迹象,来检测系统外部的入侵者的攻击行为。现阶段一定规模的网络环境通常都配置入侵检测系统,以期在网络入侵的异常行为发生时,可迅速发现并进行拦截。因此,网络入侵检测方法对网络系统的安全发挥着非常重要的作用,也是当前网络安全领域研究的一个热点。

入侵检测本质上是分类问题,目前通常采用模式识别的方法来进行入侵检测的研究,如神经网络、遗传算法、支持向量机、决策树等。当这些方法时间复杂度都较高,不适合处理大规模网络入侵问题,甚至在一些中等规模的数据集上就花费时间过多。为降低时间复杂度,常用的方法有近似计算和减少训练样本数等,但这些方法往往以牺牲分类精度为代价。针对网络入侵检测方法的现状与诸多不足,本发明提出了一种适用于大规模网络环境的基于极值点分类的网络入侵检测方法。



技术实现要素:

本发明针对现阶段入侵检测方法的缺陷,提出了一种适用于大规模网络环境的基于极值点分类的网络入侵检测方法,通过采用数据几何轮廓分析技术进行二元分类,将网络流量的数据分类为正常数据和入侵数据,能提高入侵检测处理大量网络数据的及时性和准确性。

基于极值点分类的网络入侵检测方法具体流程如下步骤:

步骤1.收集网络正常数据流,将每个非数值属性转化为数值,形成训练数据集x;

步骤2.计算训练集x的极值点,获得基于极值点分类的网络入侵检测模型;

步骤3.接收网络未标记的数据流,将每个非数值属性转化为数值,采用基于极值点分类的网络入侵检测模型进行分类;

上述步骤2所述的获得基于极值点分类的网络入侵检测模型的具体步骤是:

步骤2.1每次迭代,产生随机高斯矩阵kj∈r2×d,其中矩阵kj的元素满足高斯分布n(0,1),d是训练集x的特征数,j为迭代的次数,j的初始值为1;

步骤2.2将x投影到二维平面rj,得到二维数据集cj={cj,1,cj,2,...,cj,n},其中cj,k=kjxk,xk和cj,k分别是x和cj数据集的第k个样本,xk∈rd×1,n是x中样本的个数;

步骤2.3以原点为中心划分二维平面rj得到2m个中心夹角为α的等分区域,其中α=π/m;

步骤2.4得到cj分布在第i对中心角对称的等分区域的数据集

其中i=0,1,…,m-1,k=1,2,...,n,arctan()表示反余切函数;

步骤2.5计算第i对中心角对称的等分区域的中心单位向量

其中i=0,1,…,m-1;

步骤2.6计算第i对中心角对称的等分区域的二维样本与所属区域的中心单位向量的点乘操作,获得点乘操作的最大值

其中i=0,1,…,m-1;

步骤2.7获得第i对等分区域中点乘操作最大值对应的二维点

其中i=0,1,…,m-1;

步骤2.8获得第i对等分区域中的极值点:

其中i=0,1,…,m-1;

步骤2.9得到二维平面rj上的极值点集pj:

步骤2.10判断当前j是否满足j<jmax,若是,则令j=j+1,返回步骤2.1,若否,则执行步骤2.11;

步骤2.11将jmax个极值点集pj和对应的高斯矩阵kj保存为网络入侵检测模型w:

上述步骤3所述的采用基于极值点分类的网络入侵检测模型进行分类的方法的具体步骤是:

步骤3.1对于待检测的没有标记的网络数据流z,每次迭代,得到它在二维平面rj的投影向量zj,其中zj=kjz,j为迭代次数,j的初始值为1;

步骤3.2判断zj是否在二维平面rj的极值点集pj的内部,若是,则转向步骤3.3,若否,则输出分类结果:数据流z是网络攻击流;

步骤3.3判断当前j是否满足j<jmax,若是,则令j=j+1,返回步骤3.1,若否,则输出分类结果:数据流z是网络正常流。

本发明的有益效果:

当网络遭受外部入侵时,本发明利用了入侵数据与正常网络数据在空间分布上的差异(差异受入侵强度、攻击类型等影响),通过计算正常网络流的极值点挖掘其在数据空间上的分布轮廓,建立基于极值点分类的网络入侵检测方法,该入侵检测方法能利用计算机硬件如gpu的并行计算能力,具有高度的实时性,计算量小,能及时对入侵做出检测,检测精度高;同时该入侵检测方法能应用于不同的网络环境和面对不同的入侵类型,网络适应性好。

附图说明

图1是本发明基于极值点分类的网络入侵检测方法的流程图;

图2是构建基于极值点分类的网络入侵检测模型的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体事实例,并参照附图1,对本发明进一步详细说明。

本实施例选取国际标准数据集kddcup99作为研究对象,数据集中的每条记录包含从一条网络连接中提取的41个特征,kddcup99数据总共由500万条记录构成,分为正常、probe、dos、u2r、r2l共5类数据;本实施例中将后4类归为网络攻击数据,在kddcup99数据集中随机选取18万个正常数据流样本用于构建训练数据集,并随机选取6万正常数据流和5万攻击数据流样本用于测试。

步骤1.收集kddcup99数据集中18万条网络正常数据流,每个非数值属性转化为数值,本实施例采用将数值直接替换类别属性,形成训练数据集x;

步骤2.计算训练集的极值点,获得基于极值点分类的网络入侵检测模型,如图2所示,其具体步骤如下:

步骤2.1每次迭代,产生随机高斯矩阵kj∈r2×41,其中矩阵kj的元素满足高斯分布n(0,1),j为迭代的次数,j的初始值为1;

步骤2.2将x投影到二维平面rj,得到二维数据集cj={cj,1,cj,2,...,cj,n},其中cj,k=kjxk,xk和cj,k分别是x和cj数据集的第k个样本,xk∈r41×1,n=180000;

步骤2.3以原点为中心划分二维平面rj得到2m个中心夹角为α的等分区域,α=π/m,本实施例中m=10;

步骤2.4得到cj分布在第i对中心角对称的等分区域的数据集

其中i=0,1,…,9,k=1,2,...,180000,arctan()表示反余切函数;

步骤2.5计算第i对中心角对称的等分区域的中心单位向量

其中i=0,1,…,9;

步骤2.6计算第i对中心角对称的等分区域的二维样本与所属区域的中心单位向量的点乘操作,获得点乘操作的最大值

其中i=0,1,…,9;

步骤2.7获得第i对等分区域中点乘操作最大值对应的二维点

其中i=0,1,…,9;

步骤2.8获得第i对等分区域中的极值点:

其中i=0,1,…,9;

步骤2.9得到二维平面rj上的极值点集pj:

步骤2.10判断当前j是否满足j<jmax,本实施例中jmax=800,若是,则令j=j+1,返回步骤2.1,若否,则执行步骤2.11;

步骤2.11将jmax个极值点集pj和对应的高斯矩阵kj保存为网络入侵检测模型w:

步骤3.接收网络未标记的数据流,将每个非数值属性直接替换类别属性转化为数值属性,采用基于极值点分类的网络入侵检测模型进行分类,其具体步骤如下:

步骤3.1对于待检测的没有标记的网络数据流z,每次迭代,得到它在二维平面rj的投影向量zj,其中zj=kjz,j为迭代次数,j的初始值为1;

步骤3.2判断zj是否在二维平面rj的极值点集pj的内部,若是,则转向步骤3.3,若否,则输出分类结果:数据流z是网络攻击流;

步骤3.3判断当前j是否满足j<jmax,若是,则令j=j+1,返回步骤3.1,若否,则输出分类结果:数据流z是网络正常流。

本实施例的检出率(%)、误报率(%)、模型训练时间(秒)和分类时间(秒)如表1所示,其中检出率=被检测出的异常样本数/异常样本总数,误报率=被误报为异常的正常样本数/正常样本总数。同时表1将本发明方法的结果与使用最小二乘支持向量机、三层bp神经网络和最大夹角间隔核心集向量机(胡文军,王士同,邓赵红,"适合大样本快速训练的最大夹角间隔核心集向量机",电子学报,2011年)进行了对比,实验平台均为matlab2009(a);实验在inteli7-3770cpu3.4ghz,16-gbram,windows7系统下执行。最小二乘支持向量机和三层bp神经网络因为训练时间过长(超过8小时)而没有记录到其各性能指标值。

表1:本发明方法与最小二乘支持向量机、三层bp神经网络和最大夹角间隔核心集向量机的性能比较

以上所述的实例只是用于说明本发明,而不构成对本发明的限制。本领域的技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种修改和变更,这些修改和变更仍然在本发明的保护范围内。

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