網路攻擊 ECU CAN ISO 14229 傳輸介面

智慧型元件可偵測入侵 汽車CAN網路自備防駭機能

現代聯網汽車擁有各種內外通訊介面,多達150個電子控制單元(Electronic Control Unit, ECU)和1億行軟體程式碼,不是一種簡單的機械系統,而是一種網路實體系統。在這樣無縫連結網際網路和終端使用者裝置的情況下,所面臨的挑戰是如何避免車輛對外通訊時的蓄意攻擊,例如緩衝區溢位攻擊(Buffer Overflow Exploits)、惡意程式(Malware)、木馬程式(Trojans)等。隨著連網量、電子設備和軟體數量的持續成長,聯網汽車受到攻擊的可能性(被攻擊面)也在增加。
緩解這些風險的一種常用方法是深度防禦(Defense-in-Depth, DiD)。深度防禦這種概念會在整個系統中布設多層安全對策,以便在單項安全對策失敗或者某項弱點被攻擊的情況下實現冗餘。這一點非常重要,因為攻擊者需要繞過多種防線才能成功發起攻擊。 

界定安全級別要求是汽車製造商的責任。目前最先進的解決方案是以加密為基礎,採用的是安全金鑰交換、身份驗證、潛在加密功能(Possibly Encryption)等技術。加密校驗訊息的真實性會造成訊息延遲,並且需要消耗可觀的計算能力。因此,這類解決方案可能令人望而卻步、或者只採用部分功能以保護網路中的小部分CAN訊息。有鑑於此,在深度防禦概念中增加一個層次,可作為安全解決方案的補充,或者作為獨立解決方案提供重要性較低、低成本的電子控制單元使用,提供基本的保護功能、遏止駭客攻擊。 

分散式入侵偵測方法是以CAN網路特有的參數為基礎,比如,CAN訊息之識別符、對電子控制單元總體網路匯流排負載的貢獻等。這種方法有助於遏止多種網路攻擊,如欺騙(Spoofing)、遠端訊框篡改(Remote Frame Tampering)、阻斷服務攻擊(Denial of Service),或稱洪水攻擊(Flooding)等。 

上述的分散式入侵偵測方法,可在智慧CAN收發器中完整實現,其運作完全獨立於微控制器(MCU)並與其隔離——提供了一個內在的安全層次,不會造成訊息延遲,也不會增加處理器的負載。可以逐步引入網路,不會對其他電子控制單元造成影響。這種智慧收發器可以作為當今標準CAN收發器的簡易替換元件,無需更換電子控制單元上的其他硬體和軟體,並且不會影響其他電子控制單元的運作。可以利用最後一個防禦層提供基本安全保障或加固最先進的安全解決方案。 

欺騙、篡改和洪水攻擊 

欺騙CAN-ID表示被破壞的電子控制單元試圖使用不屬於該電子控制單元的ID。這種方法可以用於偽裝成另一個電子控制單元。這種攻擊方式已在目前汽車攻擊中出現,如圖1。若欺騙攻擊出現在車身與舒適性領域,可能會影響到安全性,因為突然的意外操作有可能大幅分散駕駛員的注意力,比如把收音機音量調到最大、打開/關閉車燈等。 

圖1 欺騙攻擊
篡改攻擊則是攻擊者試圖更改匯流排上另一個電子控制單元正在發送的訊息。攻擊者還需要調整循環冗餘校驗(CRC)以匹配被篡改的資料。在成功完成篡改攻擊之前,必須強制使合法發送方進入錯誤認可狀態,則在攻擊方攻擊導致位元反轉時,合法發送方會在匯流排上發布一個啟動錯誤。透過故意在匯流排上多次發布錯誤,攻擊者可以使合法發送方進入錯誤認可狀態。篡改攻擊非常有用,因為它使攻擊者能篡改匯流排上正在發送的訊息,而這些訊息卻可能對汽車的運作至關重要。有研究者已經在多次大會上討論過這類攻擊,如圖2。其對網路的影響與欺騙攻擊相似。 

圖2 篡改攻擊
持續向充滿訊息的匯流排發送訊息是洪水攻擊的一種方式,如圖3。這種攻擊會使所有其他電子控制單元都不能使用該匯流排,而強制整輛車進入緊急運作模式。 

圖3 洪水攻擊
分散式入侵偵測方法可以在智慧CAN收發器中實現。所有安全對策均以收發器可以理解的參數為基礎,並且在執行時獨立於可能遭到破壞的主機。 

安全對策 

第一個安全對策是基於CAN-ID過濾發送路徑中的訊息,這是收發器保護匯流排的一種方式,可使匯流排不受被破壞的電子控制單元所影響。如果電子控制單元試圖用原來未指定給它的ID發送訊息,智慧CAN收發器可以使該訊息失效,拒絕在匯流排上發送該訊息,並拒絕執行後續發送。 

基於CAN ID的過濾對策可透過使用者配置的ID白名單來實現。例如,可以從白名單中排除ISO 14229標準針對非車載測試儀規定的統一診斷服務(UDS)ID。這樣做可以防止被破壞的電子控制單元透過用另一個車載電子控制單元啟動診斷會話來操縱校準值。 

第二個防止欺騙的安全對策是以CAN-ID來監控匯流排上的訊息並使其失效。這種方法使每個電子控制單元都能保護好自己的ID,適用於未能防止不法電子控制單元發送該ID的情況;比如,在後裝市場發售的裝置,因此裝置不在汽車OEM製造商控制範圍內即不在智慧CAN收發器的白名單中。 

當任何電子控制單元在匯流排上發送訊息時,合法電子控制單元的智慧CAN收發器都可以透過向匯流排寫入啟動錯誤訊息,主動使該訊息失效。當被破壞的發送方重複被攻擊訊息16次後,暫停發送行為介入,限制其加重匯流排負載;最後,再重複16次以後,被攻擊電子控制單元會進入匯流排關閉狀態。 

透過防止欺騙策略,可以使向不法電子控制單元發送被盜加密金鑰的行為失效。因為被盜加密金鑰驗證訊息的CAN ID無法透過該電子控制單元發送! 

使CAN網路上訊息失效的方法也可以用來預防篡改攻擊。智慧CAN收發器可以檢查網路上是否存在局部節點已經贏得其仲裁同時也停止發送的有效訊息(因為在發送隱性位元時收到顯性位元)。這是有被破壞電子控制單元介入資料發送過程的明顯警示。 

當安全對策使用在發送端處,限制每個電子控制單元在單位時間內可以發送的訊息數量可以防止網路遭到洪水攻擊。在某些應用中,CAN網路訊息猝發可以滿足某些需要,但猝發只能持續一定的時間。為防止洪水攻擊,可以使用漏桶機制(Leaky Bucket Mechanism)。為了不妨礙診斷服務(比如用於上傳資料),如果漏桶滿載,就忽略低優先順序ID發送的訊息。洪水攻擊保護可以提高網路的可用性,對亂碼洗版(Babbling Idiots)也適用。 

(本文作者為恩智浦半導體車載網路產品事業部(PL IVN)系統技術專家)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!