作者 |柳澤上海控安可信軟件創(chuàng)新研究院研發(fā)工程師
來(lái)源 |鑒源實(shí)驗(yàn)室
在過(guò)去的幾十年中,CAN總線是最廣泛被應(yīng)用的車載網(wǎng)絡(luò)現(xiàn)場(chǎng)總線。但隨著汽車電子產(chǎn)品的功能逐漸豐富,以及新一代的智能輔助駕駛系統(tǒng)的接入,傳統(tǒng)CAN總線無(wú)論是傳輸效率還是網(wǎng)絡(luò)容量都已無(wú)法滿足需求,所以車載以太網(wǎng)憑借其高帶寬、低成本、低延時(shí)的優(yōu)勢(shì)被引入車載通訊系統(tǒng)[1]。因此,車載網(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)以及車載娛樂信息系統(tǒng)(IVI,In-Vehicle Infotainment)上,通過(guò)對(duì)CAN總線以及車載以太網(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è)方法。車廠的DBC文件會(huì)對(duì)車內(nèi)報(bào)文內(nèi)容,如CAN ID、DLC、周期報(bào)文的周期、信號(hào)起始位、信號(hào)長(zhǎng)度、最大值、保留位等做了定義。常見的車載網(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ù)。
基于專家領(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è)車載網(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è)。車載CAN網(wǎng)絡(luò)在某一工況下,以一定的規(guī)律發(fā)送,是低隨機(jī)性、相對(duì)靜態(tài)的。正常情況下,車載網(wǎng)絡(luò)的負(fù)載率和信息熵較為穩(wěn)定。對(duì)車載網(wǎng)絡(luò)進(jìn)行泛洪攻擊、注入攻擊等,則會(huì)使相應(yīng)指標(biāo)超過(guò)正常值。
其中 ai 為第 i 類報(bào)文在時(shí)間 T 內(nèi)出現(xiàn)的概率。
網(wǎng)絡(luò)檢測(cè)首先選擇合適的時(shí)間窗口,計(jì)算正常車輛的負(fù)載率和信息熵,確定其閾值并添加到規(guī)則庫(kù)中。然后,在實(shí)車運(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是一款輕量化的開源的以太網(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等車載以太網(wǎng)協(xié)議是為了應(yīng)對(duì)汽車的電子電器架構(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ī)則編寫簡(jiǎn)單而又靈活,可支持本地編寫規(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入侵檢測(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)成為車載網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的重要支柱。但汽車電子電氣架構(gòu)的演變、車載網(wǎng)絡(luò)數(shù)據(jù)的增加以及車載通訊協(xié)議的擴(kuò)充,都對(duì)基于規(guī)則的車載網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)提出了更高的要求。性能、可擴(kuò)展性、兼容能力將是下一代車載網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)開發(fā)中重要的考量指標(biāo)。
參考文獻(xiàn):
[1]李嘉銘. 車載以太網(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.
審核編輯黃宇
-
車載網(wǎng)絡(luò)
+關(guān)注
關(guān)注
6文章
160瀏覽量
31839 -
檢測(cè)
+關(guān)注
關(guān)注
5文章
4511瀏覽量
91723
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論