CN109067773B - 一种基于神经网络的车载can网络入侵检测方法及系统 - Google Patents

一种基于神经网络的车载can网络入侵检测方法及系统 Download PDF

Info

Publication number
CN109067773B
CN109067773B CN201811052892.4A CN201811052892A CN109067773B CN 109067773 B CN109067773 B CN 109067773B CN 201811052892 A CN201811052892 A CN 201811052892A CN 109067773 B CN109067773 B CN 109067773B
Authority
CN
China
Prior art keywords
network
data
neural network
vehicle
weight
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
CN201811052892.4A
Other languages
English (en)
Other versions
CN109067773A (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.)
Beijing Zhongding Network Security Technology Co.,Ltd.
Original Assignee
Chengdu University of Information Technology
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 Chengdu University of Information Technology filed Critical Chengdu University of Information Technology
Priority to CN201811052892.4A priority Critical patent/CN109067773B/zh
Publication of CN109067773A publication Critical patent/CN109067773A/zh
Application granted granted Critical
Publication of CN109067773B publication Critical patent/CN109067773B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明属于信息安全技术领域,公开了一种基于神经网络的车载CAN网络入侵检测方法及系统,以各种CAN网络数据包的发送频率作为BP神经网络的输入,使用主成分分析法PCA对数据进行降维,检测各种CAN数据包的发送频率,使用遗传算法优化BP神经网络,以发动机转速、进气量、车速、节气门具有相关性的数据作为BP神经网络的输入;实时检测发动机转速、进气量、车速、节气门具有相关性数据的正确性;只要有一个输出为异常结果,判定当前网络存在异常并给予报警提示。本发明提供的基于神经网络的车载CAN网络入侵检测系统适应性强,计算量相对较小,契合车载CAN网络计算资源小,又同时能适应汽车驾驶环境复杂。

Description

