KeyFrame內部研究專用

SecTor 2025 | CAN Bus for Car Nerds and Security People Who Should Know Better

Black Hat·4月25日週六·44 min英文

三句話摘要

前資安工程師轉型汽車改裝,講解如何透過 CAN 總線嗅探與逆向工程控制車輛電控系統,並應用於電動賽車與客製化改裝。 CAN 總線本質是一個廣播式區域網路,用 200 美元硬體加免費 Savvy CAN 工具,搭配「靜音基線→觸發動作→觀察跳變」三步驟,即可在數分鐘內逆向定位任何車輛感測器訊號,進而實現讀取、注入與雲端遙測。 CAN 總線物理結構極簡:差分雙絞線(CAN High / CAN Low)加 120 歐姆終端電阻,拓撲等同 1990 年代 10Base-2 同軸網路,訊息 ID 越低優先級越高,廣播即生效、無需握手確認。

重點整理

重點
  • 1

    CAN 總線物理結構極簡:差分雙絞線(CAN High / CAN Low)加 120 歐姆終端電阻,拓撲等同 1990 年代 10Base-2 同軸網路,訊息 ID 越低優先級越高,廣播即生效、無需握手確認。

  • 2

    逆向的核心技巧是「基線靜音」:用 Savvy CAN 的 mute/ignore 功能排除背景雜訊後,執行目標動作(踩剎車、轉方向盤),觀察哪個 PID 的哪個 byte/bit 開始跳動,數分鐘即可定位目標訊號,不需拆線或接觸實體開關。

  • 3

    DBC 檔案大幅加速逆向:購買電動零件通常附帶 DBC(訊號起始位元、長度、單位、數值含義一目了然),GitHub 上的 OpenDBC 收錄福特、通用、斯巴魯等主流車廠資料,可把「從零逆向」縮減為「只找未知訊號」。

  • 4

    掌握嗅探後可雙向控制:匯流排上無驗證,注入訊號即生效;可對動力轉向 ECU「說謊」改變輔助力道、對壓縮機下速度指令、把模擬感測器數值廣播上總線,再串流到雲端做即時遙測。

實用技巧與重點

乾貨
  • 2000 年後車輛普遍採用 CAN 總線;2000 年代中期已全面覆蓋
  • OBD2 端口第 6、14 腳:固定為診斷 CAN 總線(規範強制)
  • 常見 CAN 速率:500 kbps(主流);老車 250 kbps;獨立 ECU 有時 1 Mbps
  • 標準終端電阻:120 歐姆
  • 硬體:PCAN USB 適配器約 200 美元;OBD2 尾線 + DB9 接頭自製線材約 25 美元
  • 軟體:Savvy CAN(免費,主講者最推薦);介面類似 Wireshark
  • DBC 資料庫:OpenDBC(GitHub);CSS Electronics 線上查看器(語法容錯高)
  • DBC 編輯器:Vector CAD DBT Plus(功能強,格式較嚴格)
  • 本田 CRV 實測案例:PID `17C` byte 4 = 剎車開關(0/1);PID `1A4` = 16-bit 小端序剎車壓力值
  • 2019 款 F250 電動改裝:保留原廠 5 條 CAN 網路,AC、四驅全數整合
  • 2023 款 GR86 有 9 條 CAN 總線;2003–2007 款日產 350Z 僅 1 條
  • 微控制器(Arduino、樹莓派)皆可讀取並注入 CAN 訊號

結論

結論

CAN 總線本質是一個廣播式區域網路,用 200 美元硬體加免費 Savvy CAN 工具,搭配「靜音基線→觸發動作→觀察跳變」三步驟,即可在數分鐘內逆向定位任何車輛感測器訊號,進而實現讀取、注入與雲端遙測。

完整解析

詳細

主講者曾是資安公司 Sector 的共同創辦人,後轉型投入汽車改裝,專注電動賽車與動力總成更換專案。他在演講開頭明確聲明:這不是一場資安演講,他研究 CAN 總線是為了把不屬於某輛車的發動機或電動馬達塞進去、讓原廠所有電控繼續正常運作,而非出於攻擊目的。他也簡短點出,CAN 總線廣播特性(無驗證、無定址)使車燈模組成為可跳轉至 ECM 的入口,ABS、車道保持等安全功能也全部跑在同一條匯流排上,IT 背景的聽眾不難自行延伸聯想。

