車載診斷系統的安全性、漏洞與防護
摘要
研究表明,“黑客活動分子”(hacktivists)能夠對汽車發動嚴重攻擊。車載診斷(OBD)接口為獲取車載電子系統信息提供了便捷途徑,但也為入侵者的未授權訪問留下了可乘之機。研究發現,攻擊者可通過多種攻擊點實施遠程利用,例如維修工具、CD 播放器、藍牙設備和胎壓監測系統(TPMS)。無線通信渠道使遠距離車輛控制成為可能。最后,本文探討了種子 - 密鑰機制(Seed-Key Mechanism)在身份驗證方面的缺陷,并提出增加額外身份驗證層,以助力構建更安全的汽車生態系統。
1、引言
盡管大多數現代車輛都可能遭到黑客攻擊,但一旦侵入汽車內部網絡,攻擊者便可繞過所有計算機控制系統,包括剎車和發動機等關鍵安全部件。攻擊者無需實際接觸車輛,就能控制汽車及其各類功能。汽車本質上是一個小型網絡,目前尚未配備任何安全防護措施。黑客能夠破解沃爾沃(Volvo)、大眾(VW)、奧迪(Audi)和菲亞特(Fiat)等品牌部分車型的防盜鎖,無需鑰匙即可駕車逃離。SeVecom 等項目的開發旨在提供安全的車載通信系統,提升駕駛安全性。
本文的核心目的是通過標準化和簡化調查技術,降低汽車黑客領域的研究成本,使感興趣的研究人員無需實際車輛即可開展相關研究。我們的數字生活并非私密,在汽車中進行的點擊、滑動和搜索操作同樣缺乏隱私保護。汽車制造商正與 SAP 等大數據公司合作,試圖將車輛轉變為一站式服務中心。未來諸如奧迪 MMI 等車型或許能夠直接通過車輛支付油費。屆時,全球黑客將有充分動機掃描車載硬盤及所有與車輛相連的設備,搜羅信用卡信息、地址、社會保障號、密碼及其他個人數據。
2、研究動機
汽車黑客已成為當今安全領域的主要關切之一。攻擊者無需實際接觸車輛,就能控制汽車及其各類功能。黑客攻擊手段日新月異,對現有安全解決方案構成持續挑戰。
目前已存在多種安全解決方案,大多數汽車制造商嘗試在新款車型中應用這些方案以提升車輛安全級別。盡管這些解決方案成本高昂且技術復雜,但仍無法有效徹底阻擋黑客攻擊。
其次,當未授權人員試圖獲取車輛訪問權限時,系統會要求輸入密鑰進行身份驗證,而此類安全系統在多個層面存在缺陷。因此,若能在現有安全系統基礎上增加額外防護層,不僅能強化安全性,還能在發生濫用或未授權訪問時立即通知車主。本文的目標是構建一個絕對安全的系統,使黑客幾乎無法侵入。
3、背景研究
3.1 數字嵌入式系統
目前,在倫敦等主要城市,每十起汽車盜竊案中就有四起涉及某種形式的汽車黑客行為。由于警方報告無法解釋部分汽車被盜的原因,研究人員羅埃爾?費杜爾特(Roel Verdult)、弗拉維奧?加西亞(Flavio Garcia)和巴里斯?埃蓋(Baris Ege)開始調查車輛防盜鎖裝置的特性 —— 該裝置在沒有正確鑰匙的情況下可阻止發動機啟動。研究發現,沃爾沃、大眾、奧迪、菲亞特等品牌 100 多種車型(尤其是配備啟動按鈕而非傳統鑰匙的車型)所使用的防盜鎖,容易被持有計算機的竊賊破解。由于研究報告涉及敏感內容,汽車制造商禁止研究人員在兩年內發表該報告。如今的汽車包含多個相互聯網的電子組件,共同負責監測和控制車輛狀態。從防抱死制動模塊、儀表盤到遠程信息處理模塊,每個組件都能與相鄰組件通信。現代汽車通常配備超過 50 個電子控制單元(ECU),這些單元相互聯網,車輛的整體安全性依賴于各 ECU 之間的近實時通信。ECU 在通信過程中需完成碰撞預測、側滑檢測、防抱死制動等功能。
3.2 汽車網絡
電子控制單元(ECU)并非孤立存在,它們通過控制器局域網(CAN)相互連接 —— 這是 2008 年起美國汽車的強制要求。汽車 CAN 網絡從設計之初就未考慮數據安全,至今仍是如此。CAN 是一系列連接車輛各處計算機的數據傳輸通道,負責規范整個網絡中的指令傳輸、確定指令優先級并拒絕故障信號,但該網絡并未設計消息加密功能,也無法抵御惡意攻擊。CAN 總線于 1983 年研發,旨在實現高效、快速的汽車通信,并已標準化為 ISO 11898。汽車制造商劃分 CAN 網絡的依據是生產便利性,而非出于保護轉向、油門等組件免受入侵的內在需求。Strategy Analytics 公司預測,到 2007 年,約 55% 的新車將配備支持遠程信息處理的終端,而 2000 年這一比例僅為 7.5%。
4、攻擊入口
4.1 物理訪問
黑客可能需要物理接觸車輛,有時甚至需要拆解儀表盤,通過有線方式連接筆記本電腦,最終實現車輛熄火。攻擊者可通過線路或電纜連接筆記本電腦,也可通過直接插入車輛核心敏感部件的設備獲取訪問權限。
4.1.1 車門鎖與遙控鑰匙(Key Fobs)
攻擊者可模擬這兩個系統使用的訪問碼,進而控制車門鎖、啟動或關閉發動機。
4.2 無線訪問
4.2.1 藍牙系統
藍牙是一項常用功能,允許車主將手機與車輛配對,但同時也為黑客提供了無線攻擊入口。黑客可通過誘騙車主訪問惡意網站來入侵其手機,或在車主啟動車輛且手機與車輛配對時捕獲手機的媒體訪問控制(MAC)地址。此外,當車內任何無線配對設備啟用藍牙時,黑客可通過嗅探藍牙流量獲取 MAC 地址。支持 3G 網絡的車載導航系統是易受攻擊的目標,因為這些系統通過遠距離蜂窩網絡通信,非常適合遠程利用。
4.2.2 CD 播放器
黑客可在 CD 播放器中植入惡意代碼,將其作為入侵途徑。他們可能通過社交媒體誘騙駕駛員下載歌曲并在車內播放,此時車載媒體播放器會顯示晦澀信息,若駕駛員未按正確按鈕,播放器將重新刷新并加載惡意軟件。
4.2.3 胎壓監測系統(TPMS)
這是一項政府強制要求的功能,通過儀表盤屏幕顯示每個輪胎的氣壓。胎壓信息由各車輪的傳感器無線傳輸至車內計算機,TPMS 依賴射頻識別技術實現無線通信。在 TPMS 攻擊場景中,無線輪胎傳感器的通信頻率較低,每 60 至 90 秒傳輸一次數據。
4.2.4 未授權應用程序
汽車配備的車載計算機可執行或下載應用程序,而這些應用程序可能由惡意第三方或未授權方提供 —— 此類應用通常通過應用商店或經銷商定制界面分發。存在一種用于測試的應用側載方法,黑客可利用該方法執行惡意代碼,進而破解系統。

