一种基于机器学习的物联网入侵检测方法与流程

文档序号:15751846发布日期:2018-10-26 17:54阅读:250来源:国知局
一种基于机器学习的物联网入侵检测方法与流程

本发明属于物联网安全领域,涉及一种基于机器学习的物联网入侵检测方法。



背景技术:

随着物联网技术的快速发展,物联网产品逐渐得到普及,然而,目前智能设备的安全防护能力普遍较为薄弱,升级维护机制不健全、智能设备安全配置不合理等问题导致智能设备存在较多的安全隐患。随着时代发展,大量的智能设备不断涌现,但相应的安全保障措施还不够健全。例如传统的安全手段,比如确定自身安全的认证技术,确保安全传输的密钥建立和分发机制,确保数据自身安全的数据加密技术等,都是被动的防范。再加上物联网的传感器网络由大量无人看守的传感器节点组成,传统的入侵检测系统因物联网传感器节点电源能量有限、计算能力不足、存储空间有限等原因,难以满足需求。随着智能化技术得发展,人工智能技术开始应用于各行各业。与此同时入侵检测技术也将得到极大的发展。



技术实现要素:

有鉴于此,本发明的目的在于提供一种运算速度快、检测率高的基于智能化的面向物联网的入侵检测方法。

为达到上述目的,本发明提供如下技术方案:

一种基于机器学习的物联网入侵检测方法,包括以下步骤:

s1:数据预处理:对nsl-kdd网络入侵数据集进行数值化,标准化处理;

s2:划分数据集及数据降维:将处理好的数据进行主成分降维,使得原数据集具有相关性的特征值转化为相互独立的或不相关的变量,使得特征值减小,减少计算复杂度。降维后的数据集采用交叉验证法将数据集分为训练集和测试集。

s3:构建最小二乘支持向量机(ls-svm):采用高斯核将原空间映射到高维特征空间中,对于最小二乘支持向量机中的惩罚因子c和核参数σ的选取采用进化策略的优化算法。

s4:对最小二乘支持向量机进行稀疏化处理:采用暴力剪枝法,根据求得到的支持向量参数大小对样本进行剪枝。

s5:利用剪枝好的ls-svm模型建立入侵检测数据的分类模型,形成基分类器。

s6:构建人工神经网络,提取训练样本高层次的抽象特征,运用进化策略对神经网络的连接权值进行选择。构建出基于神经网络的基分类器。

为了神经网络解决非线性问题,减少计算量,所采用的人工神经网络包含三层,即输入层,隐层,输出层。传统的bp神经网络采用梯度下降法来更新权值和阈值,容易陷入局部极小值点,使得算法的收敛精度下降。采用进化策略来优化权值和阈值将摆脱这一缺点。将s2中的训练和测试集对建立好的神经网络模型进行训练,得到多个神经网络模型,也即是基分类器。

s7:多次随机重采样,训练形成多个基分类器,利用集成学习算法中的adaboost算法将多个基分类器组合成一个强分类器,进行入侵行为检测;到这一步为止,整个入侵检测算法训练过程结束。

步骤s5,s6建立了类型不同的多个基分类器,利用adaboost算法将所有基分类器组合起来形成一个强分类器,就得到了最终所要得到的入侵检测模型。

s8:训练好的模块被装入网络节点或路由节点中作为入侵检测的检测引擎。检测后的结果放入数据库中,定期的用更新的数据库训练出新的模型,达到动态学习的目的。

进一步,在步骤s1中,数据数值化处理:原始数据集中有数据是字符型数据,为了便于计算采用相对应的数值进行替换。增加算法的可执行性。

数据标准化处理,采用min-max方法标准化处理,将数据限制在[0,1]之间。采用的公式为:

y=(x-xmin)/(xmax-xmin)

x为原始数据,xmin为该特征下的最小值,xmax为该特征下的最大值,y即为标准化后的数据值。

进一步,所述步骤s2中,划分数据集时采用交叉验证的方法,将数据集划分为n个大小相似的互斥子集,任意一个子集都可以作为数据子集,将数据子集的10%作为测试集,其余的作为训练集,得到n对训练集和测试集。原始数据集的特征维度为41维,对此数据进行训练不仅增加运算的复杂度,而且对预测的准确性,采用主成分分析(pca)降维技术对数据进行降维处理,在保证数据信息真实性的情况下降低了运算的复杂性。

进一步,所述的步骤s3中,一般的支持向量机在处理大型数据时运行速度慢,占用的内存空间大,不适合在物联网中进行运算;

svm的目标函数为:

s.t.yi((ωt,xi)+b)≥1,i=1,....m,

其中(ωt,xi)+b为分类的预测值,y为样本的真实标签,ω=(ω1;ω2;....ωd)为法向量,b为位移项,m为训练样本的数量。

ls-svm的目标函数为:

s.t.yi(ωt*xi+b)=1-∈i,∈i≥0,i=1,....m,

其中(ωt,xi)+b为分类的预测值,y为样本的真实标签,ω=(ω1;ω2;....ωd)为法向量,b为位移项。∈i∈r表示拟合误差,c为惩罚因子,m为训练样本的数量。

