0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

汽車CAN總線滲透測試

上??匕?/a> ? 來源:上??匕? ? 作者:上??匕? ? 2022-11-09 13:53 ? 次閱讀

作者 |肖博陽上??匕部尚跑浖?chuàng)新研究院研發(fā)工程師

來源 |鑒源實驗室

01 CAN總線

1.1 CAN總線是什么?

CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡稱,是ISO國際標(biāo)準(zhǔn)化的串行通信協(xié)議,由以研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國BOSCH公司開發(fā),并最終成為國際標(biāo)準(zhǔn)(ISO 11898)。CAN總線是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。

1.2 為什么要使用CAN總線?

在汽車產(chǎn)業(yè)中,出于對安全性、舒適性、方便性、低功耗、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)出來。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。為適應(yīng)“減少線束的數(shù)量”“通過多個LAN,進(jìn)行大量數(shù)據(jù)的高速通信”的需要,1986 年德國電氣商博世公司開發(fā)出面向汽車的CAN 通信協(xié)議。此后,CAN 通過ISO 11898及ISO 11519進(jìn)行了標(biāo)準(zhǔn)化,在歐洲已是汽車網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議。

pYYBAGNrPmKAEYcLAAB3kFr_JQM124.png

圖1汽車CAN總線(From gast-auto.com)

1.3CAN總線的網(wǎng)絡(luò)安全威脅分析

CAN網(wǎng)絡(luò)不是一個封閉的內(nèi)部網(wǎng)絡(luò),可直接通過車內(nèi)的OBD診斷接口接入CAN總線,也可通過智能手機(jī)、云服務(wù)器等與T-Box建立連接間接接入CAN總線,這樣就給不法者入侵CAN網(wǎng)絡(luò)提供了可乘之機(jī)。通過對CAN總線協(xié)議與網(wǎng)絡(luò)特性進(jìn)行簡要的TARA(Threat Analysis and Risk Assessment)分析,可將CAN網(wǎng)絡(luò)的威脅安全屬性總結(jié)為以下幾方面:

(1)機(jī)密性

CAN總線的通信方式是全局廣播,因此只要接入CAN總線的任一節(jié)點(diǎn),就能輕易訪問CAN總線上所有流量信息。CAN數(shù)據(jù)以明文形式傳輸,沒有任何消息驗證碼、數(shù)字簽名的保護(hù)。

(2)可用性

CAN總線采用基于優(yōu)先級的仲裁方式,即當(dāng)有多條消息同時需要發(fā)出時,優(yōu)先級高的先行發(fā)出,因此攻擊者可以利用這一點(diǎn),在某節(jié)點(diǎn)以高頻發(fā)送具有高優(yōu)先級的報文以阻塞其他節(jié)點(diǎn)的消息發(fā)出,進(jìn)而導(dǎo)致ECUs無法正常工作。

(3)真實性

CAN報文數(shù)據(jù)內(nèi)容不包含發(fā)送方的任何信息,這使節(jié)點(diǎn)無法判斷消息的來源是其他合法節(jié)點(diǎn)還是攻擊者,因此外部攻擊者可以偽裝成任一ECU節(jié)點(diǎn)發(fā)送惡意消息。

(4)完整性

CAN協(xié)議本身雖然有CRC校驗對傳輸過程進(jìn)行完整性驗證,但不能防止數(shù)據(jù)被第三方惡意修改后重新注入。

02 滲透測試

2.1 什么是滲透測試

滲透測試是一種通過模擬惡意攻擊者的技術(shù)和方法,挫敗目標(biāo)系統(tǒng)的安全控制措施,取得訪問控制權(quán),并發(fā)現(xiàn)具有業(yè)務(wù)影響后果安全隱患的一種安全測試與評估方式。

2.2 為什么要對CAN總線做滲透測試?