圖1、攻擊入口示意圖
5、車載診斷(OBD)-II接口
現代車輛已成為復雜的信息技術(IT)系統,由多個相互連接的電子控制單元(ECU)組成,這些單元負責確保汽車安全、正常運行。為向車載 ECU 提供全面、易用的自診斷和報告功能,20 世紀 90 年代研發了標準化的車載診斷(OBD)接口。如今,OBD 已在全球范圍內普及,并在美國和歐洲被列為法定強制要求。OBD-II 本質上是一臺計算機,用于監測尾氣排放、里程、車速及其他有用數據,且與故障指示燈相連 —— 當系統檢測到故障時,指示燈會亮起。一方面,OBD 允許數字化訪問公共數據(如排放控制數據和故障碼);另一方面,也可訪問 “隱藏的” 制造商特定 ECU 設置(如防盜保護或發動機控制參數)。對黑客而言,OBD 接口通常位于車內,這種直接訪問要求使其難以成為隨機未知攻擊者的目標。盡管 OBD 標準規定了四種不同安全訪問級別的基礎訪問控制機制,但實際實施效果較弱。這些機制基于靜態、專有或實現不當的算法,攻擊者往往可利用廉價工具和少量公開信息即可繞過。診斷故障碼(DTC)存儲在系統中,不同車輛的故障碼未必統一,外國制造商使用自定義故障碼的情況也較為常見。盡管如此,維修人員(或任何持有 OBD-II 掃描工具的人)均可連接接口,讀取故障碼并識別車輛問題。
OBD-II 接口的標準引腳分布圖如圖 2 所示。若車輛診斷接口的引腳可訪問目標總線,攻擊者可使用掃描工具將標準引腳的線路切換至目標總線引腳,從而獲取網絡訪問權限;否則,可通過在車輛某處的線束中接線實現。OBD-II 延長線可用于改造車輛端接口,獲取裸露線路,進而向總線發送消息以控制各組件 —— 因為該接口與多個 ECU 相互連接。

