一种基于svm的网络流量异常检测方法

文档序号:10525668阅读:296来源:国知局
一种基于svm的网络流量异常检测方法
【专利摘要】本发明公开一种基于SVM的网络流量异常检测方法,其包括:读取历史网络流量数据;提取历史网络流量数据的网络流量特征;将网络流量特征进行数据标准化;对网络流量特征进行约简,得到精简优化的特征子集;利用SVM对最优特征子集进行训练,得到SVM分类器;对处理后的在线的测试网络流量数据加入SVM分类器中,用SVM分类器计算,得到最终的分类结果,判定处理后的在线的测试网络流量数据是否为异常网络流量数据。与现有技术相比,本发明用PCA?TS方法对网络流量特征数据进行特征约简降维,并选择最优的特征子集。避免了“维数灾难”带来分类检测时间长、效率低、占用更大的储存空间的问题;而且为后续处理降低处理时间,提高了分类器的分类精度。
【专利说明】
一种基于SVM的网络流量异常检测方法
技术领域
[0001]本发明涉及网络安全技术领域,尤其涉及一种基于SVM的网络流量异常检测方法。
【背景技术】
[0002] 伴随着移动通信网络的普及和时代的开启,我国移动互联网进入了蓬勃发展的阶 段,然而随着互联网技术日渐成熟和市场规模不断扩大,产生了大量的网络流量数据,该数 据具有价值高、维数大等特点,在使用和储存过程中,极易成为黑客的攻击目标。近几年,互 联网中的各种攻击异常频繁发生,严重威胁着网络的正常使用,互联网安全的重要性越发 凸显。因此如何及时有效地检测网络异常,保证安全的网络环境具有重要的意义。网络流量 异常是指网络流量行为偏离其正常行为的情形。随着网络规模不断扩大,复杂性不断增加, 网络流量异常对网络性能的影响越来越大。因而如何准确、快速地检测出网络流量异常,并 做出合理的响应,是保证网络安全的前提条件之一。
[0003] 鉴于上述缺陷,本发明创作者经过长时间的研究和试验,最终获得了本发明。

【发明内容】

