APP下载

基于KNN的入侵检测模型研究

2021-09-30杨宇夏孙浩月

河北建筑工程学院学报 2021年2期
关键词:网络空间样本分类

杨宇夏 孙浩月,2,*

(1.河北建筑工程学院,河北 张家口 075000;2.张家口市大数据技术创新中心,河北 张家口 075000)

0 引 言

随着互联网的不断发展、普及,大数据、云计算和物联网等新兴技术的不断完善.越来越多的设备接入互联网,彻底改变了人们的衣、食、住、行,人们从而享受着这改变带来的极大便利,让人们减少生活中的烦恼而更加专心工作.但是网络空间安全威胁问题近十年来急剧增加,比如2010年旨在破坏伊朗的核武器计划的计算机蠕虫病毒“震网”和黑客入侵Google后端基础设施的极光行动事件,以及2013年暴露了美国及其“五眼联盟”在911袭击后建立的全球监视网络的斯诺登事件.这些事件都说明了网络空间安全的威胁越来越严重了.随着全球各地对网络空间的日趋重视.提高网络安全检测手段和技术刻不容缓,一大批学者争先恐后研究网络空间安全.本文提出一种基于k近邻算法的入侵检测模型,用kdd99数据集验证的时候效果非常不错.

1 KNN入侵检测模型

1.1 入侵检测

入侵检测就是在局域网的内部的某些关键的设备上,比如交换机路由器上检测来往的流量,对其行为进行预测,判断是否是恶意行为.入侵检测是一种主动防御技术,相对于传统通过标识入侵数据来达到检测目的的被动防御技术,它的防御能力更好.如果把防火墙比喻成一个房子外面的篱笆,那么入侵检测就是房子里面的监视系统.它是防火墙的合理补充,能够扩大管理员的安全管理能力,提高效率和减低成本,为各种入侵和误操作进行实时保护.

1.2 k近邻算法(k-Nearest Neighbor,KNN)

k近邻算法(KNN算法)由Thamas等于1967年提出.它基于以下思想:要确定一个样本的类别,可以计算它与所有训练样本的距离,然后找出和该样本最接近的k个样本,统计这些样本的类别的数量以进行投票,票数最多的那个类就是分类结果.

对于分类问题,给定l个训练样本(xi,yi),其中,xi为特征向量,yi为标签值,设定参数k,假设类型为c,待分类样本的特征向量为x.预测算法的流程如下.

1)在训练样本集中找出离x最近的k个样本,假设这些样本的集合为N.

2)统计集合N中每一类样本的个数Ci,i=1,2,.....,c

3)最终的分类结果为arg maxCi

在这里,arg maxCi表示最大的Ci值对应的那个类i,如果k=1,k近邻算法退化成最近邻算法[2].

1.3 基于KNN算法的入侵检测模型

KDD入侵检测模型结构如图1所示,步骤如下:

图1 KDD入侵检测模型结构

步骤一:分析原始数据,把文本数据转化为数字数据.

步骤二:每个入侵行为的各维特征使用的量纲和量纲单位都不一样,为了使它们可相互比较,故消除量纲,对KDD99数据集进行归一化处理.

步骤三:把处理好的数据集划分为训练集和测试集,其中训练集占总数据的60%.

步骤四:用KDD算法进行分类,得到分类结果.

1.4 KDD Cup 1999数据集

KDD99数据集是网络入侵检测领域的基准,为基于计算智能的网络入侵检测研究奠定基础,因此本文选择该数据集进行验证.本文用到的数据一共有311029条,最后分为60%的训练集和40%的测试集.该数据集的每一条数据一共有42维,前41维是特征,最后一维是标签.特征中有9个离散特征,其余是连续特征.该数据集包含DOS、R2L、U2L、pribling四种网络入侵的行为.入侵行为分布如表1所示.

表1 入侵行为分布表

1.5 数据预处理