基于最小二乘的支持向量机将不等式约束条件改为等式约束,明显的加快了svm的学习时间。

在构建ls-svm模型时,使用高斯核将低维度的样本空间映射到高维空间。

其中k(x,xi)为核函数,它可以使得样本成为线性可分的。核参数δ和惩罚因子c对模型的预测起着很关键的作用,采用改进型进化策略对这两个参数进行优化选出最合适的两个参数。

改进进化策略:

(1)均匀分布初始种群。在确定初始种群时在参数可能的取值区间内进行均匀抽样,提高算法的全局搜索能力。

(2)采用梯度下降法优化进化策略的变异强度。即若产生的子代比父代强,则沿着这个子代的梯度方向上增大变异强度,反之亦然。

(3)采用(μ,λ)-es进化策略方法。使用μ个亲本产生λ个子代,从子代中选出μ个个体最为下一代的亲本。

进一步,所述的步骤s4中,采用最小二乘支持向量机就是把所有的样本都作为支持向量,这大大的降低了支持向量的稀疏性,为了弥补ls-svm的稀疏性,采取暴力剪枝法对ls-svm进行稀疏性改进。直接去除掉对ls-svm回归贡献程度低的样本,用新的样本值重新进行步骤s3,保证在维持一定准确率的情况下尽可能的减少样本数量。因此,这可在保证预测准确性的同时降低了模型预测的计算量。

进一步,在步骤s5中,将s2得到的训练集和测试集分别进行步骤s3,s4建立多个ls-svm训练模型,也即是基分类器。

本发明的有益效果在于:

本发明采用在智能化的方法进行入侵检测,克服了传统检测被动型的特点;与传统入侵检测方法相比,引入了智能化的方法将支持向量机与神经网络相结合构造出集成学习的模型,能够主动的检测出一些未知的入侵行为,剔除一些由于人为操作失误带来的误报行为,即采用上述方案具有计算效率高,误报率低、检测率高的优势。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本发明实施例所述的入侵检测的流程图;

图2为本发明实施例所述的神经元结构图;

图3为本发明实施例所述的人工神经网络训练方法示意图;

图4为本发明实施例所述的述集成学习的结构图;

图5为本发明实施例所述的物联网结构图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

参照图1所示的检测流程图,本发明实施例所述的一种基于机器学习的物联网入侵检测方法,包括以下步骤:

101、数据预处理中,对nsl-kdd网络入侵数据集进行数值化,标准化处理;

102、划分数据集,数据降维:将处理好的数据进行主成分降维,使得原数据集具有相关性的特征值转化为相互独立的或不相关的变量,使得特征值减小,减少计算复杂度。降维后的数据集采用交叉验证法将数据集分为训练集和测试集。

103、构建最小二乘支持向量机(ls-svm):采用高斯核将原空间映射到高维特征空间中,对于最小二乘支持向量机中的惩罚因子c和核参数σ的选取采用进化策略的优化算法进行选取。

104、对最小二乘支持向量机进行稀疏化处理:采用暴力剪枝法,根据求得到的支持向量参数大小对样本进行剪枝。

105、利用剪枝好的ls-svm模型建立入侵检测数据的分类模型,形成基分类器。

106、构建人工神经网络,提取训练样本高层次的抽象特征,运用进化策略对神经网络的连接权值进行选择。构建出基于神经网络的基分类器。

107、多次随机重采样,训练形成多个基分类器,利用集成学习算法中的adaboost算法将多个基分类器组合成一个强分类器,进行入侵行为检测;到这一步为止,整个入侵检测算法训练过程结束。

108、将检测模型训练好后加入到物联网的网络节点上,进行实时的监控。

在步骤101中数据预处理环节中,

a、nsl-kdd数据集的一条样本值,如下:

“0,tcp,private,rej,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,229,10,0.00,0.00,1.00,1.00,0.04,0.06,0.00,255,10,0.04,0.06,0.00,0.00,0.00,0.00,1.00,1.00”。样本的第2,3,4项是字符型的,比如第二项中的协议类型就有tcp,udp,icmp三种,为了便于计算采用tcp=1,udp=2,icmp=3将其变为数值型,其他两个特征依次类比。

b、数值标准化中,数据标准化处理是因为不同的数据量纲对数据计算结果会产生影响,按照如下表达式将数据标准化到[0,1]区间:

y=(x-xmin)/(xmax-xmin)

其中,x为一条数据特征的原始值,xmin和xmax分别为该数据中的最小值和最大值,y为每条数据信息进行标准化处理以后的数据值。

步骤102中划分数据集,对数据进行降维,包括:

a、划分数据集时采用交叉验证的方法,原数据集的样本数量很大,若将其按照一个整体进行训练必然会增加运算的成本,采用交叉验证法先将数据集划分为n个大小相似的互斥子集。分别对每个子集进行训练不但节约运算成本,还可以为步骤104的稀疏化提供方便。