CAN 總線的物理層與協議層都極為簡單。物理上幾乎等同 1990 年代的 10Base-2 同軸乙太網——把同軸換成差分雙絞線,終端電阻從 50 歐姆換成 120 歐姆,其餘拓撲相同。協議上是純廣播、無定址:任何節點想說話就直接發,ID 越低優先級越高,沒有握手確認。接入匯流排最簡單的方式是 OBD2 端口的第 6、14 腳(規範強制為診斷 CAN),搭配 OBD2 尾線加 DB9 接頭自製線材(約 25 美元)和一個 PCAN USB 適配器(約 200 美元)即可連接筆電,速率幾乎固定選 500 kbps。較新車款已開始配備 CAN 閘道,OBD2 端口不再直通原始匯流排,此時需找到閘道背後的連接器進行電線拼接,但原理相同。

實際逆向分析以 Savvy CAN 為核心工具。連線後嗅探器顯示所有 PID 及其 8 位元組數據,更新速率可達每秒 1300 幀以上。逆向的基本技巧是「基線靜音」三步驟:先用 mute/ignore 功能把目前所有在變動的訊號標記為已知雜訊,待畫面穩定後執行目標動作(如踩剎車),再觀察哪些 PID 的哪些 byte 開始跳動。在現場對一輛素未謀面的本田 CRV 示範中,主講者在數分鐘內定位出剎車開關與剎車壓力訊號,並透過觀察數值從「0→1→2」的遞增模式推斷出 16-bit 小端序排列方式。對持續變化的訊號(如引擎轉速),則用幀數據分析工具繪製波形,重複觸發 10 次後找到圖表中出現 10 個峰值的 byte 即為目標。

掌握嗅探之後,將 DBC 檔案載入 Savvy CAN 可立即把已知訊號全部自動標籤,訊號檢視器直接顯示方向盤角度、油門位置、引擎轉速的即時數值,把未知訊號的搜尋範圍大幅縮小。最終這套能力可延伸到雙向控制:在匯流排注入自訂訊號無需配對、注入即生效,可對動力轉向 ECU 「說謊」改變輔助力道、對空調壓縮機下速度指令,也可把模擬感測器(如機油壓力)的數值廣播到匯流排供所有模組讀取,並串流至雲端做即時遙測——這正是他在賽車維修站用手機監看兒子駕駛賽車所有關鍵數據的實際做法。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。
Risky Bulletin: Expired credit cards can be used for malicious transactions
5 min
Web2 安全英文PODCAST8月24日

Risky Bulletin: Expired credit cards can be used for malicious transactions

Risky Business

  • 支付安全的非對稱風險:Visa卡利用未加密的卡片資料與NFC通訊,攻擊者可藉由中間人技術竄改過期日期進行交易,但MasterCard、美運卡與Discover的防護更完善,顯示不同發卡機構的安全架構存在明顯差異。
  • 國家級駭客活動的連鎖延伸:北韓Lazarus集團在2月單一事件已累積100名受害者,涵蓋大學、警察部門、媒體與醫療機構,伊朗駭客則針對基礎建設如電力系統發動破壞性攻擊,反映地緣政治在網路戰爭中的升溫。
  • AI加速漏洞生態的雙面刃:AI工具催生近2萬份漏洞概念驗證代碼發布,但同時也導致大量失效漏洞代碼氾濫,增加資安團隊甄別真實威脅的難度;Mayer Protocol遭攻擊事件中,駭客用AI鏈接六個無關的小漏洞完成盜竊170萬美元的攻擊。
SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware
5 min
Web2 安全英文PODCAST8月24日

SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware

SANS Stormcast

  • Microsoft EntraID 的遠端代碼執行漏洞已由微軟修補,初期報告顯示已遭利用但後來更正為未遭利用。這反映 Microsoft 在雲端軟體安全上的透明度提升,對漏洞採用與內部軟體相同的 CVE 編號和公告流程。
  • PowerShell 指令碼可用於驗證 MFA 部署完整性,特別是找出未啟用 MFA 的遺漏帳號。同時可以分析 EntraID 登入日誌中的異常行為,如風險係數評估和地理位置檢測,幫助組織快速識別可疑登入。
  • GitLab 的 GraphQL 代碼注入漏洞允許未認證攻擊者刪除或修改儲存庫,潛在導致供應鏈攻擊。已有公開概念驗證 (PoC) 存在,使用內部部署 GitLab 的組織必須立即修補。