数据预处理就是去除数据中不完整的、由于各种原因而损失的和不规范的值的侵扰,从而达到提高数据质量的目的.如果不去除这些侵扰,会影响到数据的准确性、完整性、一致性、时效性、可信性和可解析性,会影响到最后分类的结果.

图2是KDD99数据集的截图,从中可以知道,第二列表示tcp,udp,icmp三种协议类型,网络服务类型在第三列,包括http_443,echo,link,finger等70种,第四列表示网络连接状态,包括OTH,REJ,RSTO等11种类型,第41列表示normal,buffer_overflow,loadmodule等38种攻击类型.这几列都是文本数据类型,只有数字数据才能输入到模型中训练,所以需要转化为数字数据类型.转换方法是把这几列中每列所有的类型初始化列表,再把相应的字符类型数据转换为其在数组的下标,从而实现把字符类型数据转化为数据类型数据.

图2 KDD99数据集截图

转化后的数据特征由于量纲不同而差异较大,而归一化可以消除量纲的影响,让不同入侵行为的每个特征在数值上具有可比性,这样的数据得出来的结果才有分析的意义,因此还要对对于已经把文本数据转化为数字数据的KDD99数据进行去除量纲的归一化处理,步骤如下所示:

(1)选取每个特征的最大最小值:每一个入侵行为都有41个特征,需要选取除了是离散类型数据的每个入侵行为相同特征的最大值和最小值.

(2)入侵行为数据归一化:用每个入侵行为的每个特征分别减去每个特征对应的最小值的差除以其最大值与最小值的差,归一化公式具体如下所示:

其中,Min和Max分别表示每个特征向量的最小值和最大值,归一后的数据将在[0,1]之间.

2 结果分析

使用的最广泛的评价模型预测能力的是二维混淆矩阵(Confusion matrix),如表2所示:

表2 二维混淆矩阵

准确率(Accuracy)表示正确分类的测试实例的个数占测试实例总数的比例,公式为:

召回率(Recall),也叫查全率,表示正确分类的正例个数占实际正例个数的比例,公式为:

精确率(Precision),也叫查准率,表示正确分类的正例个数占分类为正例的实例个数的比例,公式为:

F1-score是基于召回率(Recall)与精确率(Precision)的调和平均,即将召回率和精确率综合起来评价,公式为:

本文就是用二维混淆矩阵评价KDD入侵检测模型,检测结果如下:

表3 检测结果

从上表可以看出KDD数据集中的38种攻击类型除了一些数据比较少在训练的时候提取的特征不足而造成召回率、精确率和f1-score低外,其他的攻击类型的召回率、精确率和f1-score都很高,而且模型对测试集124412个行为的预测准确率达到98%,所以这个模型能够很好的预测已有的攻击行为.

3 结 语

互联网发展越来越快,普及得越来越广.方便人们的生活,促进经济的快速发展.但是网络空间安全问题发生的越来越频繁,也越来越严重.传统的安全防御技术面对这种情况已经捉襟见肘,已经落后了不少,亟须要更好更完善得方法和技术防御网络入侵.而近年来人工智能得兴起,并迅速发展,不少学者用人工智能得算法应用到入侵检测领域.从而弥补了传统防御技术由于是人工标识入侵数据而达到检测目的的缺点,应用了人工智能方法的入侵检测技术大多可以大大提高了检测的效率和明显降低检测的成本.是当前最流行和火热的检测方法.本文使用基于KNN的入侵检测技术,经过对数据集的观察和分析,发现数据集中有文本数据,需要转化为数字数据,为了消除量纲再进行归一化进行处理,最后进行检测.结果表明准确率可以达到98%.

猜你喜欢

网络空间样本分类
分类算一算
用样本估计总体复习点拨
网络空间攻防对联合作战体系支援度评估指标体系构建
《网络空间安全》订阅单
《网络空间安全》订阅单
规划·样本
教你一招:数的分类
说说分类那些事
随机微分方程的样本Lyapunov二次型估计
网络空间“云作战”模型及仿真分析研究