作者 |柳澤上??匕部尚跑浖?chuàng)新研究院研發(fā)工程師
來(lái)源 |鑒源實(shí)驗(yàn)室
在過(guò)去的幾十年中,CAN總線是最廣泛被應(yīng)用的車(chē)載網(wǎng)絡(luò)現(xiàn)場(chǎng)總線。但隨著汽車(chē)電子產(chǎn)品的功能逐漸豐富,以及新一代的智能輔助駕駛系統(tǒng)的接入,傳統(tǒng)CAN總線無(wú)論是傳輸效率還是網(wǎng)絡(luò)容量都已無(wú)法滿足需求,所以車(chē)載以太網(wǎng)憑借其高帶寬、低成本、低延時(shí)的優(yōu)勢(shì)被引入車(chē)載通訊系統(tǒng)[1]。因此,車(chē)載網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)系統(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)以及車(chē)載娛樂(lè)信息系統(tǒng)(IVI,In-Vehicle Infotainment)上,通過(guò)對(duì)CAN總線以及車(chē)載以太網(wǎng)上的流量數(shù)據(jù)的監(jiān)控、數(shù)據(jù)載荷的解析和字段匹配來(lái)識(shí)別網(wǎng)絡(luò)中出現(xiàn)的異常流量和潛在攻擊行為。
01CAN-IDS
CAN-IDS會(huì)對(duì)采集到的CAN流量,從報(bào)文、場(chǎng)景、網(wǎng)絡(luò)三方面,分別根據(jù)既定規(guī)則庫(kù)的規(guī)則進(jìn)行匹配,從而識(shí)別出攻擊/異常報(bào)文。
1.1 DBC檢測(cè)
DBC檢測(cè)是根據(jù)DBC文件制定的規(guī)則庫(kù)對(duì)單幀報(bào)文進(jìn)行檢測(cè)的檢測(cè)方法。車(chē)廠的DBC文件會(huì)對(duì)車(chē)內(nèi)報(bào)文內(nèi)容,如CAN ID、DLC、周期報(bào)文的周期、信號(hào)起始位、信號(hào)長(zhǎng)度、最大值、保留位等做了定義。常見(jiàn)的車(chē)載網(wǎng)絡(luò)注入攻擊、重放攻擊、模糊攻擊等,往往會(huì)改變這些內(nèi)容,通過(guò)將采集到的報(bào)文與DBC進(jìn)行對(duì)比,檢測(cè)出與定義內(nèi)容不相符的報(bào)文,即為攻擊/異常報(bào)文。
整體流程如圖1所示:
圖1 CAN-Based IDS系統(tǒng)架構(gòu)圖
基于DBC的報(bào)文檢測(cè),首先加載內(nèi)置的規(guī)則庫(kù)。檢測(cè)時(shí),采集CAN總線數(shù)據(jù)并進(jìn)行CAN報(bào)文的預(yù)處理,然后根據(jù)規(guī)則庫(kù)中的檢測(cè)規(guī)則,對(duì)選定的報(bào)文字段進(jìn)行檢測(cè)。最終輸出檢測(cè)結(jié)果。
1.2 場(chǎng)景規(guī)則檢測(cè)
定義正常場(chǎng)景和攻擊場(chǎng)景,正常場(chǎng)景包括報(bào)文序列關(guān)系、信號(hào)關(guān)系等,攻擊場(chǎng)景包括UDS探測(cè)等。對(duì)網(wǎng)絡(luò)中的報(bào)文與定義的場(chǎng)景規(guī)則進(jìn)行匹配。目前針對(duì)的主要場(chǎng)景是UDS診斷服務(wù)。
基于專(zhuān)家領(lǐng)域知識(shí),根據(jù)UDS診斷響應(yīng)中的NRC進(jìn)行安全事件告警。安全事件有:UDS拒絕服務(wù)、UDS探測(cè)、UDS非法請(qǐng)求、非法獲取權(quán)限、數(shù)據(jù)安全等。
1.3 網(wǎng)絡(luò)檢測(cè)
網(wǎng)絡(luò)檢測(cè)是對(duì)整個(gè)車(chē)載網(wǎng)絡(luò)上的負(fù)載率和信息熵進(jìn)行檢測(cè)。當(dāng)實(shí)際值偏離了規(guī)則庫(kù)中定義的閾值,則說(shuō)明網(wǎng)絡(luò)異常或被攻擊。泛洪攻擊、模糊攻擊、重放攻擊等都會(huì)使網(wǎng)絡(luò)的負(fù)載率和信息熵發(fā)生變化。
CAN總線負(fù)載率是指在CAN總線上單位時(shí)間內(nèi)實(shí)際傳送的位數(shù)和可以傳送的位數(shù)之比。負(fù)載率檢測(cè)能夠監(jiān)視網(wǎng)絡(luò)的流量情況。信息熵用來(lái)衡量系統(tǒng)的不確定性,被廣泛應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)的異常檢測(cè)。車(chē)載CAN網(wǎng)絡(luò)在某一工況下,以一定的規(guī)律發(fā)送,是低隨機(jī)性、相對(duì)靜態(tài)的。正常情況下,車(chē)載網(wǎng)絡(luò)的負(fù)載率和信息熵較為穩(wěn)定。對(duì)車(chē)載網(wǎng)絡(luò)進(jìn)行泛洪攻擊、注入攻擊等,則會(huì)使相應(yīng)指標(biāo)超過(guò)正常值。
其中 ai 為第 i 類(lèi)報(bào)文在時(shí)間 T 內(nèi)出現(xiàn)的概率。
網(wǎng)絡(luò)檢測(cè)首先選擇合適的時(shí)間窗口,計(jì)算正常車(chē)輛的負(fù)載率和信息熵,確定其閾值并添加到規(guī)則庫(kù)中。然后,在實(shí)車(chē)運(yùn)行過(guò)程中,計(jì)算當(dāng)前負(fù)載率和信息熵,與規(guī)則庫(kù)中的值進(jìn)行比較,判斷網(wǎng)絡(luò)是否異?;虮还?。
02Ethernet-IDS
Ethernet-IDS通過(guò)對(duì)要檢測(cè)的網(wǎng)段的所有流量包進(jìn)行抓包,對(duì)抓包數(shù)據(jù)進(jìn)行特征字段的提取,利用提取的網(wǎng)絡(luò)特征來(lái)識(shí)別其中的異常/攻擊報(bào)文[1]。Snort是一款輕量化的開(kāi)源的以太網(wǎng)入侵檢測(cè)系統(tǒng),它能夠進(jìn)行實(shí)時(shí)流量分析、網(wǎng)絡(luò)數(shù)據(jù)包的記錄、異常流量的監(jiān)測(cè)和響應(yīng)。最初Snort僅支持IP、TCP、UDP等下層協(xié)議的檢測(cè),但其預(yù)處理器機(jī)制可被用來(lái)拓展兼容不同的上層應(yīng)用層協(xié)議。SOME/IP、DoIP等車(chē)載以太網(wǎng)協(xié)議是為了應(yīng)對(duì)汽車(chē)的電子電器架構(gòu)由分布式逐漸走向中央集中化的演化,而設(shè)計(jì)出來(lái)的應(yīng)用層協(xié)議。于彤[3]從SOME/IP和DoIP協(xié)議的數(shù)據(jù)完整性、規(guī)范程度和潛在漏洞等方面分析了兩種協(xié)議可能存在的風(fēng)險(xiǎn),并針對(duì)此將SOME/IP、DoIP預(yù)處理器引入Snort中。ZIHAN Zhou等[4]通過(guò)改進(jìn)了Snort的規(guī)則匹配模式并設(shè)計(jì)了一種二進(jìn)制的規(guī)則格式,使其完全適配AUTOSAR的規(guī)范,能夠被引入嵌入式的系統(tǒng)。
Snort的原理架構(gòu)圖如圖2所示,其中包括了配置模塊、數(shù)據(jù)獲取模塊、檢測(cè)模塊以及輸出模塊。通過(guò)修改配置模塊的配置文件,可以定義數(shù)據(jù)獲取的配置、預(yù)處理的方式、檢測(cè)的規(guī)則以及輸出日志的格式。數(shù)據(jù)獲取模塊負(fù)責(zé)檢測(cè)、解析網(wǎng)卡中的流量并將其送入檢測(cè)模塊。檢測(cè)模塊根據(jù)配置信息,對(duì)指定的異常行為進(jìn)行檢測(cè)和處理,并且會(huì)將檢測(cè)結(jié)果送入輸出模塊,由其實(shí)現(xiàn)輸出日志的解析、處理、封裝和轉(zhuǎn)發(fā)等功能。
圖2 snort原理架構(gòu)圖
2.1 配置模塊
配置模塊負(fù)責(zé)以太網(wǎng)N-IDS所有模塊的配置選項(xiàng)設(shè)置,在IDS啟動(dòng)的時(shí)候即對(duì)各個(gè)模塊進(jìn)行初始化配置。配置內(nèi)容如表1所示:
表1 Snort 檢測(cè)功能配置
2.2 數(shù)據(jù)獲取模塊
數(shù)據(jù)獲取模塊擁有數(shù)據(jù)包記錄功能,可以直接記錄原始數(shù)據(jù)報(bào)文,以及對(duì)本地記錄的數(shù)據(jù)包進(jìn)行重放。數(shù)據(jù)獲取模塊抓取網(wǎng)卡中流量數(shù)據(jù)包,根據(jù)配置文件進(jìn)行相應(yīng)的解碼和預(yù)處理。數(shù)據(jù)獲取模塊對(duì)數(shù)據(jù)包標(biāo)準(zhǔn)化預(yù)處理,使得檢測(cè)模塊能夠直接進(jìn)行特征字段的匹配。
2.3 檢測(cè)模塊
檢測(cè)模塊從兩個(gè)方面對(duì)以太網(wǎng)中的異常流量和行為進(jìn)行檢測(cè):網(wǎng)絡(luò)流量檢測(cè)和網(wǎng)絡(luò)數(shù)據(jù)包檢測(cè)。
(1)網(wǎng)絡(luò)流量檢測(cè)對(duì)以太網(wǎng)的流量情況,包括帶寬利用率和信息熵進(jìn)行監(jiān)測(cè)分析,當(dāng)超出正常閾值時(shí)發(fā)出警告。
(2)網(wǎng)絡(luò)數(shù)據(jù)包檢測(cè)定義了正常場(chǎng)景和攻擊場(chǎng)景,其中正常場(chǎng)景包括報(bào)文序列關(guān)系、信號(hào)關(guān)系等,而攻擊場(chǎng)景包括ICMP flood、TCP port scan等。通過(guò)對(duì)網(wǎng)絡(luò)數(shù)據(jù)包中的報(bào)文特征字段與定義的場(chǎng)景規(guī)則進(jìn)行匹配,來(lái)識(shí)別隱藏在報(bào)文內(nèi)的異常攻擊行為。
Snort是一個(gè)完全基于規(guī)則的以太網(wǎng)IDS系統(tǒng),它的規(guī)則編寫(xiě)簡(jiǎn)單而又靈活,可支持本地編寫(xiě)規(guī)則的導(dǎo)入。Snort的規(guī)則是由文本構(gòu)成,主要由規(guī)則頭和規(guī)則選項(xiàng)兩部分構(gòu)成。一條Snort規(guī)則編寫(xiě)如圖3所示:
圖3 Snort規(guī)則編寫(xiě)示例
(1)規(guī)則頭:定義了數(shù)據(jù)包的發(fā)送端地址和端口、接收端的地址和端口、協(xié)議類(lèi)型,以及規(guī)則匹配成功后應(yīng)執(zhí)行的操作。
(2)規(guī)則選項(xiàng):定義了規(guī)則匹配的數(shù)據(jù)包特征,是Snort入侵檢測(cè)引擎的核心,也是將Snort易用性與強(qiáng)大功能和靈活性結(jié)合起來(lái)的關(guān)鍵。所有Snort規(guī)則選項(xiàng)都使用分號(hào)( ; )字符彼此分隔。規(guī)則選項(xiàng)關(guān)鍵字與參數(shù)之間用冒號(hào)( : )分隔。通過(guò)規(guī)則選項(xiàng)的設(shè)置, Snort可以對(duì)報(bào)文的任意字段進(jìn)行正則匹配。
2.4 輸出模塊
輸出模塊負(fù)責(zé)對(duì)檢測(cè)模塊的檢測(cè)結(jié)果進(jìn)行進(jìn)一步的處理與輸出。檢測(cè)模塊根據(jù)配置文件定義的輸出格式將檢測(cè)結(jié)果封裝成日志的形式。輸出模塊還可以通過(guò)配置相關(guān)參數(shù)以及設(shè)置事件過(guò)濾規(guī)則來(lái)修改日志輸出的頻率。
03小結(jié)
規(guī)則檢測(cè)的方法以其穩(wěn)定性好、檢測(cè)準(zhǔn)確率高、可解釋性強(qiáng)等優(yōu)點(diǎn)成為車(chē)載網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的重要支柱。但汽車(chē)電子電氣架構(gòu)的演變、車(chē)載網(wǎng)絡(luò)數(shù)據(jù)的增加以及車(chē)載通訊協(xié)議的擴(kuò)充,都對(duì)基于規(guī)則的車(chē)載網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)提出了更高的要求。性能、可擴(kuò)展性、兼容能力將是下一代車(chē)載網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)開(kāi)發(fā)中重要的考量指標(biāo)。
參考文獻(xiàn):
[1]李嘉銘. 車(chē)載以太網(wǎng)的高效率網(wǎng)絡(luò)安全技術(shù)研究[D].延邊大學(xué),2022.DOI:10.27439/d.cnki.gybdu.2022.000462.
[2]劉春頌,楊壽保,杜濱[J].計(jì)算機(jī)應(yīng)用.基于網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)及其實(shí)現(xiàn).2003,2:29-31.
[3]于彤. SOME/IP與DoIP異常檢測(cè)系統(tǒng)設(shè)計(jì)[D].華中科技大學(xué),2021.DOI:10.27157/d.cnki.ghzku.2021.005242.
[4]Zihan, Z., Lirong, C., Haitao, Z. and Fan, Z., 2021, December. Research on Intrusion Detection Technology Based on Embedded Ethernet. In 2021 18th International Computer Conference on Wavelet Active Media Technology and Information Processing (ICCWAMTIP) (pp. 587-600). IEEE.
審核編輯黃宇
-
車(chē)載網(wǎng)絡(luò)
+關(guān)注
關(guān)注
6文章
169瀏覽量
32487 -
檢測(cè)
+關(guān)注
關(guān)注
5文章
4639瀏覽量
92789
發(fā)布評(píng)論請(qǐng)先 登錄

