当前位置: 首页 > 专利查询>吉林大学专利>正文

一种基于CAN总线的异常检测方法技术

技术编号:38328788 阅读:14 留言:0更新日期:2023-07-29 09:11
本发明专利技术涉及一种基于CAN总线的异常检测方法,属于汽车CAN总线数据信息安全领域。包括离线阶段,提取出BID和记录每个报文之间的先后关系并计算相关阈值;在线检测阶段,进行实时异常检测;优化阶段,对阈值进行更新,提高检测效率。有益效果是:提出了对于周期性报文和非周期性报文的不同的处理方法并运用在改进的LevenshteinDistance中,提高了异常检测的正确性。本发明专利技术采用了遗传算法对阈值进行进一步优化,提高了检测的查准率、查全率和准确率;对不同的攻击都有较高的准确性和极高的查准率,可应用于车载网络这一资源受限的网络中进行异常检测;相较于基于机器学习的方法,有较低的资源占用和较少的检测时间,更适合部署于车载网络中。载网络中。载网络中。

【技术实现步骤摘要】
一种基于CAN总线的异常检测方法


[0001]本专利技术属于汽车CAN总线数据信息安全领域,尤其涉及一种基于CAN总线的异常检测方法,应用于对汽车CAN总线信息传输的异常检测,能检测出Dos攻击、模糊攻击和注入攻击,保证CAN总线数据信息安全。

技术介绍

[0002]现代汽车已成为由大量互联的嵌入式子系统组成的移动信息平台。在每个子系统中,电子控制单元(Electronic Control Unit,ECU)控制相应的机械部件,并通过控制器局域网(Controller Area Network,CAN)、LIN和FlexRay等车内网络互联。近年来,更多的接口和信息娱乐单元被广泛部署在网络内部,为攻击提供了新的途径。
[0003]由于CAN网络作为车载信息系统核心ECU的连接网络,CAN网络的安全至关重要,但在设计之初并未考虑信息安全机制,使得车载网络极易受到Dos、嗅探、修改和注入等攻击。在物理层中,CAN总线物理层为双绞线或同轴电缆,易于非法接入。在数据链路层中,报文的传输以明文形式传播,缺少数据加密保证,容易导致消息被窃取和篡改。在网络层中,消息仅仅通过ID进行标定和作为接收过滤,这意味着任意ECU都可以访问CAN总线网络中的核心ECU例如发动机,转向器等ECU。由上可知车载ECU的安全直接决定着整个车载信息系统的安全,可以说没有车载ECU安全就没有车主信息系统安全。由以上脆弱性,使得CAN总线很容易成为被黑客攻击的地方。
[0004]现行的车载网络信息安全方法,包括车载网络数据加密技术、车载网络消息认证技术和车载网络异常检测技术三种方法。数据加密技术广泛运用于通信信道的各个领域,但由于车载网络环境中计算资源紧张和消息加密对网络通信带来的多余时间开销问题,一直得不到很好的解决,车载网络消息认证也存在带宽资源和消息响应时间的问题。入侵检测技术由于其占用带宽少、便于部署于车辆的特点被广泛运用于当前车辆中。
[0005]目前,现有的CAN入侵方式有基于特征观察的异常检测、基于信息理论和基于统计分析的检测方法和机器学习方法。基于特征观察的异常检测主要对网络特征包括时钟偏移、频率等进行分析,对特定攻击有较高的精度,但随着时间的推延,物理特征会动态变化。基于机器学习的检测方法,对未知攻击有较高的检测效果,但仍存在计算复杂度和实时性的问题。基于信息理论和统计分析的方法,主要是考虑一个时间窗内数据的正确性。比较一个时间窗内数据的信息熵或者相似性,是这个时间窗内整体的信息。但是CAN总线的报文存在基于事件触发的和基于时间触发的。单纯的基于时间窗的异常检测仅仅能对周期性的报文传递有较好的检测效果,而对非周期性的报文检测效果不佳。

技术实现思路

[0006]本专利技术提供一种基于CAN总线的异常检测方法,采用基于统计的异常检测方法,更好的处理周期性和非周期性的报文,对每个报文和整个事件窗内报文进行异常检测。
[0007]本专利技术采取的技术方案是,包括下列步骤:
[0008](一)、离线阶段,提取出BID和记录每个报文之间的先后关系并计算相关阈值;
[0009](二)、在线检测阶段,进行实时异常检测;
[0010](三)、优化阶段,对阈值进行更新,提高检测效率。
[0011]本专利技术所述步骤(一)离线阶段包括:
[0012](1)、将重复出现的周期性ID作为ID的基准BID,将车辆正常运行的报文的ID的前后信息进行记录,构建出转移矩阵tran
ij
,其中i,j分别代表ID,tran
ij
的值代表ID
i
之后是ID
j
的概率,即不同报文之间的前后转移概率,将每一个ID作为图的节点V,构建一个图G(V,E),当转移矩阵的值大于阈值时,则构建一条从i指向j的边E(G)=E(G)∪{(i,j)},将具有最长度和次长长度的均由相同周期的子图的结点作为BID;
[0013](2)、为处理非周期性报文、未出现的报文和不在BID中的周期性报文,为个体报文异常检测,采用N

