CN103619021A - 一种基于神经网络的无线传感器网络入侵检测算法 - Google Patents
一种基于神经网络的无线传感器网络入侵检测算法 Download PDFInfo
- Publication number
- CN103619021A CN103619021A CN201310682813.9A CN201310682813A CN103619021A CN 103619021 A CN103619021 A CN 103619021A CN 201310682813 A CN201310682813 A CN 201310682813A CN 103619021 A CN103619021 A CN 103619021A
- Authority
- CN
- China
- Prior art keywords
- output
- hidden layer
- data
- layer
- network
- 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.)
- Pending
Links
Images
Abstract
本发明结合现有的网络入侵检测技术,针对基于簇的无线传感器网络(Cluster-based Wireless Sensor Network,简称CWSN)的簇头节点(Cluster Head,简称CH)简单设计一种入侵检测模型。充分考虑CH运算速度慢,能量有限的特点,所设计的模型结构简单,由三大模块构成:误用检测模块、异常检测模块、和决策模块,其中误用检测模块使用神经网络作为核心。由于现有神经网络种类繁多,各类神经网络都有其优点和缺点,为了得出哪种神经网络更适合针对WSN的IDS,本发明分别选取了BP神经网络、广义回归神经网络及基于遗传算法优化的BP神经网络进行了实验,实验采用KDDCUP1999数据集,使用MATLAB进行了仿真实验。
Description
技术领域
本发明涉及一种无线传感器网络的入侵检测算法,特别地,基于一种神经网络的无线传感器网络入侵检测算法。
背景技术
入侵检测研究最早可追溯到1980年,James P. Anderson首先提出了入侵检测的概念。1987年Dorothy Elizabeth Denning提出了入侵检测系统的抽象模型,首先将入侵检测的概念作为一种计算机系统安全防御的策略提出。与传统加密和访问控制的方法相比,入侵检测系统是全新的计算机安全策略。目前,国内外入侵检测技术主要有三种发展趋势:分布式入侵检测、智能化入侵检测以及与网络安全技术相结合的趋势。但是将入侵检测技术应用于无线传感器网络的研究在最近几年才兴起。但是由于无线传感器网络属于新兴领域,研究还处于起步阶段,无线网络安全方面的研究成果比较少,并且大多数都是基于Ad Hoc网络,针对无线传感器网络的安全防御研究更少。已有的一些针对无线传感器网络的入侵检测技术,大多也只是针对某种特定类型的入侵,比如针对耗尽攻击,或针对黑洞攻击的入侵检测技术等;或者是针对某个具体操作的检测,比如针对路由和节点定位等操作的入侵检测等。
发明内容
本发明要解决的问题是,针对目前无线传感器网络入侵检测技术仍然缺少成熟的研究成果,不能很好地满足无线传感器网络这种特殊网络的特殊网络的要求,提出适合无线传感器网络结构的入侵检测算法。
附图说明
图1遗传算法过程
图2神经网络构建过程
图3训练过程
图4广义神经网络算法过程
图5改进神经网络算法过程
具体实施方式
(1)一种基于神经网络的无线传感器网络入侵检测算法包括以下步骤:
对数据进行预处理;
对BP神经网络进行训练;
对广义神经网络进行训练;
对BP神经网络进行改进并进行训练。
(2)如(1)所述中对数据进行预处理,其中主要步骤为以下几步:
步骤1:数据映射。该数据集每一行就是由TCPdump采集并处理的一条记录,包含了41个特征值和1个攻击类型说明,每一个特征之间用逗号分隔,最后用逗号分隔攻击类型。是一个标准CSV文件。由于数据的类型比较复杂,有离散类型(比如协议类型TCP,UDP…)和连续类型(持续时间,发送包数量等),要分开处理。首先进行数据映射,将符号型的数据映射到数值型数据。如特征值中第二维TCP设为1,UDP设为2等。类型值如Normal设为1,U2R设为4等。
步骤2:选择数据。
步骤3:数据归一化。数据归一化主要有两种方法:最大最小化法和平均数方差发。本发明中对数据的归一化处理使用了第一种方法:最大最小化法。因为本发明归一化处理是在MATLAB中进行,所以利用其自带的mapminmax()函数即可,使用方法如下式所示:
[inputn,inputps]=mapminmax(input_train)
其中input_train是训练样本输入,inputn是归一化后的数据,inputps是数据归一化后得到的结构体,里面包含数据最大值、最小值和平均值等信息。默认情况下,数据归一化范围为[-1,1]。
(3)如(1)所述中对BP神经网络进行训练,其中主要步骤为以下几步:
步骤1:模型建立
基于BP神经网络的入侵检测分类算法建模包括BP神经网络构建、BP神经网络训练和BP神经网络分类入侵类别三步,算法流程如图2所示。
BP神经网络构建根据系统输入输出数据特点确定BP神经网络的结构。训练样本和测试样本中每行数据都有41维的特征值和1维类型值,但是并不是所有的特征值都对网络分类有效果,所以选择前24维作为输入特征值,所以输入层神经元个数为24。本发明使用误用检测方法,因此需要所设计的分类器得出准确入侵类型,而数据集中总共有大的五类类型,包括四种异常类型和一种正常类型,所以输出层神经元个数为5。隐层的节点数目设计是一个十分复杂的问题。目前没有成熟、科学的理论可遵循。因此需要根据经验和多次实验来确定,不存在理想的解析式来表示。隐含层单元的数目太多会导致学习时间过长、误差不一定最佳,也会导致容错性下降、不能识别以前没看到的样本,因此一定存在一个最佳的隐单元数。根据Kolmogorov定理,三层神经网络中,输入层节点数与隐含层节点数之间的近似关系为:k=2m+1
因此隐含层个数设为30。这样就设计好了一个24-30-5的BP神经网络。
步骤2:建立网络。其中输入层到隐含层所用激活函数为双曲正切S型曲线,隐含层到输出层的激活函数为对数S型曲线。训练算法为标准梯度下降算法。算法最大迭代15000此,误差目标精度为0.01,学习率为0.3。注意:在MATLAB中神经网络不能自己设定,只能由程序根据输入数据的特征维数自行设定。
步骤3:训练网络。训练过程如图3所示。
步骤4:测试网络。当网络训练结束后,开始测试网络,函数调用如下公式。
an=sim(net,inputn_test)
(4)如(1)所述中对广义神经网络进行训练,其中主要步骤为以下几步:
步骤1:模型建立。算法流程如图4所示。
步骤2:主要程序代码
本实验使用MATLAB自带函数newgrnn建立GRNN神经网络,其调用格式如下公式所示:
net=newgrnn(P,T,spread)
(5)如(1)所述中对基于遗传算法改进神经网络进行训练,其中主要步骤为以下几步:
步骤1:种群初始化。个体编码使用二进制编码,每个个体均为一个二进制串,由输入层与隐含层连接权值、隐含层阈值、隐含层与输出层连接权值、输出层阈值四部分组成,每个权值和阈值使用M位的二进制编码,将所有权值和阈值的编码连接起来即为一个个体的编码。例如本发明BP网络的结构是24-30-5,
假定权值和阈值的编码均为10位二进制数,那么个体的二进制编码长度为9050。其中前7200位输入层与隐含层连接权值编码;7201~7500位为隐含层阈值编码;7501~9000位为隐含层与输出层连接权值编码;9000~9050位为输出层阈值编码。
步骤2:适应度函数
本发明是为了使BP网络在预测时,预测值与期望值的残差尽可能小,所以选择预测样本的预测值与期望值的误差矩阵的范数作为目标函数输出。适应度函数选择工具箱中采用排序的适应度分配函数:
FinV=ranking(obj)
其中obj为目标函数的输出。
步骤3:选择算子
选择算子采用随机遍历抽样(sus):
Selch=select(′sus′,Chrom,FitnV,GGAP)
Chrom为种群编码,GGAP为自设定的代沟。
步骤4:交叉算子
交叉算子采用最简单的单点交叉算子。
步骤5:变异算子
变异以一定概率产生变异基数,用随机方法选出发生变异的基因。如果所选用的基因的编码为1,则变为0;反之,则变为1.
程序结构如图5所示。
其中BPfun.m的部分代码如下所示,代码主要作用为建立BP神经网络并对权值和阈值手动赋值,其中使用的训练函数为trainlm(Levenberg-Marquardt算法)。训练迭代为5000次,误差精度为0.001,学习率为0.3。
Claims (5)
1.一种基于神经网络的无线传感器网络入侵检测算法,采用KDDCUP99作为原始数据集,所述算法包含以下步骤:
(1)对数据进行预处理;
(2)对BP神经网络进行训练;
(3)对广义神经网络进行训练;
(4)对BP神经网络进行改进并进行训练。
2.如权利要求1所述一种基于神经网络的无线传感器网络入侵检测算法,所述的步骤(1)对数据进行预处理包括以下步骤:
(1)数据映射
该数据集每一行就是由TCPdump采集并处理的一条记录,包含了41个特征值和1个攻击类型说明,每一个特征之间用逗号分隔,最后用逗号分隔攻击类型。是一个标准CSV文件。由于数据的类型比较复杂,有离散类型(比如协议类型TCP,UDP…)和连续类型(持续时间,发送包数量等),要分开处理。首先进行数据映射,将符号型的数据映射到数值型数据。
(2)选择数据
在实验中从kddcup.data_10_percent.gz中随机选出5000条数据作为训练数据,从corrected.gz中随机选出3000作为测试数据。
(3)数据归一化
归一化就是要把你需要处理的数据经过处理后限制在你需要的一定范围内。
3.如权利要求1所述一种基于神经网络的无线传感器网络入侵检测算法,所述的步骤(2)包括以下步骤:
步骤1:网络初始化。根据系统输入序列(X,Y)确定网络输入层节点数n、隐含层节点数l,输出层节点数m,初始化输入层、隐含层和输出层神经元之间的连接权值wij,wjk,初始化隐含层阈值a,输出层阈值b,给定学习速率和神经元激励函数;
步骤2:隐含层输出计算。根据输入向量X,输出层和隐含层间连接权值wij以及隐含层a,计算隐含层输出H;
Hj=f(Yoj) j=1,2,…,l
公式中,l为隐含层节点数,f为隐含层激励函数;
步骤3:输出层输出计算。根据隐含层输出H,连接权值wjk,以及阈值b,计算BP神经网络预测输出O;
Ok=f(yk) k=1,2,…,m
步骤4:误差计算。根据网络预测输出O和期望输出Y,计算网络预测误差e;
步骤5:计算误差函数对输出层的各神经元的偏导数;
步骤6:利用输出层各神经元的δk和隐含层各神经元的输出来修正连接权值wjk;
步骤7:利用隐含层各神经元的δj和输入层各神经元的输入修正连接权;
步骤8:计算全局误差:
其中Num为样本个数;
步骤9:判断网络误差是否满足要求,当误差达到预设精度或学习次数大于设定的最大次数,则算法结束,否则,选取下一个学习样本及对应的期望输出,返回到步骤2,进入下一轮学习。
4.如权利要求1所述一种基于神经网络的无线传感器网络入侵检测 算法,所述的步骤(3)包括以下步骤:
步骤1:确定隐含层神经元径向基函数中心,
设训练集样本输入矩阵和P输出T举证分别为:
其中,pij表示第j个训练样本的第i个输入变量;tij表示第j个训练样本的第i个输出变量;R为输入变量的维数;S为输出变量的维数;Q为训练集样本数;
隐含层的每个神经元对应一个训练样本,即Q个隐含层神经元对应的径向基函数中心为
C=P’
步骤2:确定隐含层神经元阈值
为了简便起见,Q个隐含层神经元对应的阈值为
b1=[b11,b12,…,b1Q]′
其中,spread为径向基函数的扩展速度;
步骤3:确定隐含层与输出层间权值
当隐含层神经元的径向基函数中心及阈值确定后,隐含层神经元的输出便可以由公式计算:
ai=exp(-||C-pi||2b1),i=1,2,…,Q
其中,pi=[pi1,pi2,…,piR]′为第i个训练样本向量,并记
GRNN中隐含层与输出层间的连接权值W取为训练集输出矩阵,即
W=t
步骤4:输出层神经元输出计算
当隐含层与输出层神经元间的连接权值确定后,便可以计算出输 出层神经元的输出,即
yi=purelin(ni)=ni,i=1,2,…,Q。
5.如权利要求1所述一种基于神经网络的无线传感器网络入侵检测算法,所述的步骤(4)包括以下步骤:
步骤1:选择初始生命种群。确定种群规模(群体大小)N,交叉概率Pc,变异概率Pm和终止进化准则(遗传代数G等,通俗讲就是最大循环多少次);得到初始种群;
步骤2:评价种群中的个体适应度。计算评估种群中各个体的种群适应度;
步骤3:种群进化,具体如以下几步:
(1)选择,从初始种群中选择M/2对母体,(M>=N);
(2)交叉,对所选择的M/2对母体,以概率Pc执行交叉,形成M个中间个体;
(3)变异,对M个中间个体分别独立以概率Pm执行变异,形成M个候选个体;
(4)选择(子代),从上述所形成的M个候选个体中依据适应度选择出N个体组成新一代种群;
步骤4:若以满足终止条件则终止,则最后一代中适应度最大的为最优解,否则,则转到步骤2继续向下执行;
改进算法流程为图1所示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310682813.9A CN103619021A (zh) | 2013-12-10 | 2013-12-10 | 一种基于神经网络的无线传感器网络入侵检测算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310682813.9A CN103619021A (zh) | 2013-12-10 | 2013-12-10 | 一种基于神经网络的无线传感器网络入侵检测算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103619021A true CN103619021A (zh) | 2014-03-05 |
Family
ID=50169725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310682813.9A Pending CN103619021A (zh) | 2013-12-10 | 2013-12-10 | 一种基于神经网络的无线传感器网络入侵检测算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103619021A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104837155A (zh) * | 2015-04-02 | 2015-08-12 | 湘潭大学 | 类bp神经网络的分簇传感网络数据收集方法 |
CN105224866A (zh) * | 2015-10-27 | 2016-01-06 | 西安工程大学 | 一种基于遗传算法的网络入侵多媒体包多线程择危方法 |
CN105577685A (zh) * | 2016-01-25 | 2016-05-11 | 浙江海洋学院 | 云计算环境中的自主分析入侵检测方法及系统 |
CN106656637A (zh) * | 2017-02-24 | 2017-05-10 | 国网河南省电力公司电力科学研究院 | 一种异常检测方法及装置 |
CN107066881A (zh) * | 2016-12-14 | 2017-08-18 | 四川长虹电器股份有限公司 | 基于Kohonen神经网络的入侵检测方法 |
CN107301453A (zh) * | 2016-04-15 | 2017-10-27 | 北京中科寒武纪科技有限公司 | 支持离散数据表示的人工神经网络正向运算装置和方法 |
CN107808659A (zh) * | 2017-12-02 | 2018-03-16 | 宫文峰 | 智能语音信号模式识别系统装置 |
CN108090658A (zh) * | 2017-12-06 | 2018-05-29 | 河北工业大学 | 基于时域特征参数融合的电弧故障诊断方法 |
CN108538013A (zh) * | 2018-04-04 | 2018-09-14 | 浙江工贸职业技术学院 | 一种带火灾探测功能的动车应急服务机器人 |
CN109246736A (zh) * | 2018-08-31 | 2019-01-18 | 中建科技有限公司深圳分公司 | 一种传感器网络监听系统、监听器及故障分析终端 |
CN112765148A (zh) * | 2021-02-02 | 2021-05-07 | 南京信息工程大学 | 一种基于改进svm多分类的网络入侵检测方法 |
-
2013
- 2013-12-10 CN CN201310682813.9A patent/CN103619021A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104837155B (zh) * | 2015-04-02 | 2016-08-31 | 湘潭大学 | 类bp神经网络的分簇传感网络数据收集方法 |
CN104837155A (zh) * | 2015-04-02 | 2015-08-12 | 湘潭大学 | 类bp神经网络的分簇传感网络数据收集方法 |
CN105224866B (zh) * | 2015-10-27 | 2018-05-15 | 西安工程大学 | 一种基于遗传算法的网络入侵多媒体包多线程择危方法 |
CN105224866A (zh) * | 2015-10-27 | 2016-01-06 | 西安工程大学 | 一种基于遗传算法的网络入侵多媒体包多线程择危方法 |
CN105577685A (zh) * | 2016-01-25 | 2016-05-11 | 浙江海洋学院 | 云计算环境中的自主分析入侵检测方法及系统 |
CN107301453A (zh) * | 2016-04-15 | 2017-10-27 | 北京中科寒武纪科技有限公司 | 支持离散数据表示的人工神经网络正向运算装置和方法 |
CN107301453B (zh) * | 2016-04-15 | 2021-04-20 | 中科寒武纪科技股份有限公司 | 支持离散数据表示的人工神经网络正向运算装置和方法 |
CN107066881A (zh) * | 2016-12-14 | 2017-08-18 | 四川长虹电器股份有限公司 | 基于Kohonen神经网络的入侵检测方法 |
CN106656637A (zh) * | 2017-02-24 | 2017-05-10 | 国网河南省电力公司电力科学研究院 | 一种异常检测方法及装置 |
CN106656637B (zh) * | 2017-02-24 | 2019-11-26 | 国网河南省电力公司电力科学研究院 | 一种电网异常检测方法及装置 |
CN107808659A (zh) * | 2017-12-02 | 2018-03-16 | 宫文峰 | 智能语音信号模式识别系统装置 |
CN108090658A (zh) * | 2017-12-06 | 2018-05-29 | 河北工业大学 | 基于时域特征参数融合的电弧故障诊断方法 |
CN108538013A (zh) * | 2018-04-04 | 2018-09-14 | 浙江工贸职业技术学院 | 一种带火灾探测功能的动车应急服务机器人 |
CN109246736A (zh) * | 2018-08-31 | 2019-01-18 | 中建科技有限公司深圳分公司 | 一种传感器网络监听系统、监听器及故障分析终端 |
CN109246736B (zh) * | 2018-08-31 | 2021-11-26 | 中建科技集团有限公司 | 一种传感器网络监听系统、监听器及故障分析终端 |
CN112765148A (zh) * | 2021-02-02 | 2021-05-07 | 南京信息工程大学 | 一种基于改进svm多分类的网络入侵检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103619021A (zh) | 一种基于神经网络的无线传感器网络入侵检测算法 | |
CN109462520B (zh) | 基于lstm模型的网络流量资源态势预测方法 | |
CN106897254B (zh) | 一种网络表示学习方法 | |
WO2019237860A1 (zh) | 一种图像标注方法和装置 | |
WO2022083009A1 (zh) | 一种基于异源数据差补融合的定制产品性能预测方法 | |
Guo et al. | Multi-source temporal data aggregation in wireless sensor networks | |
CN112508085B (zh) | 基于感知神经网络的社交网络链路预测方法 | |
CN106610867B (zh) | 一种片上网络任务调度方法及装置 | |
CN107277889A (zh) | 一种基于k‑means的无线传感器网络分簇方法 | |
CN111553469A (zh) | 一种无线传感器网络数据融合方法、装置和存储介质 | |
CN108228728A (zh) | 一种参数化的论文网络节点表示学习方法 | |
CN111612125A (zh) | 一种面向在线学习的新型htm时间池方法及其系统 | |
CN111158912A (zh) | 云雾协同计算环境下一种基于深度学习的任务卸载决策方法 | |
CN113784410A (zh) | 基于强化学习td3算法的异构无线网络垂直切换方法 | |
CN112733417A (zh) | 一种基于模型优化的异常负荷数据检测与修正方法和系统 | |
CN112766603A (zh) | 一种交通流量预测方法、系统、计算机设备及存储介质 | |
Xiao et al. | Network security situation prediction method based on MEA-BP | |
CN107944617A (zh) | 一种基于逻辑回归的疑似窃电主题影响因素权重优化方法 | |
CN109344960A (zh) | 一种防止数据信息丢失的dgru神经网络及其预测模型建立方法 | |
Zhao et al. | Adaptive Swarm Intelligent Offloading Based on Digital Twin-assisted Prediction in VEC | |
CN104092503A (zh) | 一种基于狼群优化的人工神经网络频谱感知方法 | |
CN105976029A (zh) | 一种布谷鸟行为rna-ga的桥式吊车神经网络建模方法 | |
CN103064059B (zh) | 一种无线传感器网络声源定位方法 | |
Zhang et al. | A hybrid speech recognition training method for hmm based on genetic algorithm and baum welch algorithm | |
CN115438588B (zh) | 一种锂电池的温度预测方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140305 |