CN110070141B - 一种网络入侵检测方法 - Google Patents
一种网络入侵检测方法 Download PDFInfo
- Publication number
- CN110070141B CN110070141B CN201910353667.2A CN201910353667A CN110070141B CN 110070141 B CN110070141 B CN 110070141B CN 201910353667 A CN201910353667 A CN 201910353667A CN 110070141 B CN110070141 B CN 110070141B
- Authority
- CN
- China
- Prior art keywords
- firefly
- feature
- value
- data
- vector machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 54
- 241000254158 Lampyridae Species 0.000 claims abstract description 104
- 238000012706 support-vector machine Methods 0.000 claims abstract description 100
- 238000012549 training Methods 0.000 claims abstract description 56
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 55
- 238000005457 optimization Methods 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000002068 genetic effect Effects 0.000 claims abstract description 22
- 238000012360 testing method Methods 0.000 claims abstract description 20
- 238000012847 principal component analysis method Methods 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 64
- 238000000034 method Methods 0.000 claims description 44
- 239000013598 vector Substances 0.000 claims description 44
- 210000000349 chromosome Anatomy 0.000 claims description 30
- 239000011159 matrix material Substances 0.000 claims description 29
- GNBHRKFJIUUOQI-UHFFFAOYSA-N fluorescein Chemical compound O1C(=O)C2=CC=CC=C2C21C1=CC=C(O)C=C1OC1=CC(O)=CC=C21 GNBHRKFJIUUOQI-UHFFFAOYSA-N 0.000 claims description 24
- 238000013507 mapping Methods 0.000 claims description 15
- 238000010606 normalization Methods 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 12
- 230000006399 behavior Effects 0.000 claims description 9
- 230000009467 reduction Effects 0.000 claims description 8
- 230000035772 mutation Effects 0.000 claims description 7
- 238000000513 principal component analysis Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 6
- IGXWBGJHJZYPQS-SSDOTTSWSA-N D-Luciferin Chemical compound OC(=O)[C@H]1CSC(C=2SC3=CC=C(O)C=C3N=2)=N1 IGXWBGJHJZYPQS-SSDOTTSWSA-N 0.000 claims description 3
- CYCGRDQQIOGCKX-UHFFFAOYSA-N Dehydro-luciferin Natural products OC(=O)C1=CSC(C=2SC3=CC(O)=CC=C3N=2)=N1 CYCGRDQQIOGCKX-UHFFFAOYSA-N 0.000 claims description 3
- BJGNCJDXODQBOB-UHFFFAOYSA-N Fivefly Luciferin Natural products OC(=O)C1CSC(C=2SC3=CC(O)=CC=C3N=2)=N1 BJGNCJDXODQBOB-UHFFFAOYSA-N 0.000 claims description 3
- DDWFXDSYGUXRAY-UHFFFAOYSA-N Luciferin Natural products CCc1c(C)c(CC2NC(=O)C(=C2C=C)C)[nH]c1Cc3[nH]c4C(=C5/NC(CC(=O)O)C(C)C5CC(=O)O)CC(=O)c4c3C DDWFXDSYGUXRAY-UHFFFAOYSA-N 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims description 3
- 238000000926 separation method Methods 0.000 claims description 2
- 238000010200 validation analysis Methods 0.000 claims description 2
- 230000002159 abnormal effect Effects 0.000 abstract description 3
- 230000000694 effects Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 108090000623 proteins and genes Proteins 0.000 description 3
- 238000007635 classification algorithm Methods 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000011664 nicotinic acid Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000131894 Lampyris noctiluca Species 0.000 description 1
- 241000360552 Phengodidae Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000004043 dyeing Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000011425 standardization method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种网络入侵检测方法,搜索网络数据构建测试网络数据集,利用核主成分分析法对测试网络数据集进行特征提取,构建训练数据集,将训练数据集放入支持向量机分类器中训练,得到特征数据集,利用遗传算法从特征数据集中获取最优特征子集,利用萤火虫群优化算法从最优特征子集中获取整体局部最优特征子集和最优支持向量机参数,根据整体局部最优特征子集对训练数据集进行处理,并输入到支持向量机分类器中进行分类建模,得到网络入侵检测模型。本发明提高了算法简便性,可以更有效地从样本中发现异常数据,有效提高了网络入侵的检测正确率,降低了漏报率和误报率,提升了网络入侵检测的整体性能。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种网络入侵检测方法。
背景技术
随着网络技术和网络规模的发展,网络入侵日益严重,其造成的系统破坏、信息泄露、数据损毁、非法控制等安全问题对网络的发展造成了巨大的威胁。为了保证网络安全,各种网络安全技术应运而生,其中网络入侵检测技术因其主动防御的特性而成为研究的热点,也与网络服务应用的安全有着密切的联系。为了区分攻击和典型的网络访问,对机器学习方法进行了扩展,包括支持向量机(SVM)和遗传算法(GA)。
网络入侵检测实质上是模式识别问题,主要包括特征选择和分类器参数优化等关键过程。针对网络入侵的特征选择问题,就是对其特征及其最优子集进行选择。网络入侵分类器目前主要有基于K近邻法、神经网络和支持向量机等算法的分类器。其中SVM由于具有结构风险最小、泛化能力好、应用广泛等优点,成为当前网络入侵检测的主要分类器。
目前主流研究方法只对特征子集和SVM参数进行单目标优化,实际上SVM核参数和网络入侵特征子集是相互影响的,两者共同决定检测效率和效果,且理想的特征子集和核参数往往同时获得。因此,为了获得较好的分类效果,需要对特征子集和对核参数进行同步优化。
遗传算法(Genetic Algorithm,GA)是模拟生物进化的计算模型,是一种依据模拟自然生物进化过程搜索近似解的算法。它是参照优胜劣汰的原理,利用遗传算子进行变异和组合交叉等相关操作来产生出最新解集的种群,逐步演化得出最优解。
随着智能仿生算法的兴起,萤火虫群优化算法(Glowworm Swarm Optimization,GSO)是一种新型的启发式搜索算法,算法灵感来自于萤火虫闪烁的行为,它模拟了萤火虫在自然界中的求偶仪式。萤火虫的闪光作为一个信号系统,以吸引其他的萤火虫。萤火虫群优化算法也凭借其高搜索速度和搜索效率而得到广泛关注,并且该算法在最优化问题领域(如路径规划、最优化问题等)具有良好的应用效果,同时与其他启发式算法相比,具有实现简单、鲁棒性强、跳出局部最优解能力强等特点,能够很好解决参数寻优问题。
遗传算法与萤火虫群优化算法虽然都有各自的优点,但同时也都存在一些缺陷,它们都是一种基于群体的演化计算技术。遗传算法具有很强的全局搜索能力,但局部的搜索能力较差,很难得到全局最优解,而萤火虫群优化算法求解问题的速度是比较快,但很容易陷入局部最优。
发明内容
本发明提供一种网络入侵检测方法,基于核主成分分析法进行降维特征提取,提高了算法简便性,将遗传算法与萤火虫群优化算法结合起来选择特征和SVM参数,利用萤火虫群优化算法局部搜索能力强的优点来弥补遗传算法局部搜索能力弱的缺点,以此来获得全局最优解,可以更有效地从样本中发现异常数据,本发明有效提高了网络入侵的检测正确率,降低了漏报率和误报率,提升了网络入侵检测的整体性能。
为了达到上述目的,本发明提供一种网络入侵检测方法,包含以下步骤:
步骤S1、搜索网络数据构建测试网络数据集;
步骤S2、利用核主成分分析法对测试网络数据集进行特征提取,构建训练数据集;
步骤S3、将训练数据集放入支持向量机分类器中训练,得到特征数据集;
步骤S4、利用遗传算法从特征数据集中获取最优特征子集;
步骤S5、利用萤火虫群优化算法从最优特征子集中获取整体局部最优特征子集和最优支持向量机参数;
步骤S6、根据整体局部最优特征子集对训练数据集进行处理,并输入到支持向量机分类器中进行分类建模,得到网络入侵检测模型。
所述的步骤S1中,构建测试网络数据集的方法包含以下步骤:对搜索到的网络数据进行离散字符型数据处理,数据标准化和归一化,数据格式变化,最终形成测试网络数据集。
所述的离散字符型数据处理是指将字符型数据转化为数值型数据,根据不同的字段类别进行数值化,包含:将TCP连接基本特征替换为证书,将标识特征转换为十进制值,将TCP连接内容特征替换为端口号,将连续性数据保留为原数据;
其中,是数值归一化后的处理结果,xij是带有标签的某条数据,i表示数据的条数序号,j表示特征的编号,xmax表示原始数据的上界,xmin表示原始数据的下界,x′ij是用同特征的均值与方差sj来处理的标准数据;
所述的数据格式转换将经过数值化并且归一化的数据集转换为支持向量机软件包LIBSVM支持的格式。
所述的步骤S2包含以下步骤:
步骤S2.1、选取训练样本X={x1,x2,…,xN},xk∈Rm,N为训练样本的数量,m为每个样本的维数;
非线性映射函数Φ的表达式如公式(1)所示:
Φ:x∈Rm→Φ(xi)∈Fh (1)
特征空间F中样本Φ(xi)对应协方差矩阵C由公式(2)定义:
且协方差矩阵C在特征空间F中满足公式(3):
Cv=λv (3)
其中,λ与v分别为协方差矩阵C的特征值和特征向量;
特征值λ对应的特征向量v是一个关于Φ(xi)的线性组合,组合形式如公式(4)所示:
其中,αi表示为一个系数向量,i=(1,2,......,N);
步骤S2.2、选择高斯径向基函数RBF作为主成分的核函数,得核矩阵K;
核函数K中每个元素的值等于高维特征空间中Φ(xi)和Φ(xj)的两个向量xi,xj的内积,把公式(4)代入公式(3),定义核函数K如公式(5)所示:
K={Kij}={Φ(xi)·Φ(xj)}={K(xi,xj)} (5)
步骤S2.3运用公式(5)得到λ1,…,λn,进而求出K的特征值ν1,…,νn以及K的特征向量并且将按照特征值λ1,…,λn从大到小重新排序,得到排序后的特征向量对特征向量进行施密特正交化得到正交单位向量构成的矩阵B;
步骤S2.4、计算矩阵B累计特征值总和λT,继而计算每个特征值的贡献率λP,λp=λi/λT,其中λi为第i个B中的特征值,将计算出的特征贡献率与e作比较,其中e为设定的特征值的提取效率,如果λp>e则即为提取出来的主成分,其对应的特征向量记做
所述的步骤S3中,设训练样本集为{xi,yi},xi∈Rn为输入空间的第i个训练样本,yi表示样本属于的类别;
假设如果存在超平面,则方程如公式(7)所示:
wX+b=0 (7)
相应的支持向量机分类决策函数如公式(8)所示:
f(x)=sgn(wX+b) (8)
其中,w为权值矢量,b为阈值,在w和b都确定的情况下,分类面的位置随之也会被确定下来,为了衡量实际指示值yi与支持向量机输出之间的距离,引入了松弛变量ξi,数据分离面的优化问题可转变为以下优化问题,如公式(9)所示:
其中,s.t.是subject to的缩写,是线型规划中满足约束的意思,C为惩罚参数,用于实现对错分样本惩罚程度的控制,引入拉格朗日Lagrangian乘子,上述优化问题转化为二次规划的优化问题,如公式(10)所示:
引入核函数K,满足Mercer定理,公式(10)进而转化为公式(11):
其中,ai≥0对应的点称为支持向量SV,其决定了分类超平面;
解公式(11)得到非线性分类问题的支持向量机决策函数,如公式(12)所示:
其中,本发明中支持向量机核函数K(xi,xj)取高斯径向基核函数RBF即公式(13),样本集为{αi,yi},b为阈值;
xi是指空间中任意一点,xj指其核函数中心,σ为函数的宽度参数;
对于全部样本,通过获得的分类决策函数f(x)进行训练优化,将得到的经过KPCA降维后的数据放进SVM分类器中,得到初步筛选后的特征数据集作为步骤S4的输入。
所述的步骤S4包含以下步骤:
步骤S4.1、随机初始化种群,进行染色体编码;
染色体包含第1段的支持向量机核参数C1~Cnc,第2段的支持向量机核参数γ1~γnγ和第3段的特征子集掩模f1~fnf,均采用二进制编码;
第1段和第2段C1~Cnc和γ1~γnγ分别代表支持向量机核参数C和γ,长度由nc和nγ决定,在计算适应度或返回最优解时需要将其二进制解码为实际值;
C和γ的解码函数定义如公式(14)所示:
其中,d为十进制值,minR和maxR分别为R的最小值和最大值,Γ为参数R的实际值,L/l为染色体的长度,染色体的第3段f1~fnf分别代表nf个网络入侵检测特征的选择状态:“1”表示相应的特征被选中,“0”表示没有被选中;
步骤S4.2、计算支持向量机分类器对特征数据集的分类正确率,并计算个体的适应度值;
首先将染色体进行反编码得到支持向量机核参数C,支持向量机核参数γ和特征子集掩模f,然后根据支持向量机核参数值和所选择特征子集掩模f建立检测模型即SVM分类器,并计算测试样本分类正确率Acc:Acc=(TP+TN)/(TP+FN+FP+TN);
其中,TP是将正常测为正常的数目;TN是将攻击预测为攻击的数目;FP是将攻击预测为正常的数目,即误报的数目;FN是将正常测为攻击的数目,即漏报的数目;
最后根据公式(15)计算得到个体的适应度值:
其中,wα表示分类正确率的权重,Acc为验证集的网络入检测正确率,wf表示所选特征数量的权重,Nf表示特征的总数,fi表示第i全特征选择状态,具体状态分类如公式(16)所示:
步骤S4.3、筛选较优个体;
选择适应度值排在前5%~15%的个体作为精英直接进入下一代;
步骤S4.4、判断是否满足最大进化迭代数,若是,终止种群的进化,并返回已得到的最优解,进行步骤S4.6,若否,进行步骤S4.5;
步骤S4.5、对种群进行选择操作、交叉操作、变异操作,生成新的种群,进行步骤S4.2计算新种群每个个体的适应度,并找出新种群中适应度最高的个体;
步骤S4.6、将最优解即新种群中适应度最高的个体进行反编码,得到最优特征子集和最优SVM参数C和γ,然后把得到的最优特征子集传入下一阶段萤火虫群优化算法进行处理。
所述的选择操作是指:采用轮盘赌选择算法从种群中选择适应度值高的个体进入下一代种群;
种群中每个个体进入下一代的概率p(xi)如公式(17)所示:
交叉操作是指:随机在染色体的3段选择3个交叉点,然后与另一个染色体相对应部分进行交叉,交叉完毕后,对第1段和第2段染色体有效性进行检验,如果超过支持向量机参数取值范围,则需要重新进行交叉操作;
变异操作是指:分别随机在染色体的3段选择3个变异点,按照“0”→“1”、“1”→“0”方式进行变异,对第1段和第2段染色体有效性进行检验,如果超过支持向量机参数取值范围,则需要重新进行变异操作。
所述的步骤S5包含以下步骤:
步骤S5.1、初始化萤火虫群优化算法GSO的基本参数;
初始化萤火虫群每个个体的荧光素值和位置,GSO中第i只第t代萤火虫由当前位置xi(t)和该位置的萤光素值li(t)确定,t为迭代次数,每一次迭代都包括荧光素更新和位置更新两个阶段;
步骤S5.2、计算萤火虫各自的荧光亮度和适应度值;
荧光亮度li(t)的更新取决于该位置xi(t)所对应的目标函数适应度值f(xi(t)),亮度更新如公式(18)所示:
li(t)=(1-ρ)li(t-1)+γf(xi(t)) (18)
其中,ρ为荧光素挥发因子,γ为荧光素更新率,1-ρ是荧光素保留率;
第i只萤火虫第t代的荧光素值,与其所处位置的目标函数值成正比,同时与第t-1代的荧光素值成正比;
步骤S5.3、计算萤火虫的追随概率,即萤火虫i移向邻域集内萤火虫j的概率;
步骤S5.4、更新位置,位置更新如公式(20)所示:
其中,xi(t+1)为第i只第t+1代萤火虫的当前位置,s为移动步长,||xj(t)-xi(t)||为萤火虫j与i的距离,步长s乘以的公式是萤火虫i所处位置到萤火虫j所处位置的单位向量;
萤火虫i会采用轮盘赌方法确定向邻域集Ni(t)内的哪只萤火虫进行移动,并且每只萤火虫个体被选择的概率与其自身所带有的荧光素成正比;
更新萤火虫的动态决策域更新率,萤火虫i在其动态决策域半径内,选择亮度比自己高的个体构成邻域集Ni(t),更新萤火虫的动态决策域更新率,萤火虫i在其动态决策域半径内,选择亮度比自己高的个体构成邻域集Ni(t),即朝pij(t)值最大的方向,根据式(20)更新位置得到的值若超出光亮度li(t)或者位置xi(t),则方向取反移动,即换成朝pij(t)最小的方向;
第i只萤火虫第t+1代的动态决策半径的计算方法如公式(21)所示:
其中,|Ni(t)|为第i只萤火虫邻域范围内的并且比自己亮的萤火虫个数,rs为每只萤火虫的感知半径,β是动态决策域更新率,nt是领域集内包含的萤火虫数目的阈值;
步骤S5.5、根据萤火虫的更新位置重新计算萤火虫的荧光亮度;
步骤S5.6、判断搜索精度是否能满足要求或已达到最大搜索次数,若是,进行步骤S5.7,若否,搜索次数加1,进行步骤S5.3;
步骤S5.7、若满足停止条件,停止搜索,返回最优的萤火虫,找到最优核参数C和γ以及最优特征子集。
所述的步骤S6包含以下步骤:
步骤S6.1、根据整体局部最优特征子集,建立入侵行为和正常行为的特征库;
步骤S6.2、根据特征对训练数据集进行处理,在训练数据集中构建入侵检测的训练集;
步骤S6.3、采用支持向量机对网络入侵检测的训练集进行学习,构建SVM分类器;
步骤S6.4、将最优SVM参数传入SVM分类器进行优化,得到的网络入侵检测分类器即是网络入侵检测模型。
本发明的有益效果是:
1、首先在数据的预处理阶段,直接收集的原始数据是网络中的二进制的数据流,需要进行解析与格式转换才能用来分类。经过本发明采用的数值化处理、标准化与归一化处理以及数据格式转换就得到了实用数据集,有效的消除了数值大小对分类的负面影响,同时也将数据集的属性集升高到一个较高的维度。
2、采用核主成分分析法KPCA进行降维方法提取特征,降低了数据量,使得后续步骤能够运行速度更快、内存消耗更低,使得后续的数据分类效果更加准确,最后用SVM进行模式分类并输出训练后的分类器,不仅有效地特征提取分类和降低数据维数,而且具有较高的抗噪能力、泛化能力,且鲁棒性很强。
3、KPCA结合SVM能够充分发挥其在小样本数据分类上的优势,在不损失重要信息的前提下,有效地对原始数据去冗降维。
4、采用遗传算法和萤火虫群优化算法的结合方法进行数据选择,GA将特征自己和支持向量机染成染色体得到初步分类结果,再运用GSO得到参数的最优解。GA具有很强的全局搜索能力,但是局部搜索能力较差,结合局部搜索能力优秀的GSO可以更好的得到特征及其最优子集,有效地精简网络数据特征,提高分类算法的网络入侵检测速度及检测率。
5、采用GA对网络数据进行初步提取,然后采用GSO对数据特征进一步提取,将两种有效的特征提取方法组合一起,提高了组合方法的寻优效果,进一步克服了传统的收敛速度慢和容易陷入局部最优解的问题。
附图说明
图1是本发明提供的一种网络入侵检测方法的流程图。
图2是构建测试网络数据集的流程图。
图3是利用遗传算法从特征数据集中获取最优特征子集的流程图。
图4是利用萤火虫群优化算法从最优特征子集中获取整体局部最优特征子集和SVM模型参数的流程图。
具体实施方式
以下根据图1~图4,具体说明本发明的较佳实施例。
如图1所示,本发明提供一种网络入侵检测方法,包含以下步骤:
步骤S1、搜索网络数据构建测试网络数据集;
步骤S2、利用核主成分分析法(KPCA)对测试网络数据集进行特征提取,构建训练数据集;
步骤S3、将训练数据集放入SVM分类器中训练,得到特征数据集;
步骤S4、利用遗传算法(GA)从特征数据集中获取最优特征子集;
步骤S5、利用萤火虫群优化算法(GSO)从最优特征子集中获取整体局部最优特征子集和最优SVM参数;
步骤S6、根据整体局部最优特征子集对训练数据集进行处理,并输入到SVM分类器中进行分类建模,得到网络入侵检测模型。
如图2所示,所述的步骤S1中,构建测试网络数据集的方法包含以下步骤:对搜索到的网络数据进行离散字符型数据处理、数据标准化和归一化、数据格式变化,最终形成测试网络数据集。
网络入侵检测系统直接收集的原始数据是网络中的二进制数据流,需要进行解析与格式转换才能用来分类。
所述的离散字符型数据处理是指将字符型数据转化为数值型数据,如图表1所示,根据不同的字段类别进行数值化,包含:将TCP连接基本特征替换为证书,将标识特征转换为十进制值,将TCP连接内容特征替换为端口号,将连续性数据保留为原数据;
表1
为了避免字符数据不能直接计算距离以及过大或者过小数据直接应用影响平均值计算和距离计算效果等问题,将数据的字段按照表1进行处理,例如,以数据集KDD99中有一个protocol_type字段为例,其离散数值包括TCPUDPICMP等,经过数值化后,则‘TCP’用11表示,‘UDP’用12表示,‘ICMP’用20表示。
其中,是数值归一化后的处理结果,xij是带有标签的某条数据,i表示数据的条数序号,j表示特征的编号,xmax表示原始数据的上界,xmin表示原始数据的下界,x′ij是用同特征的均值与方差sj来处理的标准数据;
所述的数据格式转换将经过数值化并且归一化的数据集转换为支持向量机软件包LIBSVM支持的格式,以便进行SVM处理。
LIBSVM格式广泛应用于常用的分类算法,一般采用
{label 1:(value)1 2:(value)2……i:(value)i……n:(value)n}格式,其中label是类别标签,序号i是第i个字段的序号,(value)i是第i个字段的数值。
所述的步骤S2中,核主成分分析方法即借助非线性变换,完成了输入数据从空间映射到高维特征空间的映射,从而来实现数据维度的消减。进而将问题转化为求解核矩阵的特征值和与特征值对应的特征向量的问题,而输入数据在特征向量上的投影转换为求核函数的线性组合,这使得计算得到了简化。
所述的降维处理是采用KPCA方法来实现线性空间到非线性空间的映射,即利用KPCA方法将特征样本从原始空间映射到一个更高维度的特征空间F,然后通过在F中进行主成分分析来实现数据维数的缩减。
核主成分分析法KPCA作为SVM的预处理器来提取规范化数据。
所述的步骤S2具体包含以下步骤:
步骤S2.1、选取训练样本X={x1,x2,…,xN},xk∈Rm,N为训练样本的数量,m为每个样本的维数;
非线性映射函数Φ的表达式如公式(1)所示:
Φ:x∈Rm→Φ(xi)∈Fh (1)
特征空间F中样本Φ(xi)对应协方差矩阵C由公式(2)定义:
且协方差矩阵C在特征空间F中满足公式(3):
Cv=λv (3)
其中,λ与v分别为协方差矩阵C的特征值和特征向量;
特征值λ对应的特征向量v是一个关于Φ(xi)的线性组合,组合形式如公式(4)所示:
其中,αi表示为一个系数向量,i=(1,2,......,N);
步骤S2.2、选择高斯径向基函数RBF作为主成分的核函数,得核矩阵K;
核函数K中每个元素的值等于高维特征空间中Φ(xi)和Φ(xj)的两个向量xi,xj的内积,把公式(4)代入公式(3),定义核函数K如公式(5)所示:
K={Kij}={Φ(xi)·Φ(xj)}={K(xi,xj)} (5)
这里得到的非线性主成分方法只需在原空间中计算用作内积的核函数K(xi,xj),而无需真正计算对应的非线性变换,因此称作核函数主成分分析;
步骤S2.3运用公式(5)则可以得到λ1,…,λn,进而求出K的特征值ν1,…,νn以及K的特征向量并且将按照特征值λ1,…,λn从大到小重新排序,得到排序后的特征向量对特征向量进行施密特正交化得到正交单位向量构成得到矩阵B;
步骤S2.4、计算矩阵B累计特征值总和λT,继而计算每个特征值的贡献率λP,λp=λi/λT,其中λi为第i个B中的特征值,将计算出的特征贡献率与e作比较,其中e为设定的特征值的提取效率,如果λp>e则即为提取出来的主成分,其对应的特征向量记做
所述的步骤S3中,用经KPCA提取的网络数据支持向量机的输入源来训练支持向量机,得到支持向量同时优化向量参数。将KPCA抽取的样本特征送入SVM分类器中训练。SVM通过寻找最合适的核函数与最优参数来分类。
SVM分类器进行数据分类的主要思想是:通过非线性映射函数Φ(x)把数据样本映射到高维特征空间,再在高维特征空间中求得最优分类面来分离训练样本点,使得训练样本点与最优分离面距离最大化。
在SVM求解最优超平面的过程中,可以发现优化得到的结果是两个最优分类边界。而最终得到的最优分类面是通过平分最优分类边界的方式确定的,这种方式确定最优分类面实际隐含着一个条件:两类样本点是同分布的。
但是实际的入侵检测系统中,正常样本往往远远多于入侵样本,样本间的离散情况也存在较大的差别,这就使得通过平分最优分类边界的方式获得的最优分类面并不一定是最优的,其分类结果向样本个数较多的类偏斜,也就是向正常样本方向偏斜,这就造成漏报率增大。因此对分类面进行修正,以降低样本不均带来的影响,提高对入侵事件的检测能力。
SVM对有限的样本信息进行学习,找到模型的复杂性和学习能力最佳折中点,得到最好的泛化推广性。
设训练样本集为{xi,yi},xi∈Rn为输入空间的第i个训练样本,yi表示样本属于的类别;
假设如果存在超平面,则方程如公式(7)所示:
wX+b=0 (7)
相应的支持向量机分类决策函数如公式(8)所示:
f(x)=sgn(wX+b) (8)
其中,w为权值矢量,b为阈值,在w和b都确定的情况下,分类面的位置随之也会被确定下来,为了衡量实际指示值yi与支持向量机输出之间的距离,引入了松弛变量ξi,与此同时,数据分离面的优化问题可转变为以下优化问题,如公式(9)所示:
其中,s.t.是subject to的缩写,是线型规划中满足约束的意思,C为惩罚参数,用于实现对错分样本惩罚程度的控制,其在一定程度上决定着拟合程度的高低与泛化能力的高低。引入拉格朗日Lagrangian乘子,上述优化问题便进一步转化为二次规划的优化问题,如公式(10)所示:
引入核函数K,满足Mercer定理(任何半正定的函数都可以作为核函数),公式(10)进而转化为公式(11):
其中,ai≥0对应的点称为支持向量SV,其决定了分类超平面,SV个数的多少在一定程度上反应SVM模型的复杂程度;
解公式(11)得到非线性分类问题的支持向量机决策函数,如公式(12)所示:
其中,本发明中支持向量机核函数K(xi,xj)取高斯径向基核函数RBF即公式(13),样本集为{αi,yi},b为阈值;
本发明中采用的SVM分类方法选取的核函数为高斯径向基函数RBF,RBF核函数需要优化参数少,且具有较好的高维数据分析能力;
xi是指空间中任意一点,xj指其核函数中心,σ为函数的宽度参数;
对于全部样本,通过获得的分类决策函数f(x)进行训练优化,将得到的经过KPCA降维后的数据放进SVM分类器中,得到初步筛选后的特征数据集作为步骤S4的输入。
本发明利用KPCA对初始数据进行优化,在实现参数选择的同时实现分类面的修正,提高检测模型的泛化性,降低误报率。
所述的步骤S4中,遗传算法是从代表问题可能潜在的解集的一个种群开始的,而一个种群则由经过基因编码的一定数目的个体组成。每个个体实际上是染色体带有特征的实体。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,往往进行简化,如二进制编码。
初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度大小选择个体,并借助于自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码,可以作为问题近似最优解。
遗传算法是一种高效、并行的随机全局搜索和优化方法,在每一代中,根据个体在问题域中的适应度值和选择、交叉、变异操作,产生新的近似解,经过多次迭代进化,最终得到最优解。特征选择是对于一组特征数据,根据一定的选择规则删除冗余或不相关特征,仅留下一些最有效的特征子集。在网络入侵检测中,特征选择目标是在不降低检测正确率的前提下,有效消除冗余或不相关特征,降低特征维数,减少计算时间,提高系统检测算法效率。
如图3所示,所述的步骤S4具体包含以下步骤:
步骤S4.1、随机初始化种群,进行染色体编码;
为了实现支持向量机参数和网络入侵特征子集的同步优化,需要把支持向量机参数和特征子集同时包括在染色体中,因此染色体由支持向量机核参数C,支持向量机核参数γ和特征子集掩模f3基因段组成,均采用二进制编码,其结构图如下表所示:
第1段和第2段C1~Cnc和γ1~γnγ分别代表支持向量机核参数C和γ,长度由nc和nγ决定,在计算适应度或返回最优解时需要解码,即将其二进制解码为实际值;
C和γ的解码函数定义如公式(14)所示:
其中,d为十进制值,minR和maxR分别为R的最小值和最大值,Γ为参数R的实际值,L/l为染色体的长度,染色体的第3段f1~fnf分别代表nf个网络入侵检测特征的选择状态:“1”表示相应的特征被选中,“0”表示没有被选中;
步骤S4.2、计算支持向量机分类器对特征数据集的分类正确率,并计算个体的适应度值;
首先将染色体进行反编码得到支持向量机核参数C,支持向量机核参数γ和特征子集掩模f,然后根据支持向量机核参数值和所选择特征子集掩模f建立检测模型即SVM分类器,并计算测试样本分类正确率Acc:Acc=(TP+TN)/(TP+FN+FP+TN);
其中,TP是将正常测为正常的数目;TN是将攻击预测为攻击的数目;FP是将攻击预测为正常的数目,即误报的数目;FN是将正常测为攻击的数目,即漏报的数目;
最后根据公式(15)计算得到个体的适应度值,适应度函数选取,特征选择和SVM参数优化目标是选择尽可能少的特征和最优参数,并获得更高的网络入侵检测正确率,因此个体适应度函数应该是网络入侵检测正确率和特征数量两部分,适应度函数定义如公式(15)所示:
其中,wα表示分类正确率的权重,Acc为验证集的网络入检测正确率,wf表示所选特征数量的权重,Nf表示特征的总数,fi表示第i全特征选择状态,具体状态分类如公式(16)所示:
故而,由公式(15)可知,分类正确率越高、特征数越少,适应度值就越高;
步骤S4.3、筛选较优个体;
选择适应度值排在前5%~15%的个体作为精英直接进入下一代,这样使适应度较高的个体得以保留,反映“适者生存”原则;
本发明中筛选精英个体采用比例选择法,经步骤S4.2后计算个体的适应度值后取其中前5%~15%比例的适应度值高的个体;
步骤S4.4、判断是否满足最大进化迭代数(最大进化迭代数是人为设定的,即经过多少代的种群迭代之后停止,就是种群进行交叉变异的次数),若是,终止种群的进化,并返回已得到的最优解,进行步骤S4.6,若否,进行步骤S4.5;
本发明中最大进化迭代数设定为50次。
步骤S4.5、对种群进行选择操作、交叉操作、变异操作,生成新的种群,进行步骤S4.2计算新种群每个个体的适应度,并找出新种群中适应度最高的个体。
选择操作:选择操作指从种群中选择适应度值高的个体进入下一代种群,这样适应度值高的个体被选择到下一代的概率越高,反之则小,选择操作引导种群中个体的适应度值不断向最优解接近;
本发明采用轮盘赌选择算法,轮盘赌算法是一种回放式的随机采样方法,种群中每个个体进入下一代的概率p(xi)如公式(17)所示。
交叉操作:随机在染色体的3段选择3个交叉点,然后与另一个染色体相对应部分进行交叉,交叉完毕后,对第1段和第2段染色体有效性进行检验,如果超过支持向量机参数取值范围,则需要重新进行交叉操作;
变异操作:分别随机在染色体的3段选择3个变异点,按照“0”→“1”、“1”→“0”方式进行变异,对第1段和第2段染色体有效性进行检验,如果超过支持向量机参数取值范围,则需要重新进行变异操作;
步骤S4.6、将最优解即新种群中适应度最高的个体,进行反编码,得到最优特征子集和最优SVM参数(C、γ)值,然后把得到的最优特征子集传入下一阶段萤火虫群优化算法进行处理。
所述的步骤S5中,经过遗传算法筛选出来的初步全局最优特征子集,用萤火虫群优化算法获取整体局部最优特征子集,由此来进行入侵检测。
萤火虫群优化算法(GSO)是2005年由Krishnanand和Ghose提出,是一种新颖的仿生群智能优化算法,其核心思想是利用自然界中萤火虫发光特性向邻域空间内亮度更高萤火虫的位置移动,实现位置优化。
如图4所示,所述的步骤S5包含以下步骤:
步骤S5.1、初始化萤火虫群优化算法GSO的基本参数;
初始化萤火虫群每个个体的荧光素值、位置等参数,GSO中第i只第t代萤火虫由当前位置xi(t)和该位置的萤光素值li(t)确定,t为迭代次数,每一次迭代都包括荧光素更新和位置更新两个阶段;
步骤S5.2、计算萤火虫各自的荧光亮度和适应度值;
荧光亮度li(t)的更新取决于该位置xi(t)所对应的目标函数适应度值f(xi(t)),亮度更新如公式(18)所示:
li(t)=(1-ρ)li(t-1)+γf(xi(t)) (18)
其中,ρ为荧光素挥发因子,γ为荧光素更新率,1-ρ是荧光素保留率;
由此可见,第i只萤火虫第t代的荧光素值,与其所处位置的目标函数值成正比,同时与第t-1代的荧光素值成正比;
步骤S5.3、计算萤火虫的追随概率,即萤火虫i移向邻域集内萤火虫j的概率;
步骤S5.4、更新位置,位置更新如公式(20)所示:
其中,xi(t+1)为第i只第t+1代萤火虫的当前位置,s为移动步长,||xj(t)-xi(t)||为萤火虫j与i的距离,步长s乘以的公式是萤火虫i所处位置到萤火虫j所处位置的单位向量;
萤火虫i会采用轮盘赌方法确定向邻域集Ni(t)内的哪只萤火虫进行移动,并且每只萤火虫个体被选择的概率与其自身所带有的荧光素成正比;
更新萤火虫的动态决策域更新率,萤火虫i在其动态决策域半径内,选择亮度比自己高的个体构成邻域集Ni(t),更新萤火虫的动态决策域更新率,萤火虫i在其动态决策域半径内,选择亮度比自己高的个体构成邻域集Ni(t),即朝pij(t)值最大的方向,根据式(20)更新位置得到的值若超出光亮度li(t)或者位置xi(t),则方向取反移动,即换成朝pij(t)最小的方向;
第i只萤火虫第t+1代的动态决策半径的计算方法如公式(21)所示:
其中,|Ni(t)|为第i只萤火虫邻域范围内的并且比自己亮的萤火虫个数,rs为每只萤火虫的感知半径,β是动态决策域更新率,nt是领域集内包含的萤火虫数目的阈值;
步骤S5.5、根据萤火虫的更新位置重新计算萤火虫的荧光亮度;
步骤S5.6、判断搜索精度是否能满足要求或已达到最大搜索次数,若是,进行步骤S5.7,若否,搜索次数加1,进行步骤S5.3;
本发明中为了减少运算量,规定搜索精度为10-9,最大搜索次数为50次;
步骤S5.7、若满足停止条件,停止搜索,返回最优的萤火虫,找到最优核参数(C、γ)以及最优特征子集。
所述的步骤S6包含以下步骤:
步骤S6.1、根据整体局部最优特征子集,建立入侵行为和正常行为的特征库;
步骤S6.2、根据特征对训练数据集进行处理,在训练数据集中构建入侵检测的训练集;
步骤S6.3、采用支持向量机对网络入侵检测的训练集进行学习,构建SVM分类器;
步骤S6.4、将最优SVM参数传入SVM分类器进行优化,得到的网络入侵检测分类器即是网络入侵检测模型。
本发明基于核主成分分析法进行降维特征提取,提高了算法简便性,将遗传算法与萤火虫群优化算法结合起来选择特征和SVM参数,利用萤火虫群优化算法局部搜索能力强的优点来弥补遗传算法局部搜索能力弱的缺点,以此来获得全局最优解,可以更有效地从样本中发现异常数据,本发明有效提高了网络入侵的检测正确率,降低了漏报率和误报率,提升了网络入侵检测的整体性能。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (9)
1.一种网络入侵检测方法,其特征在于,包含以下步骤:
步骤S1、搜索网络数据构建测试网络数据集;
步骤S2、利用核主成分分析法对测试网络数据集进行特征提取,构建训练数据集;
步骤S3、将训练数据集放入支持向量机分类器中训练,得到特征数据集;
步骤S4、利用遗传算法从特征数据集中获取最优特征子集;
步骤S5、利用萤火虫群优化算法从最优特征子集中获取整体局部最优特征子集和最优支持向量机参数;
步骤S6、根据整体局部最优特征子集对训练数据集进行处理,并输入到支持向量机分类器中进行分类建模,得到网络入侵检测模型。
2.如权利要求1所述的网络入侵检测方法,其特征在于,所述的步骤S1中,构建测试网络数据集的方法包含以下步骤:对搜索到的网络数据进行离散字符型数据处理,数据标准化和归一化,数据格式变化,最终形成测试网络数据集。
3.如权利要求2所述的网络入侵检测方法,其特征在于,所述的离散字符型数据处理是指将字符型数据转化为数值型数据,根据不同的字段类别进行数值化,包含:将TCP连接基本特征替换为证书,将标识特征转换为十进制值,将TCP连接内容特征替换为端口号,将连续性数据保留为原数据;
其中,是数值归一化后的处理结果,xij是带有标签的某条数据,i表示数据的条数序号,j表示特征的编号,xmax表示原始数据的上界,xmin表示原始数据的下界,x′ij是用同特征的均值与方差sj来处理的标准数据;
所述的数据格式转换将经过数值化并且归一化的数据集转换为支持向量机软件包LIBSVM支持的格式。
4.如权利要求2所述的网络入侵检测方法,其特征在于,所述的步骤S2包含以下步骤:
步骤S2.1、选取训练样本xi(i=1,2,...,N),xi∈Rm,N为训练样本的数量,m为每个样本的维数;
通过非线性映射函数Φ,将输入的训练样本{xi}转换到维度更高的坐标系F中;非线性映射函数Φ的表达式如公式(1)所示:
Φ:xi∈Rm→Φ(xi)∈Fh (1)
特征空间F中样本Φ(xi)对应协方差矩阵C由公式(2)定义:
且协方差矩阵C在特征空间F中满足公式(3):
Cv=λv (3)
其中,λ与v分别为协方差矩阵C的特征值和特征向量;
特征值λ对应的特征向量v是一个关于Φ(xi)的线性组合,组合形式如公式(4)所示:
其中,αi表示为一个系数向量,i=(1,2,......,N);
步骤S2.2、选择高斯径向基函数RBF作为主成分的核函数,得核矩阵K;核矩阵K中每个元素的值等于高维特征空间中Φ(xi)和Φ(xj)的两个向量xi,xj的内积,把公式(4)代入公式(3),定义核矩阵K如公式(5)所示:
K={Kij}={Φ(xi)·Φ(xj)}={K(xi,xj)} (5)
步骤S2.3运用公式(5)得到λ1,...,λn,进而求出K的特征值ν1,...,νn以及K的特征向量并且将按照特征值λ1,...,λn从大到小重新排序,得到排序后的特征向量对特征向量进行施密特正交化得到正交单位向量构成的矩阵B;
步骤S2.4、计算矩阵B累计特征值总和λT,继而计算每个特征值的贡献率λP,λp=λi/λT,其中λi为第i个B中的特征值,将计算出的特征贡献率与e作比较,其中e为设定的特征值的提取效率,如果λp>e则即为提取出来的主成分,其对应的特征向量记做
5.如权利要求4所述的网络入侵检测方法,其特征在于,所述的步骤S3中,经过核主成分分析法进行特征提取后,训练样本集可表示为{xi,yi},其中,xi∈Rn(n<m)是变换后的输入第i个训练样本,yi表示样本属于的类别;
假设如果存在超平面,则方程如公式(7)所示:
wX+b=0 (7)
相应的支持向量机分类决策函数如公式(8)所示:
f(x)=sgn(wX+b) (8)
其中,w为权值矢量,b为阈值;
当低维空间中样本线性不可分时,通过引入一个非线性函数Φ(xj),j=1,2,...,n,将样本映射到高维空间,空间维数为n,然后在此空间中构造一个数据分离面;
在w和b都确定的情况下,分类面的位置随之也会被确定下来,为了衡量实际指示值yi与支持向量机输出之间的距离,引入了松弛变量ξi,数据分离面的优化问题可转变为以下优化问题,如公式(9)所示:
其中,s.t.是subject to的缩写,是线型规划中满足约束的意思,C为惩罚参数,用于实现对错分样本惩罚程度的控制,引入拉格朗日乘子,寻求公式(9)的优化问题就转变成为二次规划的优化问题,整理后,进一步转换为求解下列目标函数的最大值,如公式(10)所示:
其中,ai,aj表示拉格朗日乘子,yi,yj分别对应其属于的类别;
引入核矩阵K,满足Mercer定理,公式(10)进而转化为公式(11):
解公式(11)得到非线性分类问题的支持向量机决策函数,如公式(12)所示:
其中,支持向量机核矩阵K(xi,xj)取高斯径向基核函数RBF即公式(13),样本集为{αi,yi},b为阈值;
xi是指空间中任意一点,xj指其核函数中心,σ为函数的宽度参数;
对于全部样本,通过获得的分类决策函数f(x)进行训练优化,将得到的经过核主成分分析法降维后的数据放进支持向量机分类器中,得到初步筛选后的特征数据集作为步骤S4的输入。
6.如权利要求5所述的网络入侵检测方法,其特征在于,所述的步骤S4包含以下步骤:
步骤S4.1、随机初始化种群,进行染色体编码;
染色体包含第1段的支持向量机核参数C1~Cnc,第2段的支持向量机核参数γ1~γnγ和第3段的特征子集掩模f1~fnf,均采用二进制编码;
第1段和第2段C1~Cnc和γ1~γnγ分别代表支持向量机核参数C和γ,长度由nc和nγ决定,在计算适应度或返回最优解时需要将其二进制解码为实际值;
C和γ的解码函数定义如公式(14)所示:
其中,d为十进制值,minR和maxR分别为R的最小值和最大值,Γ为参数R的实际值,L/l为染色体的长度,染色体的第3段f1~fnf分别代表nf个网络入侵检测特征的选择状态:“1”表示相应的特征被选中,“0”表示没有被选中;
步骤S4.2、计算支持向量机分类器对特征数据集的分类正确率,并计算个体的适应度值;
首先将染色体进行反编码得到支持向量机核参数C,支持向量机核参数γ和特征子集掩模f,然后根据支持向量机核参数值和所选择特征子集掩模f建立检测模型即SVM分类器,并计算测试样本分类正确率Acc:Acc=(TP+TN)/(TP+FN+FP+TN);
其中,TP是将正常测为正常的数目;TN是将攻击预测为攻击的数目;FP是将攻击预测为正常的数目,即误报的数目;FN是将正常测为攻击的数目,即漏报的数目;
最后根据公式(15)计算得到个体的适应度值:
其中,wα表示分类正确率的权重,Acc为验证集的网络入检测正确率,wf表示所选特征数量的权重,Nf表示特征的总数,fi表示第i个 特征的 选择状态,具体状态分类如公式(16)所示:
步骤S4.3、筛选较优个体;
选择适应度值排在前5%~15%的个体作为精英直接进入下一代;
步骤S4.4、判断是否满足最大进化迭代数,若是,终止种群的进化,并返回已得到的最优解,进行步骤S4.6,若否,进行步骤S4.5;
步骤S4.5、对种群进行选择操作、交叉操作、变异操作,生成新的种群,进行步骤S4.2计算新种群每个个体的适应度,并找出新种群中适应度最高的个体;
步骤S4.6、将最优解即新种群中适应度最高的个体进行反编码,得到最优特征子集和最优SVM参数C和γ,然后把得到的最优特征子集传入下一阶段萤火虫群优化算法进行处理。
7.如权利要求6所述的网络入侵检测方法,其特征在于,所述的选择操作是指:采用轮盘赌选择算法从种群中选择适应度值高的个体进入下一代种群;
种群中每个个体进入下一代的概率p(xi)如公式(17)所示:
交叉操作是指:随机在染色体的3段选择3个交叉点,然后与另一个染色体相对应部分进行交叉,交叉完毕后,对第1段和第2段染色体有效性进行检验,如果超过支持向量机参数取值范围,则需要重新进行交叉操作;
变异操作是指:分别随机在染色体的3段选择3个变异点,按照“0”→“1”、“1”→“0”方式进行变异,对第1段和第2段染色体有效性进行检验,如果超过支持向量机参数取值范围,则需要重新进行变异操作。
8.如权利要求7所述的网络入侵检测方法,其特征在于,所述的步骤S5包含以下步骤:
步骤S5.1、初始化萤火虫群优化算法GSO的基本参数;
初始化萤火虫群每个个体的荧光素值和位置,GSO中第i只第t代萤火虫由当前位置xi(t)和该位置的萤光素值li(t)确定,t为迭代次数,每一次迭代都包括荧光素更新和位置更新两个阶段;
步骤S5.2、计算萤火虫各自的荧光亮度和适应度值;
荧光亮度li(t)的更新取决于该位置xi(t)所对应的目标函数适应度值f(xi(t)),亮度更新如公式(18)所示:
li(t)=(1-ρ)li(t-1)+γf(xi(t)) (18)
其中,ρ为荧光素挥发因子,γ为荧光素更新率,1-ρ是荧光素保留率;
第i只萤火虫第t代的荧光素值,与其所处位置的目标函数值成正比,同时与第t-1代的荧光素值成正比;
步骤S5.3、计算萤火虫的追随概率,即萤火虫i移向邻域集内萤火虫j的概率;
步骤S5.4、更新位置,位置更新如公式(20)所示:
其中,xi(t+1)为第i只第t+1代萤火虫的当前位置,s为移动步长,||xj(t)-xi(t)||为萤火虫j与i的距离,步长s乘以的公式是萤火虫i所处位置到萤火虫j所处位置的单位向量;
萤火虫i会采用轮盘赌方法确定向邻域集Ni(t)内的哪只萤火虫进行移动,并且每只萤火虫个体被选择的概率与其自身所带有的荧光素成正比;更新萤火虫的动态决策域更新率,萤火虫i在其动态决策域半径内,选择亮度比自己高的个体构成邻域集Ni(t),更新萤火虫的动态决策域更新率,萤火虫i在其动态决策域半径内,选择亮度比自己高的个体构成邻域集Ni(t),即朝pij(t)值最大的方向,根据式(20)更新位置得到的值若超出光亮度li(t)或者位置xi(t),则方向取反移动,即换成朝pij(t)最小的方向;
第i只萤火虫第t+1代的动态决策半径的计算方法如公式(21)所示:
其中,|Ni(t)|为第i只萤火虫邻域范围内的并且比自己亮的萤火虫个数,rs为每只萤火虫的感知半径,β是动态决策域更新率,nt是领域集内包含的萤火虫数目的阈值;
步骤S5.5、根据萤火虫的更新位置重新计算萤火虫的荧光亮度;
步骤S5.6、判断搜索精度是否能满足要求或已达到最大搜索次数,若是,进行步骤S5.7,若否,搜索次数加1,进行步骤S5.3;
步骤S5.7、若满足停止条件,停止搜索,返回最优的萤火虫,找到最优核参数C和γ以及最优特征子集。
9.如权利要求8所述的网络入侵检测方法,其特征在于,所述的步骤S6包含以下步骤:
步骤S6.1、根据步骤5.7获得的最优特征子集,建立入侵行为和正常行为的特征库;
步骤S6.2、根据入侵行为和正常行为的特征库中的特征对步骤S2构建的训练数据集进行处理,在训练数据集中构建网络入侵检测的训练集;步骤S6.3、采用支持向量机对网络入侵检测的训练集进行学习,构建SVM分类器;
步骤S6.4、将步骤5.7中获得的最优核参数C和γ传入SVM分类器进行优化,得到网络入侵检测分类器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910353667.2A CN110070141B (zh) | 2019-04-28 | 2019-04-28 | 一种网络入侵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910353667.2A CN110070141B (zh) | 2019-04-28 | 2019-04-28 | 一种网络入侵检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110070141A CN110070141A (zh) | 2019-07-30 |
CN110070141B true CN110070141B (zh) | 2021-09-14 |
Family
ID=67369570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910353667.2A Active CN110070141B (zh) | 2019-04-28 | 2019-04-28 | 一种网络入侵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110070141B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110401955B (zh) * | 2019-09-06 | 2023-03-24 | 江门职业技术学院 | 一种移动网络恶意节点检测方法及系统 |
CN110602120B (zh) * | 2019-09-19 | 2022-04-05 | 国网江苏省电力有限公司信息通信分公司 | 一种面向网络的入侵数据检测方法 |
CN110661802A (zh) * | 2019-09-27 | 2020-01-07 | 湖南大学 | 一种基于pca-svm算法的慢速拒绝服务攻击检测方法 |
CN110719279A (zh) * | 2019-10-09 | 2020-01-21 | 东北大学 | 基于神经网络的网络异常检测系统及检测方法 |
CN110852235A (zh) * | 2019-11-05 | 2020-02-28 | 长安大学 | 一种图像特征提取方法 |
CN111122973A (zh) * | 2019-11-26 | 2020-05-08 | 北京无线电测量研究所 | 一种提高自动测试覆盖率的方法、系统及电子设备 |
CN111556018B (zh) * | 2020-03-25 | 2021-07-27 | 中国科学院信息工程研究所 | 一种基于cnn的网络入侵检测方法及电子装置 |
CN111614609B (zh) * | 2020-03-26 | 2022-05-13 | 诺得物流股份有限公司 | 一种基于ga-pso-dbn的入侵检测方法 |
US11977632B2 (en) * | 2020-04-23 | 2024-05-07 | Booz Allen Hamilton Inc. | Evaluating automatic malware classifiers in the absence of reference labels |
CN111757328B (zh) * | 2020-06-23 | 2022-09-02 | 南京林业大学 | 一种跨技术通信的欺骗攻击检测方法 |
CN111967503B (zh) * | 2020-07-24 | 2023-10-13 | 西安电子科技大学 | 多类型异常网页分类模型的构建方法、异常网页检测方法 |
CN112053223A (zh) * | 2020-08-14 | 2020-12-08 | 百维金科(上海)信息科技有限公司 | 一种基于ga-svm算法的互联网金融欺诈行为检测方法 |
CN111985580A (zh) * | 2020-09-04 | 2020-11-24 | 南京信息工程大学 | 基于烟花算法和支持向量机的乳腺癌临床数据分类方法 |
CN112134873B (zh) * | 2020-09-18 | 2022-04-26 | 国网山东省电力公司青岛供电公司 | 一种IoT网络异常流量实时检测方法及系统 |
CN112749739A (zh) * | 2020-12-31 | 2021-05-04 | 天博电子信息科技有限公司 | 一种网络入侵检测方法 |
CN113254925B (zh) * | 2021-02-01 | 2022-11-15 | 中国人民解放军海军工程大学 | 一种基于pca与svm的网络入侵检测系统 |
CN113204417B (zh) * | 2021-04-30 | 2024-06-25 | 武汉大学 | 一种基于改进遗传与萤火虫组合算法的多卫星多点目标观测任务规划方法 |
CN112995222B (zh) * | 2021-05-11 | 2021-08-17 | 北京智源人工智能研究院 | 一种网络检测方法、装置、设备及介质 |
CN113489685B (zh) * | 2021-06-15 | 2023-03-21 | 江苏大学 | 一种基于核主成分分析的二次特征提取及恶意攻击识别方法 |
CN113641990A (zh) * | 2021-06-21 | 2021-11-12 | 上海电力大学 | 一种基于多新息扩展卡尔曼滤波的入侵检测方法 |
CN113723494B (zh) * | 2021-08-25 | 2024-09-24 | 武汉理工大学 | 一种不确定干扰源下激光视觉条纹分类及焊缝特征提取方法 |
CN114928477B (zh) * | 2022-04-28 | 2023-04-07 | 深圳信息职业技术学院 | 一种网络入侵检测方法、装置、可读存储介质及终端设备 |
CN115277151B (zh) * | 2022-07-21 | 2024-07-26 | 国网山西省电力公司信息通信分公司 | 一种基于鲸鱼提升算法的网络入侵检测方法 |
CN115473672B (zh) * | 2022-08-03 | 2024-03-29 | 广西电网有限责任公司电力科学研究院 | 一种基于在线交互式web动态防御的防漏洞探测方法 |
CN118411829B (zh) * | 2024-07-04 | 2024-09-03 | 山东领军智能交通科技有限公司 | 一种斑马线行人安全预警方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100738537B1 (ko) * | 2005-12-27 | 2007-07-11 | 삼성전자주식회사 | 네트워크 침입 탐지 시스템 및 그 탐지 방법 |
CN101594361A (zh) * | 2009-06-02 | 2009-12-02 | 浙江大学 | 基于支持向量机简化算法的网络入侵检测系统 |
CN105930723A (zh) * | 2016-04-20 | 2016-09-07 | 福州大学 | 一种基于特征选择的入侵检测方法 |
-
2019
- 2019-04-28 CN CN201910353667.2A patent/CN110070141B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110070141A (zh) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110070141B (zh) | 一种网络入侵检测方法 | |
CN108520272B (zh) | 一种改进苍狼算法的半监督入侵检测方法 | |
Zanke et al. | Predictive Modelling for Insurance Pricing: A Comparative Analysis of Machine Learning Approaches | |
Wang et al. | Fault recognition using an ensemble classifier based on Dempster–Shafer Theory | |
Lin et al. | Parameter tuning, feature selection and weight assignment of features for case-based reasoning by artificial immune system | |
CN111310185B (zh) | 一种基于改进stacking算法的Android恶意软件检测方法 | |
US20200286095A1 (en) | Method, apparatus and computer programs for generating a machine-learning system and for classifying a transaction as either fraudulent or genuine | |
CN115186816B (zh) | 一种基于决策捷径搜索的后门检测方法 | |
Singh et al. | A multi-level classification and modified PSO clustering based ensemble approach for credit scoring | |
CN116781346A (zh) | 基于数据增强的卷积双向长短期记忆网络入侵检测方法 | |
CN118151020B (zh) | 一种电池安全性能的检测方法及系统 | |
Antonelli et al. | Multi-objective evolutionary learning of granularity, membership function parameters and rules of Mamdani fuzzy systems | |
CN112949954B (zh) | 基于识别学习建立财务欺诈识别模型的方法 | |
CN115905855A (zh) | 一种改进的元学习算法MG-Reptile | |
CN115114484A (zh) | 异常事件检测方法、装置、计算机设备和存储介质 | |
CN113343123B (zh) | 一种生成对抗多关系图网络的训练方法和检测方法 | |
Wang et al. | Feature selection based on weighted fuzzy rough sets | |
CN111639688B (zh) | 一种基于线性核svm的物联网智能模型的局部解释方法 | |
Cai et al. | Fuzzy criteria in multi-objective feature selection for unsupervised learning | |
CN114095268A (zh) | 用于网络入侵检测的方法、终端及存储介质 | |
CN114519605A (zh) | 广告点击欺诈检测方法、系统、服务器和存储介质 | |
McInerney et al. | A Statistically-Based Approach to Feedforward Neural Network Model Selection | |
Li et al. | A Fast Postprocessing Algorithm for the Overlapping Problem in Wafer Map Detection | |
Shi et al. | Enhancing IoT Flow Anomaly Detection with Differential Optimal Feature Subspace | |
CN113989273B (zh) | 一种基于k-近邻的太阳耀斑预报方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |