CN113254925B - 一种基于pca与svm的网络入侵检测系统 - Google Patents

一种基于pca与svm的网络入侵检测系统 Download PDF

Info

Publication number
CN113254925B
CN113254925B CN202110133958.8A CN202110133958A CN113254925B CN 113254925 B CN113254925 B CN 113254925B CN 202110133958 A CN202110133958 A CN 202110133958A CN 113254925 B CN113254925 B CN 113254925B
Authority
CN
China
Prior art keywords
data
step length
reference point
module
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.)
Active
Application number
CN202110133958.8A
Other languages
English (en)
Other versions
CN113254925A (zh
Inventor
付钰
何涛
于游
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Naval University of Engineering PLA
Original Assignee
Naval University of Engineering PLA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Naval University of Engineering PLA filed Critical Naval University of Engineering PLA
Priority to CN202110133958.8A priority Critical patent/CN113254925B/zh
Publication of CN113254925A publication Critical patent/CN113254925A/zh
Application granted granted Critical
Publication of CN113254925B publication Critical patent/CN113254925B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User 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的网络入侵检测系统
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于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被超平面按下式分类:
Figure GDA0003171413840000031
定理1在统计学习理论中,设向量x∈Rd分布在一个半径为R的球中,则Δ–间隔分类超平面集合的VC维满足:
Figure GDA0003171413840000032
其中[]表示取整;
根据定理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,并且这两个标准超平面是经过各类样本中离最优超平面最近的样本点。它们之间的距离为分类间隔
Figure GDA0003171413840000033
最大化分类间隔Δ可以转化为最小化||ω||2=ωTω,前提是H1与H2之间无样本,即样本集中的所有样本点满足:
yi[(ω·xi)+b]-1≥0 i=1,2,…n (3),
因此,支持向量机就是采用下列凸二次规划问题对样本正确分类:
Figure GDA0003171413840000041
s.t.yi[(ω·xi)+b]-1≥0 i=1,2,…n (4),
这是一个凸二次规划问题,可以通过构造拉格朗日函数求解,即:
Figure GDA0003171413840000042
其中,αi≥0为拉格朗日乘子;
分别求ω,b的偏导数,并令偏导数等于零,有:
Figure GDA0003171413840000043
将式(6)代入式(5),则有:
Figure GDA0003171413840000044
上式称为拉格朗日函数对偶变换,该形式更容易数值求解,因此构建最优超平面问题转化为简单的对偶二次规划问题:
Figure GDA0003171413840000045
Figure GDA0003171413840000046
式(8)有唯一解,设αi *为式的最优解,则:
Figure GDA0003171413840000047
其中ω*是最优分类超平面的权系数向量,从上式可以看出ω*可以表示为训练样本的线性组合。
定义2训练集D中的输入xi为支持向量(Support Vector,SV),如果对应它的αi *>0;
取值αi *的样本中,当yi[(ω·xi)+b]-1=0时,该样本位于标准超平面上,将
这类样本称为支持向量,支持向量是最能提供分类间隔信息的样本,通常只占有样本集的一部分。由于数目不多,因此支持向量具有稀疏性,在决策函数构造时,只有这一部分样本对于决策有意义。
根据KKT条件,该问题必须满足:
αi *[yi*·xi+b*)-1]=0(i=1,2,…,n) (10),
将不为零αi *的代入式可求解b*。为了提高决策函数的准确性,这里的b*可以求得多个解之后取平均值。
那么求解上述问题即可得到最优分类函数为:
Figure GDA0003171413840000051
其中,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),则有:
Figure GDA0003171413840000061
优化目标与线性支持向量机相同,且为:
Figure GDA0003171413840000062
在更一般情况下,考虑到在线性不可分和发生噪声等情况下上述约束条件无法实现,这里引入松弛变量ξi≥0和ξi *≥0,则约束条件变为:
Figure GDA0003171413840000063
优化目标变为:
Figure GDA0003171413840000064
其中,C(C>0)代表规则化参数;
上述问题是一个凸二次规划问题,可以构造其拉格朗日函数:
Figure GDA0003171413840000065
通过仿照线性支持向量机的求解方法,首先构建对偶二次规划,然后考虑KKT条件,最后得到的线性SVR回归函数为:
Figure GDA0003171413840000066
以上即为线性可分支持向量机和线性回归支持向量机,其他支持向量机构造原理相似,只是引入了其他的构造方法。支持向量机方法很好的解决了小样本建模问题,并且决策函数的推广性很好,具有很好的应用前景。
2、数据集介绍
本系统使用KDD99数据集,其是1998年美国在林肯实验室模拟真实的网络环境,仿真各种用户类型、各种不同的网络流量和攻击手段,收集到的网络连接和系统审计数据,经过特征分析和预处理之后,形成的一个标准数据集。该数据集现已成为网络入侵领域的网络流量标准数据,成为目前网络入侵检测器实验用标准数据。
KDD99的6个数据包,如表1所示:
表1 KDD99数据包
Figure GDA0003171413840000071
举例其中的一条记录为:
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协议类型属性转换为数值型数据的对应表
协议类型 编号
TCP 0
UDP 1
ICMP 2
同样地,服务类型状态正常或错误的属性取值也为0或1,所述服务类型对应编号如表3所示:
表3 service属性值转换为数值型数据的对应表
Figure GDA0003171413840000081
Figure GDA0003171413840000091
连接正常或错误的状态属性对应编号如表4所示:
表4连接正常或错误的状态属性转换为数值型数据的对应表
Figure GDA0003171413840000092
Figure GDA0003171413840000101
根据表2-4中的对应关系,即可将文本型转化为数值型数据。
(2)数据标准化处理
数据的连续型属性的离散化和属性数据的归一化是通过对数据采用最大值归一化,即线性比例变换法来完成的,其公式为:在X=(xij)m×n中,对正向指标fj,取
Figure GDA0003171413840000102
则有:
Figure GDA0003171413840000103
经过以上处理之后的一条记录变为如下所示:
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),协方差矩阵被定义为:
Figure GDA0003171413840000104
Figure GDA0003171413840000111
对X进行线性变化,考虑原始变量的线性组合:
Figure GDA0003171413840000112
主成分是不相关的线性组合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]=princom p(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]=svmpredict(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训练集与测试集构成
Figure GDA0003171413840000161
Figure GDA0003171413840000171
选取第一组数据与第三组数据,分别对其测试集与训练集整体数据进行主成分分析,得到检测精度曲线,如附图10(a)-(b)所示。并且主属性个数的选择依据该曲线图,选取最高的检测精度所代表的横坐标。
②数据处理性能
该分类器与由41个属性训练得到的传统支持向量机分类器对比,得到其在相同测试集中的实验结果,进行对比分析,得到结果如表8所示。
表8传统SVM与PCA—SVM对比
Figure GDA0003171413840000172
通过以上的功能测试结果和性能测试结果,能够验证本检测器的有效性和稳定性。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (4)

1.一种基于PCA与SVM的网络入侵检测系统,其特征在于,包括身份认证模块、数据存取模块、数据预处理模块、数据约简和检测模块和系统可视化模块;
身份认证模块用于对使用本系统的人员身份进行验证,其采用基于Hash函数的口令管理方式,将用户信息和口令经Hash函数处理后存储在数据库中;
数据存取模块用于对捕获的网络数据进行存储;
数据预处理模块用于对数据库中提取出的数据进行数据预处理和标准化;
数据约简和检测模块包括数据降维子模块和数据分类子模块;所述数据降维子模块用于基于主成分分析法PCA对预处理后的数据进行降维,将多个变量转化为少数几个综合变量;所述数据分类子模块,利用支持向量机SVM分类器检测出正常或异常的数据记录,最终输出网络入侵检测结果;
系统可视化模块通过系统可视化的方式实现系统人机交互,包括异常类信息修改、系统操作记录、系统告警相应和检测情况统计功能;
所述数据约简和检测模块的检测流程为:
S1:输入训练集;
S2:利用主成分分析法PCA对训练集中的数据进行降维,用于确保数据约简的实施;
S3:将数据集分成训练子集;
S4:采用支持向量机SVM进行训练,并在训练过程中利用惩罚因子C的试探法和径向基核参数试探法分别确定惩罚因子C和径向基核函数参数gamma,并得到以径向基为核函数的分类器;
S5:对得到的SVM分类器进行加权集成;
S6:输出集成分类结果;
步骤S4中所述的惩罚因子C试探法确定惩罚因子C的操作步骤包括:
S401:设定C初始值、参考点、变化方向、步长;训练第一个和第二个SVM;
S402:计算第i次的BSVR,判断与上次相比,变化值是否超出门限,如果没有超出则更新参考点为当前值;如果超出门限再判断SVR与参考点相比是否下降;
S403:如果SVR与参考点相比下降的话,步长不变,变化方向不变,更新参考点为当前值;如果未下降的话,判断参考点的步长是否增加过;
S404:如果步长未增加过,则增加步长,记当前参考点步长增加过并更新参考点为当前值;如果步长已经增加过,则判断参考点的步长是否减小过;
S405:如果步长未减小过,则减小步长,记当前参考点步长减小过,否则如果当前步长大于1,步长减小;如果小于1,步长增加,求出下一个C的值;
步骤S4中所述的径向基核参数试探法确定径向基核函数参数的操作步骤包括:
S411:设定Y初始值、参考点、变化方向、步长;训练第一个和第二个SVM;
S412:计算第i次的BSVR,判断与上次相比,变化值是否超出门限;
S413:如果超出门限值再判断SVR与参考点相比是否下降;没有超过则使SVR连续保持不变的次数加1,再判断其是否大于停止运算的次数,若大于的话则输出最佳参数;
S414:如果SVR与参考点相比下降,则更新参考点为当前值;否则再判断参考点的步长是否增加过;
S415:如果步长未增加过,则增加步长,记当前参考点步长增加过并更新参考点为当前值;如果步长已经增加过,则判断参考点的步长是否减小过;
S416:如果步长未减小过,则减小步长,记当前参考点步长减小过,并更新参考点为当前值;否则若当前步长大于1,步长减小;如果小于1,步长增加;
S417:迭代S414-S416,直至大于停止运算的次数。
2.根据权利要求1所述的一种基于PCA与SVM的网络入侵检测系统,其特征在于:所述基于Hash函数的口令管理方式为多次Hash管理,即:将口令和用户信息经过多次Hash运算,从而得到认证信息。
3.根据权利要求1所述的一种基于PCA与SVM的网络入侵检测系统,其特征在于:所述预处理操作包括:文本型属性的数值化、连续型属性的离散化和属性数据的归一化;并对数据采用最大值归一化进行标准化处理,即:在X=(xij)m×n中,对正向指标fj,取
Figure FDA0003867094540000021
则有:
Figure FDA0003867094540000022
4.根据权利要求1所述的一种基于PCA与SVM的网络入侵检测系统,其特征在于:所述利用主成分分析法PCA对数据进行降维的具体处理流程为:
S21:用p个变量来描述采集到数据,分别用X1,X2…Xp来表示,这p个变量构成的p维随机向量为X=(X1,X2…Xp)T
S22:设随机向量X的均值为μ,协方差矩阵为Σ,假设X是以n个标量随机变量组成的列向量,并且μk是其第k个元素的期望值,即,μk=E(xk),协方差矩阵被定义为:
Figure FDA0003867094540000031
对X进行线性变化,考虑原始变量的线性组合:
Figure FDA0003867094540000032
S23:主成分是不相关的线性组合Z1,Z2……Zp,并且Z1是X1,X2…Xp的线性组合中方差最大者,Z2是与Z1不相关的线性组合中方差最大者,Zp是与Z1,Z2……Zp-1都不相关的线性组合中方差最大者。
CN202110133958.8A 2021-02-01 2021-02-01 一种基于pca与svm的网络入侵检测系统 Active CN113254925B (zh)

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 CN113254925A (zh) 2021-08-13
CN113254925B true 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)

* Cited by examiner, † Cited by third party
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增量学习算法名称

Patent Citations (13)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
EasiFFRA:一种基于邻域粗糙集的属性快速约简算法;王念等;《计算机研究与发展》;20191215(第12期);全文 *
PCA-SVM在网络入侵检测中的仿真研究;杨富华;《计算机仿真》;20110715;全文 *
一种基于动态降维的数据约简方法;陈衡;《鸡西大学学报》;20170320(第03期);全文 *
一种改进的SVM算法在入侵检测中的应用;陈武等;《计算机安全》;20130615(第06期);全文 *
中文文本分类方法综述;于游;《网络与信息安全学报》;20191031;全文 *
基于主元分析和支持向量机的异常检测;任勋益等;《计算机应用研究》;20090715(第07期);全文 *
基于主成分分析的神经网络入侵检测仿真研究;单冬红等;《计算机仿真》;20110615(第06期);全文 *
基于主成分分析的网络入侵检测研究;张旭;《计算机安全》;20130215(第02期);全文 *
融合PCA和PSO-SVM方法在工控入侵检测中的应用;王华忠等;《科技通报》;20170131(第01期);全文 *

Also Published As

Publication number Publication date
CN113254925A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
Patgiri et al. An investigation on intrusion detection system using machine learning
Gaikwad et al. Intrusion detection system using bagging ensemble method of machine learning
Fan et al. Using artificial anomalies to detect unknown and known network intrusions
Laskov et al. Intrusion detection in unlabeled data with quarter-sphere support vector machines
Saxena et al. Intrusion detection in KDD99 dataset using SVM-PSO and feature reduction with information gain
Qazi et al. Effect of feature selection, SMOTE and under sampling on class imbalance classification
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
Mohammadpour et al. A mean convolutional layer for intrusion detection system
Harbola et al. Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set
Zhang et al. Ace–an anomaly contribution explainer for cyber-security applications
Jacobs et al. Enhancing Vulnerability prioritization: Data-driven exploit predictions with community-driven insights
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
Saheed et al. Autoencoder via DCNN and LSTM models for intrusion detection in industrial control systems of critical infrastructures
Gosu et al. A hybrid approach for the analysis of feature selection using information gain and BAT techniques on the anomaly detection
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
Chenniappanadar et al. A Supervised Machine Learning Based Intrusion Detection Model for Detecting Cyber-Attacks Against Computer System
Ullah et al. Detection of cybersecurity attacks through analysis of web browsing activities using principal component analysis
He et al. Detecting anomalous network traffic with combined fuzzy-based approaches
El Moussaid et al. Overview of intrusion detection using data-mining and the features selection
Gouveia et al. Deep Learning for Network Intrusion Detection: An Empirical Assessment

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