[发明专利]一种基于神经网络的车载CAN网络入侵检测方法及系统有效
申请号: | 201811052892.4 | 申请日: | 2018-09-10 |
公开(公告)号: | CN109067773B | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 李飞;张鹏飞;廖祖奇 | 申请(专利权)人: | 成都信息工程大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/24;G06N3/08 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 谈杰 |
地址: | 610225 四川省成都*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 神经网络 车载 can 网络 入侵 检测 方法 系统 | ||
1.一种基于神经网络的车载CAN网络入侵检测方法,其特征在于,车载CAN网络数据包发送频率的检测和数据包关联性检测方法包括:
以各种CAN网络数据包的发送频率作为BP神经网络的输入,使用主成分分析法PCA对数据进行降维,检测各种CAN数据包的发送频率,进行应对拒绝服务攻击、重放攻击、注入攻击的黑客行为;
以发动机转速、进气量、车速、节气门具有相关性的数据作为遗传算法优化BP神经网络的输入;实时检测发动机转速、进气量、车速、节气门具有相关性数据的正确性;进行应对篡改攻击、中间人攻击的黑客行为;
在检测的各种CAN数据包发送频率或者检测的发动机转速、进气量、车速、节气门具有相关性数据中,有一个输出为异常结果,判定当前网络存在异常并给予报警提示;
所述主成分分析法PCA对所检测的数据包进行降维,然后在此基础上进行数据包发送频率的检测;
(1)PCA降维具体包括:
①假设原始数据集X有M个样本,每个样本的维度为n;
X={X1,…,XM}
Xi=(xi1,…,xin)∈Rn,i=1,…,M;
将这些样本,构成矩阵形式,每一行表示一个样本,每一列表示一个维度,得到一个M×n的样本矩阵S,S∈RM×n;
②将样本中心化,将矩阵S的每一行进行零均值化,减去这行的均值,如第i行的均值为:
③求矩阵S的协方差:
④通过的公式计算协方差矩阵Y的各特征值λ和对应的特征向量αi i=1,...,n;其中λ从小到大顺序排列;
λ(I-Y)α=0;
⑤计算主成分贡献率及累计贡献率:
主成分计算公式为:
Zi=α×sM×n i=(1,...,n);
Zi的共享率为:
主成分的累计贡献率为:
其中k为所选取的维度;
⑥选取参数k得到降维后的主成分Z1,Z2,...,Zk,为分析对象由n维降为k维;其中k≤n;
利用PCA算法根据需求提取关键性的主元,忽略次要的信息,达到降维和简化基于车载CAN网络数据包发送频率检测的神经网络入侵检测模型的同时,保持数据的完整性;
(2)经过PCA算法降维后,利用BP神经网络检测算法对发送数据包频率检测,具体包括:
BP神经网络采用梯度下降算法,包括正向传播和反向传播,在正向传播过程中,当前神经元的输出只受上层神经元的输出的影响;反向传播过程发生在实际输出与期望输出不相等时,将误差信号沿原路径返回并对网络权值和阈值进行梯度修正,直到误差信号最小;
在正向传递过程中各神经元的输出为:
其中为节点i和节点j之间的权值,bj为节点j的阀值,为节点j的输出;h为激活函数,选取S型函数或者线性函数;
在反向传递过程中误差函数为:
其中dj为实际输出,yj为目标输出,w为网络权重矩阵,b为阀值矩阵;
权重和阀值更新函数为:
其中η1和η2为学习效率η1>0,η2>0;
BP神经网络中的权值修正时引入附加动量因子,带有动量因子的阈值和权值调节公式为:
w(k+1)=w(k)+α[(1-η)D(k)+ηD(k-1)],
其中w(k)表示权值或权值向量;D(k)为k时刻的负梯度;α为学习效率,α>0;η为动量因子,0≤η≤1;
当动量因子η为0时,BP神经网络权值的变化为传统反向传播算法产生的变化;当动量因子η为1时,BP神经网络的权值变化等于上一次权值的变化;
检测的各种CAN数据包发送频率的方法,进一步包括:
在CAN网络协议中,各种类型的CAN数据包通过CAN ID区分;将所采集的CAN数据包以1秒为单位统计在当前发动机转速下各种CAN数据包的出现频率,得到数据集M,M中包含发动转速和各种CAN数据包的发送频率;
将数据M分成数据集L、U,其中L作为神经网络的训练数据集,U作为神经网络的测试数据集;
利用PCA算法将数据集L、U降维至某个确定特征维数K得到处理后的数据集得到L’和U’;
将数据集L’输入到改进的神经算法BP神经网络中进行BP模型训练;
使用数据集U’对检测模型进行验证;
使用遗传算法优化后的RBF神经网络进行车载CAN数据关联性检测方法包括:
设车载网相关数据集U包含n个特征向量即:
X=(x1,x2,...,xn),X∈U;
计算X的各个特征向量的协方差矩阵,获取正相关参数组成新向量X′=(x1,x2,...,xm)由X′组成新数据集U′,m≤n;
将Y输入GA-RBF神经网络得到xi’,i=(1,2,...,m);
Y={X′-xi};
计算所有参数误差和:
当ΔE>δ时当前检测数据为异常数据,ΔE≤δ时当前检测数据为正常数据;其中δ为自定义异常因子;
使用遗传算法优化后的RBF神经网络进行车载CAN数据关联性检测方法进一步包括:
(1)种群初始化,对种群中个体采用实数编码,每个个体均表示为一个实数串,搜索实数串由RBF网络的输入层与输出层的连接权值、隐藏层阈值、隐藏层与输出层的连接权值以及输出层的权值和阈值组成;确定的个体为RBF网络的全部初始权值和阈值;
(2)适应度函数,当个体得到RBF网络的全部初始权值和阈值,用训练样本训练RBF网络后再预测输出;把预测输出与期望输出间的误差绝对值和作为个体适应度值;
(3)选择操作:遗传算法中的选择轮盘赌法,每个个体i的选择概率为
Fi表示个体i的适应度值,在个体选择前对适应度值Fi为求倒数;k为系数,N为种群规模;
交叉操作:这采用实数交叉法,第k个染色体αk和第1个染色体α1在j位置上的交叉操作:
b是[0.1]间的任意数;
变异操作:对个体i的第j个基因aij进行变异,变异操作:
其中αmax与αmin分别为基因的上下界;r2为一个常数;Gmax是最大进化次数;r是[0-1]间的任意数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都信息工程大学,未经成都信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811052892.4/1.html,转载请声明来源钻瓜专利网。