點擊上方藍字談思實驗室
獲取更多汽車網(wǎng)絡(luò)安全資訊

控制器局域網(wǎng)(CAN bus)由羅伯特·博世公司于1983年開發(fā)。該協(xié)議于1986年美國密歇根州底特律市舉行的國際汽車工程師學會(SAE)會議上正式發(fā)表。第一個CAN控制芯片,由英特爾和飛利浦生產(chǎn),并且于1987年發(fā)布。 世界上第一臺裝載了基于CAN的多重線系統(tǒng)的汽車是1991年推出的梅賽德斯-奔馳 W140。
01
CAN節(jié)點介紹
連接到CAN總線上的單元被稱為CAN節(jié)點,所有連接到同一個CAN總線上的節(jié)點同CAN總線一起組成了CAN網(wǎng)絡(luò)。CAN節(jié)點一般由以下幾個模塊組成:
1)中央處理器、微處理器或主處理器
處理器對收發(fā)到的消息進行解析和處理,類 似于CAN節(jié)點的大腦,經(jīng)由該大腦的分析之后將指令下發(fā)給傳感器、驅(qū)動器和控制設(shè)備。
2)CAN控制器,用于收發(fā)消息的控制模塊
接收:CAN控制器將從總線上串行接收的字節(jié)流,直到整個消息接收完畢,然后將消息發(fā)送給處理器進行分析處理。
發(fā)送:主處理器發(fā)送信息到CAN控制器,之后當總線空閑時將信息以比特流的方式串行發(fā)送至總線。
3)收發(fā)器,由ISO11898-2/3標準定義
接收:把數(shù)據(jù)流從CAN總線層轉(zhuǎn)換成CAN控制器可以使用的標準。
傳輸:把來自CAN控制器的數(shù)據(jù)流轉(zhuǎn)換至CAN總線層。
CAN總線上的每個節(jié)點都能夠發(fā)送和接收信息,但不能夠同時進行。 一個消息或幀主要包括標識符(ID)、CRC、ACK等字段。ID表示信息的優(yōu)先級,最多八個數(shù)據(jù)字節(jié)。消息采用不歸零(NRZ)格式串行傳送到CAN總線,并且可被所有節(jié)點接收。

被CAN網(wǎng)絡(luò)連接的設(shè)備通常是傳感器,驅(qū)動器和其他控制設(shè)備。 這些設(shè)備通過一個中央處理器、一個CAN控制器,和一個CAN接收器連接至總線。
02
CAN幀結(jié)構(gòu)介紹
CAN節(jié)點在CAN總線上以幀結(jié)構(gòu)發(fā)送CAN消息。CAN幀結(jié)構(gòu),包括幀起始標志SOF、幀結(jié)束標志EOF、仲裁字段、控制字段、數(shù)據(jù)字段、CRC校驗字段ACK字段七個組成部分。

CAN幀格式(圖片來自維基百科)
CAN總線有四種不同的幀類型,分別是數(shù)據(jù)幀、遠程幀、錯誤幀和過載幀。數(shù)據(jù)幀用來傳送數(shù)據(jù),遠程幀通過特殊的Identifier請求指定消息,當節(jié)點檢測到錯誤時會發(fā)送一個錯誤幀,過載幀用來在數(shù)據(jù)幀和遠程幀之間設(shè)置延遲。CAN幀格式各個字段解釋如下:

CAN幀各字段解釋(表格來自維基百科)
03
CAN總線攻擊面分析
CAN總線攻擊面包括遠程攻擊面和物理接觸攻擊面兩個大的方面,其中遠程攻擊面有遠程信息處理單元(TBOX ,或5G模塊)、車載信息娛樂系統(tǒng)(HU)、藍牙模塊、WIFI、遙控鑰匙和遠程診斷接口等,物理接觸攻擊面主要為OBD-II診斷端口和各類傳感器。

CAN總線攻擊面
04
CAN總線安全缺陷
基于ID的仲裁機制
CAN幀沒有標識發(fā)送者和接收者,CAN協(xié)議使用一種叫“帶有沖突檢測的載波偵聽多路訪問”機制進行仲裁。當多個節(jié)點同時發(fā)送消息時,ID最小的節(jié)點擁有最高的優(yōu)先級。當任意一個節(jié)點發(fā)送控制位時,其他節(jié)點均會讀取控制位,無論控制位的值是多少。當一個節(jié)點檢測到更高優(yōu)先級的數(shù)據(jù)幀時,它將停止發(fā)送。
我們以兩個不同ID的節(jié)點簡單介紹以下仲裁機制生效的方式。假設(shè)在同一個CAN總線上存在節(jié)點15和節(jié)點16,兩個節(jié)點在CAN總線空閑時同時搶占總線,它們即將發(fā)送的幀數(shù)據(jù)如下表所示:

