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

        ?

        車載CAN總線脫離攻擊及其入侵檢測算法

        2020-11-30 05:47:44李中偉關(guān)亞東姜文淇
        計算機應(yīng)用 2020年11期
        關(guān)鍵詞:黑客報文總線

        李中偉,譚 凱,關(guān)亞東,姜文淇,葉 麟

        (1.哈爾濱工業(yè)大學(xué)電氣工程及自動化學(xué)院,哈爾濱 150001;2.哈爾濱工業(yè)大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,哈爾濱 150001;3.哈爾濱工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院,哈爾濱 150001)

        (?通信作者電子郵箱lzw@hit.edu.cn)

        0 引言

        網(wǎng)聯(lián)化、智能化成為未來汽車發(fā)展的主流方向[1]。汽車的網(wǎng)聯(lián)化將提高用戶出行的安全性與舒適程度,是實現(xiàn)無人駕駛技術(shù)的核心技術(shù);然而,網(wǎng)聯(lián)化汽車也將面臨著更嚴峻的安全風(fēng)險,黑客可以通過多種途徑進入到車內(nèi)網(wǎng)絡(luò)進行攻擊。近年來,車聯(lián)網(wǎng)、無人駕駛和汽車通信技術(shù)的不斷發(fā)展,給汽車帶來了更多的安全隱患。360 公司在《2019 智能網(wǎng)聯(lián)汽車信息安全年度報告》中指出,智能網(wǎng)聯(lián)汽車開始面對針對自動駕駛及V2X(Vehicle-to-Everything)系統(tǒng)的攻擊挑戰(zhàn),對以往發(fā)現(xiàn)的安全漏洞也缺乏相應(yīng)的異常檢測和主動防御機制。

        作為車內(nèi)網(wǎng)絡(luò)通信的關(guān)鍵技術(shù),CAN(Controller Area Network)總線由于其檢錯能力強、通信方式靈活、傳輸速度快等優(yōu)點,被廣泛應(yīng)用于車內(nèi)的電子控制單元(Electronic Control Unit,ECU)間的通信。然而,CAN 總線設(shè)計之初并未考慮認證等問題,同時智能網(wǎng)聯(lián)汽車需要不斷增加通信外部接口以滿足與外界信息交互的要求,黑客對汽車進行攻擊、入侵事件逐漸增多。2015年,Charlie Miller和Chris Balasek 通過遠程無線通信入侵Jeep Cherokee 的CAN 總線,成功控制了剎車、方向盤和其他關(guān)鍵系統(tǒng)[2]。德國汽車協(xié)會曾指出了寶馬等豪車的一處安全漏洞,黑客能在幾分鐘內(nèi)遠程打開車門[3]。

        為了檢測和防止車輛網(wǎng)絡(luò)攻擊,人們提出了各種類型的安全解決方案,如用于車內(nèi)網(wǎng)絡(luò)的消息認證碼(Message Authentication Code,MAC)和入侵檢測系統(tǒng)(Intrusion Detection System,IDS)[4-5]。這些解決方案提供了一定程度的安全性,但仍然存在較多的安全漏洞。

        CAN總線具有嚴格的錯誤診斷機制,當(dāng)檢測到位錯誤、填充錯誤、ACK(Acknowledge Character)錯誤、格式錯誤或循環(huán)冗余校驗(Cyclic Redundancy Check,CRC)錯誤時,數(shù)據(jù)幀傳送過程立即停止,發(fā)送方ECU 將會發(fā)送錯誤幀。當(dāng)ECU 的CAN 控制器錯誤計數(shù)器(Transmit Error Counter,TEC)錯誤累計達到一定數(shù)值時,ECU 進行總線脫離操作[6]。理論表明,正常使用的CAN總線存在漏檢錯誤的概率極低。

        然而國外學(xué)者利用上述CAN 總線錯誤處理機制提出了一種新型的車載CAN 總線攻擊方法——CAN 總線脫離攻擊。攻擊者周期性地向車內(nèi)網(wǎng)絡(luò)注入攻擊信息,使被攻擊的ECU認為自己產(chǎn)生了錯誤,并最終迫使自己脫離總線甚至整個網(wǎng)絡(luò)關(guān)閉[7-8]。除了上述的嚴重的后果之外,和以往針對車內(nèi)CAN總線的攻擊不同,總線脫離攻擊具有獨特的特征。

        目前國內(nèi)外學(xué)者對此類攻擊的入侵檢測方法的研究相對較少,且由于總線脫離攻擊很難和一般的通信錯誤進行區(qū)分,傳統(tǒng)的入侵檢測方法無法有效對此類攻擊進行檢測[9]。為此,本文在分析總線脫離攻擊特點和實現(xiàn)過程的基礎(chǔ)上,提出一種基于該攻擊特征的入侵檢測算法。該算法通過累計錯誤幀的發(fā)送數(shù)量,并根據(jù)該攻擊所引起的報文發(fā)送頻率的變化實現(xiàn)入侵檢測。檢測算法可以根據(jù)總線脫離攻擊的特征,有效地對此類攻擊進行識別,保證車載CAN總線網(wǎng)絡(luò)的安全。

        1 總線脫離攻擊基本原理與實現(xiàn)條件

        1.1 總線脫離攻擊基本原理

        由CAN 總線技術(shù)規(guī)范ISO 11898 和STM32F407ZGT6 內(nèi)部集成CAN 控制器器件說明可知,當(dāng)ECU 的TEC 的錯誤計算大于255 時,ECU 將會從總線脫離??偩€脫離攻擊是指通過注入攻擊,使ECU 的發(fā)送錯誤計數(shù)器TEC 的計數(shù)值異常地增加,從而使ECU從總線上脫離。

        1.2 總線脫離攻擊實現(xiàn)條件

        設(shè)攻擊節(jié)點為A,正常節(jié)點為B,A 發(fā)送的報文為J,B 發(fā)送的報文為Z。則總線脫離攻擊需要滿足:

        1)J與Z均為周期性報文,且ID相同;

        2)J與Z同步發(fā)送;

        3)J 與Z 仲裁場后的數(shù)據(jù)場中至少有一位不同(J 中該位為0),且在該位之前J與Z的數(shù)據(jù)位相同。

        在上述實現(xiàn)條件中,條件2)是實現(xiàn)的難點??偩€脫離攻擊原理如圖1 所示,當(dāng)J 與Z 同步發(fā)送時,由于報文ID 相同,J與Z 同時在總線上存在。由于滿足條件3),節(jié)點B 會監(jiān)聽到一個與其發(fā)送位極性相反的位,從而觸發(fā)位錯誤,使其TEC的錯誤計算增加8。節(jié)點A 以此種方式不斷發(fā)動攻擊,當(dāng)節(jié)點B的TEC大于255時,該ECU從總線脫離。

        圖1 總線脫離攻擊原理示意圖Fig.1 Schematic diagram of bus-off attack principle

        1.3 總線脫離攻擊特點

        1)黑客無需通過逆向工程的方式發(fā)動攻擊[10-11],可以對任何車輛發(fā)起攻擊,而無需受到生產(chǎn)廠商和型號的限制。

        2)總線脫離攻擊利用了CAN 總線錯誤處理機制,例如幀格式錯誤[12]、位錯誤[13]和位丟失[14]等,使得入侵檢測系統(tǒng)對異常攻擊和通信錯誤的判斷混淆,難以區(qū)分。

        3)此類攻擊可通過將攻擊節(jié)點接入車內(nèi)CAN 總線網(wǎng)絡(luò)實現(xiàn)。

        4)發(fā)送的攻擊報文要與被攻擊報文同步發(fā)送[15]。

        2 總線脫離攻擊過程分析

        本文將分析在CAN 控制器自動重發(fā)模式下的總線脫離攻擊。當(dāng)發(fā)送節(jié)點出現(xiàn)通信錯誤時,發(fā)送節(jié)點會發(fā)送錯誤幀,同時還會立即發(fā)送出現(xiàn)錯誤的報文。

        1)攻擊第一階段。黑客利用節(jié)點A 與節(jié)點B 同步發(fā)送報文,使得節(jié)點B 發(fā)生位錯誤,其TEC 錯誤計算增加8。節(jié)點B向總線發(fā)送激活錯誤標志(由六個顯性位組成)。此時,節(jié)點A也會觸發(fā)發(fā)送錯誤標志,并使其TEC錯誤計算加8。在經(jīng)過11個隱性位后,節(jié)點A和B會同時發(fā)送之前的報文。因此,相同的位錯誤重復(fù)出現(xiàn)。當(dāng)TEC 錯誤計算值大于等于128 時,兩節(jié)點同時進入錯誤認可狀態(tài)。在第一階段攻擊節(jié)點A只需注入一條報文即可實現(xiàn)。總線脫離攻擊第一階段報文示意圖如圖2所示。

        圖2 總線脫離攻擊第一階段示意圖Fig.2 Schematic diagram of the first phase of bus-off attack

        2)總線脫離攻擊第二階段??偩€脫離攻擊第二階段示意圖如圖3所示。

        圖3 總線脫離攻擊攻擊第二階段示意圖Fig.3 Schematic diagram of the second phase of bus-off attack

        當(dāng)節(jié)點A 與B 的TEC 等于128 時,當(dāng)B 再次觸發(fā)位錯誤時,節(jié)點B 向總線發(fā)送認可錯誤標志,該認可錯誤標志由6 個連續(xù)的隱性位(111111)組成。因此,攻擊節(jié)點A 不會發(fā)生通信錯誤,同時節(jié)點B 會觸發(fā)位錯誤直到攻擊節(jié)點A 發(fā)送EOF為止。在第二階段,節(jié)點A 始終能夠發(fā)送成功,但是節(jié)點B 的TEC 會不斷增加,每次發(fā)送失敗時TEC 將增加8,重發(fā)成功后減少1。當(dāng)最終TEC大于255時,節(jié)點B將從總線上脫離。

        3 總線脫離攻擊實現(xiàn)方法分析

        要實現(xiàn)總線脫離攻擊,須滿足1.2 節(jié)所述的條件。本節(jié)將對其實現(xiàn)方法進行分析。設(shè)報文J 與Z 分別為惡意報文和正常報文。

        對于條件1),黑客可以通過嗅探報文進行實現(xiàn)。黑客需要確定目標報文的ID,并確保目標報文為周期性報文。

        對于條件3),黑客可以在嗅探到該ID 報文后,獲取數(shù)據(jù)長度碼(Date Length Code,DLC),發(fā)送DLC 值為0 的報文即可滿足條件。

        條件2)是總線脫離攻擊的關(guān)鍵,即要求報文J 和Z 完全同步發(fā)送。若J和Z之間的開始發(fā)送時刻差別大于一位,則攻擊失敗。由于報文的發(fā)送周期在車內(nèi)CAN 總線中存在波動,通過預(yù)設(shè)周期發(fā)送報文的方式實現(xiàn)同步是不合理的,也是難以實現(xiàn)的??梢钥紤]一種利用前置報文的方式進行攻擊。

        對于周期性報文M,定義M 在上一個發(fā)送周期內(nèi)發(fā)送的其他報文為M的前置報文。

        在圖4中,設(shè)節(jié)點C 發(fā)送的報文為M1、M2。節(jié)點B 發(fā)送的報文為M3。報文M1、M2的優(yōu)先級高于M3。由于仲裁與緩存機制,M3需要等到其前置報文M2在總線上發(fā)送完成后才能發(fā)送。由于CAN 報文的優(yōu)先級不變,雖然報文周期會出現(xiàn)抖動,但M3與前置報文發(fā)送的相對時間固定,即M2發(fā)送成功后再經(jīng)過3個位的傳輸時間后,M3開始發(fā)送。

        在圖4中,黑客可在接收到M1或M2中任意一條時緩存一條攻擊報文。當(dāng)M2發(fā)送成功后,M3與M3'將會同步發(fā)送,從而滿足條件2)。

        4 總線脫離攻擊特征及其入侵檢測算法

        總線脫離攻擊最顯著的特征為:1)正常節(jié)點被攻擊后TEC 的計算將大于255 而溢出;2)錯誤幀數(shù)量明顯升高。本文利用一個檢測節(jié)點用于監(jiān)聽總線上的報文,發(fā)現(xiàn)此類攻擊。由于錯誤幀中的激活錯誤標志更易被檢測到,且總線脫離攻擊第一階段將會發(fā)送16個錯誤幀,每個錯誤幀有6~12個激活錯誤標志,因此可將這16 個錯誤幀作為檢測特征。然而,未發(fā)生總線脫離攻擊也可能會出現(xiàn)上述特征,還需根據(jù)特征1)、2)以外的條件來判斷總線脫離攻擊。

        由于在圖3 中,具有相同報文ID 的M3和M3'將會被連續(xù)發(fā)送,且最終M3將會停止發(fā)送,即總線脫離攻擊獨有特征為:在出現(xiàn)大量錯誤幀后,某ID 的報文頻率增加,最后變?yōu)榱?。本文?jù)此提出總線脫離攻擊檢測方法如圖5 所示。首先進行初始化,并獲取報文周期,判斷是否有大量錯誤幀(16 個以上)。若是則進行下一步。首先判斷是否存在注入攻擊,當(dāng)發(fā)送頻率超過原來的1.5 倍時,判斷為注入攻擊,并設(shè)置注入攻擊標記L=1;而后若當(dāng)發(fā)送頻率為0 時,判斷為中斷攻擊。此時CAN 總線中先后發(fā)生了注入攻擊和中斷攻擊,則檢測節(jié)點發(fā)出總線脫離攻擊警報。

        車載CAN 總線脫離攻擊檢測的代碼如下所示。檢測算法每次從總線上讀取一條報文,每一條報文的檢測不包含循環(huán)過程,算法的執(zhí)行操作數(shù)固定,且注入攻擊和中斷攻擊的檢測時間固定,因此算法的時間復(fù)雜度為O(1)。

        圖5 總線脫離攻擊檢測方法流程Fig.5 Flowchart of bus-off attack detection method

        代碼1 車載CAN總線脫離攻擊檢測的代碼描述。

        5 總線脫離攻擊及其入侵檢測試驗

        5.1 實驗設(shè)計

        本文利用STM32F407ZGT6 作為CAN 通信網(wǎng)絡(luò)中的4 個節(jié)點(包括3 個模擬ECU 的通信節(jié)點,1 個檢測節(jié)點),并將CAN節(jié)點波特率設(shè)置為500 Kb/s。如圖6為其網(wǎng)絡(luò)的結(jié)構(gòu)。

        圖6 中ECU1 發(fā)送報文周期報文T1、T2。ECU2 接收T1、T2報文。T2是T1的前置報文。攻擊者通過ECU3 緩存報文T2',使報文T2與T2'同步發(fā)送來攻擊ECU1節(jié)點。

        采用示波器Tektronix MSO5104 觀察總線上的電壓信號波形,通過LCD 顯示ECU 節(jié)點的錯誤計數(shù)(TEC)以及報文的傳輸情況。在ECU1 和ECU2 正常通信后,利用ECU3 進行攻擊。最后加入檢測節(jié)點,按圖5方法進行檢測。

        圖6 CAN通信網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Structure of CAN communication network

        5.2 實驗結(jié)果

        實驗結(jié)果為節(jié)點ECU1 的TEC 逐漸增加,最終脫離總線。而惡意節(jié)點ECU3成功完成了總線脫離攻擊,與第2章的分析一致。圖7 為攻擊發(fā)生時總線上電壓的波形圖。圖8 為圖7的部分放大圖。在圖7中總線上出現(xiàn)了16個錯誤幀。另外根據(jù)上述分析可知,由于ECU1 和ECU3 先后發(fā)送錯誤激活標志并進入錯誤激活狀態(tài),圖8中出現(xiàn)了總線高低電平的疊加。

        圖7 總線脫離攻擊發(fā)生第一階段電壓波形圖Fig.7 Voltage waveform of the first stage of bus-off attack

        圖8 總線脫離攻擊發(fā)生第一階段錯誤幀電壓波形疊加圖Fig.8 Voltage waveform overlay of wrong frames in the first stage of bus-off attack

        圖9 為攻擊第二階段的總線電壓波形圖,即發(fā)生在第一階段產(chǎn)生的16 個錯誤幀之后,ECU1 與ECU3 同步發(fā)送,惡意報文始終可以發(fā)送成功,而被攻擊報文發(fā)送失敗后,進行了自動重發(fā)。

        圖9 總線脫離攻擊第二階段電壓波形圖Fig.9 Voltage waveform of the second stage of bus-off attack

        ECU1 與ECU3 的TEC 變化如圖10 所示。在0.3 s 時,為總線脫離攻擊開始,在0.35 s 時第一階段攻擊結(jié)束。該階段結(jié)束時ECU3的TEC為127,ECU1 的TEC為135。在0.35 s至1.3 s 時為總線脫離攻擊的第二階段,該階段內(nèi)ECU1 的TEC的計算超過255 并溢出,而ECU3 的TEC 的計算開始減少,最后減少到90。當(dāng)成功使ECU1 脫離總線后,ECU3 停止接收和發(fā)送報文,因此之后其TEC的計算不再下降。

        圖10 總線脫離攻擊中正常節(jié)點與惡意節(jié)點的TEC變化圖Fig.10 TEC change diagram of normal nodes and malicious nodes in bus-off attack

        檢測節(jié)點利用圖5 所示的入侵檢測算法進行入侵檢測,檢測過程中對錯誤幀進行計數(shù),并通過檢測報文M2的發(fā)送頻率判斷是否存在注入攻擊及中斷攻擊。當(dāng)發(fā)生總線脫離攻擊后,若檢測節(jié)點發(fā)出警報,則表示檢測成功。為分析算法的檢測準確率和誤檢率,首先本文將ECU1 的發(fā)送周期設(shè)為恒定值50 ms,進行多次實驗后,得到算法的檢測準確率為100%,誤檢率為0%。然而在實際的汽車CAN 總線中,報文的發(fā)送周期會存在波動。因此,本文將ECU3 發(fā)送的報文周期施加一個隨機的0~35 ms 的時間抖動。檢測算法的檢測率變?yōu)?3.5%,漏檢率變?yōu)?6.5%。由于發(fā)送周期幅值發(fā)生了變化,報文的注入攻擊會發(fā)生一定的漏檢,因此也將導(dǎo)致算法的檢測準確率下降。由以上分析可知,周期波動的大小將會影響檢測算法的準確性。在汽車CAN 總線中,報文ID 越小,其優(yōu)先級越高,重要性的程度越高,而周期變化的幅值越小,算法的檢測準確率也越高[15]。對于一些優(yōu)先級較高的報文,其幅值變化范圍不超過其周期的15%,而算法的檢測率可達到95%以上,因此可以滿足實際的需求。

        6 結(jié)語

        本文主要研究工作包括:1)針對車載CAN 總線脫離攻擊,分析了其攻擊原理和發(fā)生條件,給出了總線脫離攻擊的實現(xiàn)方法。2)模擬車內(nèi)ECU 通信網(wǎng)絡(luò)實現(xiàn)了CAN 總線脫離攻擊。在分析總線脫離攻擊第一階段、第二階段電壓波形和正常節(jié)點、惡意節(jié)點TEC 變化基礎(chǔ)上,提取了總線脫離攻擊特征,提出了一種基于該攻擊特征的入侵檢測算法。3)基于STM32F407ZGT6,驗證了車載CAN 總線脫離攻擊實現(xiàn)的可行性以及入侵檢測算法的有效性。

        下一步工作是在實際車內(nèi)CAN 總線網(wǎng)絡(luò)中應(yīng)用并驗證本文所提入侵檢測算法的準確性。

        猜你喜歡
        黑客報文總線
        基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
        汽車電器(2022年9期)2022-11-07 02:16:24
        歡樂英雄
        多少個屁能把布克崩起來?
        CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
        網(wǎng)絡(luò)黑客比核武器更可怕
        淺析反駁類報文要點
        中國外匯(2019年11期)2019-08-27 02:06:30
        基于PCI Express總線的xHC與FPGA的直接通信
        機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計
        ATS與列車通信報文分析
        多通道ARINC429總線檢查儀
        视频在线观看一区二区三区| 欧美色精品91av| 中文字幕无码免费久久9一区9| 中国av一区二区三区四区| 国产亚洲一区二区在线观看| 国产高清av首播原创麻豆| 色丁香色婷婷| 国产青青草自拍视频在线播放| 在线观看视频免费播放| 无码人妻精品一区二区三区9厂| 成熟丰满熟妇高潮xxxxx| 欧美久久中文字幕| 99伊人久久精品亚洲午夜| 好大好湿好硬顶到了好爽视频| 亚洲va中文字幕无码久久不卡| 亚洲欧洲日产国码无码| 亚洲一区二区精品在线| 国产亚洲美女精品久久久2020 | 日本午夜理论片在线观看| 性裸交a片一区二区三区| 美女啪啪国产| 中国精品久久精品三级| 亚洲精品天堂在线观看| 亚洲一级天堂作爱av| 国产欧美精品aaaaaa片| a级毛片免费观看网站| 亚洲aⅴ无码国精品中文字慕| 在线观看免费的黄片小视频| 日韩 无码 偷拍 中文字幕| 欧美v亚洲v日韩v最新在线| 亚洲第一免费播放区| 国产一区二区三区最新地址 | 五月天激情电影| 免费男人下部进女人下部视频 | 久久精品国产亚洲av夜夜| 性猛交ⅹxxx富婆视频| 国产又黄又猛又粗又爽的a片动漫| 麻豆国产VA免费精品高清在线 | 少妇被粗大的猛烈进出69影院一 | 人人做人人爽人人爱| 日产精品久久久久久久|