上文已經(jīng)對CAN總線的潛在風(fēng)險與滲透測試做過簡要的介紹,因此不難發(fā)現(xiàn),對于有著一定潛在風(fēng)險的通信協(xié)議,對其進(jìn)行滲透測試是不可或缺的。通過滲透測試,我們能對CAN存在的漏洞等安全脆弱點(diǎn)進(jìn)行探測、利用,進(jìn)一步得到目標(biāo)系統(tǒng)存在的安全隱患,使目標(biāo)機(jī)構(gòu)和組織可以參照生成的滲透測試報告進(jìn)行維護(hù)。

2.3滲透測試的方式

(1)模糊攻擊

模糊攻擊指的是通過生成一系列隨機(jī)、無效或非預(yù)期的報文后,將這些報文發(fā)送至目標(biāo)總線上,以達(dá)到目標(biāo)總線出現(xiàn)非預(yù)期的行為的一種滲透測試方式。模糊攻擊不需要了解攻擊對象本身的數(shù)據(jù)特點(diǎn)(如CAN報文的某一數(shù)據(jù)位所表示的意義),只需要構(gòu)建符合CAN報文格式的數(shù)據(jù),因此可以通過模糊攻擊挖掘系統(tǒng)的潛在漏洞。

模糊攻擊可以測試當(dāng)前被測對象是否有做報文數(shù)據(jù)完整性校驗的安全防護(hù)措施,若無安全防護(hù)措施,則被測對象將可能產(chǎn)生非預(yù)期的行為。模糊可以在不同層面上進(jìn)行,分別為:原始報文層、系統(tǒng)信號層、協(xié)議層。針對這三種層面,均可使用隨機(jī)模糊、遍歷模糊或自定義的模糊策略進(jìn)行模糊攻擊。

例如將報文ID設(shè)置為完全隨機(jī)、報文DLC設(shè)置為4、報文Data設(shè)置為”1X 12 34 56”,其中X表示需要模糊的數(shù)據(jù),對CAN總線進(jìn)行模糊攻擊,可以看到發(fā)送的模糊報文如圖2所示。

pYYBAGNrP5aANrZHAAAaDF_FmCQ995.png

圖2模糊攻擊報文信息

(2)重放攻擊

重放攻擊指的是惡意地將有效報文發(fā)送至目標(biāo)總線上,使目標(biāo)系統(tǒng)重現(xiàn)該報文所控制的行為或?qū)?yīng)的狀態(tài)的一種滲透測試方式。重放攻擊的前提即是上文介紹的CAN總線利用全局廣播進(jìn)行通信,攻擊者利用這點(diǎn)能夠輕而易舉地獲取到CAN總線上所有的報文信息。重放攻擊也不需要了解攻擊對象本身的數(shù)據(jù)特點(diǎn)或工作原理,只需原封不動地將報文發(fā)送即可達(dá)到攻擊目的。重放攻擊可以測試當(dāng)前被測對象是否有做關(guān)于數(shù)據(jù)來源的真實性校驗的安全防護(hù)措施,若沒有則被測對象將會執(zhí)行惡意重放報文的控制行為。

(3)DoS攻擊

DoS是Denial of Service的簡稱,即拒絕服務(wù),指的是通過臨時或無限期干擾連接于網(wǎng)絡(luò)的服務(wù)。DoS攻擊基于上文介紹的CAN總線以報文優(yōu)先級進(jìn)行仲裁得以實現(xiàn),對于CAN總線,DoS攻擊可以理解為頻繁向目標(biāo)總線發(fā)送高優(yōu)先級報文來占滿目標(biāo)總線的資源,提高總線負(fù)載率,使其他正常報文不可傳輸。DoS攻擊需要了解CAN報文的優(yōu)先級仲裁機(jī)制,即CAN報文的id位越小,CAN報文的優(yōu)先級越高;在具有相同id時,數(shù)據(jù)幀的優(yōu)先級大于遙控幀的優(yōu)先級、標(biāo)準(zhǔn)幀的優(yōu)先級大于拓展幀的優(yōu)先級。DoS攻擊可以測試當(dāng)前被測對象是否有做可用性保護(hù)的安全防護(hù)措施。

