<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

汽車CAN總線滲透測試

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

作者 |肖博陽上??匕部尚跑浖撔卵芯吭貉邪l工程師

來源 |鑒源實驗室

01 CAN總線

1.1 CAN總線是什么?

CAN是控制器局域網絡(Controller Area Network, CAN)的簡稱,是ISO國際標準化的串行通信協議,由以研發和生產汽車電子產品著稱的德國BOSCH公司開發,并最終成為國際標準(ISO 11898)。CAN總線是國際上應用最廣泛的現場總線之一。

1.2 為什么要使用CAN總線?

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

pYYBAGNrPmKAEYcLAAB3kFr_JQM124.png

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

1.3CAN總線的網絡安全威脅分析

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

(1)機密性

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

(2)可用性

CAN總線采用基于優先級的仲裁方式,即當有多條消息同時需要發出時,優先級高的先行發出,因此攻擊者可以利用這一點,在某節點以高頻發送具有高優先級的報文以阻塞其他節點的消息發出,進而導致ECUs無法正常工作。

(3)真實性

CAN報文數據內容不包含發送方的任何信息,這使節點無法判斷消息的來源是其他合法節點還是攻擊者,因此外部攻擊者可以偽裝成任一ECU節點發送惡意消息。

(4)完整性

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

02 滲透測試

2.1 什么是滲透測試

滲透測試是一種通過模擬惡意攻擊者的技術和方法,挫敗目標系統的安全控制措施,取得訪問控制權,并發現具有業務影響后果安全隱患的一種安全測試與評估方式。

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

上文已經對CAN總線的潛在風險與滲透測試做過簡要的介紹,因此不難發現,對于有著一定潛在風險的通信協議,對其進行滲透測試是不可或缺的。通過滲透測試,我們能對CAN存在的漏洞等安全脆弱點進行探測、利用,進一步得到目標系統存在的安全隱患,使目標機構和組織可以參照生成的滲透測試報告進行維護。

2.3滲透測試的方式

(1)模糊攻擊

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

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

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

pYYBAGNrP5aANrZHAAAaDF_FmCQ995.png

圖2模糊攻擊報文信息

(2)重放攻擊

重放攻擊指的是惡意地將有效報文發送至目標總線上,使目標系統重現該報文所控制的行為或對應的狀態的一種滲透測試方式。重放攻擊的前提即是上文介紹的CAN總線利用全局廣播進行通信,攻擊者利用這點能夠輕而易舉地獲取到CAN總線上所有的報文信息。重放攻擊也不需要了解攻擊對象本身的數據特點或工作原理,只需原封不動地將報文發送即可達到攻擊目的。重放攻擊可以測試當前被測對象是否有做關于數據來源的真實性校驗的安全防護措施,若沒有則被測對象將會執行惡意重放報文的控制行為。

(3)DoS攻擊

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

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

pYYBAGNrP8yABlWeAAARfSXzCC0028.png

圖3 DoS攻擊時總線負載率圖

(4)UDS探測

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

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

例如可先探測目標網絡診斷物理尋址請求ID與ECU的響應ID,為后續進一步的滲透提供前置條件。探測效果圖如4所示。

poYBAGNrP_uASzF3AAB3ElVAM00479.png

圖4 UDS探測效果圖

03 總結

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

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    15392

    瀏覽量

    172715
  • CAN總線
    +關注

    關注

    145

    文章

    1820

    瀏覽量

    129895
  • 汽車電子
    +關注

    關注

    3002

    文章

    7535

    瀏覽量

    162090
收藏 人收藏

    評論

    相關推薦

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

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

    汽車CAN FD總線測試原理及應用

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

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

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

    CAN總線汽車領域的應用及挑戰

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

    詳解純電動汽車CAN總線系統

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

    汽車CAN總線系統的挑戰與設計

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

    CAN總線訪問與仲裁機制#汽車CAN總線?

    CAN總線
    北匯信息POLELINK
    發布于 :2023年10月20日 15:33:02

    一條口訣總結,汽車CAN總線使用權獲取規則#汽車CAN總線?

    CAN總線
    北匯信息POLELINK
    發布于 :2023年10月20日 12:15:34

    基于VB的CAN總線測試軟件設計

    電子發燒友網站提供《基于VB的CAN總線測試軟件設計.pdf》資料免費下載
    發表于 10-13 11:39 ?0次下載
    基于VB的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>測試</b>軟件設計

    虹科方案|LIN/CAN總線汽車零部件測試方案

    虹科的LIN/CAN總線汽車零部件測試方案是一款優秀的集成套裝,基于Baby-LIN系列產品,幫助客戶高效完成在測試、生產階段車輛零部件質量
    的頭像 發表于 09-20 10:24 ?621次閱讀
    虹科方案|LIN/<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>汽車</b>零部件<b class='flag-5'>測試</b>方案

    can總線為什么要用雙絞線?can總線不用雙絞線可以嗎?

    can總線為什么要用雙絞線?can總線不用雙絞線可以嗎? CAN總線是一種數據通信協議,廣泛用于
    的頭像 發表于 09-14 16:48 ?4301次閱讀

    CAN總線汽車ECU中的作用

    CAN作為汽車ECU之間廣泛應用的通信總線,有一些和應用相關的基礎問題。
    的頭像 發表于 08-19 09:38 ?3252次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>在<b class='flag-5'>汽車</b>ECU中的作用

    CAN總線的位定時與同步機制#汽車CAN總線?

    CAN總線
    北匯信息POLELINK
    發布于 :2023年07月17日 10:57:12

    汽車CAN總線接口浪涌靜電保護電路圖

    (Surge)防護等級比較低,裸機情況下,CAN接口靜電(ESD)可達6kV,無法滿足常見的浪涌測試要求。工業產品、汽車電子產品對通信接口的EMC等級要求更高,許多應用要
    的頭像 發表于 07-06 11:22 ?1547次閱讀
    <b class='flag-5'>汽車</b><b class='flag-5'>CAN</b><b class='flag-5'>總線</b>接口浪涌靜電保護電路圖
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>