b原始数据的特征值较多达到41维,其中一些特征具有相关性,同时进行运算增加运算成本,主成分分析降维技术通过对样本的协方差矩阵进行特征值分解,求出特征向量,从而达到降低数据维度的目的。具体步骤为:取任意一对划分好的数据集将其带入支持向量机中进行粗略的估计预测,按照维度从大到小依次减一的顺序依次验证预测的准确性,最后观察各个维度对应的预测准确率,确定最佳降维特征数。

步骤103中建立ls-svm模型中,包括:

a、为了加快支持向量机的计算速度,采用最小二乘法将不等式约束条件改为等式约束。如下式:

s.t.yi(ωt*xi+b)=1-∈i,∈i≥0,i=1,....m,

其中(ωt,xi)+b为分类的预测值,y为样本的真实标签,ω=(ω1;ω2;....ωd)为法向量,b为位移项。∈i∈r表示拟合误差,c为惩罚因子,m为训练样本的数量。

使用拉格朗日乘子法:

对式中的变量ω,b,ε求偏微分,令等式的值为0,并消除中间变量ε,ω,b可得线性方程组:

其中:α=[α1,α2,.....,αn]t为拉格朗日乘子,i=[1,1,...,1]t为单位列向量,e是n*n阶单位对角矩阵,ω=(ωij|i,j=1,...,n)称作核矩阵,其中ωij=k(xi,xj)为高斯核函数。

为通过核函数映射后的数据集。通过求解方程组得到α,b的值。

采用高斯核函数:

k(x,xi)=exp(-||x-xi||22)

其中δ为核函数参数。从以上的推导过程来看,ls-svm只需求解线性方程组,无需求解支持向量机的对偶问题,这大大减少了计算的复杂度。求解线性方程组得到系数α,b,即可得到ls-svm的模型为:

y(x)为模型的预测值。可以看出αi的大小影响着最后预测的结果,可以根据αi的大小表示该样本对模型的贡献程度,为步骤104步稀疏化ls-svm提供依据。

b、根据a中的推导ls-svm模型有两个重要的参数,惩罚因子c和核参数σ,他们的选取极大地影响着模型的预测结果,为了得到最优的两个参数,采用进化策略的方式进行优化。将步骤102中的分割好任意一对数据集子集(在此先命名为di)对其进行ls-svm训练,并用进化策略进行优化的得到两个参数。

进化策略的一般算法可以描述如下:

1、确定问题,问题为寻找两个参数,使得模型的错误率取最小值。

2、初始化种群:从各维的可行范围内随机选取父本xi,(i=1,2,…p)的初始值。初始试验的分布一般是均匀分布。

3、进化:对两个个体进行交叉重组;通过对于x的每个分量增加零均值和预先选定的标准差的高斯随机变量,从每个亲本xi产生子代x′i。

4、选择:通过将错误率f(xi)和f(x′i),(i=1,2,…p)进行排序,选择并决定哪些矢量保留。具有最小错误率的p个矢量变成下一代的新亲本。

5、重复进化和选择直到达到收敛。

改进进化策略:

(1)均匀分布初始种群。在确定初始种群时在参数可能的取值区间内进行均匀抽样,提高算法的全局搜索能力。

(2)采用梯度下降法优化进化策略的变异强度。即若产生的子代比父代强,则沿着这个子代的梯度方向上增大变异强度,反之亦然。

(3)采用(μ,λ)-es进化策略方法。使用μ个亲本产生λ个子代,从子代中选出μ个个体最为下一代的亲本。

步骤104中稀疏化ls-svm模型中,包括:

在步骤103中由数据集di求出的系数αi,设定一个较小阈值αmin,αmin>0,小于该阈值的|αi|对应的样本值可以从训练样本集中剪除,将剪除后剩余的样本值重新进行步骤102步划分数据集,继续执行步骤103和步骤104,直到预测的错误率大于某一值为止,终止稀疏过程,剩下的样本值为稀疏后的支持向量。建立起ls-svm模型基分类器。

步骤106中建立人工神经网络模型中,包括:

a、人工神经网络是由各个神经节点组成,每个神经元如图2所示,每个神经元都有权值w和阈值b,为了保持计算的高效率和准确率,采用输入层,隐层,输出层三层神经网络模型,如图3所示。输入层节点的数量为数据集降维后的维度值l,输出层神经元的个数为2个,隐层的神经元的个数n,由经验公式得a为1~10之间的常数。通过依次验证来确定隐层的节点数。

b、传统的bp神经网络采用梯度下降法更新权值,容易陷入局部极小值点,采用进化策略来优化权值将更好的摆脱这一缺点。

步骤107中进行集成学习中,包括:

在步骤102中划分的子集分别将其进行ls-svm训练和ann训练,就得到2*n个具有差异化的基分类器。运用boosting算法中的adaboost算法将众多的基分类器进行集成学习,得到有个强分类器,也就是所要求的入侵检测模型。如图4所示。

步骤108中将检测模型加载到物联网的各个节点上中,包括:

模型训练好后,加载到物联网的各个节点上,如图5所示,作为入侵检测的检测引擎。检测后的结果放入数据库中,定期的用更新的数据库训练出新的模型,达到动态学习的目的。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1