亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        汽車CAN 總線入侵檢測(cè)算法性能模糊測(cè)試方法研究*

        2022-05-06 01:08:24田韻嵩李中偉金顯吉
        關(guān)鍵詞:檢測(cè)模型

        田韻嵩 ,李中偉 ,譚 凱 ,洪 晟 ,劉 勇 ,金顯吉

        (1.哈爾濱工業(yè)大學(xué) 電氣工程及自動(dòng)化學(xué)院,黑龍江 哈爾濱150001;2.北京航空航天大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,北京 100191)

        0 引言

        現(xiàn)代汽車智能化功能越來(lái)越豐富,汽車與外部的信息交互越來(lái)越頻繁,汽車網(wǎng)絡(luò)被入侵的風(fēng)險(xiǎn)越來(lái)越高[1]。而入侵檢測(cè)算法被應(yīng)用于汽車CAN 總線網(wǎng)絡(luò)安全防御中,其檢測(cè)惡意攻擊的能力將對(duì)汽車CAN 總線網(wǎng)絡(luò)的安全性產(chǎn)生影響。

        入侵檢測(cè)算法能夠識(shí)別外部針對(duì)網(wǎng)絡(luò)資源的惡意操作,也能夠檢測(cè)內(nèi)部用戶的違規(guī)或未授權(quán)的非法行為。 目前,入侵檢測(cè)算法從檢測(cè)技術(shù)的角度可分為以下3 類:(1)基于規(guī)則的入侵檢測(cè)算法;(2)基于統(tǒng)計(jì)的入侵檢測(cè)算法;(3)基于機(jī)器學(xué)習(xí)的入侵檢測(cè)算法[2]。 其中基于機(jī)器學(xué)習(xí)的入侵檢測(cè)算法能夠利用龐大的已有數(shù)據(jù)進(jìn)行學(xué)習(xí),發(fā)現(xiàn)內(nèi)在規(guī)律,實(shí)現(xiàn)網(wǎng)絡(luò)攻擊行為檢測(cè)的智能化。 并且機(jī)器學(xué)習(xí)具備預(yù)測(cè)能力,對(duì)未知模式的攻擊也具備一定的檢測(cè)能力,是目前熱門的入侵檢測(cè)算法研究領(lǐng)域。

        近年來(lái),越來(lái)越多的研究人員開始對(duì)汽車CAN總線的入侵檢測(cè)算法進(jìn)行研究。 美國(guó)密歇根大學(xué)的Cho 等提出利用電子控制單元(Electronic Control Unit,ECU)指紋時(shí)鐘,結(jié)合遞歸最小二乘法有效監(jiān)測(cè)CAN總線異常[3]。 德國(guó)的 Kneib 等提出從 CAN 報(bào)文數(shù)據(jù)幀中提取指紋來(lái)識(shí)別 ECU[4]。Groza 等提出利用布隆過(guò)濾器監(jiān)測(cè)報(bào)文標(biāo)識(shí)符和部分?jǐn)?shù)據(jù)字段的周期,檢測(cè)潛在的重放和篡改攻擊[5]。 曾潤(rùn)針對(duì)時(shí)間觸發(fā)型和事件觸發(fā)型的汽車CAN 報(bào)文,分別提出了基于發(fā)送時(shí)間間隔與C4.5 決策樹的入侵檢測(cè)算法[6]。吳貽淮提出了基于 PCA-BP 的 CAN 數(shù)據(jù)包發(fā)送頻率檢測(cè)算法及基于GA-RBF 神經(jīng)網(wǎng)絡(luò)的CAN 網(wǎng)絡(luò)數(shù)據(jù)關(guān)聯(lián)性檢測(cè)算法[7]。 入侵檢測(cè)算法的多樣性為保障車載通信網(wǎng)絡(luò)的安全提供了更多的選擇,然而,如何對(duì)入侵檢測(cè)算法的檢測(cè)性能進(jìn)行測(cè)試,確保應(yīng)用于汽車通信安全防護(hù)的算法是可靠且有效的成為了一個(gè)新的亟待解決的問(wèn)題。

        目前,國(guó)內(nèi)外針對(duì)入侵檢測(cè)算法的檢測(cè)性能主要采用相對(duì)傳統(tǒng)的方法進(jìn)行測(cè)試,即利用已有數(shù)據(jù)集對(duì)算法檢測(cè)性能進(jìn)行模糊測(cè)試,這種方法的缺點(diǎn)是所采用的測(cè)試數(shù)據(jù)集格式和內(nèi)容固定,脫離入侵檢測(cè)算法的實(shí)際應(yīng)用情境,導(dǎo)致得到的測(cè)試結(jié)果可信度較低[8-9]。為解決這一問(wèn)題,本文提出一種改進(jìn)汽車CAN 總線入侵檢測(cè)算法性能模糊測(cè)試方法[10-12]。該方法針對(duì)已知和未知CAN 總線協(xié)議規(guī)范的情況分別利用基于字段權(quán)重和基于WGAN-GP 的方法生成測(cè)試覆蓋率較高的測(cè)試用例,通過(guò)將測(cè)試用例輸入汽車CAN 總線入侵檢測(cè)算法中,得到入侵檢測(cè)算法對(duì)測(cè)試用例的檢測(cè)率,完成對(duì)入侵檢測(cè)算法的性能測(cè)試。

        1 基于機(jī)器學(xué)習(xí)的入侵檢測(cè)算法

        入侵檢測(cè)算法被廣泛應(yīng)用于汽車CAN 總線網(wǎng)絡(luò)的安全防護(hù)中,而基于機(jī)器學(xué)習(xí)的入侵檢測(cè)算法更是目前研究的熱點(diǎn)[13]。 基于機(jī)器學(xué)習(xí)的入侵檢測(cè)算法能夠把異常行為識(shí)別轉(zhuǎn)換為模式識(shí)別問(wèn)題,根據(jù)傳輸數(shù)據(jù)特征和已有數(shù)據(jù)記錄等來(lái)區(qū)分正常和異常的行為,在提升入侵檢測(cè)效率的同時(shí)也降低了誤報(bào)率和漏報(bào)率,應(yīng)用前景廣闊。 常用的基于機(jī)器學(xué)習(xí)的入侵檢測(cè)算法主要包括神經(jīng)網(wǎng)絡(luò)、集成學(xué)習(xí)、K 近鄰、貝葉斯網(wǎng)絡(luò)、聚類算法等。

        為驗(yàn)證本文提出的測(cè)試方法的有效性,本文選取了兩種理論成熟、應(yīng)用廣泛且精度較高的基于機(jī)器學(xué)習(xí)的入侵檢測(cè)算法——K 近鄰算法和AdaBoost算法進(jìn)行研究并實(shí)現(xiàn),利用本文提出的方法對(duì)兩種入侵檢測(cè)算法進(jìn)行性能測(cè)試。

        1.1 基于 KNN 的汽車 CAN 總線入侵檢測(cè)算法

        K 近 鄰 算 法(K-Nearest Neighbor,KNN)是 一 種 監(jiān)督學(xué)習(xí)算法。 這種算法通過(guò)使用所有已知類型的數(shù)據(jù)樣本作為參照,來(lái)判斷未知數(shù)據(jù)樣本的類別。 首先,計(jì)算待判斷類型的未知數(shù)據(jù)樣本到所有已知類型的數(shù)據(jù)樣本之間的距離,然后按照與待判斷類型的未知數(shù)據(jù)樣本距離最近的原則選擇k 個(gè)已知類型的數(shù)據(jù)樣本,判斷未知數(shù)據(jù)樣本的類型與k 個(gè)已知類型的數(shù)據(jù)樣本中占比較多的類型是否相一致。其中常見的計(jì)算樣本間距離的函數(shù)有:馬氏距離、巴氏距離、漢明距離、切比雪夫距離等。 KNN 算法的優(yōu)點(diǎn)是理論簡(jiǎn)單、易于實(shí)現(xiàn),并且使用新數(shù)據(jù)更新訓(xùn)練模型也較為容易。 缺點(diǎn)在于對(duì)樣本容量較大的數(shù)據(jù)集應(yīng)用該算法時(shí)計(jì)算量較大,且在每次分類時(shí)都會(huì)進(jìn)行一次全局運(yùn)算;另外k 值的選取也會(huì)對(duì)分類結(jié)果的準(zhǔn)確性產(chǎn)生很大的影響。

        基于KNN 的汽車 CAN 總線入侵檢測(cè)算法基本流程如圖 1 所示。

        圖1 KNN 算法流程圖

        本文以漢明距離作為所實(shí)現(xiàn)的KNN 算法的距離函數(shù),計(jì)算已知與未知報(bào)文樣本之間的距離,找出k 個(gè)距離待判斷類型的未知報(bào)文樣本最近的已知類型報(bào)文樣本,并統(tǒng)計(jì)其中正常與異常報(bào)文的數(shù)量,以其中數(shù)量占比更多的報(bào)文類別作為未知報(bào)文樣本的類別判定結(jié)果。

        1.2 基于AdaBoost 的汽車CAN 總線入侵檢測(cè)算法

        自適應(yīng)提升算法(Adaptive Boosting,AdaBoost)是一種提升學(xué)習(xí)算法。 AdaBoost 算法的優(yōu)點(diǎn)是可有效利用弱分類器進(jìn)行級(jí)聯(lián)且模型訓(xùn)練方式充分考慮了每個(gè)弱分類器的權(quán)重,分類精度較高;缺點(diǎn)是AdaBoost 訓(xùn)練過(guò)程迭代次數(shù)的設(shè)定對(duì)分類結(jié)果影響較大,且模型整體的訓(xùn)練過(guò)程耗時(shí)較長(zhǎng)。 AdaBoost算法的基本流程如下:

        (1)構(gòu)造訓(xùn)練集。 在汽車 CAN 總線上采集正常的CAN 報(bào)文并變異生成訓(xùn)練數(shù)據(jù)集, 賦予其中所有樣本相同的初始權(quán)重值。

        (2)訓(xùn)練弱分類器。 訓(xùn)練初始弱分類器,計(jì)算樣本分類正誤率,按照正誤率確定弱分類器的權(quán)重,并對(duì)訓(xùn)練集樣本權(quán)重進(jìn)行更新:提高分類錯(cuò)誤的樣本權(quán)重,降低分類正確的樣本權(quán)重。 之后訓(xùn)練下一個(gè)弱分類器。

        (3)弱分類器組合構(gòu)成強(qiáng)分類器。在強(qiáng)分類器中弱分類器的影響能力由訓(xùn)練時(shí)對(duì)訓(xùn)練樣本檢測(cè)的正誤率決定。 弱分類器的檢測(cè)正確率越高,在最終的分類函數(shù)中影響力越大。

        (4)在得到 AdaBoost 算法的強(qiáng)分類器后,使用強(qiáng)分類器 H(x)檢測(cè)報(bào)文。 AdaBoost 算法的訓(xùn)練過(guò)程如圖 2 所示。

        圖2 AdaBoost 算法的訓(xùn)練過(guò)程

        2 改進(jìn)汽車CAN 總線入侵檢測(cè)算法性能模糊測(cè)試方法

        模糊測(cè)試通過(guò)向被測(cè)對(duì)象發(fā)送大量隨機(jī)或半隨機(jī)的數(shù)據(jù)來(lái)進(jìn)行安全性測(cè)試。 目前,對(duì)入侵檢測(cè)算法的性能測(cè)試多采用公開數(shù)據(jù)集或經(jīng)隨機(jī)變異得到的數(shù)據(jù)集作為測(cè)試用例,測(cè)試算法對(duì)于異常報(bào)文的檢測(cè)率。 但公開數(shù)據(jù)集的內(nèi)容形式相對(duì)固定,人工隨機(jī)變異得到的數(shù)據(jù)集則存在隨機(jī)性太強(qiáng)的缺點(diǎn),所以傳統(tǒng)模糊測(cè)試方法的測(cè)試用例覆蓋率不高,易出現(xiàn)組合爆炸的問(wèn)題,測(cè)試效率較差且得到的測(cè)試結(jié)果并不可靠。 而本文所提出的改進(jìn)汽車CAN 總線入侵檢測(cè)算法性能模糊測(cè)試方法重點(diǎn)針對(duì)生成模糊測(cè)試用例的方法進(jìn)行研究,可以生成高覆蓋率的測(cè)試用例,通過(guò)計(jì)算汽車CAN 總線入侵檢測(cè)算法對(duì)測(cè)試用例的檢測(cè)率,測(cè)試算法的性能,能夠得到可信度較高的入侵檢測(cè)算法性能測(cè)試結(jié)果。

        本文所提出的汽車CAN 總線入侵檢測(cè)算法性能測(cè)試方法的具體步驟如下:

        (1)構(gòu)建報(bào)文數(shù)據(jù)集。 采用以下兩種方式構(gòu)建數(shù)據(jù)集:①利用汽車內(nèi)部的OBD 等接口,在汽車處于正常行駛的狀態(tài)下收集CAN 報(bào)文,構(gòu)造正常報(bào)文集,并通過(guò)人工變異的方式構(gòu)建偽造異常報(bào)文集。②通過(guò)CANoe 等仿真軟件模擬汽車正常行駛和出現(xiàn)異常的狀況,生成正常和異常報(bào)文數(shù)據(jù),構(gòu)建報(bào)文數(shù)據(jù)集。

        (2)預(yù)處理 CAN 報(bào)文,按照 ID 分類 CAN 報(bào)文。根據(jù)規(guī)定,CAN 總線報(bào)文數(shù)據(jù)場(chǎng)長(zhǎng)度不超過(guò) 8 B,為了方便進(jìn)行統(tǒng)一處理,當(dāng)報(bào)文數(shù)據(jù)場(chǎng)的長(zhǎng)度不足8 B 時(shí),用 0 補(bǔ)齊至 8 B。 并將十六進(jìn)制的報(bào)文數(shù)據(jù)轉(zhuǎn)化為二進(jìn)制形式進(jìn)行表示。

        (3)生成測(cè)試用例。 這部分是本文提出的汽車CAN 總線入侵檢測(cè)算法性能測(cè)試方法的核心。 為生成覆蓋率較高的測(cè)試用例集,本文針對(duì)是否已知CAN 總線協(xié)議規(guī)范的情況分別提出了兩種生成測(cè)試用例的方法,分別是基于字段權(quán)重和基于WGAN-GP 的測(cè)試用例生成方法,在已知 CAN 總線協(xié)議規(guī)范的情況下可運(yùn)用基于字段權(quán)重的測(cè)試用例生成方法,在未知CAN 總線協(xié)議規(guī)范的情況下,可以使用基于WGAN-GP 的測(cè)試用例生成方法。

        (4)將測(cè)試用例輸入到入侵檢測(cè)分類器中,觀察分類結(jié)果, 根據(jù)分類結(jié)果計(jì)算分類器的準(zhǔn)確率,評(píng)價(jià)入侵檢測(cè)算法的性能。

        2.1 基于字段權(quán)重的測(cè)試用例生成方法

        基于字段權(quán)重的測(cè)試用例生成方法需要在已知CAN 總線應(yīng)用層報(bào)文數(shù)據(jù)場(chǎng)的字段格式基礎(chǔ)上進(jìn)行。 下面首先對(duì)報(bào)文數(shù)據(jù)場(chǎng)內(nèi)第j 位的位翻轉(zhuǎn)數(shù)進(jìn)行定義:

        式中,BFNj為報(bào)文數(shù)據(jù)場(chǎng)第 j 位的位翻轉(zhuǎn)數(shù),m 為汽車 CAN 總線系統(tǒng)中一段時(shí)間 t 內(nèi)某 ID 相同報(bào)文的集合,n 為某ID 相同報(bào)文的集合中的報(bào)文數(shù)量。

        則在該段時(shí)間內(nèi)報(bào)文的第j 位翻轉(zhuǎn)率為:

        式中,BFAj為報(bào)文第 j 位的位翻轉(zhuǎn)率,BFNj為報(bào)文數(shù)據(jù)場(chǎng)第 j 位的位翻轉(zhuǎn)數(shù),n 為某 ID 相同報(bào)文的集合中的報(bào)文數(shù)量。

        計(jì)算出在一段時(shí)間t 內(nèi)某ID 的報(bào)文的位翻轉(zhuǎn)率BFAj后,定義該字段內(nèi)的平均位翻轉(zhuǎn)率為:

        式中,BFDk為第 k 個(gè)字段的平均位翻轉(zhuǎn)率,k1為該字段的起始位,k2為該字段的結(jié)束位。

        當(dāng)一個(gè)字段的平均位翻轉(zhuǎn)率越高,說(shuō)明在這段時(shí)間內(nèi)該字段的變化越快,在生成測(cè)試用例時(shí)應(yīng)作為重點(diǎn)考慮的變異對(duì)象。 所以對(duì)變化較快的字段賦予較高的權(quán)值。 本文采用了以下幾種構(gòu)造變異數(shù)據(jù)的方法:

        (1)對(duì)CAN 報(bào)文數(shù)據(jù)場(chǎng)中的某一段數(shù)據(jù)進(jìn)行隨機(jī)變異,其余部分保持不變。

        (2)設(shè)置一定的變異比例,按照比例選取CAN報(bào)文數(shù)據(jù)場(chǎng)中的部分二進(jìn)制位,以“從 0 置 1,從 1置0”的形式對(duì)這部分二進(jìn)制位進(jìn)行變異。

        (3)按照協(xié)議規(guī)范,將數(shù)據(jù)場(chǎng)中某一字段看作是一個(gè)整體,對(duì)整體的數(shù)據(jù)值進(jìn)行加1 或減1 操作來(lái)進(jìn)行變異。

        (4)選取數(shù)據(jù)場(chǎng)中一定比例的二進(jìn)制位進(jìn)行置0 或 置 1 操 作 。

        另外,當(dāng)多個(gè)字段組合起來(lái)進(jìn)行變異時(shí)也可能會(huì)被入侵檢測(cè)算法檢測(cè)到異常,因此為了提升生成的測(cè)試用例的質(zhì)量,還需要考慮將同一ID 的報(bào)文所劃分的不同報(bào)文字段進(jìn)行多字段組合變異。 單一字段變異和組合字段變異兩者結(jié)合生成最終模糊測(cè)試使用的所有測(cè)試用例。 具體的步驟如下:

        (1)首先根據(jù)協(xié)議規(guī)范對(duì)字段格式的劃分,確定對(duì)每個(gè)字段進(jìn)行變異的權(quán)重指數(shù)。

        (2)針對(duì)單一字段進(jìn)行變異。采用合適的變異方法,利用之前確認(rèn)的每個(gè)字段進(jìn)行變異的權(quán)重指數(shù),確定單一字段進(jìn)行變異的次數(shù),變異權(quán)重越高,則變異次數(shù)越多,相應(yīng)生成的測(cè)試用例也越多。

        (3)分析不同字段之間可能存在的關(guān)聯(lián)性。利用人工分析或通過(guò)采取關(guān)聯(lián)規(guī)則分析技術(shù)分析不同字段之間可能存在的關(guān)系,以此為基礎(chǔ)進(jìn)行組合字段的變異。

        (4)計(jì)算組合字段的變異權(quán)重指數(shù),進(jìn)一步確認(rèn)組合測(cè)試用例的數(shù)目并變異生成。

        本文采用從正常運(yùn)行的汽車上采集的數(shù)據(jù)變異生成模糊測(cè)試用例,為保護(hù)汽車協(xié)議的私密性,采用“X”來(lái)隱藏汽車的一部分報(bào)文 ID,采集 ID 為 0x1X4的報(bào)文格式為[0X1X2X31B 08 3Y 00 Z1Z2Z3Z4]。 在計(jì)算了字段的平均位翻轉(zhuǎn)率及組合字段變異權(quán)重等參數(shù)后,能夠生成報(bào)文 ID 為 0x1X4 的部分模糊測(cè)試用例如表1 所示。

        表1 基于字段權(quán)重方法生成的部分 ID 0x1X4 報(bào)文

        由表1 可以看出,生成的報(bào)文基本符合字段的格式。

        2.2 基于WGAN-GP 的測(cè)試用例生成方法

        生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)是一種深度學(xué)習(xí)算法,分別由生成模型和判別模型兩部分組成。 模型整體的訓(xùn)練是一個(gè)博弈的過(guò)程,生成模型輸入噪聲,判別模型輸入真實(shí)數(shù)據(jù)及生成模型生成的數(shù)據(jù),按照判別模型對(duì)其輸入數(shù)據(jù)的判別結(jié)果調(diào)整GAN 模型的參數(shù),使生成數(shù)據(jù)與真實(shí)數(shù)據(jù)逐漸相似。 而本文的測(cè)試用例需要依據(jù)協(xié)議格式規(guī)范生成,采用生成對(duì)抗網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練能夠高效地對(duì)正常CAN 總線報(bào)文的格式規(guī)范進(jìn)行學(xué)習(xí),訓(xùn)練完成的模型最終能夠生成多數(shù)滿足使用需要的測(cè)試用例[14]。

        Wasserstein 生成對(duì)抗網(wǎng)絡(luò)(Wasserstein Generative Adversarial Network,WGAN)是為了解決 GAN 在使用時(shí)可能出現(xiàn)的梯度消失、梯度爆炸、模型不收斂等問(wèn)題而提出的一種改進(jìn)方法[15]。 使用 Wasserstein 距離來(lái)衡量真實(shí)數(shù)據(jù)與生成數(shù)據(jù)的差異性,該距離的定義如式(4)所示:

        另外,其判別模型的目標(biāo)函數(shù)如式(5)所示:

        生成模型的目標(biāo)函數(shù)如式(6)所示:

        式(4)~式(6)中,Pdata是真實(shí)數(shù)據(jù)分布,PZ是生成數(shù)據(jù)分布,V(D,G)為生成對(duì)抗網(wǎng)絡(luò)的目標(biāo)函數(shù),D 代表判別模型,D(x)表示 x 是真實(shí)數(shù)據(jù)的概率,G 代表生成模型,G(z)是樣本數(shù)據(jù) z 的概率分布。

        Wasserstein 距離越小,則證明模型訓(xùn)練效果越好。

        然而,WGAN 仍存在訓(xùn)練困難、模型收斂較慢等問(wèn)題。 為解決上述問(wèn)題,Ishaan 等人提出了引入梯度懲罰的改進(jìn)Wasserstein 生成對(duì)抗網(wǎng)絡(luò)(Wasserstein Generative Adversarial Network with Gradient Penalty,WGAN-GP),去除權(quán)重裁剪項(xiàng)并在判別模型的目標(biāo)函數(shù)中加入梯度懲罰項(xiàng),目標(biāo)函數(shù)如式(7)所示[16]。 WGAN-GP 能夠穩(wěn)定地以更快的速度趨于收斂,因此本文將選用WGAN-GP 進(jìn)行模型的訓(xùn)練,生成模糊測(cè)試用例。

        本文的WGAN-GP 模型采用全連接神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),由輸入層、隱藏層、輸出層組成,隱藏層的激活函數(shù)選取ReLU 函數(shù),能夠有效避免在訓(xùn)練過(guò)程中可能會(huì)出現(xiàn)的梯度消失現(xiàn)象,減少模型訓(xùn)練和使用時(shí)的運(yùn)算開銷。 模型目標(biāo)函數(shù)的優(yōu)化運(yùn)用隨機(jī)梯度下降方式。

        在經(jīng)過(guò)充分訓(xùn)練后,可以得到成熟可用的生成對(duì)抗網(wǎng)絡(luò)模型,該模型能夠生成可用于入侵檢測(cè)算法性能測(cè)試的模糊測(cè)試用例。 改進(jìn)Wasserstein 生成對(duì)抗網(wǎng)絡(luò)的整體結(jié)構(gòu)如圖3 所示。 而生成模型的輸入采用均勻的噪聲分布,判別模型利用通過(guò)汽車OBD 等接口采集的真實(shí)CAN 總線報(bào)文和生成模型生成的數(shù)據(jù)進(jìn)行訓(xùn)練。 訓(xùn)練過(guò)程中,生成模型與判別模型相互博弈,調(diào)整參數(shù),最終逐漸使生成模型生成的測(cè)試用例與正常汽車CAN 總線報(bào)文的格式一致。

        圖3 改進(jìn)Wasserstein 生成對(duì)抗網(wǎng)絡(luò)訓(xùn)練流程與結(jié)構(gòu)圖

        基于WGAN-GP 的測(cè)試用例生成方法無(wú)需對(duì)CAN 總線協(xié)議格式進(jìn)行具體分析,該方法可以在未知CAN 總線協(xié)議規(guī)范的基礎(chǔ)上進(jìn)行,可以直接利用采集到的CAN 總線報(bào)文進(jìn)行模型訓(xùn)練,其適用性更強(qiáng)。 具體步驟如下:

        (1)構(gòu)造訓(xùn)練數(shù)據(jù)集。生成對(duì)抗網(wǎng)絡(luò)模型的訓(xùn)練過(guò)程要用到大量的數(shù)據(jù),因此,為保證模型訓(xùn)練的效果,在訓(xùn)練前需要合理地構(gòu)造訓(xùn)練數(shù)據(jù)集。 本文使用 CAN 總線分析儀,從汽車的 OBD 等端口獲取真實(shí)的CAN 總線報(bào)文數(shù)據(jù),所采集的報(bào)文數(shù)據(jù)均為十六進(jìn)制的形式,為便于模型的訓(xùn)練使用,對(duì)采集的報(bào)文數(shù)據(jù)進(jìn)行了兩步預(yù)處理操作:去除報(bào)文數(shù)據(jù)集中存在重復(fù)的數(shù)據(jù),并將報(bào)文數(shù)據(jù)由十六進(jìn)制的形式轉(zhuǎn)換為十進(jìn)制形式,形成用于訓(xùn)練模型的數(shù)據(jù)集。

        (2)構(gòu)建生成模型。 本文利用 WGAN-GP 技術(shù)構(gòu)建測(cè)試用例生成模型。 所構(gòu)建的模型將滿足以下兩點(diǎn)條件:①能夠生成符合CAN 報(bào)文格式規(guī)范要求的測(cè)試用例,同時(shí)也要求不同測(cè)試用例的內(nèi)容存有足夠的差異性,保證測(cè)試用例的測(cè)試覆蓋率足夠高;②保證構(gòu)建生成模型并將模型訓(xùn)練至成熟可用這一過(guò)程的時(shí)間成本要盡可能地低。

        (3)輸入測(cè)試。利用生成對(duì)抗網(wǎng)絡(luò)模型生成測(cè)試用例,將生成的測(cè)試用例注入到入侵檢測(cè)算法中,觀察分類結(jié)果。

        WGAN-GP 模型生成的 ID 0x1X4 的部分報(bào)文數(shù)據(jù)如表 2 所示。 通過(guò)WGAN-GP 模型同樣也生成了符合協(xié)議格式的報(bào)文。

        表2 基于WGAN-GP 方法生成的部分 ID 0x1X4 報(bào)文

        3 試驗(yàn)驗(yàn)證

        為了驗(yàn)證本文所提出的改進(jìn)汽車CAN 總線入侵檢測(cè)算法性能模糊測(cè)試方法的有效性,本文對(duì)基于KNN 和AdaBoost 的入侵檢測(cè)算法進(jìn)行了性能測(cè)試,選取了 10 個(gè)不同 ID 的 CAN 總線報(bào)文集訓(xùn)練入侵檢測(cè)算法的分類器。 使用汽車正常運(yùn)行時(shí)實(shí)際采集的20 000 條CAN 總線報(bào)文作為正常報(bào)文數(shù)據(jù)集,并通過(guò)人工隨機(jī)變異的方式生成異常報(bào)文數(shù)據(jù)集。 對(duì)報(bào)文數(shù)據(jù)集按照?qǐng)?bào)文 ID 進(jìn)行分類。 在基于KNN 算法和AdaBoost 算法的分類器訓(xùn)練過(guò)程中,訓(xùn)練集中包括多個(gè)不同 ID 的 CAN 報(bào)文,每個(gè)ID 各有3 000 條報(bào)文,其中正常和異常的報(bào)文各占一半,訓(xùn)練過(guò)程采用MATLAB 軟件中的工具箱進(jìn)行,最終能夠分別得到基于兩種算法的檢測(cè)分類器。

        利用基于字段權(quán)重的方法和基于WGAN-GP 的方法生成測(cè)試用例。 兩種測(cè)試用例生成方法使用的編程環(huán)境為 PyCharm,編譯器為 Python3.5。 基于WGAN-GP 的測(cè)試用例生成方法采用了深度學(xué)習(xí)框架TensorFlow 搭建生成對(duì)抗網(wǎng)絡(luò)。 使用生成的測(cè)試用例對(duì)基于KNN 和 AdaBoost 的入侵檢測(cè)算法進(jìn)行性能測(cè)試,分別計(jì)算兩種入侵檢測(cè)算法對(duì)測(cè)試用例的檢測(cè)率,作為入侵檢測(cè)算法的檢測(cè)性能測(cè)試結(jié)果,具體如圖4 和圖 5 所示。 圖中橫坐標(biāo)為不同報(bào)文的ID,縱坐標(biāo)為入侵檢測(cè)算法對(duì)ID 不同的測(cè)試用例的檢測(cè)率。

        圖4 基于字段權(quán)重生成的測(cè)試用例的檢測(cè)率

        圖5 基于WGAN-GP 生成的測(cè)試用例的檢測(cè)率

        由圖 4 和圖 5 可以看出,KNN 算法對(duì)基于字段權(quán)重生成的測(cè)試用例的平均檢測(cè)率為84.3%,對(duì)基于WGAN-GP 生成的測(cè)試用例的平均檢測(cè)率為78.3%。 AdaBoost 算法對(duì)基于字段權(quán)重生成的測(cè)試用例的平均檢測(cè)率為85.1%,對(duì)基于 WGAN-GP 生成的測(cè)試用例的平均檢測(cè)率為79.8%。

        由測(cè)試結(jié)果分析可知:(1)相對(duì)于傳統(tǒng)的汽車CAN 總線入侵檢測(cè)算法性能模糊測(cè)試方法,本文提出的改進(jìn)模糊測(cè)試方法所生成的測(cè)試用例通過(guò)KNN 算法和AdaBoost 算法檢測(cè)的成功率更高,證明了本文所提出的兩種方法所生成的模糊測(cè)試用例相較于傳統(tǒng)模糊測(cè)試方法所使用的測(cè)試用例的針對(duì)性更強(qiáng),能夠更好地適應(yīng)入侵檢測(cè)算法的實(shí)際應(yīng)用場(chǎng)景。 (2)與基于字段權(quán)重方法生成的測(cè)試用例相比,利用改進(jìn)Wasserstein 生成對(duì)抗網(wǎng)絡(luò)方法生成的測(cè)試用例通過(guò) KNN 和 AdaBoost 算法檢測(cè)的概率相對(duì)較高,這表明該方法生成的測(cè)試用例在報(bào)文格式上與正常的CAN 總線報(bào)文更為相似,能夠更好地避開入侵檢測(cè),可以更有效地挖掘汽車CAN 總線入侵檢測(cè)算法檢測(cè)能力存在的不足之處。 (3)從兩種入侵檢測(cè)算法對(duì)異常報(bào)文的平均檢測(cè)率結(jié)果來(lái)看,AdaBoost 算法的檢測(cè)水平要更優(yōu)于 KNN 算法,因此若安全研究人員在選用汽車CAN 總線入侵檢測(cè)算法時(shí)相較于其他因素更為注重檢測(cè)性能,則可以優(yōu)先考慮選用AdaBoost 算法,提高汽車CAN總線通信系統(tǒng)的安全防護(hù)水平。

        4 結(jié)論

        本文提出了基于字段權(quán)重和基于WGAN-GP生成對(duì)抗網(wǎng)絡(luò)的模糊測(cè)試用例生成方法,解決了傳統(tǒng)模糊測(cè)試方法的測(cè)試結(jié)果因測(cè)試用例覆蓋率較低而導(dǎo)致可信度較差的問(wèn)題;提出了一種改進(jìn)汽車CAN 總線入侵檢測(cè)算法性能模糊測(cè)試方法,以基于機(jī)器學(xué)習(xí)的入侵檢測(cè)算法 KNN 和 AdaBoost 算法的分類器為對(duì)象進(jìn)行方法的測(cè)試驗(yàn)證。 測(cè)試結(jié)果表明AdaBoost 算法對(duì)異常報(bào)文的平均檢測(cè)率相對(duì)較高,本文提出的改進(jìn)汽車CAN 總線入侵檢測(cè)算法性能模糊測(cè)試方法能夠生成針對(duì)性更強(qiáng)、冗余度更低的測(cè)試用例,可以被用于測(cè)試入侵檢測(cè)算法的性能。

        本文的下一步研究工作是對(duì)實(shí)際汽車CAN 總線網(wǎng)絡(luò)中使用的入侵檢測(cè)算法進(jìn)行模糊測(cè)試,進(jìn)一步檢驗(yàn)本文所提出的改進(jìn)汽車CAN 總線入侵檢測(cè)算法性能模糊測(cè)試方法的性能。

        猜你喜歡
        檢測(cè)模型
        一半模型
        “不等式”檢測(cè)題
        “一元一次不等式”檢測(cè)題
        “一元一次不等式組”檢測(cè)題
        “幾何圖形”檢測(cè)題
        “角”檢測(cè)題
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        3D打印中的模型分割與打包
        小波變換在PCB缺陷檢測(cè)中的應(yīng)用
        男人的天堂一区二av| 久久亚洲成a人片| 亚洲精品一区二区三区国产| 极品一区二区在线视频| 国产无套粉嫩白浆在线观看| 久久婷婷色香五月综合缴缴情| 人妻少妇精品视频无码专区 | 青青草视频在线免费观看91| 加勒比av在线一区二区| 国产亚洲熟妇在线视频| 日本丰满少妇xxxx| 国产suv精品一区二区883| 在线a亚洲视频播放在线观看| 久久无人码人妻一区二区三区| 亚洲av色福利天堂久久入口| 凹凸国产熟女精品视频app| 久久无码av中文出轨人妻| 欧美成人看片黄a免费看| 国产精品麻豆A啊在线观看| h视频在线免费观看视频| 久久久久久欧美精品se一二三四| vr成人片在线播放网站| 亚洲国产精品悠悠久久琪琪| 国产激情视频高清在线免费观看| 女同同志熟女人妻二区| 三年片免费观看影视大全视频| 久久久久亚洲精品天堂| 丁香九月综合激情| 国产三级精品三级在线专区| 国产在线 | 中文| 激情97综合亚洲色婷婷五| 亚洲国产香蕉视频欧美| 亚洲女同精品一区二区久久| 亚洲欧洲成人a∨在线观看 | 国产精品乱一区二区三区| 中文字幕亚洲精品综合| 亚洲欧洲国产码专区在线观看| 3d动漫精品啪啪一区二区下载| 91久久精品一二三区蜜桃| 中文字幕乱码熟女人妻在线| 少妇无码av无码专区线|