CN113254925A - 一种基于pca与svm的网络入侵检测系统 - Google Patents
一种基于pca与svm的网络入侵检测系统 Download PDFInfo
- Publication number
- CN113254925A CN113254925A CN202110133958.8A CN202110133958A CN113254925A CN 113254925 A CN113254925 A CN 113254925A CN 202110133958 A CN202110133958 A CN 202110133958A CN 113254925 A CN113254925 A CN 113254925A
- Authority
- CN
- China
- Prior art keywords
- data
- step length
- reference point
- pca
- svm
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- 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/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于PCA与SVM的网络入侵检测系统,包括身份认证模块、数据存取模块、数据预处理模块、数据约简和检测模块和系统可视化模块;其运用主成分分析(Principal ComponentAnalysis,简称PCA)方法对数据进行约简,运用支持向量机分类算法进行分类,从而达到网络入侵检测的目的,而支持向量机的核心参数又运用试探训练法来确定,缩短了检测时间,提高了检测率,大大提高了本系统核心部件检测器的性能。本系统的检测器采取KDD99数据集进行实验,实验结果验证了本入侵检测系统的有效性和性能的优越性。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于PCA与SVM的网络入 侵检测系统。
背景技术
当前互联网高速发展,网络已经成为人们工作和生活不可或缺的部分。然后 随着网络应用越来越广泛,网络中的蠕虫、病毒、木马和各种黑客攻击日益泛滥, 对政府网络部门、企业以及国家经济造成了巨大的威胁。
随着网络攻击手段越来越多样,现有的安全措施如防火墙、安全审计、数据 加密、访问控制等都存在缺陷,功能过于单一,不能构成一个完整的安全防御体 系。目前解决网络安全问题的有效方法包括防火墙、病毒防御检测、入侵检测等。 而网络入侵检测是保护网络安全的重要途径。目前网络异常检测系统的核心部件 ——检测器的核心算法有:贝叶斯分类算法、BP神经网络算法、遗传变异算法 等,这些算法在网络入侵检测领域中都取得了不错的检测效果,但这些方法都是 基于经验风险最小化原理的机器学习算法,其检测的准确性与获得样本的数量有 很大的关系,波动较大。
因此,能否及时发现网络黑客的入侵,有效地检测出网络中的异常流量,成 为所有网络用户面临的一个重要问题。
发明内容
针对上述存在的问题,本发明旨在提供一种基于PCA与SVM的网络入侵 检测系统,为了实现上述目的,本发明所采用的技术方案如下:
一种基于PCA与SVM的网络入侵检测系统,其特征在于,包括身份认证 模块、数据存取模块、数据预处理模块、数据约简和检测模块和系统可视化模块;
身份认证模块用于对使用本系统的人员身份进行验证,其采用基于Hash函 数的口令管理方式,将用户信息和口令经Hash函数处理后存储在数据库中;
数据存取模块用于对捕获的网络数据进行存储;
数据预处理模块用于对数据库中提取出的数据进行数据预处理和标准化;
数据约简和检测模块包括数据降维子模块和数据分类子模块;所述数据降维 子模块用于基于主成分分析法PCA对预处理后的数据进行降维,将多个变量转 化为少数几个综合变量,达到数据约简的目的;所述数据分类子模块,利用支持 向量机SVM分类器检测出正常或异常的数据记录,最终输出网络入侵检测结果;
系统可视化模块通过系统可视化的方式实现系统人机交互,包括异常类信息 修改、系统操作记录、系统告警相应和检测情况统计等功能。
本发明的有益效果是:
本发明提出的一种基于PCA与SVM的网络入侵检测系统,其检测器采用 了支持向量机分类算法,选择KDD99数据集做测试,利用主成分分析方法对数据 属性降维,并运用试探法确定支持向量机的参数,从而进行仿真实验,该方法大 大缩短了检测时间,提高了检测效率,降低了误报漏报率,通过测试验证了本入 侵检测系统的有效性和性能的优越性。
附图说明
图1为支持向量机最优超平面示意图;
图2为本系统的整体结构图;
图3为本系统的约简和分类模块算法流程图;
图4为惩罚因子C的试探法选择流程图;
图5为径向基核参数r的试探法选择流程图;
图6为实施例中的用户信息表设计图;
图7为实施例中的示例用户信息示意图;
图8为本系统的主界面的示意图;
图9为本系统的检测器与传统的检测器检测效果对比图;
图10(a)-(b)为本系统的主成分分析的有效性示意图;其中图10(a) 为第一组数据的主成分分析,图10(b)为第三组数据集的主成分分析。
具体实施方式
为了使本领域的普通技术人员能更好的理解本发明的技术方案,下面结合 实施例对本发明的技术方案做进一步的描述。
目前,以网络流量为输入的入侵检测技术类型较多,有很多方法可以对这 些检测技术进行分类。例如,入侵检测中的数据收集方法和数据来源主要有以下 三种:第一种是通过抓取数据包来获得网络流量;第二种是利用SNMP等网络 协议获得流量;第三种是利用Netflow等工具得到网络数据流。
根据以上的数据收集方法,入侵检测技术可以划分为以下两种:以网络数 据包为输入的检测方法和以网络流为输入的检测方法。此外,根据在网络中的部 署形式可分为全网络检测方法和单点单链路检测方法。按照检测器中所采用的核 心算法可以分为基于统计分析的检测方法、基于信号处理技术的检测方法和基于 机器学习的检测方法等。
本发明设计的基于PCA与SVM的网络入侵检测系统,其检测器利用支持 向量机进行分类,输入的数据使用KDD99数据集。首先,对本系统检测器中核心 算法的基础原理和所采用的数据集进行介绍。
1、支持向量机原理
定义1一个超平面ωTx-b=0(||ω||=1),向量x被超平面按下式分类:
定理1在统计学习理论中,设向量x∈Rd分布在一个半径为R的球中,则Δ– 间隔分类超平面集合的VC维满足:
其中[]表示取整;
根据定理1,最小化VC维等价于最大化分类间隔Δ,支持向量机正是通过 这种方式实现了VC维的最小化,进而降低系统的期望风险。
支持向量机种类很多,包括线性支持向量机、广义线性支持向量机、非线性 支持向量机、最小二乘支持向量机等。其中线性支持向量机和线性回归支持向量 机为最基本的支持向量机,故以此为例进一步说明支持向量机的原理。
1.1线性支持向量机
对于两类分类问题,取n个样本,样本的的训练集是D={(xi,yi)|i=1,2,…n}, xi∈Rn,yi∈{+1,-1},训练集能被超平面H:ω·x+b=0无差错分开,并且离超 平面最近向量与超平面距离最大,我们称超平面H就是最优超平面,如附图1 所示。
定义两个标准超平面,H1:ω·x+b=+1,H2:ω·x+b=-1。H1和H2超平面平行 于分类超平面H,并且这两个标准超平面是经过各类样本中离最优超平面最近的样本 点。它们之间的距离为分类间隔最大化分类间隔Δ可以转化为最小化||ω||2=ωTω, 前提是H1与H2之间无样本,即样本集中的所有样本点满足:
yi[(ω·xi)+b]-1≥0 i=1,2,…n (3),
因此,支持向量机就是采用下列凸二次规划问题对样本正确分类:
这是一个凸二次规划问题,可以通过构造拉格朗日函数求解,即:
其中,αi≥0为拉格朗日乘子;
分别求ω,b的偏导数,并令偏导数等于零,有:
将式(6)代入式(5),则有:
上式称为拉格朗日函数对偶变换,该形式更容易数值求解,因此构建最优超 平面问题转化为简单的对偶二次规划问题:
式(8)有唯一解,设αi *为式的最优解,则:
其中ω*是最优分类超平面的权系数向量,从上式可以看出ω*可以表示为训 练样本的线性组合。
定义2训练集D中的输入xi为支持向量(Support Vector,SV),如果对应 它的αi *>0;
取值αi *的样本中,当yi[(ω·xi)+b]-1=0时,该样本位于标准超平面上, 将
这类样本称为支持向量,支持向量是最能提供分类间隔信息的样本,通常只 占有样本集的一部分。由于数目不多,因此支持向量具有稀疏性,在决策函数构 造时,只有这一部分样本对于决策有意义。
根据KKT条件,该问题必须满足:
将不为零αi *的代入式可求解b*。为了提高决策函数的准确性,这里的b*可 以求得多个解之后取平均值。
那么求解上述问题即可得到最优分类函数为:
其中,sgn(·)为符号函数。
1.2线性回归支持向量机
在机器学习问题中,回归问题是一类重要问题,可以对系统进行辨识建模, 预测系统的输出。
对于线性SVR,采取线性回归函数f(x)=(ω·x)+b估计样本集,在损失函数 的选取上,这里引出线性ε不敏感损失函数,这里的ε可以理解为对损失函数的 贡献度,可以表示为L(y,f(x,α))=|y-f(x,α)|ε。
当y-f(x,α)∈(-ε,ε)时,L(y,f(x,α))=0,对损失无贡献。当y-f(x,α)>ε或y-f(x,α)<-ε时,对损失有贡献,假设所有训练在精度ε下 无误差的用线性函数拟合,则:
|f(xi)-yi|≤ε (12),
其中xi为样本点的输入,yi为在xi下样本的真实输出,f(xi)为在xi输入下 的预测输出值;
将回归函数f(x)=(ω·x)+b代入式(12),则有:
优化目标与线性支持向量机相同,且为:
在更一般情况下,考虑到在线性不可分和发生噪声等情况下上述约束条件无 法实现,这里引入松弛变量ξi≥0和ξi *≥0,则约束条件变为:
优化目标变为:
其中,C(C>0)代表规则化参数;
上述问题是一个凸二次规划问题,可以构造其拉格朗日函数:
通过仿照线性支持向量机的求解方法,首先构建对偶二次规划,然后考虑 KKT条件,最后得到的线性SVR回归函数为:
以上即为线性可分支持向量机和线性回归支持向量机,其他支持向量机构造 原理相似,只是引入了其他的构造方法。支持向量机方法很好的解决了小样本建 模问题,并且决策函数的推广性很好,具有很好的应用前景。
2、数据集介绍
本系统使用KDD99数据集,其是1998年美国在林肯实验室模拟真实的网络 环境,仿真各种用户类型、各种不同的网络流量和攻击手段,收集到的网络连接 和系统审计数据,经过特征分析和预处理之后,形成的一个标准数据集。该数据 集现已成为网络入侵领域的网络流量标准数据,成为目前网络入侵检测器实验用 标准数据。
KDD99的6个数据包,如表1所示:
表1 KDD99数据包
举例其中的一条记录为:
2,tcp,smtp,SF,1684,363,0,0,0,0,0,1,0,0,0,0,0,0,0, 0,0,0,1,1,0.00,0.00,0.00,0.00,1.00,0.00,0.00,104,66,0.63, 0.03,0.01,0.00,0.00,0.00,0.00,0.00,normal.
每条记录有41个特征值,加上最后的标记,共42个特征值。
所有记录被分为为5类标记,正常类(normal)和四种攻击类(DOS、Probe、 U2Su、R2L),每类攻击类有若干小类,共39种攻击类型。
本系统的检测器是用kddcup.data_10_percent.gz里面的数据进行训练,用corrected.gz里面的数据进行测试。
其次,参考附图2可知,本系统包括身份认证模块、数据存取模块、数据预 处理模块、数据约简和检测模块和系统可视化模块。接下来分别对各个模块进行 说明。
3、身份认证模块
为了保证使用本网络流量前检测的人员安全可靠,系统利用身份认证机制实 现自身安全防护。本系统在传统的基于口令的身份认证方案上,对用户的口令信 息进行加密存储,进而避免系统本地口令信息被窃取对认证安全造成的危害,具 体采用基于Hash函数的口令管理方式。
基于Hash函数的口令管理方式采用Hash算法对口令进行加密,并将处理后 的口令以密文形式在数据库中存储。既能避免以明文形式存储对系统安全性造成 的损害,又能克服了非对称算法运算速度较慢的缺陷。
由于Hash函数运算速度较快,所以存在被暴力破解的可能性。针对此安全 隐患,本系统采用的基于Hash函数的口令认证方式使用口令和用户信息经过多 次执行Hash运算得到认证信息,并在计算中使用迭代Hash运算,增加了计算的 时间复杂度,提高了暴力破解的难度。
4、数据存取模块
在数据存取模块中数据库起着支撑作用,本系统的数据库主要负责接收并存 储从网络上捕获的数据以及以约定的格式接收存储KDD99数据集,并在使用时将 其导出,本模块中采用SQL Server数据库,以二维表的方式来存储数据。
5、数据预处理模块
数据预处理模块是通过相应程序对从数据库中提取的数据进行数据的标准 化,主要其包括三个部分的处理:文本型属性的数值化、连续型属性的离散化和 属性数据的归一化。
(1)文本型数据转化为数值型数据
标记类型的转换方式为:所有正常的记录全为0,异常的记录全为1;当协 议运行状态正常时属性取值为0,若协议运行状态错误时属性取值为1;
且三种不同的协议类型对应编号如表2所示:
表2协议类型属性转换为数值型数据的对应表
同样地,服务类型状态正常或错误的属性取值也为0或1,所述服务类型对应 编号如表3所示:
表3 service属性值转换为数值型数据的对应表
连接正常或错误的状态属性对应编号如表4所示:
表4连接正常或错误的状态属性转换为数值型数据的对应表
连接正常或错误的状态 | 编号 |
OTH | 0 |
REJ | 1 |
RSTO | 2 |
RSTOS0 | 3 |
RSTR | 4 |
S0 | 5 |
S1 | 6 |
S2 | 7 |
S3 | 8 |
SF | 9 |
SH | 10 |
根据表2-4中的对应关系,即可将文本型转化为数值型数据。
(2)数据标准化处理
经过以上处理之后的一条记录变为如下所示:
0,0,0.304347826,1,2.61E-07,0.00105713,0,0,0,0.015655577, 0.015655577,0,0,0,0,1,0,0,0。
6、数据约简和检测模块
6.1数据降维子模块
由于在检测中维数过高会导致检测率降低,并影响运行效率,例如KDD99 数据集具有41维属性,所以本系统利用主成分分析法在分类前对数据进行降维, 达到属性约简的目的。主成分分析(Principal ComponentAnalysis,PCA)将多个 变量转化为少数几个综合变量(即主成分),其中每个主成分都是原始变量的线 性组合,各主成分之间互不相关,从而这些主成分能够反映始变量的绝大部分信 息,且所含的信息互不重叠。
假设用p个变量来描述研究对象,分别用X1,X2…Xp来表示,这p个变量构 成的p维随机向量为X=(X1,X2…Xp)t。设随机向量X的均值为μ,协方差矩阵为 Σ。假设X是以n个标量随机变量组成的列向量,并且μk是其第k个元素的期望 值,即,μk=E(xk),协方差矩阵被定义为:
对X进行线性变化,考虑原始变量的线性组合:
主成分是不相关的线性组合Z1,Z2……Zp,并且Z1是X1,X2…Xp的线性组 合中方差最大者,Z2是与Z1不相关的线性组合中方差最大者,Zp是与Z1, Z2……Zp-1都不相关的线性组合中方差最大者。
6.2数据分类子模块
数据分类模块的主要功能是通过数据分类,达到网络入侵检测的目的。系统 首先对数据输入、预处理、降维(属性约简)处理后,再利用基于支持向量机方 法,通过SVM分类器检测出正常或异常的数据记录,达到入侵检测之目的。网络 入侵检测的工作流程为附图3所示,分为如下步骤:
步骤1:输入训练集;
步骤2:利用主成分分析法对训练集中的数据进行降维(属性约简);
步骤3:将数据集分成训练子集;
步骤4:采用支持向量机SVM进行训练;
步骤5:对SVM分类器进行加权集成;
步骤6:输出集成分类结果。
经过数据预处理后的数据约有10万条,将步骤3中的这些数据分为10个子 集,采用Boosting分步训练法进行训练,其流程为:
(1)对子集data1,用SVM分类器对其进行训练,得到预测函数SVM,同时得 到SVM的预测误差t;
(2)根据t得到SVM的权重w;
(3)下一轮的训练样本为data2;
(3)根据w得到下一轮训练样本的权重;
(4)训练T轮后得到一组(SVM,t),进而得到最后的预测函数H(x)。
在检测器的训练中,对参数的修改尤为重要,本发明选取公认性能较好的径 向基作为该检测器的核函数。影响检测器性能最主要的是这样两个参数:径向基 核函数参数gamma与惩罚因子C。
基于此,提出了如下算法进行2个参数的确定:
(1)惩罚因子C的试探法选择流程,如附图4所示,具体流程为:
①设定C初始值、参考点、变化方向、步长;训练第一个和第二个SVM;
②计算第i次的BSVR,判断与上次相比,变化值是否超出门限,如果没 有超出则更新参考点为当前值;如果超出门限再判断SVR与参考点相比是否 下降;
③如果SVR与参考点相比下降的话,步长不变,变化方向不变,更新参 考点为当前值;如果未下降的话,判断参考点的步长是否增加过;
④如果步长未增加过,则增加步长,记当前参考点步长增加过并更新参 考点为当前值;如果步长已经参加过,则判断参考点的步长是否减小过;
⑤如果步长未减小过,则减小步长,记当前参考点步长减小过,否则如 果当前步长大于1,步长减小;如果小于1,步长增加,求出下一个C的值。
(2)径向基核参数r的试探法选择流程,如附图5所示:
①设定Y初始值、参考点、变化方向、步长;训练第一个和第二个SYM;
②计算第i次的BSVR,判断与上次相比,变化值是否超出门限;
③如果超出门限值再判断SVR与参考点相比是否下降;没有超过则使SVR 连续保持不变的次数加1,再判断其是否大于停止运算的次数,若大于的话 则输出最佳参数;
④如果SVR与参考点相比下降,则更新参考点为当前值;否则再判断参 考点的步长是否增加过;
⑤如果步长未增加过,则增加步长,记当前参考点步长增加过并更新参 考点为当前值;如果步长已经参加过,则判断参考点的步长是否减小过;
⑥如果步长未减小过,则减小步长,记当前参考点步长减小过,更新参 考点为当前值;否则若当前步长大于1,步长减小;如果小于1,步长增加。
8、系统可视化模块
可视化界面部分主要是对检测器的分类结果进行处理和展示,主要分为系统 响应、检测历史查看、异常类信息修改以及一周检测情况统计等子模块。下面是 对这些子模块的介绍:
①系统响应
系统响应是根据支持向量机的分类结果实行的,若是异常类便发出警报声音 和弹出相应的提示窗口,以提醒用户对网络进行防护。
②检测历史查看
检测历史查看是对检测系统的检测历史进行查看,主要分为今日检测历史的 查看、正常类型检测历史的查看和异常类型检测历史的查看。
③异常类信息修改
异常类信息的修改主要从用户的角度出发,用户可对异常类信息作出自己的 专业判断,然后可对异常类信息增加信任变为正常类型,系统也会相应的对此操 作进行记录。
④一周检测情况统计
一周检测情况统计故名思意是对系统使用当日起往后的一周的检测情况进 行统计,用折线图反映出最近一周检测到的正常类型和异常类型的个数。
⑤系统介绍查看
系统介绍查看主要是对本系统——基于支持向量机的网络异常检测系统的 开发背景信息进行查看。
实施例
在实际部署时,对各功能模块的实现进行说明和部分实施界面记性展示。其 中由于数据预处理模块实现只涉及到字符串替换、数值处理等操作,因此此处不 做赘述。且本系统采用KDD99数据集进行测试实验。
1、系统各功能模块实现
(1)身份认证模块
为确保用户账号和密码的安全性,我们通过哈希运算对用户账号和密码取哈 希值并与信息库中的信息进行匹配。在线认证模块中,建立了用户信息库。存储 用户信息的用户信息表dbo.user设计如图6所示。示例用户的信息如附图7所示。
(2)数据存取模块
本系统使用SQL Server 2005或以上版本数据库进行网络流量数据的添加, 安装好程序后,在SQL Server 2005连接服务器界面的服务器名称改为Local,身 份验证改为windows身份验证。每次执行完其他模块功能后,清理本次执行的相 关记录,显示检测结果。首先新建一个数据库,再进行数据属性的定义;其次, 在新建数据库并定义属性之后,向数据库中导入数据,待数据导入后完成。
(3)数据降维子模块
由于KDD99数据集数据量较大,且每条记录有41个属性,本检测器利用主成 分分析对数据有效的降维。
在matlab中用函数princomp进行主成分分析,它的一般语句格式为:
[coef,score,latent,t2]=princomp(x);
其中,x为输入的n维原始数据。
数据降维部分的核心代码如下:
//主成分分析
load('data');%原始数据导入,训练数据
//所有主成份分析的精度图表
load('DATA');%测试用原始数据
data_inst=data(:,1:41);
data_label=data(:,42);
test_inst=DATA(:,1:41);
test_label=DATA(:,42);
//所有数据属性进行主成份分析
data_and_test_inst=[data_inst;test_inst];
[data_and_test_coef,data_and_test_score,data_and_test_latent]=princomp(data_and_test_inst);
accuracy_array=zeros(1,41);
for number=1:1:41;
data_exchange=data_and_test_score(1:39678,1:number);
test_exchange=data_and_test_score(39679:54906,1:number);
//主成份分析之后测试正确率
[senior_predict_label,senior_accuracy,senior_dec_values]=svmpred ict(test_label,test_exchange,senior_model);
end;
(4)数据分类子模块
在MatlabR2011b.0中利用libsvm工具箱,调用trainsvm函数生成初始检测器。 然后根据上述模块介绍的方法进行SVM的参数寻优。
下面是本检测器利用KDD99进行的一次参数确定过程:
取惩罚因子C=1,确定gamma,结果如表5所示:
表5 C=1时,g取不同值的试探结果
C | g | nSV,nBSV | 检测精度 |
1 | 0.001 | 4987,4944 | 88.6065% |
1 | 0.01 | 3580,3468 | 91.4631% |
1 | 0.09 | 2738,2473 | 92.2248% |
1 | 0.1 | 2710,2440 | 91.1019% |
1 | 1 | 1411,858 | 85.3035% |
1 | 5 | 1772,548 | 78.7365% |
1 | 10 | 2276,514 | 78.6971% |
当gamma=0.09时,无论是检测率还是支持向量机数目上均结果较优;
从而可取gamma=0.09,以确定惩罚因子的最优值,表6列出了g=0.09时,C 取不同值的试探结果;
表6 g=100时,C取不同值的试探结果
C | g | nSV,nBSV | 检测精度 |
0.1 | 0.09 | 3891,3793 | 91.1413% |
1 | 0.09 | 2738,2473 | 91.1019% |
10 | 0.09 | 1157,844 | 91.7061% |
100 | 0.09 | 503,266 | 91.9556% |
400 | 0.09 | 397,168 | 92.1526% |
900 | 0.09 | 376,139 | 92.1329% |
1000 | 0.09 | 368,135 | 92.1263% |
由表5-6的试探结果可见,当参数C=400,gamma=0.09时训练效果是最佳。由 此经过多次训练,形成成熟的检测器。
(5)系统可视化模块
本系统的表现形式为一个可执行文件,其具有人机交互界面。当系统启动后, 先出现登录界面,登录子模块用来验证用户名和密码,若用户名和密码有效则进 入系统,若无效则禁止进入系统并提示错误。
本系统可视化部分主要包括查看检测历史、统计一周内的检测情况、查看并 修改异常类信息等功能,系统主界面如附图8所示。例如在主界面上点击“本周 检测信息”,则进入“本周检测信息”界面能够对从当日起往后的一个星期内的 检测情况进行统计,可以看出正常类型的检测情况和异常类型的检测情况。
2、系统测试
(1)测试环境
硬件环境:Intel Pentium CPU 2117U 3.30GHz,内存4GB;
软件环境:win764位,SQL server2005数据库;
(2)功能测试
将corrected.gz里面的30万条数据随机分为10份,按corrected1~corrected10编 号,比较经过该检测器预测的数据类型与实际数据类型,从而验证系统的检测功 能检测率;
应用本系统的检测器与传统的检测器进行比较,得到测试结果如附图9所示, 明显可以看出本检测器的平均检测率较传统检测方法更高。
在电脑上打开应用程序,登录主界面,对一周内检测信息统计、检测历史查 看、异常类信息修改的运行情况进行测试,检验系统的界面功能是否正常;能够 成功打开应用,并显示相应的信息。
(3)性能测试
①主成分分析的有效性
为了验证主成分分析的有效性,我们从KDD99的kddcup.data_10_percent中根 据攻击的类型不同抽取训练集,从corrected.gz中抽取测试集进行实验。抽取数据 集数据类型构成如表7所示。
表7训练集与测试集构成
选取第一组数据与第三组数据,分别对其测试集与训练集整体数据进行主成 分分析,得到检测精度曲线,如附图10(a)-(b)所示。并且主属性个数的选 择依据该曲线图,选取最高的检测精度所代表的横坐标。
②数据处理性能
该分类器与由41个属性训练得到的传统支持向量机分类器对比,得到其在相 同测试集中的实验结果,进行对比分析,得到结果如表8所示。
表8传统SVM与PCA—SVM对比
通过以上的功能测试结果和性能测试结果,能够验证本检测器的有效性和稳 定性。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的 技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述 的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有 各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求 保护范围由所附的权利要求书及其等效物界定。
Claims (7)
1.一种基于PCA与SVM的网络入侵检测系统,其特征在于,包括身份认证模块、数据存取模块、数据预处理模块、数据约简和检测模块和系统可视化模块;
身份认证模块用于对使用本系统的人员身份进行验证,其采用基于Hash函数的口令管理方式,将用户信息和口令经Hash函数处理后存储在数据库中;
数据存取模块用于对捕获的网络数据进行存储;
数据预处理模块用于对数据库中提取出的数据进行数据预处理和标准化;
数据约简和检测模块包括数据降维子模块和数据分类子模块;所述数据降维子模块用于基于主成分分析法PCA对预处理后的数据进行降维,将多个变量转化为少数几个综合变量;所述数据分类子模块,利用支持向量机SVM分类器检测出正常或异常的数据记录,最终输出网络入侵检测结果;
系统可视化模块通过系统可视化的方式实现系统人机交互,包括异常类信息修改、系统操作记录、系统告警相应和检测情况统计等功能。
2.根据权利要求1所述的一种基于PCA与SVM的网络入侵检测系统,其特征在于:所述基于Hash函数的口令管理方式为多次Hash管理,即:将口令和用户信息经过多次Hash运算,从而得到认证信息。
4.根据权利要求1所述的一种基于PCA与SVM的网络入侵检测系统,其特征在于:所述数据约简和检测模块的检测流程为:
S1:输入训练集;
S2:利用主成分分析法PCA对训练集中的数据进行降维,用于确保数据约简的实施;
S3:将数据集分成训练子集;
S4:采用支持向量机SVM进行训练,并在训练过程中利用惩罚因子C的试探法和径向基核参数试探法分别确定惩罚因子C和径向基核函数参数gamma,并得到以径向基为核函数的分类器;
S5:对得到的SVM分类器进行加权集成;
S6:输出集成分类结果。
5.根据权利要求4所述的一种基于PCA与SVM的网络入侵检测系统,其特征在于:所述利用主成分分析法PCA对数据进行降维的具体处理流程为:
S21:用p个变量来描述采集到数据,分别用X1,X2…Xp来表示,这p个变量构成的p维随机向量为X=(X1,X2…Xp)t;
S22:设随机向量X的均值为μ,协方差矩阵为Σ,假设X是以n个标量随机变量组成的列向量,并且μk是其第k个元素的期望值,即,μk=E(xk),协方差矩阵被定义为:
对X进行线性变化,考虑原始变量的线性组合:
S23:主成分是不相关的线性组合Z1,Z2……Zp,并且Z1是X1,X2…Xp的线性组合中方差最大者,Z2是与Z1不相关的线性组合中方差最大者,Zp是与Z1,Z2……Zp-1都不相关的线性组合中方差最大者。
6.根据权利要求4所述的一种基于PCA与SVM的网络入侵检测系统,其特征在于:所述步骤S4中所述的惩罚因子C试探法确定惩罚因子C的操作步骤包括:
S1:设定C初始值、参考点、变化方向、步长;训练第一个和第二个SVM;
S2:计算第i次的BSVR,判断与上次相比,变化值是否超出门限,如果没有超出则更新参考点为当前值;如果超出门限再判断SVR与参考点相比是否下降;
S3:如果SVR与参考点相比下降的话,步长不变,变化方向不变,更新参考点为当前值;如果未下降的话,判断参考点的步长是否增加过;
S4:如果步长未增加过,则增加步长,记当前参考点步长增加过并更新参考点为当前值;如果步长已经参加过,则判断参考点的步长是否减小过;
S5:如果步长未减小过,则减小步长,记当前参考点步长减小过,否则如果当前步长大于1,步长减小;如果小于1,步长增加,求出下一个C的值。
7.根据权利要求4所述的一种基于PCA与SVM的网络入侵检测系统,其特征在于:所述步骤S4中所述的径向基核参数试探法确定径向基核函数参数的操作步骤包括:
S1:设定Y初始值、参考点、变化方向、步长;训练第一个和第二个SYM;
S2:计算第i次的BSVR,判断与上次相比,变化值是否超出门限;
S3:如果超出门限值再判断SVR与参考点相比是否下降;没有超过则使SVR连续保持不变的次数加1,再判断其是否大于停止运算的次数,若大于的话则输出最佳参数;
S4:如果SVR与参考点相比下降,则更新参考点为当前值;否则再判断参考点的步长是否增加过;
S5:如果步长未增加过,则增加步长,记当前参考点步长增加过并更新参考点为当前值;如果步长已经参加过,则判断参考点的步长是否减小过;
S6:如果步长未增加过,则增加步长,记当前参考点步长增加过并更新参考点为当前值;如果步长已经参加过,则判断参考点的步长是否减小过;
S7:迭代S4-S6,直至大于停止运算的次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110133958.8A CN113254925B (zh) | 2021-02-01 | 2021-02-01 | 一种基于pca与svm的网络入侵检测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110133958.8A CN113254925B (zh) | 2021-02-01 | 2021-02-01 | 一种基于pca与svm的网络入侵检测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254925A true CN113254925A (zh) | 2021-08-13 |
CN113254925B CN113254925B (zh) | 2022-11-15 |
Family
ID=77180826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110133958.8A Active CN113254925B (zh) | 2021-02-01 | 2021-02-01 | 一种基于pca与svm的网络入侵检测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254925B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016090439A1 (pt) * | 2014-12-09 | 2016-06-16 | Universidade Estadual De Campinas - Unicamp | Método de detecção de vivacidade de impressões digitais usando redes convolucionais |
CN105897517A (zh) * | 2016-06-20 | 2016-08-24 | 广东电网有限责任公司信息中心 | 一种基于svm的网络流量异常检测方法 |
CN106409288A (zh) * | 2016-06-27 | 2017-02-15 | 太原理工大学 | 一种利用变异鱼群算法优化的svm进行语音识别的方法 |
CN106951778A (zh) * | 2017-03-13 | 2017-07-14 | 步步高电子商务有限责任公司 | 一种面向复杂流数据事件分析的入侵检测方法 |
CN106991435A (zh) * | 2017-03-09 | 2017-07-28 | 南京邮电大学 | 基于改进的字典学习的入侵检测方法 |
KR20170140127A (ko) * | 2017-11-24 | 2017-12-20 | 조선대학교산학협력단 | Kpca, lda, 및 다중커널학습 svm을 이용한 뇌 이미지 분석방법 |
CN108712404A (zh) * | 2018-05-04 | 2018-10-26 | 重庆邮电大学 | 一种基于机器学习的物联网入侵检测方法 |
CN109165160A (zh) * | 2018-08-28 | 2019-01-08 | 北京理工大学 | 基于核主成分分析算法的软件缺陷预测模型设计方法 |
CN109388944A (zh) * | 2018-11-06 | 2019-02-26 | 吉林大学 | 一种基于kpca和elm的入侵检测方法 |
CN110070141A (zh) * | 2019-04-28 | 2019-07-30 | 上海海事大学 | 一种网络入侵检测方法 |
CN110348642A (zh) * | 2019-07-12 | 2019-10-18 | 国网四川省电力公司信息通信公司 | 一种用于流量预测的支持向量机的优化方法 |
CN110738274A (zh) * | 2019-10-26 | 2020-01-31 | 哈尔滨工程大学 | 一种基于数据驱动的核动力装置故障诊断方法 |
CN111259960A (zh) * | 2020-01-16 | 2020-06-09 | 东华理工大学 | 基于pca与自适应哈希保留集的svm增量学习算法名称 |
-
2021
- 2021-02-01 CN CN202110133958.8A patent/CN113254925B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016090439A1 (pt) * | 2014-12-09 | 2016-06-16 | Universidade Estadual De Campinas - Unicamp | Método de detecção de vivacidade de impressões digitais usando redes convolucionais |
CN105897517A (zh) * | 2016-06-20 | 2016-08-24 | 广东电网有限责任公司信息中心 | 一种基于svm的网络流量异常检测方法 |
CN106409288A (zh) * | 2016-06-27 | 2017-02-15 | 太原理工大学 | 一种利用变异鱼群算法优化的svm进行语音识别的方法 |
CN106991435A (zh) * | 2017-03-09 | 2017-07-28 | 南京邮电大学 | 基于改进的字典学习的入侵检测方法 |
CN106951778A (zh) * | 2017-03-13 | 2017-07-14 | 步步高电子商务有限责任公司 | 一种面向复杂流数据事件分析的入侵检测方法 |
KR20170140127A (ko) * | 2017-11-24 | 2017-12-20 | 조선대학교산학협력단 | Kpca, lda, 및 다중커널학습 svm을 이용한 뇌 이미지 분석방법 |
CN108712404A (zh) * | 2018-05-04 | 2018-10-26 | 重庆邮电大学 | 一种基于机器学习的物联网入侵检测方法 |
CN109165160A (zh) * | 2018-08-28 | 2019-01-08 | 北京理工大学 | 基于核主成分分析算法的软件缺陷预测模型设计方法 |
CN109388944A (zh) * | 2018-11-06 | 2019-02-26 | 吉林大学 | 一种基于kpca和elm的入侵检测方法 |
CN110070141A (zh) * | 2019-04-28 | 2019-07-30 | 上海海事大学 | 一种网络入侵检测方法 |
CN110348642A (zh) * | 2019-07-12 | 2019-10-18 | 国网四川省电力公司信息通信公司 | 一种用于流量预测的支持向量机的优化方法 |
CN110738274A (zh) * | 2019-10-26 | 2020-01-31 | 哈尔滨工程大学 | 一种基于数据驱动的核动力装置故障诊断方法 |
CN111259960A (zh) * | 2020-01-16 | 2020-06-09 | 东华理工大学 | 基于pca与自适应哈希保留集的svm增量学习算法名称 |
Non-Patent Citations (9)
Title |
---|
于游: "中文文本分类方法综述", 《网络与信息安全学报》 * |
任勋益等: "基于主元分析和支持向量机的异常检测", 《计算机应用研究》 * |
单冬红等: "基于主成分分析的神经网络入侵检测仿真研究", 《计算机仿真》 * |
张旭: "基于主成分分析的网络入侵检测研究", 《计算机安全》 * |
杨富华: "PCA-SVM在网络入侵检测中的仿真研究", 《计算机仿真》 * |
王华忠等: "融合PCA和PSO-SVM方法在工控入侵检测中的应用", 《科技通报》 * |
王念等: "EasiFFRA:一种基于邻域粗糙集的属性快速约简算法", 《计算机研究与发展》 * |
陈武等: "一种改进的SVM算法在入侵检测中的应用", 《计算机安全》 * |
陈衡: "一种基于动态降维的数据约简方法", 《鸡西大学学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113254925B (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10084822B2 (en) | Intrusion detection and prevention system and method for generating detection rules and taking countermeasures | |
Saxena et al. | Intrusion detection in KDD99 dataset using SVM-PSO and feature reduction with information gain | |
Ye et al. | EWMA forecast of normal system activity for computer intrusion detection | |
Islam et al. | Anomaly detection techniques based on kappa-pruned ensembles | |
Sahu et al. | Data processing and model selection for machine learning-based network intrusion detection | |
Dubey et al. | KBB: A hybrid method for intrusion detection | |
Ahmad et al. | Analysis of classification techniques for intrusion detection | |
Neethu | Adaptive intrusion detection using machine learning | |
Harbola et al. | Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set | |
Alqarni et al. | Improving intrusion detection for imbalanced network traffic using generative deep learning | |
Hao et al. | A sequential detection method for intrusion detection system based on artificial neural networks | |
Khaleefah et al. | Detection of iot botnet cyber attacks using machine learning | |
Chimphlee et al. | Unsupervised clustering methods for identifying rare events in anomaly detection | |
CN111784404B (zh) | 一种基于行为变量预测的异常资产识别方法 | |
Hadri et al. | A network intrusion detection based on improved nonlinear fuzzy robust PCA | |
Sallay et al. | Intrusion detection alert management for high‐speed networks: current researches and applications | |
CN113254925B (zh) | 一种基于pca与svm的网络入侵检测系统 | |
Salek et al. | Intrusion detection using neuarl networks trained by differential evaluation algorithm | |
Gouveia et al. | Deep Learning for Network Intrusion Detection: An Empirical Assessment | |
Ullah et al. | Detection of cybersecurity attacks through analysis of web browsing activities using principal component analysis | |
Nalavade | Using machine learning and statistical models for intrusion detection | |
El Moussaid et al. | Overview of intrusion detection using data-mining and the features selection | |
He et al. | Detecting anomalous network traffic with combined fuzzy-based approaches | |
bin Haji Ismail et al. | A novel method for unsupervised anomaly detection using unlabelled data | |
Zhu | Anomaly detection through statistics-based machine learning for computer networks |
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 |