VIT測(cè)試的范式思考與建議#汽車(chē)電子電氣 #車(chē)載網(wǎng)絡(luò) #實(shí)車(chē)測(cè)試

車(chē)載網(wǎng)絡(luò)測(cè)試技術(shù)的進(jìn)化之路#CAN #車(chē)載以太網(wǎng) #TSN #時(shí)間敏感網(wǎng)絡(luò)
智能井蓋防入侵監(jiān)測(cè)技術(shù)應(yīng)用與解析

車(chē)載終端安全檢測(cè)有哪些內(nèi)容和方法
MCU在車(chē)載系統(tǒng)中的展望
桌面式車(chē)載網(wǎng)絡(luò)自動(dòng)化測(cè)試系統(tǒng)TESTBASE-DESKNAT

面向教學(xué)科研的車(chē)載網(wǎng)絡(luò)系統(tǒng)開(kāi)發(fā)及測(cè)試實(shí)驗(yàn)室

面向教學(xué)科研的車(chē)載網(wǎng)絡(luò)系統(tǒng)開(kāi)發(fā)及測(cè)試實(shí)驗(yàn)室

R155 VTA 認(rèn)證對(duì)汽車(chē)入侵檢測(cè)系統(tǒng)(IDS)合規(guī)要求
車(chē)載網(wǎng)關(guān)解決方案,車(chē)載網(wǎng)關(guān)應(yīng)用和技術(shù)分享

測(cè)試新體驗(yàn) | 車(chē)載網(wǎng)絡(luò)測(cè)試套件INTEWORK-ANTP

評(píng)論