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