[0004] 本发明的目的在于提供一种基于SVM的网络流量异常检测方法用以克服上述技术 缺陷。
[0005] 为实现上述目的,本发明采用的技术方案在于:提供了一种基于SVM的网络流量异 常检测方法,该方法包括以下步骤:
[0006] 步骤S1,读取历史网络流量数据;
[0007] 步骤S2,提取所述历史网络流量数据的网络流量特征;
[0008] 步骤S3,将所述网络流量特征进行数据标准化;
[0009] 步骤S4,对所述网络流量特征进行约简,得到精简优化的特征子集;
[001 0]步骤S5,利用SVM对所述最优特征子集进行训练,得到SVM分类器,即最优分类超平 面;
[0011] 步骤S6,对处理后的在线的测试网络流量数据加入所述SVM分类器中,用所述SVM 分类器计算,得到最终的分类结果,判定处理后的在线的测试网络流量数据是否为异常网 络流量数据。
[0012] 较佳的,所述步骤S4中,是采用PCA-TS方法对所述网络流量特征进行约简,得到精 简优化的特征子集,所述PCA-TS方法为下述两步的结合:
[0013] 步骤a,利用主成分分析算法去除网络流量数据的冗余性和弱属性,进而降低维 数,得到约简特征集;
[0014] 步骤b,利用禁忌搜索算法对约简特征集进行优化,以最大分类信息为目标,得到 最优特征子集。
[0015] 较佳的,所述PCA-TS方法具体包括如下步骤:
[0016]步骤S41,置空禁忌表并设置初始化参数:禁忌长度LT,最大迭代次数Dmax,最大改 进次数Gmax;
[0017] 步骤S42,使用PCA对历史网络流量数据进行约简,得到约简特征集TzlT^Ts,···, TP},P为约简后特征集的数量;
[0018] 步骤S43,对特征集T进行二进制编码,得到初始解Ro,即选取初始的特征子集;
[0019] 步骤S44,设置终止条件,当达到Dmax时,停止搜索;当通过Gmax寻找最优解无改进 时,停止搜索;
[0020] 步骤S45,判断是否满足终止条件,如果满足终止条件,结束运算,输出最优特征子 集;如果不满足,则转到步骤S46;
[0021 ]步骤S46,初始解代入领域范围内计算领域解,并通过目标函数选择出最佳的候选 解;
[0022] 步骤S47,判断候选解是否满足特赦规则,若满足,则更新禁忌表中的最优解,并转 到步骤S44;如果不满足,则转到步骤S48;
[0023] 步骤S48,计算候选解的禁忌属性,选择非禁忌对象的最优值替换禁忌表的最初 值,并转到步骤S44;
[0024]步骤S49,结束,输出最优特征子集。
[0025]较佳的,所述步骤S42具体包括以下步骤:
[0026]步骤S421,读取经处理后的历史网络流量数据乂=(11,12,-_,&),有~个样本,原始 特征个数为η;
[0027]步骤S422,求相关系数矩阵C
其中4是特征Xi的数据 向量,
??是特征&的均值;
[0028]步骤S423,求相关系数矩阵C的特征方程det(XE-C)=0的特征根,并且满足h 2 λ2 > · · · > λη>〇 ;
[0029] 步骤S 4 2 4,确定主成分的个数ρ,ρ〈 η,从而达到降维的目的,
$中9一般取值范围为[85%,95%];
[0030] 步骤S425,计算Ai对应的特征向量ru,其中,i = l,2,…,Ρ;
[0031] 步骤S426,约简特征集Ti的数据向量)
,其中nij表示第i个特征向量 的第j维。
[0032] 较佳的,所述步骤S5具体包括以下步骤:
[0033] 步骤 S51,读取样本集 5={(父1,7〇|1 = 12,...少},父1已妒,71已{+1,-1},其中 + 1、-1 分别表示网络流量数据的正常、异常,q是特征子集的维数,Rq是指&是9维的实数;
[0034] 步骤S52,线性判别函数的一般为g(x) = (w · Φ (x))+b,对应的分类超平面为(w · C>(x))+b = 0,其中(w· Φ(χ))是法向量w和Φ (X)的内积表示,Φ输入空间1^到一个 Hilbert空间的变换;
[0035] 步骤S53,找到一个最优分类超平面以最大间隔将两类数据分开,最大间隔的距离 2 为^,利用极大化间隔思想得到: HI
[0036]
[0037] s · t .yi( (w · Φ (Xi) )+b) > 1_ξ?,i = 1,2,…,N
[0038] ξ?>0,? = 1,2,···,Ν (1)
[0039] 其中向量- 体现样本集被错分的程度,引进的惩罚因子c作为综 名
两个目标的权重;
[0040] 步骤S54,用Lagrange乘子(61=((^,α2,···,αΝ) τ将公式⑴转化为有约束的函数极值 问题:
[0041]
[0042] 其中核函数K(Xi,Xj) = (?(Xi) · Φ(Χ」));
[0043] 步骤S55,求所述有约束的函数极值问题,得到任意解#=(<,α/,…,<V)T,则最 大间隔方法得到的最优解:
[0044]
[0045]
[0046] 步骤S56,得到最优分类超平面为(w* · Φ(χ))+Ρ = 0。
[0047] 较佳的,步骤S6具体为:处理后的测试网络流量数据为X'iU/ ,χ/,···,Χ/),若 (W*· ΦΟΟΗΡΧ),则X'是正常网络流量数据;若(w*· 则X'是异常网络 流量数据。
[0048] 与现有技术比较本发明的有益效果在于:本申请提供的一种基于SVM的网络流量 异常检测方法,具有以下优点:
[0049] (1)用PCA-TS结合方法对网络流量特征数据进行特征约简降维,并选择最优的特 征子集。这不仅避免了"维数灾难"带来分类检测时间长、效率低、占用更大的储存空间的问 题;而且训练优化后的特征集,为后续处理降低处理时间,提高了分类器的分类精度。
[0050] (2)相对于多种分类器,比如:神经网络、决策树、朴素贝叶斯等,SVM方法在分类器 性能在有较大提升,并且具有高分类精度的优势,从而提高检测出异常网络流量数据的准 确性。
[0051] (3)利用历史数据离线训练和流量数据的在线分类,能立刻反馈异常网络流量数 据,及时采取对应策略,保证网络安全。
【附图说明】
[0052]图1为本发明提供的一种基于SVM的网络流量异常检测方法的流程图;
[0053]图2为步骤S4中PCA-TS方法的流程图。
【具体实施方式】
[0054]为便于进一步理解本发明的技术内容,下面结合附图对本发明作进一步说明。
[0055] 如图1所示,为本发明提供的一种基于SVM的网络流量异常检测方法的流程图,该 方法包括如下步骤:
[0056] 步骤S1,读取历史网络流量数据。
[0057] 步骤S2,提取所述历史网络流量数据的网络流量特征。
[0058] 网络流量特征主要是统计特征,包括报文和流的属性,这些统计特征用特征向量 表示,如一条网络流数据X,基于该流的特征描述可表示为X=( X1,X2, ···,&),其中Xl代表第 i个特征。
[0059] 步骤S3,将所述网络流量特征进行数据标准化。便于统一每个特征的量纲,有利于 特征约简和优化。
[0060] 网络流量提取的特征中,包含不同数据类型:名词型和数值型等,且不同特征量纲 也不同,这种差异会影响分类精度,所以需要将样本的属性值转换为标准的取值空间。
[0061 ]先利用公式(1)求出样本中每个特征的均值mean(i),
[0062]
(1)
[0063] 再利用公式(2)求出样本中每个特征的标准差std(i),
[0064]
(2)
[0065] 再利用公式(3)求出样本中每个特征标准化后的值
[0066]
(3)
[0067] 其中,N为样本数,<表示第k个样本的第i个特征的值。
[0068]步骤S4,利用PCA-TS方法对所述网络流量特征进行约简,得到精简优化的特征子 集。
[0069] PCA-TS方法为下述两步的结合:
[0070] 步骤a,利用主成分分析(PCA)算法去除网络流量数据的冗余性和弱属性,进而降 低维数,得到约简特征集。
[0071] 步骤b,利用禁忌搜索(TS)算法对约简特征集进行优化,以最大分类信息为目标, 得到最优特征子集。
[0072]用该方法能够减少网络流量高维特征空间冗余和选择最优特征子集,为后续的分 类训练检测提供低维和有效的流量特征属性。
[0073]步骤S5,利用支持向量机(SVM)对所述最优特征子集进行训练,得到SVM分类器,即 最优分类超平面。
[0074] 步骤S6,对处理后的在线的测试网络流量数据加入SVM分类器中,用SVM分类器计 算,得到最终的分类结果,判定处理后的在线的测试网络流量数据是否为异常网络流量数 据。所述处理是指对在线的测试网络流量数据进行特征提取、标准化、主成分分析降维和选 择最优特征。
[0075] 如图2所示,为步骤S4中PCA-TS方法的流程图,步骤S4中PCA-TS方法具体包括如下 步骤:
[0076]步骤S41,置空禁忌表并设置初始化参数:禁忌长度L:,最大迭代次数Dmax,最大改 进次数Gmaxo
[0077]步骤S42,使用PCA对历史网络流量数据进行约简,得到约简特征集TzlT^Ts,···, TP},P为约简后特征集的数量。
[0078]步骤S43,对特征集T进行二进制编码,得到初始解Ro,即选取初始的特征子集。
[0079] 步骤S44,设置终止条件,当达到Dmax时,停止搜索;当通过Gmax寻找最优解无改进 时,停止搜索。
[0080] 步骤S45,判断是否满足终止条件,如果满足终止条件,结束运算,输出最优特征子 集;如果不满足,则转到步骤S46。
[0081 ]步骤S46,初始解代入领域范围内计算领域解,并通过目标函数选择出最佳的候选 解。
[0082] 步骤S47,判断候选解是否满足特赦规则,若满足,则更新禁忌表中的最优解,并转 到步骤S44;如果不满足,则转到步骤S48。
[0083] 步骤S48,计算候选解的禁忌属性,选择非禁忌对象的最优值替换禁忌表的最初 值,并转到步骤S44。
[0084]步骤S49,结束,输出最优特征子集。
[0085]其中,步骤S42中PCA主要思想是利用数据集统计性质的特征空间变换,将一个数 据维数较高且互相关联的数据集进行降维,使原始空间转换为新的主成分空间,且各主成 分互不相关。具体包括以下步骤:
[0086]步骤S421,读取经处理后的历史网络流量数据X= (X1,X2,…,χη),有N个样本,原始 特征个数为η。
[0087] 步骤S422,求相关系数矩阵C
,其中果是特征Xi的数据 向量,
:.,石是特征Xi的均值。
[0088] 步骤S423,求相关系数矩阵C的特征方程det(XE-C)=0的特征根,并且满足h 2 λ2 > ··_ > λη>〇。
[0089] 步骤S 4 2 4,确定主成分的个数ρ,ρ〈 η,从而达到降维的目的,
1,其中Θ-般取值范围为[85%,95%]。
[0090] 步骤S425,计算λ!对应的特征向量ru,其中,i = 1,2,…,ρ。
[0091] 步骤S426,约简特征集Ti的数据向量〉
,其中nij表示第i个特征向量 的第j维。
[0092] 禁忌搜索(TS)算法是人工智能的一种体现,是局部领域搜索的一种扩展。通过引 入一个灵活的存储结构和相应的禁忌准则来避免迂回搜索,并通过特赦准则来赦免一些被 禁忌的优良状态,进而保证多样化的有效探索为了最终实现全局优化。邻域是沿用局部邻 域搜索的思想,用于实现邻域搜索。候选解是在当前解的领域范围内寻找满足不禁忌条件 和目标函数最优的可行解。禁忌表包括禁忌对象和禁忌长度,体现了算法避免迂回搜索的 特点。特赦准则,则是对优良状态的奖励,它是对禁忌策略的一种放松。
[0093]步骤S5具体包括以下步骤:
[0094]步骤S51,读取样本集5={(父1,7〇|1 = 12,."少},父1已妒,71已{+1,-1},其中+ 1、-1 分别表示网络流量数据的正常、异常,q是特征子集的维数,Rq是指&是9维的实数。
[0095]步骤S52,线性判别函数的一般为g(x) = (w · ?(X))+b,对应的分类超平面为(w · C>(x))+b = 0,其中(w· Φ(χ))是法向量w和Φ (X)的内积表示,Φ输入空间1^到一个 Hi lbert空间的变换。
[0096] 步骤S53,找到一个最优分类超平面以最大间隔将两类数据分开,最大间隔的距离 1 为π,利用极大化间隔思想得到:
[0097]
[0098] s · t .yi( (w · Φ (Xi) )+b) >l_|i,i = 1,2,…,N
[0099] ξ?>0,? = 1,2,···,Ν (4)
[0100] 其中向量- 体现样本集被错分的程度,引进的惩罚因子c作为综 名
?,两个目标的权重。
[0101] 步骤S54,用Lagrange乘子(61=((^,α2,···,αΝ) τ将公式⑷转化为有约束的函数极值 问题:
[0102]
[0103]其中核函数K(Xi,Xj) = (?(Xi) · Φ(Χ」))。
[0105]
[0104] 步骤S55,求所述有约束的函数极值问题,得到任意解#=(<,α/,…,<V)T,则最 大间隔方法得到的最优解:
[0106]
[0107] 步骤S56,得到最优分类超平面为(w* · Φ(χ))+Ρ = 0。
[0108] 步骤S6具体为:处理后的测试网络流量数据为X'zU/ ,χ/,···,Χ/),若(w*· Φ (X'D+PX),则X'是正常网络流量数据;若(w*· OU'D+PSO,则X'是异常网络流量数 据。
[0109] 本发明提供的一种基于SVM的网络流量异常检测方法具体以下优点:
[0110] (4)用PCA-TS结合方法对网络流量特征数据进行特征约简降维,并选择最优的特 征子集。这不仅避免了"维数灾难"带来分类检测时间长、效率低、占用更大的储存空间的问 题;而且训练优化后的特征集,为后续处理降低处理时间,提高了分类器的分类精度。
[0111] (5)相对于多种分类器,比如:神经网络、决策树、朴素贝叶斯等,SVM方法在分类器 性能在有较大提升,并且具有高分类精度的优势,从而提高检测出异常网络流量数据的准 确性。
[0112] (6)利用历史数据离线训练和流量数据的在线分类,能立刻反馈异常网络流量数 据,及时采取对应策略,保证网络安全。
[0113] 以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非限制性 的。本专业技术人员理解,在本发明权利要求所限定的精神和范围内可对其进行许多改变, 修改,甚至等效,但都将落入本发明的保护范围内。
【主权项】
1. 一种基于SVM的网络流量异常检测方法,其特征在于,该方法包括以下步骤: 步骤Sl,读取历史网络流量数据; 步骤S2,提取所述历史网络流量数据的网络流量特征; 步骤S3,将所述网络流量特征进行数据标准化; 步骤S4,对所述网络流量特征进行约简,得到精简优化的特征子集; 步骤S5,利用SVM对所述最优特征子集进行训练,得到SVM分类器,即最优分类超平面; 步骤S6,对处理后的在线的测试网络流量数据加入所述SVM分类器中,用所述SVM分类 器计算,得到最终的分类结果,判定处理后的在线的测试网络流量数据是否为异常网络流 量数据。2. 根据权利要求1所述的一种基于SVM的网络流量异常检测方法,其特征在于,所述步 骤S4中,是采用PCA-TS方法对所述网络流量特征进行约简,得到精简优化的特征子集,所述 PCA-TS方法为下述两步的结合: 步骤a,利用主成分分析算法去除网络流量数据的冗余性和弱属性,进而降低维数,得 到约简特征集; 步骤b,利用禁忌搜索算法对约简特征集进行优化,以最大分类信息为目标,得到最优 特征子集。3. 根据权利要求2所述的一种基于SVM的网络流量异常检测方法,其特征在于,所述 PCA-TS方法具体包括如下步骤: 步骤S41,置空禁忌表并设置初始化参数:禁忌长度L1,最大迭代次数Dmax,最大改进次数 Gmax ; 步骤S42,使用PCA对历史网络流量数据进行约简,得到约简特征集T= (T1J2, ···,!>},? 为约简后特征集的数量; 步骤S43,对特征集T进行二进制编码,得到初始解Ro,即选取初始的特征子集; 步骤S44,设置终止条件,当达到Dmax时,停止搜索;当通过Gmax寻找最优解无改进时,停 止搜索; 步骤S45,判断是否满足终止条件,如果满足终止条件,结束运算,输出最优特征子集; 如果不满足,则转到步骤S46; 步骤S46,初始解代入领域范围内计算领域解,并通过目标函数选择出最佳的候选解; 步骤S47,判断候选解是否满足特赦规则,若满足,则更新禁忌表中的最优解,并转到步 骤S44;如果不满足,则转到步骤S48; 步骤S48,计算候选解的禁忌属性,选择非禁忌对象的最优值替换禁忌表的最初值,并 转到步骤S44; 步骤S49,结束,输出最优特征子集。4. 根据权利要求3所述的一种基于SVM的网络流量异常检测方法,其特征在于,所述步 骤S42具体包括以下步骤: 步骤S421,读取经处理后的历史网络流量数据乂=(11,12,一,&),有~个样本,原始特征 个数为η; 步骤S422,求相关系数矩阵(;中為是特征X1的数据向量,差特征^的均值;步骤S423,求相关系数矩阵C的特征方程det(AE-C)=0的特征根,并且满足A1 2 λ2 2… >λη>〇; 步骤S424,确定主成分的个数ρ,ρ〈η,从而达到降维的目β 其中Θ-般取值范围为[85%,95%]; 步骤S425,计算Ai对应的特征向量ru, 3; 步骤S426,约简特征集Ti的数据向量 ;中Hi j表示第i个特征向量的第j 维。5.根据权利要求4所述的一种基于SVM的网络流量异常检测方法,其特征在于,所述步 骤S5具体包括以下步骤: 步骤S51,读取样本集5={(乂1,7〇|1 = 12,."少},乂1已妒,71已{+1,-1},其中+ 1、-1分别 表示网络流量数据的正常、异常,q是特征子集的维数,Rq是指&是9维的实数; 步骤S52,线性判别函数的一般为g(x) = (w· C>(x))+b,对应的分类超平面为(w· Φ (叉))+匕=0,其中(¥*4>(1))是法向量¥和4>(1)的内积表示,4>输入空间1?(1到一个!1;[]^1^ 空间的变换; 步骤S53,找到一个最优分类超平面以最大间隔将两类数据分开,最大间隔的距离为用极大化间隔思想得到:s.t.yi((w · Φ (Xi))+b)>l_|i,i = l,2,···,N ξ?>0,? = 1,2,···,Ν (I) 其中向量I = U1J2, ···,&,体现样本集被错分的程度,引进的惩罚因子c作为综合步骤S54,用Lagrange乘子a = (Q1,α2,…,αΝ)τ将公式(1)转化为有约束的函数极值问题:0<ai<c,i = l,2,---,N 其中核函数K(Xi,Xj) = (?(Xi) · O(Xj)); 步骤S55,求所述有约束的函数极值问题,得到任意解 <)'则最大间隔方法得到的最优解:步骤S56,得到最优分类超平面为(# · Φ(χ))+Ρ=0。6.根据权利要求5所述的一种基于SVM的网络流量异常检测方法,其特征在于,步骤S6 具体为:处理后的测试网络流量数据为V =(ΧΛχΛ···,Χ/ ),若(w* · Φ(Χ' ))+#>0,则X' 是正常网络流量数据;若(w$ · Φ (X' ))+#<0,则f是异常网络流量数据。
【文档编号】H04L12/26GK105897517SQ201610454965
【公开日】2016年8月24日
【申请日】2016年6月20日
【发明人】彭泽武, 黄剑文, 冯歆尧, 江疆, 杨秋勇, 伍江瑶
【申请人】广东电网有限责任公司信息中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1