(表格數(shù)據(jù)來自維基百科)
Node 15和Node 16在同一時間想要發(fā)送數(shù)據(jù),兩個節(jié)點分別發(fā)送最高的位,一次發(fā)送一位,使用“線與”機制判斷,0為顯性,1為隱性,前面6個比特兩個節(jié)點都發(fā)送0,接收到0;第七比特位,Node 15發(fā)送0接收0,Node 16發(fā)送1接收0,Node 15勝出。

安全缺陷
針對這種仲裁機制,大家很容易就能想到攻擊者可以偽造高優(yōu)先級的報文,頻繁地向CAN總線上發(fā)送,導致CAN總線上合法節(jié)點無法正常發(fā)送報文,即拒絕服務(wù)攻擊。究其原因,CAN協(xié)議沒有標識發(fā)送者和接收者的機制,也沒有額外的認證手段;此外,在CAN總線上傳輸?shù)臄?shù)據(jù)的機密性也無法得到保證。
05
針對CAN總線的攻擊方式
由于CAN總線沒有提供認證機制和保密性機制,攻擊者可以對CAN總線發(fā)起DOS攻擊、Fuzzy攻擊、嗅探與重放攻擊以及節(jié)點偽造等等。

針對CAN總線的攻擊方式
針對沒有認證機制的缺陷,攻擊者可以以高頻率的方式頻繁發(fā)送最高優(yōu)先級的消息:

DOS攻擊示意圖
同樣地,攻擊者可以使用Fuzzy的方式隨機注入消息,測試CAN總線和節(jié)點是否存在邏輯漏洞和內(nèi)存相關(guān)的安全缺陷:

Fuzz攻擊示意圖
針對缺少保密性和認證的缺陷,攻擊者可以先嗅探CAN總線,然后對消息進行重放,通過這種方式可以實現(xiàn)多種針對車輛控制系統(tǒng)的操作:

嗅探與重放攻擊示意圖
節(jié)點偽造攻擊也同樣適用于CAN總線,因為總線沒有認證節(jié)點身份的機制,攻擊者可以通過物理接觸的方式添加任意節(jié)點:

節(jié)點偽造攻擊示意圖
來源:CSDN@車聯(lián)網(wǎng)安全雜貨鋪
https://blog.csdn.net/didaliping/article/details/121464134
end

談思汽車媒體門戶

精品活動推薦




AutoSec系列沙龍

專業(yè)社群
部分入群專家來自:
新勢力車企:
特斯拉、理想、極氪、小米、零跑汽車、阿維塔汽車、智己汽車、小鵬、嵐圖汽車、蔚來汽車、吉祥汽車、賽力斯......
外資傳統(tǒng)主流車企代表:
大眾中國、大眾酷翼、奧迪汽車、寶馬、福特、戴姆勒-奔馳、通用、保時捷、沃爾沃、現(xiàn)代汽車、日產(chǎn)汽車、捷豹路虎、斯堪尼亞......
內(nèi)資傳統(tǒng)主流車企:
吉利汽車、上汽乘用車、長城汽車、上汽大眾、長安汽車、北京汽車、東風汽車、廣汽、比亞迪、一汽集團、一汽解放、東風商用、上汽商用......
全球領(lǐng)先一級供應商:
博世、大陸集團、聯(lián)合汽車電子、安波福、采埃孚、科世達、舍弗勒、霍尼韋爾、大疆、日立、哈曼、華為、百度、聯(lián)想、聯(lián)發(fā)科、普瑞均勝、德賽西威、蜂巢轉(zhuǎn)向、均聯(lián)智行、武漢光庭、星紀魅族、中車集團、濰柴集團、地平線、紫光同芯、字節(jié)跳動、......
二級供應商(500+以上):
中科數(shù)測、ETAS、BlackDuck、NXP、上海軟件中心、Deloitte、奇安信、為辰信安、云馳未來、信長城、澤鹿安全、紐創(chuàng)信安、復旦微電子、天融信、奇虎360、中汽中心、中國汽研、上海汽檢、加特蘭微電子、浙江大學......
人員占比

公司類型占比

文章
關(guān)于涉嫌仿冒AutoSec會議品牌的律師聲明
一文帶你了解智能汽車車載網(wǎng)絡(luò)通信安全架構(gòu)
網(wǎng)絡(luò)安全:TARA方法、工具與案例
汽車數(shù)據(jù)安全合規(guī)重點分析
淺析汽車芯片信息安全之安全啟動
域集中式架構(gòu)的汽車車載通信安全方案探究
系統(tǒng)安全架構(gòu)之車輛網(wǎng)絡(luò)安全架構(gòu)
車聯(lián)網(wǎng)中的隱私保護問題
智能網(wǎng)聯(lián)汽車網(wǎng)絡(luò)安全技術(shù)研究
AUTOSAR 信息安全框架和關(guān)鍵技術(shù)分析
AUTOSAR 信息安全機制有哪些?
信息安全的底層機制
汽車網(wǎng)絡(luò)安全
Autosar硬件安全模塊HSM的使用
首發(fā)!小米雷軍兩會上就汽車數(shù)據(jù)安全問題建言:關(guān)于構(gòu)建完善汽車數(shù)據(jù)安全管理體系的建議