圖2、作為數據鏈路連接器的OBD2接口引腳圖
6、OBD-II接口的安全威脅
一輛中檔轎車通常配備不到 30 個 ECU,涵蓋關鍵傳動系統組件及雨刷器、車門鎖、娛樂系統等非關鍵組件。研究發現,通過 OBD-II 接口向汽車 CAN 總線發送特定消息和信號,可控制燈光、門鎖、剎車、發動機等關鍵組件,還可向核心 ECU 注入代碼,以植入持久控制能力并跨多個 CAN 總線滲透。由于工具和相關信息易于獲取,汽車制造商面臨的 ECU 篡改風險日益增加,這可能影響車輛安全、合規應用(如尾氣處理)或破壞售后市場商業模式。因此,不僅有企圖的車主可能濫用診斷服務激活非法功能、篡改 ECU 參數或重置里程數,犯罪組織也可能試圖竊取原始設備制造商(OEM)和供應商的知識產權(用于制造假冒組件),或獲取駕駛員敏感數據(如駕駛行為)。此外,ECU 中還存儲著碰撞數據、保險相關數據或保修指標等關鍵信息,這些數據也容易成為惡意篡改的目標。例如,車輛碰撞前幾秒的車速、安全帶狀態、剎車踏板位置等數據通常會被記錄,事故涉事駕駛員可能會試圖篡改這些數據,偽造剎車已踩下的假象。
7、安全解決方案
7.1 種子-密鑰算法
“種子-密鑰”(Seed-and-Key)算法利用密鑰值從種子中計算出響應密鑰。只有持有 ECU 正確密鑰的測試設備,才能正確響應種子并獲取診斷服務訪問權限。該機制存在的問題在于,同一生產線的車輛通常使用相同的密鑰 —— 即所有車輛中的同款 ECU 采用相同密鑰,有時多個不同 ECU 也會共享同一密鑰。若攻擊者獲取該通用密鑰,便可訪問整條生產線車輛的診斷服務。攻擊者可通過多種途徑獲取密鑰,例如從修理廠獲取或從測試設備中提取。制造商使用的 “種子 - 密鑰” 算法屬于專有技術,被視為機密信息。另一個問題是,密鑰通常存儲在測試設備或 ECU 的未受保護內存中,攻擊者可通過調試接口等方式訪問測試設備或 ECU,讀取密鑰信息,進而利用該密鑰通過協議完成身份驗證。
7.2 工作機制
種子 - 密鑰協議存在諸多漏洞,需要通過額外安全措施加以修復。這些補充措施旨在解決簡單種子 - 密鑰協議的主要問題 —— 成功身份驗證后的通信仍處于不安全狀態。
暴力破解 16 位長度的種子和密鑰原本需要 7.5 天,但借助能夠預測種子密鑰生成多項式的設備,攻擊者可在不到 10 分鐘內破解,進而獲取通用種子和密鑰。可通過多種方式實現強大的測試設備身份驗證。
下文提出的兩種解決方案與現有種子 - 密鑰協議協同工作,通過持續向車主反饋狀態,增加種子和密鑰的破解難度。
7.2.1 雙向認證方法
雙向認證方法在種子 - 密鑰協議基礎上增加了額外功能,使車主能夠控制 OBD-II 接口的訪問權限。流程圖1(流程示意圖)和圖 3(架構圖)詳細描述了該方法的工作流程。

