CN111800421B - 一种基于隐马尔科夫模型的车联网入侵检测系统 - Google Patents
一种基于隐马尔科夫模型的车联网入侵检测系统 Download PDFInfo
- Publication number
- CN111800421B CN111800421B CN202010640942.1A CN202010640942A CN111800421B CN 111800421 B CN111800421 B CN 111800421B CN 202010640942 A CN202010640942 A CN 202010640942A CN 111800421 B CN111800421 B CN 111800421B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- module
- detection
- vehicles
- value
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Strategic Management (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Game Theory and Decision Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明属于车联网中入侵检测算法领域,具体涉及一种基于隐马尔科夫模型的车联网入侵检测系统。该系统用于对车联网中的False alert攻击、Sybil攻击、Black hole攻击和DoS攻击的入侵检测。系统设计中主要包括预检测模块,基于DNN的检测中心模块,用于记录车辆状态和生成隐马尔科夫模型的更新模块以及用于产生响应信号的响应中心模块,在车联网正常运行状态下,这几个模块共同保证车联网的高效运行。在攻击检测状态下相辅相成,共同完成一次攻击监测防御过程。在检测精度、开销和检测时间上相比基于DNN的IDS,本发明的检测精度更高,而且平均检测时间远小于基于DNN的IDS,同时具有更少的开销,本发明使用预检测机制相比于使用状态切换的IDS具有更少的开销,更节省计算资源。
Description
技术领域
本发明属于车联网中入侵检测算法领域,具体涉及一种基于隐马尔科夫模型的车联网入侵检测系统。该系统用于对车联网中的False alert攻击、Sybil攻击、Black hole攻击和DoS攻击的入侵检测。
背景技术
车联网作为物联网中一个重要的概念,不仅在学术研究中成为热点,而且在工程领域也受到了广泛的应用。无论是物联网还是互联网,其背后的安全问题都是首要关心的问题,而这些安全问题具体表现为严重的交通堵塞、耗油量逐年增加以及交通事故源源不断等。但由于国民经济逐年迅速的增长,汽车的销售量也随之倍增,这些问题是无法避免的。
但是将网络应用于具有动态拓扑结构的交通环境中,这项技术带来了很多的安全隐患。如果无法解决,必定会造成严重的后果和不可挽回的损失,因此,这一技术的关键和核心就是解决安全问题。计算机网络中的安全问题早已暴露,并且许多的问题都有效的解决了,但是由于车联网中层出不穷的攻击以及车联网这一领域的特殊性,使得同样的安全问题在车联网中不仅表现不同,而且安全解决方案也无法有效的应用。
车联网是一代新型网络,主要是以数据为中心,而一些传统网络是以地址为中心,所以在传统网络中影响不大、破坏也较小的攻击,但是在车联网中会有非常大的危害性。另外,车联网由于其动态拓扑特性,使得车联网中的安全问题变得更加复杂,解决方案的也变得不再容易。
对于车联网中的攻击车辆的检测和防御中,除了考虑攻击的检测方法外,也需要对车联网通信链路进行一定的分析和研究。总之,在车联网攻击检测和防御的研究中,除了借鉴计算机网络安全的解决方案,也要考虑车联网固有的特点,然后将二者结合后再进行应用创新,另外,利用当下深受欢迎的深度学习在一定程度上优化检测和防御的研究。
发明内容
针对上述问题,本发明的目的是提供一种适用于车联网环境的基于隐马尔可夫模型的深度学习的入侵检测系统,在保证可靠性的同时,能够有效降低传输时延、减轻网络负载。
本发明设计的一种基于隐马尔科夫模型的车联网入侵检测系统,即预检测模块,更新模块,检测中心模块和响应中心模块。
预检测模块用于过滤邻居车辆的消息。该模块中主要的功能包括获得数据包的目的地址;获得下一跳路径;获得邻居车辆ID;获得邻居车辆起始位置;计算当下位置和起始位置的差值;判断邻居车辆的ID是否在通信范围内;获得邻居车辆消息类型;获得接收的数据包大小;设置数据包大小;添加攻击节点;转发消息。它从更新模块接收每个邻居车辆的预测链,然后将预测链和该预测链的相关参数存储在预测表中,根据其接收的消息判断ID是否存在于该预测表中,如果存在,判断是否需要更新隐马尔科夫模型,然后根据预测链预测车辆是“正常”节点还是“异常”节点,并将决策结果发送至更新模块和响应中心。否则,将邻居车辆的消息转发到检测中心模块。
更新模块负责维护记录表并且根据记录表建立新的隐马尔科夫模型,隐马尔科夫模型生成预测链后会将其发送给预检测模块。而从预检测模块和检测中心模块接收的结果会被记录到更新模块的记录表中,当模型学习时,随机初始化参数值,并根据记录表中车辆的检测结果,利用baum-welch算法(Bilmes,Jeff A.A gentle tutorial of the EMalgorithm and its application to parameter estimation for gaussian mixtureand hidden markov models[M].CA:International Computer Science Institute,1998,7–13.)学习出模型的最优参数。
检测中心模块中的特征提取模块可以提取识别攻击的特征,分类器模块用于根据特征对攻击进行分类。无法被预检测模块过滤掉的车辆将由检测中心模块检测,经由检测中心将其标记为“正常”或“异常”,并将结果发送至更新模块和响应中心模块。
响应中心模块从预检测模块和检测中心接收到检测结果,根据检测结果返回相应的信号,使网络管理员做出一些规避措施,使得车联网损失达到最小。
检测中心模块主要是检测预检测模块无法过滤的车辆,该模块包括特征提取模块和分类器模块。
特征提取模块主要用来提取能够识别False alert攻击的交通流量特征、Sybil攻击的车辆位置特征、Black hole攻击的数据包转发率特征和DoS攻击的数据包转发频率特征。
这部分主要是提取交通流量特征Flow,因为在相同的交通条件下,每个车辆的交通流量应当与其邻居车辆的交通流量非常接近。如果攻击车辆为了创造不存在的事故,从而为自己开辟一条道路,攻击车辆可以降低自己的流量,这个流量与正常情况下不同。因此,提取交通流量特征Flow能够检测False alert攻击。
如图2所示,为了能提取出特征Flow,使用了Green shield模型(Greenshield’smodel.https://www.webpages.uidaho.edu/niatt_labmanual/chapters/trafficflowtheory/theoryandconcepts/greenshieldsmodel.htm.last access 2019.),该模型主要用来描述速度v,密度k和交通流量q这三者之间的关系。
表1 Green shield模型中各个变量的说明
图2中各个变量的物理意义描述如上表所示。在图2左侧中是车辆速度和车辆密度的关系图,可以看出,随着道路车辆密度的上升,车辆速度就会下降,直到达到拥塞密度,v和k之间的关系如公式(1)所示。在图2右侧中是车辆速度与密度和交通流量之间的关系图,q与v/k的关系如公式(2)所示。
q=k×v (2)
由公式(1)和(2)可以获得q和k的关系式(3):
基于Green shield模型,以及公式(1),(2)和(3),能够得到交通流量q,根据公式(4)计算出主车所在道路的平均q值AvgFlowown,其中qne代表邻居车辆所在道路的q值,qown代表主车所在道路的q值,n-1代表主车周围邻居车辆的个数。接着按照同样的方式计算出目标车辆及目标车辆邻居车辆所在道路的平均q值AvgFlowtag,如公式(5)所示,qtne代表目标车辆的邻居车辆所在道路的q值,qtag代表目标车辆所在道路q值,m-1代表目标车辆周围邻居车辆的个数。
接着将公式(4)和公式(5)的差值作为特征值Flow,如公式(6)所示,求差值的物理意义是在相同的道路环境下,两个车的交通流量非常相似,所以这个差值越大说明目标车辆是攻击车辆的可能性也越大。
Flow=|AvgFlowown-AvgFlowtag| (6)
为了能够提取出反映Sybil攻击的位置信息的特征,使用在NS3中实现的无线电传播模型Two-ray ground reflection model。该模型考虑了直接和地面反射路径,并在接收数据包时评估每个数据的信号强度,公式如(7)所示。公式中pr(d)是发送功率,d是发送方和接受方之间的距离,Pt是发送信号的强度,L(L>=1)是系统损失,Gt和Gr分别是发射器和接收器的天线增益,ht和hr分别是发射天线和接收天线的高度。
因而,主车和目标车辆测量距离的公式如公式(8)。
接下来分两种情形提取车辆位置特征:第一种情形是目标车辆在主车的通信范围内;第二种情形是目标车辆不在主车的通信范围内,此时需要邻居车辆转发数据包,所以要分别检查目标车辆和邻居车辆,由于邻居车辆在主车的通信范围内,所以检查的方式和第一种情况检查方式相同。下面分别讨论这两种情形。
(1)目标车辆在通信范围内
通过公式(9)计算出t-1时刻主车和目标车辆的测量距离dtm-1,通过欧式距离计算出t时刻主车和目标车辆的声称距离dtm,如公式(10)所示,Xposown和Yposown代表主车所在位置,Xpostag和Ypostag代表目标车辆声称位置。两个时刻距离的差值PosIn作为车辆位置特征,如公式(11)所示。计算两者差值PosIn的物理意义是,主车和目标车之间的距离在t-1时刻和t时刻应该非常接近,差值越大则目标车辆携带Sybil攻击的可能性越大。
(2)目标车辆不在通信范围内
若目标车辆不在通信范围内,则需要邻居车辆转发数据包,此时主车和目标车辆之间的间隔为dot,如公式(12)所示。主车和邻居车辆之间的间隔为don,如公式(13)所示,邻居车辆和目标车辆之间的间隔为dnt,如公式(14)所示,Xpostag和Ypostag代表目标车辆声称位置,Xposn和Yposn代表邻居车辆所在位置。如公式(15)所示,Posout越接近0则说明目标车辆携带Sybil攻击的可能性越小。
Posout=|dot-(don+dnt)| (15)
如图3,A车和C车不在同一通信范围内,如果要发送数据包,则需要B车转发,B车如果不是攻击车辆,那么在不考虑数据包冲突的情况下,B车将全部转发,如果B车携带攻击,那么数据包将会被B车全部丢弃或者重定向。
携带黑洞攻击的车辆会将接收到的数据包全部丢弃,那么可以通过检测一条通信链路上节点的转发率来检测该节点是否携带Black hole攻击。具体的操作如下,在每一条通信链路上都安装一个看门狗,看门狗计算通信链路上每一个节点的数据包转发率,并将该数据包转发率随消息一起发送出去。如公式(16)所示,Pdr代表数据包的转发率,Sin代表节点接收数据包的数目,Sout代表节点发送数据包的数目。
车联网中的DoS攻击主要是通过频繁的请求连接而导致服务器崩溃,因此通过计算节点发送数据包的频率可以检测出车联网中的DoS攻击。节点单位时间发送数据包数目的公式如(17)所示,公式中Sout代表节点发送数据包的数量,T代表发送周期,单位为秒,Fs代表节点每秒发送的数据包数目,即发送频率。
提取出能够识别出车联网中的False alert攻击,Sybil攻击,Black hole攻击和DoS攻击的特征后,分类器模块选择了具有高检测精度和高表达能力的DNN作为分类器。
有监督的DNN模型常常用于检测网络中的异常,如图4所示,的分类器模块有四层,即输入层Layer1,两层隐藏层Layer2和Layer3以及输出层Layer4。这些层由许多神经元组成,也称为单位。
图4的输入层包括6个神经元,分别是x1,x2,x3,x4,x5和一个偏执神经元,分别代表交通流量特征Flow、位置特征PosIn和Posout、数据包转发率特征Pdr和数据包转发频率特征Fs。第一层隐藏层由30个神经元组成,第一层隐藏层的每个神经元连接到输入层的所有单元。第二层隐藏层由20个神经元组成,第二层隐藏层的每个神经元连接到第一层隐藏层的所有单元。输出层包括一个神经元,输出层输出一个二分类值r,该值如果是“0”代表节点是“正常”节点,如果是“1”代表节点是“异常”节点。在本分类器模型中,输入层不使用激活函数,其它层都使用sigmoid激活函数进行非线性变换。尽管sigmoid激活函数在模型训练的时候容易引起梯度弥散的问题,然而提出的分类器模型只有四层,不会出现梯度弥散的问题。
模型采用有监督训练方式,在训练阶段,将样本标签设置为0或1,其中将“正常”节点的标签值设置为0,“异常”节点的标签值设置为1,“正常”节点不携带任何攻击,“异常”节点包括携带False alert攻击,Sybil攻击,Black hole攻击和DoS攻击的样本。
DNN训练分为两个阶段:正向传播阶段和反向传播阶段。第一阶段是前向传播阶段。神经网络的各层是完全连接的,即第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。从输入层到隐藏层到最终输出层,每个层节点仅接受上一层的输入,并影响下一层的输出。第二阶段是反向传播阶段。如果未达到最大迭代次数或未获得预期输出,则将计算实际输出与预期输出之间的误差,并从最后一层到第一层逐层更新。更新每一层的连接权重是为了使输出值无限接近预期值。
分类器的训练过程如下:首先利用车辆历史消息训练出一个分类器模型,在真实交通环境中,将训练好的分类器模型加载到IDS中用来对未知车辆进行预测,然后可以通过Greenshield模型计算交通流量值,通过Two-ray ground reflection模型计算出车辆的测量距离,每一辆车通过GPS获取车辆的位置坐标,车辆之间发送的消息中包括车辆的ID,车辆密度,车辆位置坐标,速度,车辆作为转发节点时接收数据包个数和实际转发数据包个数,当接收到目标车辆的消息时,主车计算自己的平均交通流量AvgFlowown,并和目标车辆平均交通流量AvgFlowtag做差值提取出流量特征Flow,接着计算目标车辆的数据包转发率特征Pdr和数据包转发频率特征Fs,然后判断目标车辆是否在通信范围内,根据判断结果提取位置特征,将提取出的这些特征作为一条特征输入到训练好的分类器中,就可以得到分类结果。
更新模块一方面维护记录表,另一方面要根据记录表生成A、B并初始化θ,从而生成上述的隐马尔科夫模型。
预检测模块中提出的车联网中的隐马尔科夫模型如图8所示,该模型被定义为λ=(A,B,θ),A表示车辆状态转移概率矩阵,B表示车辆输出观测矩阵,θ是车辆初始状态概率,记为θ=(θ1,θ2,...,θn),其中θi=P(y1=Yi),表示车辆的初始状态为Yi的概率。
预检测模块构建的隐马尔科夫模型中的变量可以分为两组,第一组是邻居车辆的状态变量,状态空间Y∈{“安全”,“不安全”},可以划分为n个离散水平Y:{y1,y2,...,yn},其中yt∈Y表示第t时刻车辆的状态,车辆的状态是隐藏的、不可被观测的。
在车联网中,车辆的状态在多个状态{y1,y2,...,yn}间转换,转换的概率用状态转移概率矩阵A(aij)表示,如公式(17)所示,P表示车辆的状态i从t-1时刻转变为t时刻状态j的概率,用aij表示。
A(aij)=[aij],where i,j∈Y,aij=P(yt=j|yt-1=i) (17)
第二组是观测变量,车辆的观测空间X表示为{“正常”,“异常”},可以划分为m个离散水平X:{x1,x2,...,xn},其中xt∈X表示第t时刻车辆的观测值。令时刻t的状态值为Yt,观测值为Xt,则在任意时刻t,若车辆的状态为i,则观测矩阵B(bj(xt))中bj(xt)表示观测值xt被获取的概率,见公式(18)。
bj(xt)=P{Xt=xt|Yt=i},where i∈Y,xt∈X (18)
那么在t时刻,状态Yt的观测值为Xt的概率序列就可以用观测矩阵B(bj(xt))表示,如公式(19)所示。
B(bj(yt))=diag[b1(yt),...,bN(yt)] (19)
上述隐马尔科夫模型可以预测邻居车辆未来时刻的行为,然后将检测结果直接反馈。
响应中心主要从预检测模块和检测中心接收到检测结果,根据检测结果标记为“正常”节点或者“异常”节点来返回相应的信号。
本发明的有益效果为:在检测精度、开销和检测时间上相比基于DNN的IDS,本发明提出的基于隐马尔科夫模型的IDS的检测有更高的精度,而且平均检测时间远小于基于DNN的IDS,同时具有更少的开销,本发明使用预检测机制相比于使用状态切换的IDS具有更少的开销,更节省计算资源。
附图说明
图1是入侵检测算法框架。
图2是Green shield模型,(a)密度k&速度v,(b)速度v/密度k&交通流量q。
图3是攻击车辆示意图。
图4是DNN分类器模型。
图5是IDS框架。
图6是隐马尔科夫模型的图结构。
图7是车辆状态的转移示意图。
图8是车联网中的隐马尔科夫模型。
图9是预检测模块工作流程图。
图10是更新模块流程图。
图11是检测中心训练阶段流程图。
图12是检测中心预测阶段流程图。
图13是路基设施范围图。
图14是IDS在线学习阶段。
图15是IDS预测流程图。
具体实施方式
图2展示了Green shield模型中车辆速度与密度和交通流量之间的关系
图3为黑洞攻击车辆的示意图
图4展示了DNN的结构
图5显示了本发明设计的简单易操作的系统。
隐马尔科夫模型的图结构如图6所示。
本发明提出的车联网中的隐马尔科夫模型如图8所示,
图9中的流程图,预检测模块会实时的从更新模块获取预测链更新到自己的预测表中,当接收到消息时,预检测模块判断消息的ID是否存在于预测表中,如果存在,判断是否更新隐马尔科夫模型,然后根据预测链判断该ID是“正常”节点还是“异常”节点,并将检测结果和相应参数发送至更新模块和响应中心模块。该模块必须定义的属性有:标准包的大小;正常消息报文标记;转发消息报文标记;目标消息报文标记;车辆唯一ID;转发、源、目标消息的标记;数据包大小;目的路径和转发路径的标记。
该模块中主要的功能是:获得数据包的目的地址;获得下一跳路径;获得邻居车辆ID;获得邻居车辆起始位置;计算当下位置和起始位置的差值;判断邻居车辆的ID是否在通信范围内;获得邻居车辆消息类型;获得接收的数据包大小;设置数据包大小;添加攻击节点;转发消息。
该模块的流程图如图10,不管邻居车辆的ID是否存在于预检测模块的预测表,都应该将检测结果更新并记录到更新模块的记录表中,该记录表中存储每一时刻该车辆的检测结果。经过多次试验证明,当记录表中记录的检测结果达到100个时,隐马尔科夫模型会学习到最优的参数,因此本发明将该值设置为100。
该模块必须定义的属性有:车辆唯一ID;预测链存储变量;检测时刻。该模块主要的功能有:实现baum-welch算法。
首先,在训练阶段,将所有训练样本通过特征提取模块计算并提取出这些样本的流量特征Flow,位置特征PosIn和Posout,消息的转发率Pdr,消息的转发频率Fs,将这些特征作为特征向量记录到特征记录表中,当特征记录表的数量足够多时,将这些特征输入到四层的神经网络模型中,每一次迭代中都进行前向传播和反向传播,在经过多次迭代之后模型的参数变化值都小于停止迭代阈值,此时模型的损失函数达到最优解,最后将训练好的模型保存起来。经过多次试验证明,当特征记录表中数量越多,模型学习的越好,但是训练时间也越长,因此为了同时保证学习效果和效率,本系统将记录数值设置为10000。训练阶段的流程图如图11所示。
在预测阶段,将邻居车辆的消息经过特征提取后直接输入模型,经过DNN模型后将节点分为“正常”节点或“异常”节点,最后将检测结果发送至更新模块和响应中心。将模型输出概率值以0.5为界限分为“正常”节点或“异常”节点是因为本发明使用的是sigmoid激活函数。预测阶段的流程图如图12所示。
为了计算提取这些特征,该模块必须定义的属性有:标识一个车辆唯一的ID;车辆类型;车辆的位置;标识车辆的速度;车辆起始位置;车辆目的位置。这些值都是String类型的,除了ID不能是空值,其他值可以出现空值。该模块的主要功能有:设置车辆的属性;计算交通流量;判断目标车辆是否在通信范围内;计算交通位置;计算数据包转发率;计算数据包转发频率。
系统会对每一个车辆一个信誉分,根据不同攻击类型对车联网的破坏,车辆每一次被判定为攻击车辆时,系统将扣掉相应的信誉分,直到该信誉分降到0或者负值时,系统将对该车辆进行惩罚措施。采用这样的方式,就避免了因为误判而直接将车辆节点排除在外造成的损失,只有同一车辆多次被测量为攻击车辆时才会被惩罚,同时本系统不会出现一个合法车辆被多次判定为攻击车辆的情况。
为了让系统的相应模块具有更高的效率,避免响应过程中车辆之间频繁交换信息占用资源,本系统使用RSU来辅助响应。具体的,RSU中存储着据它距离较近的所有车辆的信誉得分,每一次检测出一个车辆可能携带攻击时,该车辆都会被上报到距他最近的RSU,而RSU会检查并扣除该车辆的信誉值。
假设系统中每隔距离LR处部署一个RSU,车辆的通信范围为2LC,那么通信半径就是LC,则为了减小RSU与车辆之间的通讯时间并且提高RSU处理消息的时间,同时,为了提高资源的利用率,应该使得LR>>LC。
如图13所示,位置A处的车辆和距离其最近的路边单元1交换信息,位置B和位置C的车辆会与路边单元2交换信息,当位置B处的车辆行驶到位置A时,该车辆会得知路边单元1的信息。
综合以上分析,每个RSU都向其通信范围内的车辆提供服务,同时协同响应模块对每个车辆进行信誉计分,以此来完成整个IDS的安全工作。在本发明的IDS中要求每个RSU具有如下功能:
(1)记录其通信范围内所有车辆的信息,包括车辆ID,车辆位置坐标,信誉得分等。一方面记录的信息过多会导致RSU的负载过大,另一方面,一定程度上可以检测出车辆信息不一致现象。
(2)协助IDS进行车辆检测,协助相邻RSU以及车辆对被举报车辆进行监测,同时计算每个车辆的信誉得分。
(3)对每个信誉得分为0或负值的车辆直接进行拒绝服务的操作,同时断掉其所有正在进行的服务。
在开始时,记录表是空的,所以用于生成隐马尔科夫模型的参数A、B和θ是未知的,因此系统包括在线学习阶段和预测阶段。在线学习阶段用来记录足够多的参数,以生成隐马尔科夫模型,之后将模型保存起来,在预测阶段,加载这个模型,对接收到的消息进行预测。
在接收到目标车辆的消息时,如果隐马尔科夫模型未生成,则无法使用预测链进行决策,因此将消息转发至检测中心进行检测,只有当IDS经过在线学习得到了隐马尔科夫模型,预检测模块才能够对消息进行过滤。下面本发明结合图5的IDS框架分别阐述IDS在线学习阶段和预测阶段。
(1)IDS在线学习阶段,图14是IDS在线学习阶段工作流程图,其具体工作流程如下:
1)系统在正式工作之前,需要通过历史数据集在线下训练一个分类器模型,一开始就将该分类模型加载到IDS中。当主车收到目标车辆的消息时,将消息发送至预检测模块。
2)预检测模块接收到消息后,更新其维护的预测表,预测表中存储着邻居车辆的ID以及对应的预测链和相关参数,更新过程是从更新模块中读取最新的观测链,并写入预测表中。
3)预检测模块判断该消息的ID是否存在于其所维护的预测表中,如果存在,在做出决策之前,判断更新模块中维护的记录表中记录的该ID的记录序列是否达到N个。
4)如果记录表的记录序列达到100个,则随机初始化A、B和θ,结合记录序列,学习出具有最优参数的隐马尔科夫模型。接着生成新的预测链,最后将该ID的预测链和相关参数发送至预测表中。
5)如果记录表的记录序列未达到100个,则说明此时无法通过隐马尔科夫模型过滤此消息,那么就将该消息转发至检测中心检测。
6)检测中心收到该消息后,则对该消息进行特征处理,提取出能够识别攻击的特征:流量特征Flowown、位置信息特征PosIn和Posout、数据包转发率特征Pdr和数据包转发频率特征Fs。然后将这些特征作为一条特征记录输入到训练好的分类器模型中,分类器模型将该消息分类为正常节点或异常节点。
7)将从预检测模块或检测中心得到的结果分别发送至记录表和响应中心。记录表记录该ID的检测结果,接着响应中心根据该检测结果做出响应。
8)全部流程结束。
(2)IDS预测阶段,图15是IDS预测阶段工作流程图,其具体工作流程如下:
1)系统在正式工作之前,需要通过历史数据集在线下训练一个分类器模型,一开始就将该分类模型加载到IDS中。当主车收到目标车辆的消息时,将消息发送至预检测模块。
2)预检测模块接收到消息后,更新其维护的预测表,预测表中存储着邻居车辆的ID以及对应的预测链和相关参数,更新过程是从更新模块中读取最新的预测链,并写入预测表中。
3)预检测模块判断该消息的ID是否存在于其所维护的预测表中,如果存在,则判断步长是否大于预测链长度,如果大于,则更新隐马尔科夫模型,生成新的预测链,并得出决策结果r,并将r发送至记录和响应中心。否则,读取该步长的预测值,并发送至记录表和响应中心。
4)响应中心根据r返回响应信号。记录表记录r,然后根据该记录表生成该ID的A、B和θ。然后根据A,B,θ生成隐马尔科夫模型λ=(A,B,θ),接着生成预测链,最后将该ID的预测链和相关参数发送至预测表中。
5)如果该消息的ID不存在于其所维护的预测表中,则预检测模块不对该消息做任何处理,直接将该消息转发至检测中心。
6)检测中心收到该消息后,则对该消息进行特征处理,提取出能够识别攻击的特征:流量特征Flowown、位置信息特征PosIn和Posout、数据包转发率特征Pdr和数据包转发频率特征Fs。然后将这些特征作为一条特征记录输入到训练好的分类器模型中,分类器模型将该消息分类为正常节点或异常节点,即检测结果r。
7)记录表记录r,接着根据该记录表生成该ID的A、B并初始化θ。然后根据A,B,θ生成隐马尔科夫模型λ=(A,B,θ),接着生成预测链,最后将该ID的预测链和相关参数发送至预测表中。响应中心根据r返回响应信号。
8)全部流程结束。
本系统生成正常以及异常数据的工作环境是Ubuntu18.04,编程语言是C++,需要在Ubuntu18.04环境下安装配置相应的SUMO和NS3的相关模块和依赖;IDS工作环境是Windows10,IDS中分类器模块使用Python3语言实现,其他模块是基于Java语言实现的,所以在进行相应模块的设计开发之前,需要在Windows环境下安装配置相应的Java环境。
实验的参数如表2所示。交通场景是一个具有2车道的高速公路,公路长度为5米,通信协议是802.11p协议。为了避免在模拟中产生过多的数据,本发明将模拟时间设置为165s,车辆到达间隔为1s,传输间隔为0.1s,根据若干实验,将最大错误阈值设置为3,观测链长度设置为100。
表2实验参数
通过计算检测精度,开销和平均检测时间来评价所提出的IDS,计算方法如下:
(1)检测精度:即在模拟时间内不携带攻击的车辆被分类为正常节点的车辆,以及携带攻击的车辆被分类为异常节点的车辆,所占总检测车辆的百分比,假设车辆的总数为n,其中分类正确车辆的个数为m,检测精度用acc表示,则检测精度的计算公式如(20)所示。
(2)开销:表示单位时间内IDS处理消息的规模,单位为Kbytes/s,用ov表示开销,t表示处理时间,k表示时间t内处理的消息的总数量,b表示每个消息的字节数,则ov的计算公式如(21)所示。
(3)平均检测时间:即IDS处理消息的平均花费时间,单位为秒,假设车辆的检测时间用t表示,平均检测时间用dt表示,则计算公式如(22)所示。
为了能清楚的显示检测出的攻击车辆,本发明将系统运行结果进行可视化,在界面中通过按钮来对车辆注册IDS,系统默认是基于隐马尔科夫模型的IDS,由于将同一条比较长的道路模拟在屏幕中不易于用户的直观感受,因此在系统中,当距离较远的情况下,将这条道路反映到屏幕中的其他地方。
一旦车辆进入道路系统,每个车辆节点要向其距离最近的路基设施发送请求服务消息。区域I是菜单栏,作为控制程序运行状态的空间,可以通过菜单栏的按钮对道路中的车辆进行开始、暂停和重置的操作,用户选择注册基于DNN的IDS或基于隐马尔科夫模型的IDS,系统默认是注册基于隐马尔科夫模型的IDS;区域II为文本提示框,在程序运行过程中显示对道路中车辆的检测结果,并实时的统计道路上车辆的总数、已经检测出的攻击车辆的数量以及车辆的平均检测时间,通过区域II,用户可以直观看到程序的运行过程。区域III对检测进度实时提示,会显示出当前检测车辆的ID、对当前车辆的检测结果,即是“正常”或“异常”,以及对当前车辆的检测时间。
表3两种IDS性能对比
表3展示了在攻击车辆分别是10%、20%、30%和40%的场景中,基于DNN的IDS和基于隐马尔科夫模型的IDS之间在检测精度、开销和检测时间上的比较。由此看出,相比基于DNN的IDS,基于隐马尔科夫模型的IDS的检测精度更高,而且平均检测时间远小于基于DNN的IDS,同时,基于隐马尔科夫模型的IDS具有更少的开销。
Claims (6)
1.一种基于隐马尔科夫模型的车联网入侵检测系统,其特征在于,包括预检测模块、更新模块、检测中心模块和响应中心模块;
预检测模块用于过滤邻居车辆的消息;该模块中主要的功能包括获得数据包的目的地址,获得下一跳路径,获得邻居车辆ID,获得邻居车辆起始位置,计算当下位置和起始位置的差值,判断邻居车辆的ID是否在通信范围内,获得邻居车辆消息类型,获得接收的数据包大小,设置数据包大小,添加攻击节点,转发消息;预检测模块从更新模块接收每个邻居车辆的预测链,然后将预测链和该预测链的相关参数存储在预测表中,根据其接收的消息判断ID是否存在于该预测表中,如果存在,判断是否需要更新隐马尔科夫模型,然后根据预测链预测车辆是“正常”节点还是“异常”节点,并将决策结果发送至更新模块和响应中心模块;否则,将邻居车辆的消息转发到检测中心模块;
更新模块用于维护记录表并且根据记录表建立新的隐马尔科夫模型,隐马尔科夫模型生成预测链后会将其发送给预检测模块;而从预检测模块和检测中心模块接收的结果会被记录到更新模块的记录表中,当模型学习时,随机初始化参数值,并根据记录表中车辆的检测结果,利用baum-welch算法学习出模型的最优参数;
检测中心模块中的特征提取模块提取识别攻击的特征,分类器模块用于根据特征对攻击进行分类;无法被预检测模块过滤掉的车辆将由检测中心模块检测,经由检测中心将其标记为“正常”或“异常”,并将结果发送至更新模块和响应中心模块;
响应中心模块从预检测模块和检测中心接收到检测结果,根据检测结果返回相应的信号,使网络管理员做出规避措施,使得车联网损失达到最小;
检测中心模块的特征提取模块,用于提取能够识别False alert攻击的交通流量特征、Sybil攻击的车辆位置特征、Black hole攻击的数据包转发率特征和DoS攻击的数据包转发频率特征;
检测中心模块的特征提取模块,提取能够识别False alert攻击的交通流量特征值Flow;基于Green shield模型,得到交通流量q,根据公式(4)计算出主车所在道路的平均q值AvgFlowown,其中qne代表邻居车辆所在道路的q值,qown代表主车所在道路的q值,n-1代表主车周围邻居车辆的个数;按照同样的方式计算出目标车辆及目标车辆邻居车辆所在道路的平均q值AvgFlowtag,如公式(5),qtne代表目标车辆的邻居车辆所在道路的q值,qtag代表目标车辆所在道路q值,m-1代表目标车辆周围邻居车辆的个数;
将公式(4)和公式(5)的差值作为特征值Flow,如公式(6)所示,
Flow=|AvgFlowown-AvgFlowtag| (6)。
2.根据权利要求1所述的基于隐马尔科夫模型的车联网入侵检测系统,其特征在于,检测中心模块的特征提取模块,提取能够识别Sybil攻击的车辆位置特征;分两种情形提取车辆位置特征:第一种情形是目标车辆在主车的通信范围内;第二种情形是目标车辆不在主车的通信范围内;
1)目标车辆在通信范围内PosIn;
通过公式(9)计算出t-1时刻主车和目标车辆的测量距离dtm-1,通过欧式距离计算出t时刻主车和目标车辆的声称距离dtm,如公式(10)所示,Xposown和Yposown代表主车所在位置,Xpostag和Ypostag代表目标车辆声称位置;两个时刻距离的差值PosIn作为车辆位置特征,如公式(11)所示;
PosIn=|dtm-1-dtm| (11)
其中,Pt是发送信号的强度,Gt和Gr分别是发射器和接收器的天线增益,ht和hr分别是发射天线和接收天线的高度,pr(d)是发送功率,L是系统损失;
2)目标车辆不在通信范围内Posout;
若目标车辆不在通信范围内,则需要邻居车辆转发数据包,此时主车和目标车辆之间的间隔为dot,如公式(12)所示;主车和邻居车辆之间的间隔为don,如公式(13)所示,邻居车辆和目标车辆之间的间隔为dnt,如公式(14)所示,Xpostag和Ypostag代表目标车辆声称位置,Xposn和Yposn代表邻居车辆所在位置;如公式(15)所示,Posout越接近0则说明目标车辆携带Sybil攻击的可能性越小;
Posout=|dot-(don+dnt)| (15)。
4.根据权利要求1所述的基于隐马尔科夫模型的车联网入侵检测系统,其特征在于,检测中心模块中的分类器模块有四层,即输入层、两层隐藏层以及输出层;输入层包括6个神经元,分别是x1,x2,x3,x4,x5和一个偏执神经元,其中五个分别代表交通流量特征Flow、位置特征PosIn和Posout、数据包转发率特征Pdr和数据包转发频率特征Fs;第一层隐藏层由30个神经元组成,第一层隐藏层的每个神经元连接到输入层的所有单元;第二层隐藏层由20个神经元组成,第二层隐藏层的每个神经元连接到第一层隐藏层的所有单元;输出层包括一个神经元,输出层输出一个二分类值r,该值如果是“0”代表节点是“正常”节点,如果是“1”代表节点是“异常”节点;在本分类器模型中,输入层不使用激活函数,其它层都使用sigmoid激活函数进行非线性变换。
5.根据权利要求4所述的基于隐马尔科夫模型的车联网入侵检测系统,其特征在于,分类器的训练过程如下:首先利用车辆历史消息训练出一个分类器模型,在真实交通环境中,将训练好的分类器模型加载到车联网入侵检测系统中用来对未知车辆进行预测,然后通过Greenshield模型计算交通流量值,通过Two-ray ground reflection模型计算出车辆的测量距离,每一辆车通过GPS获取车辆的位置坐标,车辆之间发送的消息中包括车辆的ID、车辆密度、车辆位置坐标、速度、车辆作为转发节点时接收数据包个数和实际转发数据包个数,当接收到目标车辆的消息时,主车计算自己的平均交通流量AvgFlowown,并和目标车辆平均交通流量AvgFlowtag做差值提取出流量特征Flow,接着计算目标车辆的数据包转发率特征Pdr和数据包转发频率特征Fs,然后判断目标车辆是否在通信范围内,根据判断结果提取位置特征,将提取出的这些特征作为一条特征输入到训练好的分类器中,就得到分类结果。
6.根据权利要求1所述的基于隐马尔科夫模型的车联网入侵检测系统,其特征在于,预检测模块中提出的车联网中的隐马尔科夫模型被定义为λ=(A,B,θ),A表示车辆状态转移概率矩阵,B表示车辆输出观测矩阵,θ是车辆初始状态概率,记为θ=(θ1,θ2,...,θn),其中θi=P(y1=Yi),表示车辆的初始状态为Yi的概率;
预检测模块构建的隐马尔科夫模型中的变量分为两组,第一组是邻居车辆的状态变量,状态空间Y∈{“安全”,“不安全”},划分为n个离散水平Y:{y1,y2,...,yn},其中yt∈Y表示第t时刻车辆的状态,车辆的状态是隐藏的、不可被观测的;
在车联网中,车辆的状态在多个状态{y1,y2,...,yn}间转换,转换的概率用状态转移概率矩阵A(aij)表示,如公式(17)所示,P表示车辆的状态i从t-1时刻转变为t时刻状态j的概率,用aij表示;
A(aij)=[aij],where i,j∈Y,aij=P(yt=j|yt-1=i) (17)
第二组是观测变量,车辆的观测空间X表示为{“正常”,“异常”},划分为m个离散水平X:{x1,x2,...,xn},其中xt∈X表示第t时刻车辆的观测值;令时刻t的状态值为Yt,观测值为Xt,则在任意时刻t,若车辆的状态为i,则观测矩阵B(bj(xt))中bj(xt)表示观测值xt被获取的概率,见公式(18);
bj(xt)=P{Xt=xt|Yt=i},where i∈Y,xt∈X (18)
在t时刻,状态Yt的观测值为Xt的概率序列就可以用观测矩阵B(bj(xt))表示,如公式(19)所示:
B(bj(yt))=diag[b1(yt),...,bN(yt)] (19)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010640942.1A CN111800421B (zh) | 2020-07-06 | 2020-07-06 | 一种基于隐马尔科夫模型的车联网入侵检测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010640942.1A CN111800421B (zh) | 2020-07-06 | 2020-07-06 | 一种基于隐马尔科夫模型的车联网入侵检测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111800421A CN111800421A (zh) | 2020-10-20 |
CN111800421B true CN111800421B (zh) | 2021-08-24 |
Family
ID=72810410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010640942.1A Active CN111800421B (zh) | 2020-07-06 | 2020-07-06 | 一种基于隐马尔科夫模型的车联网入侵检测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111800421B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113950113B (zh) * | 2021-10-08 | 2022-10-25 | 东北大学 | 一种基于隐马尔科夫的车联网切换决策方法 |
CN113946829B (zh) * | 2021-10-08 | 2024-05-10 | 东北大学 | 一种基于区块链的车联网分布式信任系统 |
CN114301626B (zh) * | 2021-11-26 | 2023-05-12 | 中国人民解放军战略支援部队信息工程大学 | 基于同质性预测的有向社交网络虚假用户检测方法 |
CN115310079B (zh) * | 2022-10-13 | 2023-01-10 | 中国汽车技术研究中心有限公司 | 一种基于智能网联汽车攻击矩阵的展示方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107948172A (zh) * | 2017-11-30 | 2018-04-20 | 恒安嘉新(北京)科技股份公司 | 一种基于人工智能行为分析的车联网入侵攻击检测方法和系统 |
CN111294341A (zh) * | 2020-01-17 | 2020-06-16 | 成都信息工程大学 | 基于自编码器和递归神经网络的车载系统入侵检测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109005173B (zh) * | 2018-08-02 | 2020-08-07 | 北京航空航天大学 | 一种基于交通流密度差异的车联网异常入侵检测方法 |
CN110097755B (zh) * | 2019-04-29 | 2021-08-17 | 东北大学 | 基于深度神经网络的高速公路交通流量状态识别方法 |
-
2020
- 2020-07-06 CN CN202010640942.1A patent/CN111800421B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107948172A (zh) * | 2017-11-30 | 2018-04-20 | 恒安嘉新(北京)科技股份公司 | 一种基于人工智能行为分析的车联网入侵攻击检测方法和系统 |
CN111294341A (zh) * | 2020-01-17 | 2020-06-16 | 成都信息工程大学 | 基于自编码器和递归神经网络的车载系统入侵检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111800421A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111800421B (zh) | 一种基于隐马尔科夫模型的车联网入侵检测系统 | |
Zhou et al. | Distributed collaborative intrusion detection system for vehicular Ad Hoc networks based on invariant | |
Liang et al. | A novel Intrusion Detection System for Vehicular Ad Hoc Networks (VANETs) based on differences of traffic flow and position | |
Kaur et al. | Hybrid optimization enabled trust-based secure routing with deep learning-based attack detection in VANET | |
Liang et al. | A filter model based on hidden generalized mixture transition distribution model for intrusion detection system in vehicle ad hoc networks | |
Haddaji et al. | Artificial Intelligence techniques to mitigate cyber-attacks within vehicular networks: Survey | |
Tamilvizhi et al. | Privacy Preserving Reliable Data Transmission in Cluster Based Vehicular Adhoc Networks. | |
Sultan et al. | Collaborative-trust approach toward malicious node detection in vehicular ad hoc networks | |
Nayak et al. | Hybrid Bayesian optimization hypertuned catboost approach for malicious access and anomaly detection in IoT nomalyframework | |
Liang et al. | ECF-MRS: An efficient and collaborative framework with Markov-based reputation scheme for IDSs in vehicular networks | |
Janani et al. | Threat analysis model to control IoT network routing attacks through deep learning approach | |
Acharya et al. | A dual approach for preventing blackhole attacks in vehicular ad hoc networks using statistical techniques and supervised machine learning | |
Wang et al. | A deep reinforcement learning based intrusion detection strategy for smart vehicular networks | |
Selamnia et al. | Edge computing-enabled intrusion detection for c-v2x networks using federated learning | |
Lemus Cárdenas et al. | DTMR: A decision tree-based multimetric routing protocol for vehicular ad hoc networks | |
Shanmathi et al. | Enhancing wireless sensor network security and efficiency with CNN-FL and NGO optimization | |
Yadav et al. | Dynamic traffic management system using neural network based iot system | |
Saudagar et al. | An amalgamated novel ids model for misbehaviour detection using vereminet | |
Vatambeti et al. | Routing attack detection using ensemble deep learning model for IIoT | |
CN116916317A (zh) | 一种基于大白鲨和随机森林的入侵检测方法 | |
Belaissaoui et al. | Machine Learning techniques optimized by Practical Swarm optimization for Intrusions Detection in IoT. | |
Bajpai et al. | Intrusion detection for internet of vehicles using machine learning | |
Canh et al. | Machine Learning-Based Malicious Vehicle Detection for Security Threats and Attacks in Vehicle Ad-Hoc Network (VANET) Communications | |
Dutra et al. | Dismiss-bsm: an architecture for detecting position spoofing in basic safety messages | |
Sontakke et al. | Optimized Deep Neural Model-Based Intrusion Detection and Mitigation System for Vehicular Ad-Hoc Network |
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 |