在過去的幾十年中,CAN總線是最廣泛被應(yīng)用的車載網(wǎng)絡(luò)現(xiàn)場總線。但隨著汽車電子產(chǎn)品的功能逐漸豐富,以及新一代的智能輔助駕駛系統(tǒng)的接入,傳統(tǒng)CAN總線無論是傳輸效率還是網(wǎng)絡(luò)容量都已無法滿足需求,所以車載以太網(wǎng)憑借其高帶寬、低成本、低延時的優(yōu)勢被引入車載通訊系統(tǒng)[1]。因此,車載網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測系統(tǒng) (N-IDS,Network Intrusion Detection System,)可以根據(jù)網(wǎng)絡(luò)載體的差異分為CAN-IDS以及以太網(wǎng)IDS。
N-IDS系統(tǒng)部署在遠(yuǎn)程通信終端(T-Box,Telematics Box)、網(wǎng)關(guān)以及車載娛樂信息系統(tǒng)(IVI,In-Vehicle Infotainment)上,通過對CAN總線以及車載以太網(wǎng)上的流量數(shù)據(jù)的監(jiān)控、數(shù)據(jù)載荷的解析和字段匹配來識別網(wǎng)絡(luò)中出現(xiàn)的異常流量和潛在攻擊行為。
01
CAN-IDS
CAN-IDS會對采集到的CAN流量,從報文、場景、網(wǎng)絡(luò)三方面,分別根據(jù)既定規(guī)則庫的規(guī)則進(jìn)行匹配,從而識別出攻擊/異常報文。
1.1 DBC檢測
DBC檢測是根據(jù)DBC文件制定的規(guī)則庫對單幀報文進(jìn)行檢測的檢測方法。車廠的DBC文件會對車內(nèi)報文內(nèi)容,如CAN ID、DLC、周期報文的周期、信號起始位、信號長度、最大值、保留位等做了定義。常見的車載網(wǎng)絡(luò)注入攻擊、重放攻擊、模糊攻擊等,往往會改變這些內(nèi)容,通過將采集到的報文與DBC進(jìn)行對比,檢測出與定義內(nèi)容不相符的報文,即為攻擊/異常報文。
整體流程如圖1所示:
圖1 CAN-Based IDS系統(tǒng)架構(gòu)圖
基于DBC的報文檢測,首先加載內(nèi)置的規(guī)則庫。檢測時,采集CAN總線數(shù)據(jù)并進(jìn)行CAN報文的預(yù)處理,然后根據(jù)規(guī)則庫中的檢測規(guī)則,對選定的報文字段進(jìn)行檢測。最終輸出檢測結(jié)果。
1.2 場景規(guī)則檢測
定義正常場景和攻擊場景,正常場景包括報文序列關(guān)系、信號關(guān)系等,攻擊場景包括UDS探測等。對網(wǎng)絡(luò)中的報文與定義的場景規(guī)則進(jìn)行匹配。目前針對的主要場景是UDS診斷服務(wù)。
基于專家領(lǐng)域知識,根據(jù)UDS診斷響應(yīng)中的NRC進(jìn)行安全事件告警。安全事件有:UDS拒絕服務(wù)、UDS探測、UDS非法請求、非法獲取權(quán)限、數(shù)據(jù)安全等。
1.3 網(wǎng)絡(luò)檢測
網(wǎng)絡(luò)檢測是對整個車載網(wǎng)絡(luò)上的負(fù)載率和信息熵進(jìn)行檢測。當(dāng)實(shí)際值偏離了規(guī)則庫中定義的閾值,則說明網(wǎng)絡(luò)異常或被攻擊。泛洪攻擊、模糊攻擊、重放攻擊等都會使網(wǎng)絡(luò)的負(fù)載率和信息熵發(fā)生變化。
CAN總線負(fù)載率是指在CAN總線上單位時間內(nèi)實(shí)際傳送的位數(shù)和可以傳送的位數(shù)之比。負(fù)載率檢測能夠監(jiān)視網(wǎng)絡(luò)的流量情況。信息熵用來衡量系統(tǒng)的不確定性,被廣泛應(yīng)用于計算機(jī)網(wǎng)絡(luò)的異常檢測。車載CAN網(wǎng)絡(luò)在某一工況下,以一定的規(guī)律發(fā)送,是低隨機(jī)性、相對靜態(tài)的。正常情況下,車載網(wǎng)絡(luò)的負(fù)載率和信息熵較為穩(wěn)定。對車載網(wǎng)絡(luò)進(jìn)行泛洪攻擊、注入攻擊等,則會使相應(yīng)指標(biāo)超過正常值。
其中 ai 為第 i 類報文在時間 T 內(nèi)出現(xiàn)的概率。
網(wǎng)絡(luò)檢測首先選擇合適的時間窗口,計算正常車輛的負(fù)載率和信息熵,確定其閾值并添加到規(guī)則庫中。然后,在實(shí)車運(yùn)行過程中,計算當(dāng)前負(fù)載率和信息熵,與規(guī)則庫中的值進(jìn)行比較,判斷網(wǎng)絡(luò)是否異常或被攻擊。
02
Ethernet-IDS
Ethernet-IDS通過對要檢測的網(wǎng)段的所有流量包進(jìn)行抓包,對抓包數(shù)據(jù)進(jìn)行特征字段的提取,利用提取的網(wǎng)絡(luò)特征來識別其中的異常/攻擊報文[1]。Snort是一款輕量化的開源的以太網(wǎng)入侵檢測系統(tǒng),它能夠進(jìn)行實(shí)時流量分析、網(wǎng)絡(luò)數(shù)據(jù)包的記錄、異常流量的監(jiān)測和響應(yīng)。最初Snort僅支持IP、TCP、UDP等下層協(xié)議的檢測,但其預(yù)處理器機(jī)制可被用來拓展兼容不同的上層應(yīng)用層協(xié)議。
SOME/IP、DoIP等車載以太網(wǎng)協(xié)議是為了應(yīng)對汽車的電子電器架構(gòu)由分布式逐漸走向中央集中化的演化,而設(shè)計出來的應(yīng)用層協(xié)議。于彤[3]從SOME/IP和DoIP協(xié)議的數(shù)據(jù)完整性、規(guī)范程度和潛在漏洞等方面分析了兩種協(xié)議可能存在的風(fēng)險,并針對此將SOME/IP、DoIP預(yù)處理器引入Snort中。ZIHAN Zhou等[4]通過改進(jìn)了Snort的規(guī)則匹配模式并設(shè)計了一種二進(jìn)制的規(guī)則格式,使其完全適配AUTOSAR的規(guī)范,能夠被引入嵌入式的系統(tǒng)。
Snort的原理架構(gòu)圖如圖2所示,其中包括了配置模塊、數(shù)據(jù)獲取模塊、檢測模塊以及輸出模塊。通過修改配置模塊的配置文件,可以定義數(shù)據(jù)獲取的配置、預(yù)處理的方式、檢測的規(guī)則以及輸出日志的格式。數(shù)據(jù)獲取模塊負(fù)責(zé)檢測、解析網(wǎng)卡中的流量并將其送入檢測模塊。檢測模塊根據(jù)配置信息,對指定的異常行為進(jìn)行檢測和處理,并且會將檢測結(jié)果送入輸出模塊,由其實(shí)現(xiàn)輸出日志的解析、處理、封裝和轉(zhuǎn)發(fā)等功能。
圖2 snort原理架構(gòu)圖
2.1 配置模塊
配置模塊負(fù)責(zé)以太網(wǎng)N-IDS所有模塊的配置選項(xiàng)設(shè)置,在IDS啟動的時候即對各個模塊進(jìn)行初始化配置。配置內(nèi)容如表1所示:
表1 Snort 檢測功能配置
2.2 數(shù)據(jù)獲取模塊
數(shù)據(jù)獲取模塊擁有數(shù)據(jù)包記錄功能,可以直接記錄原始數(shù)據(jù)報文,以及對本地記錄的數(shù)據(jù)包進(jìn)行重放。數(shù)據(jù)獲取模塊抓取網(wǎng)卡中流量數(shù)據(jù)包,根據(jù)配置文件進(jìn)行相應(yīng)的解碼和預(yù)處理。數(shù)據(jù)獲取模塊對數(shù)據(jù)包標(biāo)準(zhǔn)化預(yù)處理,使得檢測模塊能夠直接進(jìn)行特征字段的匹配。
2.3 檢測模塊
檢測模塊從兩個方面對以太網(wǎng)中的異常流量和行為進(jìn)行檢測:網(wǎng)絡(luò)流量檢測和網(wǎng)絡(luò)數(shù)據(jù)包檢測。
(1)網(wǎng)絡(luò)流量檢測對以太網(wǎng)的流量情況,包括帶寬利用率和信息熵進(jìn)行監(jiān)測分析,當(dāng)超出正常閾值時發(fā)出警告。
(2)網(wǎng)絡(luò)數(shù)據(jù)包檢測定義了正常場景和攻擊場景,其中正常場景包括報文序列關(guān)系、信號關(guān)系等,而攻擊場景包括ICMP flood、TCP port scan等。通過對網(wǎng)絡(luò)數(shù)據(jù)包中的報文特征字段與定義的場景規(guī)則進(jìn)行匹配,來識別隱藏在報文內(nèi)的異常攻擊行為。
Snort是一個完全基于規(guī)則的以太網(wǎng)IDS系統(tǒng),它的規(guī)則編寫簡單而又靈活,可支持本地編寫規(guī)則的導(dǎo)入。Snort的規(guī)則是由文本構(gòu)成,主要由規(guī)則頭和規(guī)則選項(xiàng)兩部分構(gòu)成。一條Snort規(guī)則編寫如圖3所示:
圖3 Snort規(guī)則編寫示例
(1)規(guī)則頭:定義了數(shù)據(jù)包的發(fā)送端地址和端口、接收端的地址和端口、協(xié)議類型,以及規(guī)則匹配成功后應(yīng)執(zhí)行的操作。
(2)規(guī)則選項(xiàng):定義了規(guī)則匹配的數(shù)據(jù)包特征,是Snort入侵檢測引擎的核心,也是將Snort易用性與強(qiáng)大功能和靈活性結(jié)合起來的關(guān)鍵。所有Snort規(guī)則選項(xiàng)都使用分號( ; )字符彼此分隔。規(guī)則選項(xiàng)關(guān)鍵字與參數(shù)之間用冒號( : )分隔。通過規(guī)則選項(xiàng)的設(shè)置, Snort可以對報文的任意字段進(jìn)行正則匹配。
2.4 輸出模塊
輸出模塊負(fù)責(zé)對檢測模塊的檢測結(jié)果進(jìn)行進(jìn)一步的處理與輸出。檢測模塊根據(jù)配置文件定義的輸出格式將檢測結(jié)果封裝成日志的形式。輸出模塊還可以通過配置相關(guān)參數(shù)以及設(shè)置事件過濾規(guī)則來修改日志輸出的頻率。
03
小結(jié)
規(guī)則檢測的方法以其穩(wěn)定性好、檢測準(zhǔn)確率高、可解釋性強(qiáng)等優(yōu)點(diǎn)成為車載網(wǎng)絡(luò)入侵檢測系統(tǒng)的重要支柱。但汽車電子電氣架構(gòu)的演變、車載網(wǎng)絡(luò)數(shù)據(jù)的增加以及車載通訊協(xié)議的擴(kuò)充,都對基于規(guī)則的車載網(wǎng)絡(luò)入侵檢測系統(tǒng)提出了更高的要求。性能、可擴(kuò)展性、兼容能力將是下一代車載網(wǎng)絡(luò)入侵檢測系統(tǒng)開發(fā)中重要的考量指標(biāo)。
審核編輯:劉清
-
以太網(wǎng)
+關(guān)注
關(guān)注
41文章
5630瀏覽量
175777 -
CAN總線
+關(guān)注
關(guān)注
145文章
1984瀏覽量
132745 -
IDS
+關(guān)注
關(guān)注
0文章
28瀏覽量
16368 -
DBC
+關(guān)注
關(guān)注
2文章
59瀏覽量
8092 -
車載網(wǎng)絡(luò)系統(tǒng)
+關(guān)注
關(guān)注
0文章
8瀏覽量
6594
原文標(biāo)題:基于規(guī)則的車載網(wǎng)絡(luò)入侵檢測技術(shù)
文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄

車載網(wǎng)絡(luò)測試技術(shù)的進(jìn)化之路#CAN #車載以太網(wǎng) #TSN #時間敏感網(wǎng)絡(luò)
無刷直流電機(jī)電流檢測新技術(shù)
電機(jī)控制系統(tǒng)中的電流檢測技術(shù)
車載終端安全檢測有哪些內(nèi)容和方法
一種高靈敏的化學(xué)檢測系統(tǒng)

一種離子注入技術(shù):暈環(huán)技術(shù)介紹

TOSUN 車載以太網(wǎng)仿真測試解決方案

R155 VTA 認(rèn)證對汽車入侵檢測系統(tǒng)(IDS)合規(guī)要求
一種基于因果路徑的層次圖卷積注意力網(wǎng)絡(luò)

是德科技亮相第三屆車載網(wǎng)絡(luò)和通信架構(gòu)技術(shù)及標(biāo)準(zhǔn)研討會
一種利用wireshark對遠(yuǎn)程服務(wù)器/路由器網(wǎng)絡(luò)抓包方法

評論