例如將報文ID設(shè)置為0x1、報文DLC設(shè)置為4、報文Data設(shè)置為“12 34 56 78”、期望負(fù)載率設(shè)置為40%,對CAN總線進(jìn)行DoS攻擊,可以看到總線負(fù)載率如圖3所示。

pYYBAGNrP8yABlWeAAARfSXzCC0028.png

圖3 DoS攻擊時總線負(fù)載率圖

(4)UDS探測

UDS(Unified Diagnostic Services,統(tǒng)一的診斷服務(wù))診斷協(xié)議是在汽車電子ECU環(huán)境下的一種診斷通信協(xié)議。UDS報文與普通報文不同,通常情況下在CAN總線中不會存在大量的UDS報文;當(dāng)用戶需要對ECU請求服務(wù)時,才會向CAN總線發(fā)送UDS報文,在接收到UDS報文后,ECU會以相應(yīng)的正響應(yīng)或負(fù)響應(yīng)進(jìn)行回復(fù),可以將這一過程理解為一種問答式的通信方式。基于這種問答式的通信,用戶可以在CAN總線上實現(xiàn)基于ISO 14229協(xié)議中的許多服務(wù),如診斷會話控制服務(wù)、通過ID讀數(shù)據(jù)服務(wù),暴力破解安全進(jìn)入服務(wù),進(jìn)一步得到用戶或者廠家的私密信息。

UDS探測并非是一種攻擊方式,而可以理解為一種為之后滲透測試攻擊所做的準(zhǔn)備工作。通過UDS探測,可以獲取到汽車所支持的服務(wù)類型等信息,竊取用戶以及廠商的私密信息,也可采取進(jìn)一步的滲透測試,如前文所介紹的模糊攻擊等。

例如可先探測目標(biāo)網(wǎng)絡(luò)診斷物理尋址請求ID與ECU的響應(yīng)ID,為后續(xù)進(jìn)一步的滲透提供前置條件。探測效果圖如4所示。

poYBAGNrP_uASzF3AAB3ElVAM00479.png

圖4 UDS探測效果圖

03 總結(jié)

隨著汽車智能化、網(wǎng)聯(lián)化的高速發(fā)展,對于汽車通訊網(wǎng)絡(luò)的安全威脅越來越多,而CAN總線是目前汽車使用最廣泛的總線之一,因此對汽車CAN總線網(wǎng)絡(luò)安全威脅進(jìn)行滲透測試、挖掘潛在漏洞至關(guān)重要。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16028

    瀏覽量

    176637
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1906

    瀏覽量

    130498
  • 汽車電子
    +關(guān)注

    關(guān)注

    3018

    文章

    7787

    瀏覽量

    165676