一种基于神经网络的车载CAN网络入侵检测方法及系统
技术领域
本发明属于计算机、信息安全技术领域,尤其涉及一种基于神经网络的车载CAN网络入侵检测方法及系统。
背景技术
目前,业内常用的现有技术是这样的:
利用车载网络CAN数据包的关联性进行检测,没有利用遗传算法改进的神经网络进行检测,检测效果误差较多,容易误报,并且没有利用车载网络CAN数据包发送频率进行检测。
车载网络由电子控制单元(ECU)和总线组成。集自动化控制、通信、计算机等为一体。近年来车联网、智能汽车、无人驾驶、智能交通等概念的提出,使得外部网络与汽车的信息交互越来越频繁。因此车载网络信息安全需要防护来自外部的安全威胁和车载网络内部的安全问题。
综上所述,现有技术存在的问题是:
(1)现有技术适应性弱,计算量相对较大,契合车载CAN网络计算量大,同时不能适应汽车驾驶环境复杂。
(2)利用车载网络CAN数据包的关联性进行检测,普适度较差,容易产生误报。
(3)利用车载网络CAN数据包发送频率进行检测,如果不经过PCA降维,计算量很大,且容易导致非关键成分的影响度减弱,误报率较高。
(4)现有技术无法杜绝所有黑客的攻击行为。
解决上述技术问题的难度和意义:
通过神经网络两种检测,即CAN数据包相关度检测和基于PCA降维的CAN数据包发送率的检测,可以杜绝所有可能的黑客攻击行为,同时减少计算量,保证异常行为检测的准确率,可以适应所有的乘用车。
发明内容
针对现有技术存在的问题,本发明提供了一种基于神经网络的车载CAN网络入侵检测方法及系统。
本发明是这样实现的,一种基于神经网络的车载CAN网络入侵检测方法,包括:
以各种CAN网络数据包的发送频率作为BP神经网络的输入,使用主成分分析法PCA对数据进行降维,检测各种CAN数据包的发送频率,应对拒绝服务攻击、重放攻击、注入攻击的黑客行为;
使用遗传算法优化BP神经网络,如发动机转速、进气量、车速、节气门具有相关性的数据作为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行的均值为:
Figure GDA0002642951070000021
③求矩阵S的协方差:
Figure GDA0002642951070000031
④通过
Figure GDA0002642951070000034
的公式计算协方差矩阵Y的各特征值λ和对应的特征向量αii=1,...,n;其中λ从小到大顺序排列;
λ(I-Y)α=0;
⑤计算主成分贡献率及累计贡献率:
主成分计算公式为:
Zi=α×SM×ni=(1,...,n);
Zi的共享率为:
Figure GDA0002642951070000032
主成分的累计贡献率为:
Figure GDA0002642951070000033
其中K为所选取的维度;
⑥选取参数k得到降维后的主成分Z1,Z2,...,Zk,为分析对象由n维降为k维;其中k≤n;
利用PCA算法根据需求提取关键性的主元,忽略去次要的信息,达到降维和简化基于车载CAN网络数据包发送频率检测的神经网络入侵检测模型的同时,保持数据的完整性;
(2)经过PCA算法降维后,利用BP神经网络检测算法对发送数据包频率检测,具体包括:
BP神经网络采用梯度下降算法,包括正向传播和反向传播,在正向传播过程中,当前神经元的输出只受上层神经元的输出的影响;反向传播过程发生在实际输出与期望输出不相等时,将误差信号沿原路径返回并对网络权值和阈值进行梯度修正,直到误差信号最小;
在正向传递过程中各神经元的输出为:
Figure GDA0002642951070000041
Figure GDA0002642951070000042
其中
Figure GDA0002642951070000047
为节点i和节点
Figure GDA0002642951070000049
之间的权值,bj为节点
Figure GDA00026429510700000410
的阀值,
Figure GDA0002642951070000048
为节点
Figure GDA00026429510700000413
的输出;h为激活函数,选取S型函数或者线性函数;
在反向传递过程中误差函数为:
Figure GDA0002642951070000043
其中
Figure GDA00026429510700000411
为实际输出,
Figure GDA00026429510700000412
为目标输出,w为网络权重矩阵,b为阀值矩阵;
权重和阀值更新函数为:
Figure GDA0002642951070000044
Figure GDA0002642951070000045
其中η1和η2为学习效率η1>0,η2>0。
传统的BP神经网络可以理解为是一种简单的静态寻优算法,因而在网络权重修正并不会考虑以前的经验,而只是考虑当前的网络误差梯度。因此在网络训练时容易陷入局部最小值、存在网络收敛速度慢、难以确定隐藏数和隐藏层节点数等问题。
为了解决这些问题在传统BP神经网络中的权值修正时引入附加动量因子,这是为了让网络在考虑误差梯度的同时考虑误差曲面上变化趋势的所造成影响。这样可以有效的避免网络陷入局部最优解当中,带有动量因子的阈值和权值调节公式为:
w(k+1)=w(k)+a[(1-η)D(k)+ηD(k-1)],
Figure GDA0002642951070000046
其中w(k)表示权值或权值向量;D(k)为k时刻的负梯度;a为学习效率,a>0;η为动量因子,0≤η≤1;
当动量因子η为0时,BP神经网络权值的变化为传统反向传播算法产生的变化;当动量因子η为1时,BP神经网络的权值变化等于上一次权值的变化;
进一步,检测的各种CAN数据包发送频率的方法,进一步包括:
在CAN网络协议中,各种类型的CAN数据包通过CAN ID区分;将所采集的CAN数据包以1秒为单位统计在当前发动机转速下各种CAN数据包的出现频率,得到数据集M,M中包含发动转速和各种CAN数据包的发送频率;
将数据M分成数据集L、U,其中L作为神经网络的训练数据集,U作为神经网络的测试数据集;
由于CAN网络数据包类型众多,将所有数据作为神经网络的输入将影响网络的收敛速度。利用PCA算法将数据集L、U降维至某个确定特征维数K得到处理后的数据集得到L’和U’;
将数据集L’输入到改进的神经算法BP神经网络中进行BP模型训练;
使用数据集U’对检测模型进行验证。
进一步,使用遗传算法优化后的RBF神经网络进行车载CAN数据关联性检测方法为:
(1)种群初始化,对种群中个体采用实数编码,每个个体均表示为一个实数串,搜索实数串由RBF网络的输入层与输出层的连接权值、隐藏层阈值、隐藏层与输出层的连接权值以及输出层的权值和阈值组成;确定的个体为RBF网络的全部初始权值和阈值;
(2)适应度函数,当个体得到RBF网络的全部初始权值和阈值,用训练样本训练RBF网络后再预测输出;把预测输出与期望输出间的误差绝对值和作为个体适应度值;
(3)选择操作,遗传算法中的选择轮盘赌法,每个个体i的选择概率为
Figure GDA0002642951070000051
Fi表示个体i的适应度值,在个体选择前对适应度值Fi为求倒数;k为系数,N为种群规模。
交叉操作。这里的交叉操作也是采用实数交叉法。例如第k个染色体αk和第l个染色体αl在j位置上的交叉操作:
Figure GDA0002642951070000061
b是[0.1]间的任意数。
变异操作。对个体i的第j个基因αij进行变异,变异操作:
Figure GDA0002642951070000062
其中αmax与αmin分别为基因的上下界;r2为一个常数;Gmax是最大进化次数;r是[0-1]间的任意数。
车载网络数据关联性检测算法进一步说明,具体包括:
设车载网相关数据集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};
计算所有参数误差和:
Figure GDA0002642951070000063
当ΔE>δ时当前检测数据为异常数据,ΔE≤δ时当前检测数据为正常数据;其中δ为自定义异常因子。
本发明另一目的在于提供一种实现所述基于神经网络的车载CAN网络入侵检测方法的计算机程序。
本发明另一目的在于提供一种实现所述基于神经网络的车载CAN网络入侵检测方法的信息数据处理终端。
本发明另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于神经网络的车载CAN网络入侵检测方法。
本发明另一目的在于提供一种实现所述基于神经网络的车载CAN网络入侵检测方法的基于神经网络的车载CAN网络入侵检测系统,包括:
车载CAN网络数据包发送频率检测模块,以各种CAN网络数据包的发送频率作为BP神经网络的输入;使用主成分分析法PCA对数据进行降维,检测各种CAN数据包的发送频率;应对拒绝服务攻击、重放攻击、注入攻击黑客行为;
车载CAN数据包相关性检测模块,使用遗传算法优化BP神经网络,以发动机转速、进气量、车速、节气门具有一定相关性的数据作为神经网络的输入;实时检测这些数据的正确性;应对篡改攻击、中间人攻击黑客行为。
综上所述,本发明的优点及积极效果为:
利用实验室仿真,表1、2、3、4列出了在相同实验数据下PAC-BP神经网络算法、经典BP神经网络算法针对重放攻击、注入攻击、拒绝服务攻击的检测情况。其中经典BP神经网络和PCA-BP神经网络算法隐藏神经元数目取60,隐藏层层数为3。而表4则列出了在相同实验数据下GA-RBF神经网络算法和经典RBF神经网络算法针对篡改攻击检测率情况。其中自定义异常因子δ为(-0.03,0.03)
表1重放攻击检测比较
Figure GDA0002642951070000071
通过对表1的数据进行分析可以知道传统BP神经网络耗时为3270秒,学习次数为8000,准确率为0.8969,而PCA-BP网络耗时为2134秒,学习次数为5000,准确率为0.9387。因而PCA-BP神经网络相对于传统的BP神经网络其网络收敛速度更快算法评价耗时更短准确率更高,具有明显的优势。
表2注入攻击检测比较
Figure GDA0002642951070000072
通过对表2的数据进行分析可以知道注入攻击检测过程中PCA-BP神经网络和PB神经网络的准确率分别为0.9571和0.9683差别不是很大。但在算法耗时和网络收敛速度上则PCA-BP神经网络明显优于BP神经网络。
表3拒绝服务攻击检测比较
Figure GDA0002642951070000081
通过对表3的数据进行分析可以知道相对于攻击模式较为简单的拒绝服务攻击,PCA-BP神经网络、BP神经网络都表现出较为满意的检测效果达到了百分之97以上。但在算法耗时上则PCA-BP神经网络则优于BP神经网络
表4篡改攻击检测比较
Figure GDA0002642951070000082
通过表4可以知道利用RBF神经网络对样本数据进行学习训练的时间为3270秒,算法迭代次数为8000次,预测准确率为89.69%,误差为10.31%.而经过遗传算法优化后的RBF神经网络,算法耗时为3134秒,学习次数为5000次,准确率为92.87%,误差为7.13%。可以看出本发明所提出的GA-RBF神经网与传统RBF网络神经网络在学习训练时间、收敛性和误差上都有明显改进。
本发明基于CAN数据包发送频率检测算法和CAN数据关联性检测算法,在车载网络检测重放攻击、注入攻击、拒绝服务攻击和篡改攻击方面具有明显的优势和应用价值。
本发明提供的基于神经网络的车载CAN网络入侵检测系统适应性强,计算量相对较小,契合车载CAN网络计算资源小,又同时能适应汽车驾驶环境复杂。
本发明BP神经网络权值的变化就是传统反向传播算法产生的变化。当动量因子η为1时,BP神经网络的权值变化等于上一次权值的变化,这样就忽略了梯度下降算法所产生的权值变化。这就类似于在权值修正时引入一个阻尼项,从而达到减少网络震荡,提升网络收敛速度的效果。
附图说明
图1是本发明实施例提供的基于神经网络的车载CAN网络入侵检测系统示意图。
图2是本发明实施例提供的PCA-BP神经网络结构图。
图3是本发明实施例提供的PB神经网络训练流程图。
图4是本发明实施例提供的数据包相关性检测流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有技术适应性弱,计算量相对较大,契合车载CAN网络计算量大,同时不能适应汽车驾驶环境复杂。
本发明实施例提供的基于神经网络的车载CAN网络入侵检测方法,包括:
以各种CAN网络数据包的发送频率作为BP神经网络的输入,使用主成分分析法PCA对数据进行降维,检测各种CAN数据包的发送频率,应对拒绝服务攻击、重放攻击、注入攻击等黑客行为;
使用遗传算法优化BP神经网络,以发动机转速、进气量、车速、节气门具有相关性的数据作为BP神经网络的输入;实时检测发动机转速、进气量、车速、节气门具有相关性数据的正确性;应对篡改攻击、中间人攻击等黑客行为;
当检测的各种CAN数据包发送频率、检测的发动机转速、进气量、车速、节气门具有相关性数据中,只要有一个输出为异常结果,判定当前网络存在异常并给予报警提示。
本发明实施例提供的基于神经网络的车载CAN网络入侵检测系统,包含车载CAN网络数据包发送频率检测和车载CAN网络数据包关联性检测两个模块。这两个模块以两个独立线程的形式对车载网络中的数据进行实时检测,只要有一个输出为异常结果,则判定当前网络存在异常并给予报警提示,如图1所示。
(1)车载CAN网络数据包发送频率检测模块。以各种CAN网络数据包的发送频率作为BP神经网络的输入。使用主成分分析法PCA(Principal Component Analysis)对数据进行降维,检测各种CAN数据包的发送频率。从而应对拒绝服务攻击、重放攻击、注入攻击等黑客行为。
(2)车载CAN数据包相关性检测模块。使用遗传算法(Genetic Algorithm)优化BP神经网络,以发动机转速、进气量、车速、节气门为例等具有一定相关性的数据作为神经网络的输入。实时检测这些数据的正确性。从而应对篡改攻击、中间人攻击等黑客行为。
互联网主机之间的通信频率通常取决于当前的使用人员,有着更多的不确定因素。然而车载ECU之间的通信更多的取决与当前的车身状态。例如发动机高速运行时,进行的是高频率的数据交互,每隔几毫秒就进行一次数据传输,而在低转速运行时,进行的是低频率的数据传输,每隔几十毫秒乃至几百毫秒才进行一次数据交互。
利用该数据发送频率特性,借助神经网络的非线性逼近可以实现对不同发动机转速下各个车载CAN数据包发送频率的实时监测。从而应对注入、重放、拒绝服务等车载网络攻击手段。
下面结合具体实施例对本发明作进一步描述。
PCA-BP神经网络设计,使用PCA算法对原始数据进行处理,去除掉重叠信息,再将处理后的结果送入BP神经网络中进行训练。过程如图2所示。
PCA的目的是对数据进行降维处理,同时它是无参数限制的。因而在PCA的计算过程中不需要人为的设定参数或是根据经验对计算进行干预,最后的结果只与数据相关,与用户是独立的。
PCA具体步骤如下:
(1)假设原始数据集X有M个样本,每个样本的维度为n。即:
X={X1,...,XM}
Xi=(xi1,…,xin)∈Rn i=1,…,M (1)
将这些样本,成矩阵形式,即每一行表示一个样本,每一列表示一个维度,得到一个M×n的样本矩阵S,S∈RM×n
(2)将样本中心化,即将矩阵S的每一行进行零均值化,也就是减去这行的均值,如第i行的均值为:
Figure GDA0002642951070000111
(3)求矩阵S的协方差:
Figure GDA0002642951070000112
(4)通过(2)的公式计算协方差矩阵Y的各特征值λ(从小到大顺序排列)和对应的特征向量aii=1,...,n。
λ(I-Y)α=0 (3)
(5)计算主成分贡献率及累计贡献率:
主成分计算公式为:
Zi=α×SM×n i=(1,...,n) (4)
Zi的贡献率为:
Figure GDA0002642951070000113
主成分的累计贡献率为:
Figure GDA0002642951070000114
其中K为所选取的维度。
(6)这里选取参数k取得主成分Z1,Z2,...,Zk(k≤n),即为分析对象由n维降为k维。
BP神经网络采用梯度下降算法,它由正向传播和反向传播两个部分组成,在正向传播过程中,当前神经元的输出只受上层神经元的输出的影响。而反向传播过程则发生在实际输出与期望输出不相等时,将误差信号沿原路径返回并对网络权值和阈值进行梯度修正,直到误差信号最小。
在正向传递过程中各神经元的输出为:
Figure GDA0002642951070000115
Figure GDA0002642951070000121
其中
Figure GDA0002642951070000126
为节点i和节点
Figure GDA00026429510700001210
之间的权值,bj为节点
Figure GDA00026429510700001211
的阀值,
Figure GDA0002642951070000127
为节点
Figure GDA00026429510700001212
的输出,h为激活函数,一般选取S型函数或者线性函数。
在反向传递过程中误差函数为:
Figure GDA0002642951070000122
其中
Figure GDA0002642951070000128
为实际输出,
Figure GDA0002642951070000129
为目标输出,w为网络权重矩阵,b为阀值矩阵。
权重和阀值更新函数为:
Figure GDA0002642951070000123
Figure GDA0002642951070000124
其中η1和η2为学习效率η1>0,η2>0。
传统的BP神经网络可以理解为是一种简单的静态寻优算法,因而在网络权重修正并不会考虑以前的经验,而只是考虑当前的网络误差梯度。因此在网络训练时容易陷入局部最小值、存在网络收敛速度慢、难以确定隐藏数和隐藏层节点数等问题。
为了解决这些问题在传统BP神经网络中的权值修正时引入附加动量因子,这是为了让网络在考虑误差梯度的同时考虑误差曲面上变化趋势的所造成影响。这样可以有效的避免网络陷入局部最优解当中,带有动量因子的阈值和权值调节公式为:
w(k+1)=w(k)+α[(1-η)D(k)+ηD(k-1)] (12)
Figure GDA0002642951070000125
其中w(k)表示权值或权值向量;D(k)为k时刻的负梯度;a为学习效率,α>0;η为动量因子,0≤η≤1。当动量因子η为0时,BP神经网络权值的变化就是传统反向传播算法产生的变化。当动量因子η为1时,BP神经网络的权值变化等于上一次权值的变化,这样就忽略了梯度下降算法所产生的权值变化。这就类似于在权值修正时引入一个阻尼项,从而达到减少网络震荡,提升网络收敛速度的效果。
BP神经网络是使用降维后的数据训练,从而达到分析目的。
车载CAN数据包发送频率检测算法描述如下:
在CAN网络协议中,各种类型的CAN数据包通过CAN ID来区分。将所采集的CAN数据包以1秒为单位统计在当前发动机转速下各种CAN数据包的出现频率,得到数据集M,M中包含发动转速和各种CAN数据包的发送频率。
将数据M分成数据集L、U,其中L作为神经网络的训练数据集,U作为神经网络的测试数据集。
由于CAN网络数据包类型众多,将所有数据作为神经网络的输入将影响网络的收敛速度。可以利用PCA算法将数据集L、U降维至某个确定特征维数K得到处理后的数据集得到L’和U’。
将数据集L’输入到改进的神经算法BP神经网络中进行检测模型训练。
使用数据集U’对检测模型进行验证。
算法流程图如图3所示。
车载CAN数据关联性检测:如图4.
经过分析可以将汽车CAN总线上的所传输的数据,根据其是否具有明显关联分为两种,具有明显关联的数据如发动机转速与车速(发动机转速越快,车速越快)。不具有明确关联的数据如刹车踏板状态与加速踏板位置等。
车载CAN数据包关联性检测所用的神经网络可以使用遗传算法优化后的RBF神经网络。方式如下:
(1)种群初始化。对种群中个体采用实数编码,那么每个个体均可表示为一个实数串,该实数串由RBF网络的输入层与输出层的连接权值、隐藏层阈值、隐藏层与输出层的连接权值以及输出层的权值和阈值组成。所以,确定了个体也就确定了RBF网络的全部初始权值和阈值。
(2)适应度函数。当个体得到RBF网络的全部初始权值和阈值,用训练样本训练RBF网络后再预测输出。把预测输出与期望输出间的误差绝对值和作为个体适应度值。
(3)选择操作。遗传算法中的选择操作有锦标赛法、轮盘赌法等多种方法,本发明选择轮盘赌法,即每个个体i的选择概率为
Figure GDA0002642951070000141
Fi表示个体i的适应度值,在个体选择前对适应度值Fi为求倒数,理论上Fi为值越小越好。k为系数,N为种群规模。
交叉操作。这里的交叉操作也是采用实数交叉法。例如第k个染色体αk和第l个染色体αl在j位置上的交叉操作:
Figure GDA0002642951070000142
b是[0.1]间的任意数。
变异操作。对个体i的第j个基因αij进行变异,变异操作:
Figure GDA0002642951070000143
其中αmax与αmin分别为基因的上下界;r2为一个常数;Gmax是最大进化次数;r是[0.1]间的任意数。
下面结合具体分析对本发明作进一步描述。
本发明实施例提供的车载网络数据关联性检测算法具体的描述如下:
设车载网相关数据集U包含n个特征向量即:
(1)设车载网相关数据集U包含n个特征向量即:
X=(x1,x2,...,xn)X∈U。
(2)计算X的各个特征向量的协方差矩阵,获取正相关参数组成新向量X′=(x1,x2,...,xm)由X′组成新数据集U′,m≤n。
(3)将Y输入GA-RBF神经网络得到xi’i=(1,2,...,m),检测模型如图4所示。
(4)
Y={X′-xi} (17)
(4)计算所有参数误差和:
Figure GDA0002642951070000151
当ΔE>δ时当前检测数据为异常数据,ΔE≤δ时当前检测数据为正常数据。其中δ为自定义异常因子。
下面结合实验对本发明作进一步描述。
利用实验室仿真,表1、2、3、4列出了在相同实验数据下PAC-BP神经网络算法、经典BP神经网络算法针对重放攻击、注入攻击、拒绝服务攻击的检测情况。其中经典BP神经网络和PCA-BP神经网络算法隐藏神经元数目取60,隐藏层层数为3。而表4则列出了在相同实验数据下GA-RBF神经网络算法和经典RBF神经网络算法针对篡改攻击检测率情况。其中自定义异常因子δ为(-0.03,0.03)
表1重放攻击检测比较
Figure GDA0002642951070000152
通过对表1的数据进行分析可以知道传统BP神经网络耗时为3270秒,学习次数为8000,准确率为0.8969,而PCA-BP网络耗时为2134秒,学习次数为5000,准确率为0.9387。因而PCA-BP神经网络相对于传统的BP神经网络其网络收敛速度更快算法评价耗时更短准确率更高,具有明显的优势。
表2注入攻击检测比较
Figure GDA0002642951070000153
通过对表2的数据进行分析可以知道注入攻击检测过程中PCA-BP神经网络和PB神经网络的准确率分别为0.9571和0.9683差别不是很大。但在算法耗时和网络收敛速度上则PCA-BP神经网络明显优于BP神经网络。
表3拒绝服务攻击检测比较
Figure GDA0002642951070000161
通过对表3的数据进行分析可以知道相对于攻击模式较为简单的拒绝服务攻击,PCA-BP神经网络、BP神经网络都表现出较为满意的检测效果达到了百分之97以上。但在算法耗时上则PCA-BP神经网络则优于BP神经网络
表4篡改攻击检测比较
Figure GDA0002642951070000162
通过表4可以知道利用RBF神经网络对样本数据进行学习训练的时间为3270秒,算法迭代次数为8000次,预测准确率为89.69%,误差为10.31%.而经过遗传算法优化后的RBF神经网络,算法耗时为3134秒,学习次数为5000次,准确率为92.87%,误差为7.13%。可以看出本文所提出的GA-RBF神经网与传统RBF网络神经网络在学习训练时间、收敛性和误差上都有明显改进。
综上所述基于CAN数据包发送频率检测算法和CAN数据关联性检测算法,在车载网络检测重放攻击、注入攻击、拒绝服务攻击和篡改攻击方面具有明显的优势和应用价值。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (3)

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行的均值为:
Figure FDA0002642951060000011
③求矩阵S的协方差:
Figure FDA0002642951060000012
④通过
Figure FDA0002642951060000013
的公式计算协方差矩阵Y的各特征值λ和对应的特征向量αi i=1,...,n;其中λ从小到大顺序排列;
λ(I-Y)α=0;
⑤计算主成分贡献率及累计贡献率:
主成分计算公式为:
Zi=α×sM×n i=(1,...,n);
Zi的共享率为:
Figure FDA0002642951060000021
主成分的累计贡献率为:
Figure FDA0002642951060000022
其中k为所选取的维度;
⑥选取参数k得到降维后的主成分Z1,Z2,...,Zk,为分析对象由n维降为k维;其中k≤n;
利用PCA算法根据需求提取关键性的主元,忽略次要的信息,达到降维和简化基于车载CAN网络数据包发送频率检测的神经网络入侵检测模型的同时,保持数据的完整性;
(2)经过PCA算法降维后,利用BP神经网络检测算法对发送数据包频率检测,具体包括:
BP神经网络采用梯度下降算法,包括正向传播和反向传播,在正向传播过程中,当前神经元的输出只受上层神经元的输出的影响;反向传播过程发生在实际输出与期望输出不相等时,将误差信号沿原路径返回并对网络权值和阈值进行梯度修正,直到误差信号最小;
在正向传递过程中各神经元的输出为:
Figure FDA0002642951060000023
Figure FDA0002642951060000024
其中
Figure FDA0002642951060000025
为节点i和节点j之间的权值,bj为节点j的阀值,
Figure FDA0002642951060000026
为节点j的输出;h为激活函数,选取S型函数或者线性函数;
在反向传递过程中误差函数为:
Figure FDA0002642951060000031
其中dj为实际输出,yj为目标输出,w为网络权重矩阵,b为阀值矩阵;
权重和阀值更新函数为:
Figure FDA0002642951060000032
Figure FDA0002642951060000033
其中η1和η2为学习效率η1>0,η2>0;
BP神经网络中的权值修正时引入附加动量因子,带有动量因子的阈值和权值调节公式为:
w(k+1)=w(k)+α[(1-η)D(k)+ηD(k-1)],
Figure FDA0002642951060000034
其中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};
计算所有参数误差和:
Figure FDA0002642951060000041
当ΔE>δ时当前检测数据为异常数据,ΔE≤δ时当前检测数据为正常数据;其中δ为自定义异常因子;
使用遗传算法优化后的RBF神经网络进行车载CAN数据关联性检测方法进一步包括:
(1)种群初始化,对种群中个体采用实数编码,每个个体均表示为一个实数串,搜索实数串由RBF网络的输入层与输出层的连接权值、隐藏层阈值、隐藏层与输出层的连接权值以及输出层的权值和阈值组成;确定的个体为RBF网络的全部初始权值和阈值;
(2)适应度函数,当个体得到RBF网络的全部初始权值和阈值,用训练样本训练RBF网络后再预测输出;把预测输出与期望输出间的误差绝对值和作为个体适应度值;
(3)选择操作:遗传算法中的选择轮盘赌法,每个个体i的选择概率为
Figure FDA0002642951060000042
Fi表示个体i的适应度值,在个体选择前对适应度值Fi为求倒数;k为系数,N为种群规模;
交叉操作:这采用实数交叉法,第k个染色体αk和第1个染色体α1在j位置上的交叉操作:
Figure FDA0002642951060000051
b是[0.1]间的任意数;
变异操作:对个体i的第j个基因aij进行变异,变异操作:
Figure FDA0002642951060000052
其中αmax与αmin分别为基因的上下界;r2为一个常数;Gmax是最大进化次数;r是[0-1]间的任意数。
2.一种实现权利要求1所述基于神经网络的车载CAN网络入侵检测方法的基于神经网络的车载CAN网络入侵检测系统,其特征在于,所述基于神经网络的车载CAN网络入侵检测系统包括:
车载CAN网络数据包发送频率检测模块,以各种CAN网络数据包的发送频率作为BP神经网络的输入;使用主成分分析法PCA对数据进行降维,检测各种CAN数据包的发送频率;应对拒绝服务攻击、重放攻击、注入攻击的黑客行为;
车载CAN数据包相关性检测模块,使用遗传算法优化BP神经网络,以发动机转速、进气量、车速、节气门具有一定相关性的数据作为神经网络的输入;实时检测这些数据的正确性;应对篡改攻击、中间人攻击的黑客行为。
3.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1所述的基于神经网络的车载CAN网络入侵检测方法。
CN201811052892.4A 2018-09-10 2018-09-10 一种基于神经网络的车载can网络入侵检测方法及系统 Active CN109067773B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811052892.4A CN109067773B (zh) 2018-09-10 2018-09-10 一种基于神经网络的车载can网络入侵检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811052892.4A CN109067773B (zh) 2018-09-10 2018-09-10 一种基于神经网络的车载can网络入侵检测方法及系统