流程圖1、雙向認證流程示意圖
該流程的核心是:ECU 收到安全訪問請求后,向測試設備發送種子 S;測試設備收到種子后需與車主設備(如尋呼機、手機或其他可收發確認信息的設備)通信,完成雙向認證。
若車主拒絕訪問,種子將立即失效,后續響應不再處理;只有車主確認授權后,通用種子才會添加至種子 S,完成身份驗證并授予訪問權限。

圖3、雙向認證與種子 - 密鑰機制架構圖
該方法結合了種子 - 密鑰協議的優勢與雙向認證機制,通過在每個環節向車主反饋狀態,增加了安全防護層。
7.2.2 計時器方法
計時器方法針對暴力破解等算法破解 16 位種子密鑰的時間成本設計,其流程如流程圖2所示。

流程圖2、計時器方法流程圖
計時器方法賦予車主更高的自主權,直接向車主提供通用種子,且該種子每日更新,通過增加隨機性提升破解難度。具體流程為:ECU 收到訪問請求后,向測試設備發送種子 S 并啟動計時器(默認設置為 1 分鐘);若車主在 1 分鐘內輸入通用種子,系統將其與種子 S 組合生成密鑰并驗證;若黑客使用工具破解,其耗時通常超過計時器限制,此時系統將立即向車主發送惡意活動警報,從而保護 OBD-II 接口安全。

圖4、種子-密鑰機制中的計時器實現架構圖
7.3 實現方案
以下部分詳細說明上述認證方法的代碼實現 —— 客戶端和服務器程序在 Windows 系統的 Cygwin 環境中運行,通過 gcc 編譯器編譯。
7.3.1 雙向認證方法
只有當車主通過手機、藍牙或其他外部設備發送確認信息,且種子 - 密鑰驗證通過時,系統才會授予 OBD-II 接口訪問權限(如圖 5 所示)。

圖5、訪問請求驗證成功示例
若車主未發送確認信息,訪問請求將被拒絕(如圖 6 所示)。

圖6、未收到確認信息,訪問被拒絕示例
即使車主發送了確認信息,但種子 - 密鑰驗證失敗,訪問仍會被拒絕(如圖 7 所示)。

圖7、收到確認信息但種子-密鑰驗證失敗示例
示例說明:ECU 發送的種子 S 為 20001,需將通用密鑰 10110 添加至種子 S 后進行驗證;車主發送確認信息(值為 1),但生成的密鑰與 ECU 中存儲的可接受密鑰不匹配,導致身份驗證不完整。

表1、ECU 中存儲的可接受密鑰列表
7.3.2 計時器方法
在計時器認證方法中,若密鑰在計時器超時前與 ECU 的通用密鑰匹配,身份驗證成功并授予訪問權限;若多次嘗試后密鑰仍不匹配且計時器超時,系統將拒絕入侵者訪問,為種子 - 密鑰協議提供額外安全保障(如圖 8、圖 9 所示)。

圖8、計時器超時前種子-密鑰驗證成功示例

圖9、種子-密鑰驗證失敗且計時器超時示例
示例說明:ECU 發送的種子 S 為 10001,車主提供通用密鑰 X,計時器設置為 1 分鐘。