收藏 人收藏

    評論

    相關(guān)推薦

    汽車CAN總線的特點(diǎn)和應(yīng)用

    汽車CAN總線是一種連接汽車各種控制單元的通信協(xié)議和數(shù)據(jù)傳輸標(biāo)準(zhǔn),它對于現(xiàn)代汽車的發(fā)展具有重要意義。以下是對
    的頭像 發(fā)表于 09-30 11:31 ?243次閱讀

    保護(hù)汽車 CAN 總線系統(tǒng)免受ESD過壓事件的影響

    電子發(fā)燒友網(wǎng)站提供《保護(hù)汽車 CAN 總線系統(tǒng)免受ESD過壓事件的影響.pdf》資料免費(fèi)下載
    發(fā)表于 09-12 10:34 ?0次下載
    保護(hù)<b class='flag-5'>汽車</b> <b class='flag-5'>CAN</b> <b class='flag-5'>總線</b>系統(tǒng)免受ESD過壓事件的影響

    新品發(fā)布 | 同星智能正式推出CAN總線一致性測試系統(tǒng)

    CAN總線一致性測試系統(tǒng)CANFD/CAN總線一致性測試系統(tǒng),在硬件系統(tǒng)上基于同星自主研發(fā)的
    的頭像 發(fā)表于 07-06 08:21 ?390次閱讀
    新品發(fā)布 | 同星智能正式推出<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>一致性<b class='flag-5'>測試</b>系統(tǒng)

    CAN總線測試工具的主要功能

    CAN總線測試工具是用于測試CAN(Controller Area Network)總線通信的軟
    的頭像 發(fā)表于 06-25 16:02 ?886次閱讀

    can總線中斷狀態(tài)什么意思呢?

    CAN總線(Controller Area Network)是一種廣泛使用的現(xiàn)場總線通信協(xié)議,主要用于汽車、工業(yè)控制等領(lǐng)域。在CAN
    的頭像 發(fā)表于 06-16 10:21 ?1213次閱讀

    如何使用示波器測試CAN信號

    隨著汽車技術(shù)的快速發(fā)展,CAN(Controller Area Network)總線技術(shù)已成為現(xiàn)代汽車內(nèi)部通信的主要方式。CAN
    的頭像 發(fā)表于 05-23 18:07 ?3639次閱讀

    汽車CAN FD總線測試原理及應(yīng)用

    CAN FD總線報文周期一致性測試方法,可自動實現(xiàn)監(jiān)控測試并快速生成測試報告,主要根據(jù)CAPL語言設(shè)計建立
    發(fā)表于 04-01 12:53 ?712次閱讀
    <b class='flag-5'>汽車</b><b class='flag-5'>CAN</b> FD<b class='flag-5'>總線</b><b class='flag-5'>測試</b>原理及應(yīng)用

    CAN總線錯誤幀及其排查方法簡單介紹#汽車CAN總線?

    CAN總線汽車電子
    北匯信息POLELINK
    發(fā)布于 :2024年03月15日 14:14:40

    什么是CAN總線通信?CAN總線工作原理

    這意味著變送器通過CAN收發(fā)器改變總線電平,并將其信息傳輸?shù)?b class='flag-5'>CAN總線。接收器通過監(jiān)測總線電平將總線
    發(fā)表于 02-19 14:53 ?5235次閱讀
    什么是<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>通信?<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>工作原理

    CAN總線汽車領(lǐng)域的應(yīng)用及挑戰(zhàn)

    作為一種串行通訊協(xié)議,CAN總線初期專為汽車電子設(shè)備間的通信而開發(fā)。借助其高度可靠、實時響應(yīng)及靈活應(yīng)用等特質(zhì),該總線汽車市場獲得廣泛使用。
    發(fā)表于 02-15 14:46 ?1029次閱讀

    高速CAN總線和低速CAN總線的特性

    高速CAN總線和低速CAN總線的特性 高速CAN總線和低速C
    的頭像 發(fā)表于 01-31 14:09 ?2334次閱讀

    汽車總線設(shè)計及測試寶典

    電子發(fā)燒友網(wǎng)站提供《汽車總線設(shè)計及測試寶典.pdf》資料免費(fèi)下載
    發(fā)表于 12-25 09:59 ?4次下載

    詳解純電動汽車CAN總線系統(tǒng)

    CAN總線英文全稱為Controller Area Network,即控制器局域網(wǎng),是目前汽車上使用最廣泛的總線之一。純電動汽車一般裝有7個
    的頭像 發(fā)表于 11-13 10:05 ?1w次閱讀
    詳解純電動<b class='flag-5'>汽車</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>系統(tǒng)

    汽車CAN總線系統(tǒng)的挑戰(zhàn)與設(shè)計

    CAN總線技術(shù)已在汽車上廣泛應(yīng)用,隨著新能源車型以及自動駕駛技術(shù)的推廣,總線問題也對汽車的安全帶來風(fēng)險挑戰(zhàn),本文從系統(tǒng)角度對
    的頭像 發(fā)表于 11-03 10:17 ?1056次閱讀
    <b class='flag-5'>汽車</b><b class='flag-5'>CAN</b><b class='flag-5'>總線</b>系統(tǒng)的挑戰(zhàn)與設(shè)計