Publications (2)

Publication Number Publication Date
CN109067773A CN109067773A (zh) 2018-12-21
CN109067773B true CN109067773B (zh) 2020-10-27

Family

ID=64761048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811052892.4A Active CN109067773B (zh) 2018-09-10 2018-09-10 一种基于神经网络的车载can网络入侵检测方法及系统

Country Status (1)

Country Link
CN (1) CN109067773B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835695B (zh) * 2019-04-23 2021-06-25 华东师范大学 一种基于深度学习的车载can总线入侵检测方法
CN110275508B (zh) * 2019-05-08 2021-09-28 西安电子科技大学 车载can总线网络异常检测方法及系统
CN110324337B (zh) * 2019-07-02 2020-08-04 成都信息工程大学 一种基于胶囊神经网络的车内网入侵检测方法及系统
CN112291184B (zh) * 2019-07-24 2024-03-01 厦门雅迅网络股份有限公司 基于神经网络集群的车内网入侵检测方法和终端设备
CN110660217B (zh) * 2019-09-27 2021-03-16 百度在线网络技术(北京)有限公司 用于检测信息安全的方法及装置
CN112688901A (zh) * 2019-10-18 2021-04-20 厦门雅迅网络股份有限公司 一种汽车网关的实时can入侵检测系统
CN110826054B (zh) * 2019-11-05 2022-07-15 哈尔滨工业大学 一种基于报文数据场特征的车载can总线入侵检测方法
CN110691104B (zh) * 2019-11-11 2021-08-31 哈尔滨工业大学 基于报文周期特性的车载can总线自适应入侵检测方法
CN111294341B (zh) * 2020-01-17 2021-12-28 成都信息工程大学 基于自编码器和递归神经网络的车载系统入侵检测方法
CN111770069B (zh) * 2020-06-17 2022-02-15 北京航空航天大学 一种基于入侵攻击的车载网络仿真数据集生成方法
CN111931252B (zh) * 2020-07-28 2022-05-03 重庆邮电大学 一种基于滑动窗口和cenn的车载can入侵检测方法
CN112822684B (zh) * 2021-02-04 2022-12-16 中汽创智科技有限公司 车辆入侵检测方法及防御系统
CN115766092A (zh) * 2022-10-19 2023-03-07 苏州大学 一种can网络入侵检测方法、装置及存储介质
CN116756578B (zh) * 2023-08-21 2023-11-03 武汉理工大学 车辆信息安全威胁聚合分析预警方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821002A (zh) * 2011-06-09 2012-12-12 中国移动通信集团河南有限公司信阳分公司 网络流量异常检测方法和系统
CN103581188A (zh) * 2013-11-05 2014-02-12 中国科学院计算技术研究所 一种网络安全态势预测方法及系统
CN104935600A (zh) * 2015-06-19 2015-09-23 中国电子科技集团公司第五十四研究所 一种基于深度学习的移动自组织网络入侵检测方法与设备
CN106951783A (zh) * 2017-03-31 2017-07-14 国家电网公司 一种基于深度神经网络的伪装入侵检测方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230751B2 (en) * 2016-02-09 2019-03-12 International Business Machines Corporation Forecasting and classifying cyber attacks using neural embeddings migration

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821002A (zh) * 2011-06-09 2012-12-12 中国移动通信集团河南有限公司信阳分公司 网络流量异常检测方法和系统
CN103581188A (zh) * 2013-11-05 2014-02-12 中国科学院计算技术研究所 一种网络安全态势预测方法及系统
CN104935600A (zh) * 2015-06-19 2015-09-23 中国电子科技集团公司第五十四研究所 一种基于深度学习的移动自组织网络入侵检测方法与设备
CN106951783A (zh) * 2017-03-31 2017-07-14 国家电网公司 一种基于深度神经网络的伪装入侵检测方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Driving Risk Prediction Algorithm Based on PCA -BP Neural Network in Vehicular Communication;Haitao Zhao等;《2018 10th International Conference on Intelligent Human-Machine Systems and Cybernetics (IHMSC)》;20180826;全文 *
一种基于神经网络的入侵检测系统研究;张婷婷,赵京胜;《计算机安全》;20100815;全文 *

