本發(fā)明屬于車載網(wǎng)絡(luò)安全領(lǐng)域,具體涉及基于cnn和transformer的網(wǎng)聯(lián)車can總線異常檢測方法(dm-cbct)。
背景技術(shù):
1、隨著車聯(lián)網(wǎng)的實(shí)施,車輛與外界萬物(如基礎(chǔ)設(shè)施和車輛)的交互將導(dǎo)致車載can網(wǎng)絡(luò)面臨更高的安全風(fēng)險(xiǎn)。早期異常檢測可以最大化保證車輛和人員的安全。
2、網(wǎng)聯(lián)車can異常檢測方法一般分為兩類:基于模型的異常檢測方法和基于數(shù)據(jù)驅(qū)動(dòng)的異常檢測方法。基于模型的方法依賴于較強(qiáng)的專業(yè)知識建立異常檢測模型。can協(xié)議由于其本身的復(fù)雜性,對專業(yè)知識要求高,因此很難建立精確的模型。目前,數(shù)據(jù)驅(qū)動(dòng)方法由于能夠自動(dòng)提取特征,且對專業(yè)知識的要求較低,在網(wǎng)聯(lián)車can異常檢測中得到了廣泛的應(yīng)用。
3、近年來,深度學(xué)習(xí)的發(fā)展為數(shù)據(jù)驅(qū)動(dòng)的異常檢測提供了機(jī)遇。常用的深度學(xué)習(xí)方法包括自動(dòng)編碼器、卷積神經(jīng)網(wǎng)絡(luò)、長短期記憶網(wǎng)絡(luò)、深度信念網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)。數(shù)據(jù)驅(qū)動(dòng)的異常檢測方法雖然效果顯著,但在實(shí)際場景中,采集到的can數(shù)據(jù)有很多冗余信息,會(huì)嚴(yán)重影響異常檢測精度。因此,如何從can數(shù)據(jù)中提取id和數(shù)據(jù)字段特征準(zhǔn)確地估計(jì)網(wǎng)聯(lián)車can異常類型仍是一個(gè)挑戰(zhàn)。
技術(shù)實(shí)現(xiàn)思路
1、針對現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明的目的在于提供一種基于cnn和transformer的網(wǎng)聯(lián)車can總線異常檢測方法,應(yīng)用于網(wǎng)聯(lián)車中,解決其內(nèi)部can網(wǎng)絡(luò)異常檢測問題的異常檢測方法。
2、本發(fā)明提供如下技術(shù)方案:基于cnn和transformer的網(wǎng)聯(lián)車can總線異常方法,包括以下步驟:
3、1)通過車輛的obd-ii端口,獲取can總線數(shù)據(jù)。使用滑動(dòng)窗口分割can數(shù)據(jù),構(gòu)建固定長度的can消息序列。將分割后的數(shù)據(jù)分為訓(xùn)練集和測試集;
4、2)采用min-max標(biāo)準(zhǔn)化方法對訓(xùn)練集的can序列和測試集的can序列進(jìn)行比例縮放,生成符合深度學(xué)習(xí)模型訓(xùn)練的數(shù)據(jù)輸入格式;
5、3)確定基于cnn和transformer的網(wǎng)聯(lián)車can網(wǎng)絡(luò)異常檢測模型dm-cbct的整體結(jié)構(gòu)和參數(shù),將訓(xùn)練集輸入到dm-cbct中進(jìn)行訓(xùn)練,得到一個(gè)用于網(wǎng)聯(lián)車can流量的異常檢測模型,訓(xùn)練集在dm-cbct中的具體處理過程如下:
6、3.1)通過卷積層自動(dòng)學(xué)習(xí)輸入訓(xùn)練集can序列中的id和數(shù)據(jù)字段特征,捕捉can序列中的局部依賴關(guān)系;
7、3.2)輸入的訓(xùn)練集can序列首先通過dm-cbct中的蟻獅優(yōu)化算法自適應(yīng)調(diào)節(jié)cnn的感受野大小,然后經(jīng)過異常檢測模型中的transformer模塊,獲取can序列的全局特征關(guān)系;
8、3.3)將步驟3.2)中經(jīng)過調(diào)整感受野后的卷積神經(jīng)網(wǎng)絡(luò)和transformer模塊獲取的can序列特征輸入到softmax激活函數(shù)中,獲取異常檢測結(jié)果;
9、4)將測試集的can序列輸入到訓(xùn)練好的dm-cbct中進(jìn)行異常檢測。
10、進(jìn)一步的,將蟻獅優(yōu)化算法引入卷積層中,自適應(yīng)調(diào)節(jié)卷積神經(jīng)網(wǎng)絡(luò)感受野大小,卷積層后加入transformer模塊。
11、進(jìn)一步的,所述步驟3.3)中,輸入的訓(xùn)練集can序列經(jīng)過調(diào)整感受野后的卷積神經(jīng)網(wǎng)絡(luò)和transformer模塊,分別自適應(yīng)can序列特性和獲取can序列全局依賴關(guān)系的具體過程如下:
12、3.2.1)輸入can序列首先經(jīng)過蟻獅優(yōu)化算法調(diào)整感受野后的卷積神經(jīng)網(wǎng)絡(luò)。在蟻獅優(yōu)化算法中,利用螞蟻模擬卷積神經(jīng)網(wǎng)絡(luò)的感受野集合,蟻獅模擬最優(yōu)感受野。
13、3.2.1.1)螞蟻個(gè)體在解空間內(nèi)進(jìn)行隨機(jī)搜索來尋找食物,即:
14、x(t)=[0,cussum(2r(t1)-1),...,cussum(2r(tn)-1)]
15、式中:x(t)為螞蟻隨機(jī)游走的步數(shù)集,cumsum為計(jì)算累加和,t為隨機(jī)游走的步數(shù),r(t)為一個(gè)隨機(jī)函數(shù),定義為:
16、
17、式中:rand的取值范圍為[0,1];
18、3.2.1.2)由于可行域存在邊界,對螞蟻隨機(jī)游走進(jìn)行歸一化來進(jìn)行位置更新:
19、
20、其中,ai為第i維變量隨機(jī)游走的最小值,bi為第i維變量隨機(jī)游走的最大值,為第i維變量在第t次迭代的最小值,ci為第i維所有變量的最小值,為第i維變量在第t次迭代最大值;
21、3.2.1.3)蟻獅設(shè)置陷阱來影響螞蟻隨機(jī)游走的路線:
22、
23、其中,ct為所有變量在第t次迭代的最小值,dt為所有變量在第t次迭代的最大值,為第j只蟻獅在第t次迭代的位置;螞蟻一旦落入蟻獅制造的陷阱,蟻獅就會(huì)向陷阱邊緣拋沙以防止螞蟻逃脫:
24、
25、其中i為比例系數(shù);
26、3.2.1.4)當(dāng)螞蟻的適應(yīng)度值比蟻獅大時(shí),則認(rèn)為蟻獅將其捕獲,此時(shí)蟻獅會(huì)根據(jù)螞蟻的位置來更新陷阱:
27、
28、其中,表示第i只螞蟻在第t次迭代的位置;f為適應(yīng)度函數(shù)。經(jīng)過多次迭代后確定最佳感受野大小。
29、3.2.2)在cnn中使用蟻獅優(yōu)化算法自適應(yīng)得到的最佳感受野大小,通過transformer模塊捕獲can序列中的全局依賴關(guān)系;具體如下:
30、3.2.2.1)令demb,dk,dv,n分別表示詞嵌入向量的維度、鍵向量的維度、值向量的維度和平行注意力層的數(shù)量;對于每一平行注意力層,使用第i個(gè)位置對應(yīng)的前一個(gè)解碼器的輸出查詢向量并將所有位置的編碼器輸出打包成一個(gè)值為鍵為的矩陣;
31、3.2.2.2)為計(jì)算輸出每一組注意力層將輸入映射到不同的子表示空間,使得模型能夠在不同子表示空間中關(guān)注不同的位置;即:
32、
33、
34、
35、其中,投影矩陣和wo是第n個(gè)平行注意力層的學(xué)習(xí)參數(shù);每個(gè)平行注意力層采用縮放點(diǎn)積注意力:
36、
37、向量代表所有源上第i個(gè)目標(biāo)令牌對應(yīng)的注意力概率向量,由第j個(gè)注意力頭部計(jì)算;
38、對于所有的注意力頭部,通過將所有目標(biāo)標(biāo)記的注意力概率向量組合在一起能夠構(gòu)造出一個(gè)注意力矩陣ai×j;注意力矩陣ai×j展示了在生成整個(gè)目標(biāo)序列時(shí),模型在每個(gè)特定位置上對源序列各個(gè)位置的關(guān)注程度。
39、進(jìn)一步的,所述的步驟3中基于cnn和transformer的網(wǎng)聯(lián)車can網(wǎng)絡(luò)異常檢測模型dm-cbct采用交叉熵?fù)p失函數(shù)調(diào)整策略進(jìn)行網(wǎng)絡(luò)訓(xùn)練,并采用交叉熵?fù)p失函數(shù)來評估網(wǎng)絡(luò)的訓(xùn)練和驗(yàn)證損失。
40、通過采用上述技術(shù),與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果如下:
41、本發(fā)明方法利用卷積神經(jīng)網(wǎng)絡(luò)結(jié)合蟻獅優(yōu)化算法和transformer模塊來學(xué)習(xí)和獲取輸入can序列中的重要特征。通過引入蟻獅優(yōu)化算法來自適應(yīng)調(diào)節(jié)感受野大小,并引入transformer模塊用于捕獲can流量中的長距離依賴關(guān)系,能夠顯著提高異常檢測模型在多種攻擊場景下的異常檢測精度。
1.基于cnn和transformer的網(wǎng)聯(lián)車can總線異常檢測方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的基于網(wǎng)聯(lián)車can總線異常檢測模型的構(gòu)建方法,其特征在于,dm-cbct模型的卷積層中引入蟻獅優(yōu)化算法,自適應(yīng)調(diào)節(jié)卷積神經(jīng)網(wǎng)絡(luò)感受野大小,卷積層后加入transformer模塊。
3.根據(jù)權(quán)利要求2所述的基于網(wǎng)聯(lián)車can總線異常檢測模型的構(gòu)建方法,其特征在于,所述步驟3.2)中,輸入的訓(xùn)練集can序列經(jīng)過調(diào)整感受野后的卷積神經(jīng)網(wǎng)絡(luò)和transformer模塊,分別自適應(yīng)can序列特性和獲取can序列全局依賴關(guān)系,其具體過程如下:
4.根據(jù)權(quán)利要求1所述的基于cnn和transformer的網(wǎng)聯(lián)車can總線異常檢測方法,其特征在于,所述的步驟3中基于cnn和transformer的can網(wǎng)絡(luò)異常檢測模型dm-cbct采用交叉熵?fù)p失函數(shù)調(diào)整策略進(jìn)行網(wǎng)絡(luò)訓(xùn)練,并采用交叉熵?fù)p失函數(shù)來評估網(wǎng)絡(luò)的訓(xùn)練和驗(yàn)證損失。