表 2、ECU 中存儲的可接受密鑰列表
Case 1:
· 種子 S:10001
· 車主輸入密鑰:10111
· 生成密鑰(總和)=20112
· 該密鑰在 ECU 可接受密鑰數組中,授予訪問權限。
Case 2:
· 種子 S:10001
· 車主多次輸入密鑰(20000、30000、10000、40000),生成的密鑰分別為 30001、40001、20001、50001(如表 3 所示)。
所有生成的密鑰均未匹配 ECU 可接受密鑰,且計時器超過 1 分鐘,拒絕訪問并報告惡意活動。

表3、車主輸入密鑰與生成密鑰對應表
該方法通過結合 ECU 中已知的可接受密鑰驗證和計時器限制,為種子 - 密鑰機制增加了額外安全層。
8、安全車輛生態系統
聯網汽車為汽車制造商和消費者帶來了巨大機遇,但也引入了新的風險。與潛在的安全威脅相比,車輛被盜和相關網絡視頻僅為冰山一角。然而,構建端到端的汽車安全防護體系需要多年時間。遠程信息處理服務、互聯網娛樂服務等的引入,打破了車輛原有的封閉系統;此外,保險公司提供的藍牙或 Wi-Fi 適配器(用于監測駕駛行為以調整保費)也使 OBD-II 接口可被遠程訪問。曾經的封閉系統突然轉變為開放系統,但安全措施并未及時跟進。
車載系統最初設計為有線點對點架構,安全性相對可靠,但無線適配器的普及使其暴露于風險之中 —— 部分適配器甚至未配備身份驗證機制。
事實上,只有原始設備制造商(OEM)有能力解決車輛及生態系統的整體安全問題。例如,OEM 可引入硬件安全模塊,實現車主對車內所有系統的身份驗證(這是單個供應商無法獨立完成的)。OEM 需將聯網車輛視為包含車輛、網絡、OEM 信息技術系統及第三方服務的大型生態系統的一部分,并對整個生態系統的安全承擔全部責任。
8.1 聯網車輛與物聯網(IoT)
聯網車輛面臨的部分問題與物聯網普遍存在的問題一致,包括數據完整性和身份驗證需求。但車輛具有高價值、長生命周期的特殊性,且更新維護需前往維修店,成本較高;此外,車輛安全故障可能導致巨大的經濟損失和人員傷亡,風險遠高于普通物聯網設備。在汽車行業受訪者中,65% 認為安全問題將影響消費者對物聯網產品的購買決策,僅有 35% 的受訪者認為所在行業的物聯網產品具備較強的抗網絡攻擊能力。為確保真實性,身份驗證和授權應成為車載系統和車外系統的核心功能。盡管挑戰艱巨,但在很大程度上可借鑒軟件開發(包括移動設備和物聯網領域)的成熟最佳實踐,并將其應用于汽車行業的廣泛需求中。
9、結論
本文概述了車載系統的各類安全漏洞和攻擊入口,證實 OBD 接口防護不足會導致嚴重安全風險,對用戶和制造商構成威脅。因此,本文重點提出了高效的安全解決方案,以降低通過 OBD 接口發起攻擊的風險。
本文在種子 - 密鑰機制基礎上增加了額外安全層,實現了 OBD 接口的強化身份驗證,并提出了兩種新的安全增強方法 —— 雙向認證和計時器方法。研究人員、消費者和制造商可基于這些方案,提出在惡意 CAN 網絡環境中提升 ECU 安全性的方法,以及檢測和阻止通過 OBD-II 接口發起的 CAN 總線攻擊的策略,進而構建更安全、更具韌性的未來車輛。OBD-II 接口與多個 ECU 相互連接,若該接口缺乏有效防護,車輛將極易遭受攻擊。未來,自動駕駛車輛需在電子部件(ECU)安全性方面進一步 “智能化”。

(添加微信號NewCarRen咨詢)