gram算法进行估计,采用2

gram、并采用ModifiedKneser—Ney的平滑算法进行平滑,从转移矩阵中拿出一定的概率赋予未出现的事件,并计算出每个词的接词能力,得到每个ID(ID
i
)的接词能力backoff
i
、每个ID(ID
i
)的1

gram的概率P(i),任意两个ID(ID
i
到ID
j
)2

gram的概率P(ij)将其转化为log的形式,便利于之后的乘法运算,上述值将作的度量;
[0014](3)、为衡量两个时间窗内报文的相似度,为整体报文异常检测,采用将N

gram算法合并LevenshteinDistance的方式,当相似度高于阈值时,则定义为异常,当ID是BID时,按照正常的LevenshteinDistance进行计算lev
a,b
(i,j),其中a,b分别代表两个时间窗内的报文,i,j分别代表当前计算的ID在a,b中的位置,lev
a,b
(i,j)代表着a从开始到第i位与b从开始到第j位之间的LevenshteinDistance,计算方法如下:
[0015][0016]而对于非BID的ID帧,则通过n

gram计算出现的概率,当出现的概率小于阈值threshold
ngram
时,表示该ID出现的在报文后面的可能性较小,因此保留在ID时间窗中,用公式(1)计算lev
a,b
(i,j),而当大于阈值时,表示该ID出现的可能性较高,直接将该ID视为正确的ID,在计算距离时,其LevenshteinDistance为他前面ID的最小LevenshteinDistance,即该报文相当于没有在序列中出现,即:
[0017][0018]最后将得到两个时间窗内的LevenshteinDistance作为两时间窗报文的相似度的度量,即a,b两个时间窗内报文的相似度为式(3),其中length(a),length(b)分别代表a,b时间窗的长度;
[0019]similarity(a,b)=lev
a,b
(length(a)+1,length(b)+1)
ꢀꢀꢀ
#(3)
[0020](4)、在车辆的正常行驶数据中,采用阈值法计算正确值的阈值,即采用在正常数据中计算各个词转换的最小概率作为n

gram算法的阈值threshold
ngram
,并将部分行驶的数据采用步骤(3)计算整体的相似度,将相似度的最大值作为相似度的阈值threshold
similarity

[0021]本专利技术所述步骤(二)在线检测阶段包括:
[0022本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于CAN总线的异常检测方法,其特征在于,包括下列步骤:(一)、离线阶段,提取出BID和记录每个报文之间的先后关系并计算相关阈值;(二)、在线检测阶段,进行实时异常检测;(三)、优化阶段,对阈值进行更新,提高检测效率。2.根据权利要求1所述的一种基于CAN总线的异常检测方法,其特征在于,所述步骤(一)离线阶段包括:(1)、将重复出现的周期性ID作为ID的基准BID,将车辆正常运行的报文的ID的前后信息进行记录,构建出转移矩阵tran
ij
,其中i,j分别代表ID,tran
ij
的值代表ID
i
之后是ID
j
的概率,即不同报文之间的前后转移概率,将每一个ID作为图的节点V,构建一个图G(V,E),当转移矩阵的值大于阈值时,则构建一条从i指向j的边E(G)=E(G)∪{(i,j)},将具有最长度和次长长度的均由相同周期的子图的结点作为BID;(2)、为处理非周期性报文、未出现的报文和不在BID中的周期性报文,为个体报文异常检测,采用N

gram算法进行估计,采用2

gram、并采用ModifiedKneser—Ney的平滑算法进行平滑,从转移矩阵中拿出一定的概率赋予未出现的事件,并计算出每个词的接词能力,得到每个ID(ID
i
)的接词能力backoff
i
、每个ID(ID
i
)的1

gram的概率P(i),任意两个ID(ID
i
到ID
j
)2

gram的概率P(ij)将其转化为log的形式,便利于之后的乘法运算,上述值将作的度量;(3)、为衡量两个时间窗内报文的相似度,为整体报文异常检测,采用将N

gram算法合并LevenshteinDistance的方式,当相似度高于阈值时,则定义为异常,当ID是BID时,按照正常的LevenshteinDistance进行计算lev
a,b
(i,j),其中a,b分别代表两个时间窗内的报文,i,j分别代表当前计算的ID在a,b中的位置,lev
a,b
(i,j)代表着a从开始到第i位与b从开始到第j位之间的LevenshteinDistance,计算方法如下:而对于非BID的ID帧,则通过n

gram计算出现的概率,当出现的概率小于阈值时,表示该ID出现的在报文后面的可能性较小,因此保留在ID时间窗中,用公式(1)计算lev
a,b
(i,j),而当大于阈值时,表示该ID出现的可能性较高,直接将该ID视为正确的ID,在计算距离时,其LevenshteinDistance为他前面ID的最小LevenshteinDistance,即该报文相当于没有在序列中出现,即:最后将得到两个时间窗内的...

【专利技术属性】
技术研发人员:宋佳儒秦贵和孙铭会梁艳花杨立峰李志豪王赢庆刘婉宁叶硼东
申请(专利权)人:吉林大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1