在過去的幾十年中,CAN總線是最廣泛被應用的車載網(wǎng)絡現(xiàn)場總線。但隨著汽車電子產(chǎ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)的異常流量和潛在攻擊行為。
01
CAN-IDS
CAN-IDS會對采集到的CAN流量,從報文、場景、網(wǎng)絡三方面,分別根據(jù)既定規(guī)則庫的規(guī)則進行匹配,從而識別出攻擊/異常報文。
1.1 DBC檢測
DBC檢測是根據(jù)DBC文件制定的規(guī)則庫對單幀報文進行檢測的檢測方法。車廠的DBC文件會對車內(nèi)報文內(nèi)容,如CAN ID、DLC、周期報文的周期、信號起始位、信號長度、最大值、保留位等做了定義。常見的車載網(wǎng)絡注入攻擊、重放攻擊、模糊攻擊等,往往會改變這些內(nèi)容,通過將采集到的報文與DBC進行對比,檢測出與定義內(nèi)容不相符的報文,即為攻擊/異常報文。
整體流程如圖1所示:
圖1 CAN-Based IDS系統(tǒng)架構(gòu)圖
基于DBC的報文檢測,首先加載內(nèi)置的規(guī)則庫。檢測時,采集CAN總線數(shù)據(jù)并進行CAN報文的預處理,然后根據(jù)規(guī)則庫中的檢測規(guī)則,對選定的報文字段進行檢測。最終輸出檢測結(jié)果。
1.2 場景規(guī)則檢測
定義正常場景和攻擊場景,正常場景包括報文序列關系、信號關系等,攻擊場景包括UDS探測等。對網(wǎng)絡中的報文與定義的場景規(guī)則進行匹配。目前針對的主要場景是UDS診斷服務。
基于專家領域知識,根據(jù)UDS診斷響應中的NRC進行安全事件告警。安全事件有:UDS拒絕服務、UDS探測、UDS非法請求、非法獲取權(quán)限、數(shù)據(jù)安全等。
1.3 網(wǎng)絡檢測
網(wǎng)絡檢測是對整個車載網(wǎng)絡上的負載率和信息熵進行檢測。當實際值偏離了規(guī)則庫中定義的閾值,則說明網(wǎng)絡異?;虮还簟7汉楣簟⒛:?、重放攻擊等都會使網(wǎng)絡的負載率和信息熵發(fā)生變化。
CAN總線負載率是指在CAN總線上單位時間內(nèi)實際傳送的位數(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 內(nèi)出現(xiàn)的概率。
網(wǎng)絡檢測首先選擇合適的時間窗口,計算正常車輛的負載率和信息熵,確定其閾值并添加到規(guī)則庫中。然后,在實車運行過程中,計算當前負載率和信息熵,與規(guī)則庫中的值進行比較,判斷網(wǎng)絡是否異?;虮还?。
02
Ethernet-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é)議是為了應對汽車的電子電器架構(gòu)由分布式逐漸走向中央集中化的演化,而設計出來的應用層協(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的原理架構(gòu)圖如圖2所示,其中包括了配置模塊、數(shù)據(jù)獲取模塊、檢測模塊以及輸出模塊。通過修改配置模塊的配置文件,可以定義數(shù)據(jù)獲取的配置、預處理的方式、檢測的規(guī)則以及輸出日志的格式。數(shù)據(jù)獲取模塊負責檢測、解析網(wǎng)卡中的流量并將其送入檢測模塊。檢測模塊根據(jù)配置信息,對指定的異常行為進行檢測和處理,并且會將檢測結(jié)果送入輸出模塊,由其實現(xiàn)輸出日志的解析、處理、封裝和轉(zhuǎn)發(fā)等功能。
圖2 snort原理架構(gòu)圖
2.1 配置模塊
配置模塊負責以太網(wǎng)N-IDS所有模塊的配置選項設置,在IDS啟動的時候即對各個模塊進行初始化配置。配置內(nèi)容如表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ī)則進行匹配,來識別隱藏在報文內(nèi)的異常攻擊行為。
Snort是一個完全基于規(guī)則的以太網(wǎng)IDS系統(tǒng),它的規(guī)則編寫簡單而又靈活,可支持本地編寫規(guī)則的導入。Snort的規(guī)則是由文本構(gòu)成,主要由規(guī)則頭和規(guī)則選項兩部分構(gòu)成。一條Snort規(guī)則編寫如圖3所示:
圖3 Snort規(guī)則編寫示例
(1)規(guī)則頭:定義了數(shù)據(jù)包的發(fā)送端地址和端口、接收端的地址和端口、協(xié)議類型,以及規(guī)則匹配成功后應執(zhí)行的操作。
(2)規(guī)則選項:定義了規(guī)則匹配的數(shù)據(jù)包特征,是Snort入侵檢測引擎的核心,也是將Snort易用性與強大功能和靈活性結(jié)合起來的關鍵。所有Snort規(guī)則選項都使用分號( ; )字符彼此分隔。規(guī)則選項關鍵字與參數(shù)之間用冒號( : )分隔。通過規(guī)則選項的設置, Snort可以對報文的任意字段進行正則匹配。
2.4 輸出模塊
輸出模塊負責對檢測模塊的檢測結(jié)果進行進一步的處理與輸出。檢測模塊根據(jù)配置文件定義的輸出格式將檢測結(jié)果封裝成日志的形式。輸出模塊還可以通過配置相關參數(shù)以及設置事件過濾規(guī)則來修改日志輸出的頻率。
03
小結(jié)
規(guī)則檢測的方法以其穩(wěn)定性好、檢測準確率高、可解釋性強等優(yōu)點成為車載網(wǎng)絡入侵檢測系統(tǒng)的重要支柱。但汽車電子電氣架構(gòu)的演變、車載網(wǎng)絡數(shù)據(jù)的增加以及車載通訊協(xié)議的擴充,都對基于規(guī)則的車載網(wǎng)絡入侵檢測系統(tǒng)提出了更高的要求。性能、可擴展性、兼容能力將是下一代車載網(wǎng)絡入侵檢測系統(tǒng)開發(fā)中重要的考量指標。
審核編輯:劉清
-
以太網(wǎng)
+關注
關注
40文章
5374瀏覽量
171094 -
CAN總線
+關注
關注
145文章
1936瀏覽量
130628 -
IDS
+關注
關注
0文章
26瀏覽量
16137 -
DBC
+關注
關注
2文章
54瀏覽量
7758 -
車載網(wǎng)絡系統(tǒng)
關注
0文章
7瀏覽量
6512
原文標題:基于規(guī)則的車載網(wǎng)絡入侵檢測技術(shù)
文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論