Also Published As

Publication number Publication date
CN109067773A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN109067773B (zh) 一种基于神经网络的车载can网络入侵检测方法及系统
CN111310915B (zh) 一种面向强化学习的数据异常检测防御方法
Song et al. In-vehicle network intrusion detection using deep convolutional neural network
CN111209563B (zh) 一种网络入侵检测方法及系统
CN111294341B (zh) 基于自编码器和递归神经网络的车载系统入侵检测方法
Agrawal et al. NovelADS: A novel anomaly detection system for intra-vehicular networks
CN108390869B (zh) 集成深度学习的车载智能网关装置及其命令序列检测方法
CN110149333B (zh) 一种基于sae+bpnn的网络安全态势评估方法
CN111970229B (zh) 一种针对多种攻击方式的can总线数据异常检测方法
CN116668083A (zh) 一种网络流量异常检测方法及系统
CN109936568B (zh) 一种基于循环神经网络的防恶意攻击传感器数据采集方法
CN113079167B (zh) 一种基于深度强化学习的车联网入侵检测方法及系统
Zhang et al. Many-objective optimization based intrusion detection for in-vehicle network security
CN112653680B (zh) 模型训练方法、网络态势预测方法、装置、设备及介质
Kang et al. A transfer learning based abnormal can bus message detection system
CN113656798A (zh) 一种面向恶意软件标签翻转攻击的正则化识别方法及装置
CN115664804B (zh) 一种基于径向基函数神经网络的LDoS攻击检测方法
CN112422546A (zh) 一种基于变邻域算法和模糊聚类的网络异常检测方法
CN115174170B (zh) 一种基于集成学习的vpn加密流量识别方法
CN114896870A (zh) 一种基于故障注入的智能汽车虚拟测试方法
CN113630379A (zh) 一种网络安全态势预测方法、装置、设备及存储介质
CN112291184B (zh) 基于神经网络集群的车内网入侵检测方法和终端设备
CN115146258B (zh) 请求处理方法、装置、存储介质及电子设备
Gökstorp et al. Anomaly Detection in Security Logs using Sequence Modeling
Song et al. Vehicular Communications

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
TR01 Transfer of patent right

Effective date of registration: 20231023

Address after: 230000 Anhui Hefei high tech Zone Innovation Industrial Park two phase J2 District C block 18 floor.

Patentee after: HEFEI LONGTUTEM INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 610225, No. 24, Section 1, Xuefu Road, Southwest Economic Development Zone, Chengdu, Sichuan

Patentee before: CHENGDU University OF INFORMATION TECHNOLOGY

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240703

Address after: Room 1778, 1st Floor, Building 1, No. 9 Xinghuo Road, Fengtai District, Beijing 100071

Patentee after: Beijing Zhongding Network Security Technology Co.,Ltd.

Country or region after: China

Address before: 230000 Anhui Hefei high tech Zone Innovation Industrial Park two phase J2 District C block 18 floor.

Patentee before: HEFEI LONGTUTEM INFORMATION TECHNOLOGY Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right