測(cè)系統(tǒng)明文廣播漏洞:用軟件無(wú)線(xiàn)電追蹤車(chē)輛與防御策略)
去年我參與一個(gè)小型車(chē)隊(duì)的無(wú)線(xiàn)安全評(píng)估那天下午我和同事把設(shè)備架在路側(cè)綠化帶邊上筆記本接了一個(gè)軟件無(wú)線(xiàn)電接收器調(diào)到 433MHz。不到五分鐘屏幕上就刷出了一串胎壓檢測(cè)系統(tǒng)的廣播報(bào)文其中幾幀里帶著完整的傳感器 ID、胎壓值、溫度甚至加速度數(shù)據(jù)。車(chē)隊(duì)負(fù)責(zé)人站在旁邊問(wèn)這些數(shù)據(jù)能干嘛我說(shuō)能追蹤你們每一臺(tái)車(chē)而且不需要破解任何密碼因?yàn)檫@條鏈路壓根就沒(méi)有加密。他當(dāng)時(shí)愣了很久。這件事其實(shí)已經(jīng)不是什么新鮮結(jié)論了。過(guò)去幾年國(guó)內(nèi)外多個(gè)安全研究團(tuán)隊(duì)都發(fā)布過(guò)類(lèi)似的分析豐田、奔馳、雷諾、現(xiàn)代等不少車(chē)企的胎壓檢測(cè)系統(tǒng)TPMSTire Pressure Monitoring System在無(wú)線(xiàn)通信環(huán)節(jié)使用了明文廣播。如果你了解一點(diǎn)點(diǎn)射頻協(xié)議和信號(hào)處理就能在路邊用幾百塊的軟件無(wú)線(xiàn)電設(shè)備被動(dòng)接收這些報(bào)文并把每一輛車(chē)和它的傳感器 ID 關(guān)聯(lián)起來(lái)進(jìn)而實(shí)現(xiàn)大范圍的車(chē)輛追蹤。這不是鍵盤(pán)上的 0day 攻擊更像是“開(kāi)著大門(mén)的小屋”——問(wèn)題不復(fù)雜但暴露面很真實(shí)。我說(shuō)清楚這個(gè)問(wèn)題的原理、影響范圍、我們能做什么以及這件事背后更值得關(guān)注的智能汽車(chē)安全設(shè)計(jì)通病。無(wú)論你是車(chē)主、汽車(chē)工程師、安全從業(yè)者還是單純對(duì)車(chē)聯(lián)網(wǎng)隱私感興趣這篇文章都能給你一個(gè)完整的視角。1. 事件拆解為什么一顆胎壓傳感器的廣播會(huì)扯上車(chē)輛追蹤1.1 TPMS 的工作機(jī)制與鏈路結(jié)構(gòu)TPMS 全稱(chēng) Tire Pressure Monitoring System中文叫胎壓監(jiān)測(cè)系統(tǒng)主要作用是實(shí)時(shí)監(jiān)測(cè)四個(gè)車(chē)輪的氣壓和溫度。一旦某個(gè)輪胎出現(xiàn)慢漏氣、溫度過(guò)高或者氣壓異常系統(tǒng)就會(huì)在儀表盤(pán)上給出報(bào)警提醒車(chē)主及時(shí)處理。整個(gè)系統(tǒng)分為兩部分傳感器和接收器。傳感器安裝在每個(gè)車(chē)輪的輪轂上也有部分車(chē)型裝在氣門(mén)嘴位置內(nèi)部包含壓力傳感器、溫度傳感器、加速度計(jì)、MCU 和一顆紐扣電池。它平時(shí)處于低功耗休眠狀態(tài)當(dāng)車(chē)輛行駛后車(chē)輪轉(zhuǎn)動(dòng)加速度計(jì)喚醒 MCU傳感器開(kāi)始測(cè)量然后通過(guò)射頻發(fā)射器把數(shù)據(jù)包廣播出去。接收器安裝在車(chē)身的網(wǎng)關(guān)或儀表盤(pán)控制單元附近負(fù)責(zé)接收四顆傳感器有的車(chē)型還有備胎傳感器發(fā)來(lái)的射頻信號(hào)解調(diào)出胎壓溫度數(shù)據(jù)在儀表盤(pán)上顯示并在異常時(shí)觸發(fā)報(bào)警。兩條核心鏈路一條是傳感器到接收器的單向上行射頻鏈路另一條是接收器到儀表盤(pán)/網(wǎng)關(guān)的車(chē)內(nèi)總線(xiàn)鏈路。前一條用的是 315MHz北美常見(jiàn)或 433MHz歐洲、亞洲常見(jiàn)的 ISM 頻段后一條大多是 CAN 總線(xiàn)。1.2 報(bào)文結(jié)構(gòu)與“固定 ID”這個(gè)關(guān)鍵錨點(diǎn)TPMS 的無(wú)線(xiàn)報(bào)文本身是一種遙測(cè)數(shù)據(jù)包。雖然各家車(chē)企的私有協(xié)議細(xì)節(jié)不一樣但報(bào)文里通常包含這幾類(lèi)字段它們像一張公開(kāi)的名片把每輛車(chē)都區(qū)別開(kāi)來(lái)傳感器 ID一般是一個(gè) 8 到 32 位的編號(hào)在出廠(chǎng)時(shí)寫(xiě)入傳感器整輛車(chē)的生命周期內(nèi)都保持不變。胎壓值通常用 kPa 或 psi 表示。輪胎溫度單位是攝氏度。加速度/運(yùn)動(dòng)狀態(tài)字段用于判斷車(chē)輛是否在行駛。電池電量狀態(tài)位傳感器電池電壓低時(shí)會(huì)設(shè)置報(bào)警位。最關(guān)鍵的是傳感器 ID。這個(gè) ID 本身沒(méi)有經(jīng)過(guò)任何加密處理直接以明文形式出現(xiàn)在無(wú)線(xiàn)電波里。而駕駛者看車(chē)牌號(hào)還要隔著幾十米才能識(shí)別但射頻信號(hào)的識(shí)別距離遠(yuǎn)得多——只要在數(shù)百米內(nèi)有接收設(shè)備你的車(chē)就會(huì)被“點(diǎn)出”一個(gè)唯一身份。1.3 為什么車(chē)企默認(rèn)不做加密很多第一次聽(tīng)說(shuō)這個(gè)問(wèn)題的朋友反應(yīng)是這不科學(xué)啊現(xiàn)在都 2024 年了車(chē)企連個(gè)加密都舍不得做事實(shí)上這不是“舍不得”三個(gè)字能說(shuō)清楚的。TPMS 傳感器是極端低功耗設(shè)備。一顆紐扣電池要用 5 到 10 年工作期間每幾秒發(fā)一次報(bào)文平時(shí)必須深睡。在這種功耗預(yù)算下加解密運(yùn)算需要占用額外的算力和能耗一個(gè) 16MHz 或 32MHz 的 MCU 跑非對(duì)稱(chēng)加密確實(shí)很吃力但這并不是無(wú)法解決的——真正卡住車(chē)企的是成本與市場(chǎng)節(jié)奏。TPMS 帶有強(qiáng)安全法規(guī)屬性美國(guó) NHTSA 在 2007 年就強(qiáng)制所有乘用車(chē)安裝 TPMS歐盟在 2012 年起也對(duì)新車(chē)提出胎壓監(jiān)測(cè)要求。法規(guī)要求的是“必須有這么個(gè)功能”并沒(méi)有要求“無(wú)線(xiàn)鏈路必須加密”。各大車(chē)企為了滿(mǎn)足法規(guī)、控制成本、壓縮開(kāi)發(fā)周期直接選用了市面上成熟但不加密的芯片方案。還有一個(gè)客觀(guān)原因TPMS 傳感器是消耗件輪胎換位、輪組更換時(shí)可能重新配對(duì)。如果做復(fù)雜的雙向認(rèn)證就會(huì)導(dǎo)致配對(duì)過(guò)程變得麻煩車(chē)主在第三方輪胎店換傳感器時(shí)也可能因?yàn)槭跈?quán)問(wèn)題去不了。這屬于典型的“安全影響用戶(hù)體驗(yàn)產(chǎn)品經(jīng)理選擇了放棄”的取舍。所以說(shuō)未加密不是疏漏而是長(zhǎng)期以來(lái)的設(shè)計(jì)慣性。只不過(guò)隨著汽車(chē)逐漸智能化、聯(lián)網(wǎng)化這個(gè)慣性正在變成實(shí)實(shí)在在的隱私風(fēng)險(xiǎn)。2. 追蹤攻擊的技術(shù)原理被動(dòng)監(jiān)聽(tīng)如何實(shí)現(xiàn)車(chē)輛定位2.1 被動(dòng)采集你只需要一臺(tái) SDR先給對(duì)射頻不太熟的朋友解釋一下TPMS 信號(hào)的發(fā)射本身就是無(wú)差別的廣播傳感器不會(huì)去確認(rèn)“接收器是不是我自己車(chē)上的”只要功率夠、頻點(diǎn)對(duì)準(zhǔn)任何一臺(tái)能解調(diào)該協(xié)議的設(shè)備都能“偷聽(tīng)”。實(shí)操層面現(xiàn)在做這件事的門(mén)檻非常低。一種方式是硬件直接解調(diào)買(mǎi)一個(gè)價(jià)格在 1000 元左右的多通道無(wú)線(xiàn)電接收器比如 Great Scott Gadgets 的 Yard Stick One配合電腦上現(xiàn)成的 TPMS 解調(diào)腳本插上 USB 天線(xiàn)就能抓包。另一種方式是使用軟件無(wú)線(xiàn)電SDR例如價(jià)格 200~400 元的 RTL-SDR 電視棒配合開(kāi)源的通用無(wú)線(xiàn)電工具GNU Radio以及網(wǎng)上現(xiàn)成的 TPMS 協(xié)議解析模塊幾十行 Python 就能把報(bào)文里的字段解出來(lái)。我實(shí)測(cè)過(guò)用 RTL-SDR 在路邊接收經(jīng)過(guò)車(chē)輛的 TPMS 信號(hào)在一分鐘流量約 60 輛車(chē)的城市道路上平均能抓到 30 輛以上車(chē)輛的明文報(bào)文。整個(gè)過(guò)程不接觸目標(biāo)車(chē)輛、不干擾任何信號(hào)、不觸發(fā)目標(biāo)車(chē)上任何告警是完全被動(dòng)的監(jiān)聽(tīng)。2.2 多點(diǎn)部署用“同一 ID 在不同地點(diǎn)的出現(xiàn)”畫(huà)出軌跡單獨(dú)抓到一個(gè)傳感器 ID 只能說(shuō)明“有輛車(chē)經(jīng)過(guò)了這個(gè)點(diǎn)”。要實(shí)施車(chē)輛追蹤關(guān)鍵在于多點(diǎn)采集和 ID 交叉關(guān)聯(lián)。攻擊成本可以從兩個(gè)維度看單點(diǎn)長(zhǎng)時(shí)監(jiān)聽(tīng)固定安裝接收器在一棟樓、一個(gè)停車(chē)場(chǎng)或一條主干道邊持續(xù)記錄經(jīng)過(guò)車(chē)輛的時(shí)間戳和傳感器 ID形成“某時(shí)間段內(nèi)有哪些車(chē)經(jīng)過(guò)”的數(shù)據(jù)積累。多點(diǎn)網(wǎng)格化部署在城市多個(gè)路口布置同樣的接收節(jié)點(diǎn)當(dāng)車(chē)輛駛過(guò)路口 A 時(shí)節(jié)點(diǎn) A 記錄 ID 和 RSSI 信號(hào)強(qiáng)度駛過(guò)路口 B 時(shí)節(jié)點(diǎn) B 也記錄到同一個(gè) ID。把兩個(gè)時(shí)間戳和信號(hào)強(qiáng)度一對(duì)比就知道這臺(tái)車(chē)從 A 開(kāi)到 B 用了多少分鐘順藤摸瓜形成一條完整的行駛鏈路。RSSI 信號(hào)強(qiáng)度這個(gè)參數(shù)很重要。同一顆傳感器發(fā)射的射頻信號(hào)距離接收天線(xiàn)越近信號(hào)越強(qiáng)。單一節(jié)點(diǎn)只能估出車(chē)輛距節(jié)點(diǎn)大概多遠(yuǎn)但多個(gè)節(jié)點(diǎn)同時(shí)收到用三角定位原理就能把車(chē)輛的位置逼近到幾十米的誤差范圍內(nèi)。在城市路口布置三到四個(gè)接收節(jié)點(diǎn)配合 RSSI 測(cè)量基本可以做到“雙向車(chē)道級(jí)”的定位。這個(gè)攻擊意味著什么只要攻擊者在目標(biāo)車(chē)輛經(jīng)常出現(xiàn)的地方比如嫌疑人的小區(qū)門(mén)口、公司樓下布下幾個(gè)接收器一段時(shí)間內(nèi)就能積累目標(biāo)車(chē)輛的 TPMS ID 庫(kù)之后無(wú)論它開(kāi)到哪里只要經(jīng)過(guò)己方網(wǎng)格節(jié)點(diǎn)就會(huì)被自動(dòng)識(shí)別和上報(bào)。2.3 這個(gè)方案的實(shí)際局限在哪里追蹤技術(shù)是有效的但不是沒(méi)有短板。干擾很常見(jiàn)TPMS 發(fā)射功率很低通常在 0 dBm 上下典型接收距離在開(kāi)闊地約 100 到 300 米城市環(huán)境下由于建筑遮擋可能縮到幾十米。所以你要做成全覆蓋的追蹤網(wǎng)絡(luò)節(jié)點(diǎn)密度需求是非常高的成本遠(yuǎn)超裝 GPS 追蹤器。其次TPMS 傳感器只在車(chē)輛行駛且車(chē)輪啟動(dòng)后周期性發(fā)射。車(chē)輛熄火停放時(shí)傳感器進(jìn)入休眠廣播停止無(wú)法通過(guò) TPMS 定位靜止車(chē)輛。這個(gè)局限直接限制了對(duì)“停車(chē)后人在哪”的追蹤。第三數(shù)據(jù)鏈路單向被動(dòng)采集無(wú)法實(shí)時(shí)推送車(chē)輛位置到攻擊者手機(jī)。除非攻擊者在每次節(jié)點(diǎn)捕獲后做網(wǎng)絡(luò)回傳否則這套網(wǎng)格系統(tǒng)實(shí)際部署復(fù)雜度很高不是小白能玩的。但這些局限并不能消除核心問(wèn)題明文廣播把“一個(gè)穩(wěn)定的車(chē)輛指紋”暴露在空間里而且這個(gè)指紋不像車(chē)牌號(hào)關(guān)不掉也撕不下刷不掉。對(duì)于有能力部署網(wǎng)格的專(zhuān)業(yè)機(jī)構(gòu)來(lái)說(shuō)TPMS 就是一個(gè)免費(fèi)的車(chē)輛追蹤基礎(chǔ)設(shè)施。3. 威脅不止于追蹤偽造報(bào)文與其它連鎖風(fēng)險(xiǎn)3.1 偽造 TPMS 報(bào)文偽造一場(chǎng)“爆胎”報(bào)警TPMS 追蹤問(wèn)題廣為人知之后我們?nèi)ψ永镉懻摰牟粌H是“讀”還有“寫(xiě)”。既然協(xié)議是明文的傳感器 ID 可見(jiàn)調(diào)制方式和編碼方式是公開(kāi)的那攻擊者完全可以偽造一幀“0 kPa”的報(bào)警報(bào)文用同一頻點(diǎn)、大功率在目標(biāo)車(chē)輛經(jīng)過(guò)時(shí)發(fā)送。接收器對(duì)比 ID 匹配后會(huì)在儀表盤(pán)上觸發(fā)高壓報(bào)警甚至有可能觸發(fā)車(chē)輛低速行駛時(shí)的“請(qǐng)立即檢查胎壓”提示。誘導(dǎo)車(chē)停在路肩這件事危害遠(yuǎn)比想象大。高速路上一旦儀表盤(pán)突然彈出“當(dāng)前輪胎壓力為 0”多數(shù)駕駛員的反應(yīng)是猛踩剎車(chē)減速、靠邊停車(chē)萬(wàn)一后車(chē)距離近直接導(dǎo)致追尾。這是典型的無(wú)線(xiàn)電制造“軟故障”卻能引發(fā)物理事故。這里需要說(shuō)明不同車(chē)企對(duì) TPMS 報(bào)警的處理邏輯不太一樣有的只顯示圖標(biāo)有的會(huì)有聲音提示和儀表文字提示。要實(shí)際達(dá)到“逼停一臺(tái)車(chē)”的效果還需要結(jié)合具體車(chē)型做針對(duì)性協(xié)議分析。但從攻擊者角度這遠(yuǎn)比網(wǎng)絡(luò)攻擊門(mén)檻低。3.2 重放攻擊同一個(gè) ID重放同一段報(bào)文重放攻擊在無(wú)線(xiàn)通信里是老面孔了。攻擊者錄制一段包含某傳感器 ID 的 TPMS 報(bào)文稍作修改后在同一頻點(diǎn)上反復(fù)重放。如果目標(biāo)車(chē)型的接收器沒(méi)有做報(bào)文計(jì)數(shù)或時(shí)間戳校驗(yàn)就可能被欺騙實(shí)際胎壓正常儀表盤(pán)卻一直報(bào)警。更微妙的是重放攻擊還能用于偽造“車(chē)輛狀態(tài)”的假象比如傳感器信號(hào)被重放到錯(cuò)誤的時(shí)段接收器可能誤以為車(chē)輛剛啟動(dòng)。雖然 TPMS 報(bào)文觸發(fā)不了車(chē)輛啟動(dòng)等核心功能但在汽車(chē)安全研究里它往往成為攻擊鏈中的一環(huán)——攻擊者在嘗試接觸車(chē)內(nèi)總線(xiàn)、OTA 升級(jí)接口或診斷口時(shí)先用 TPMS 重放制造一個(gè)可乘之機(jī)比如誘導(dǎo)車(chē)主下車(chē)、誘導(dǎo)車(chē)主開(kāi)窗操作這就是社會(huì)工程學(xué)和無(wú)線(xiàn)攻擊的交叉應(yīng)用了。3.3 從一條射頻消息到車(chē)主身份隱私串聯(lián)單看一條 TPMS 報(bào)文陌生人只會(huì)看到一個(gè)十六進(jìn)制 ID。但攻擊者只要做一次“線(xiàn)下關(guān)聯(lián)”就能把 ID 變成真實(shí)身份。最典型的場(chǎng)景是停車(chē)場(chǎng)攻擊者在某個(gè)高端小區(qū)地下車(chē)庫(kù)出口放置接收器連續(xù)記錄每天出入車(chē)輛。某個(gè)夜晚他可以拍攝到某輛車(chē)的車(chē)牌并記下車(chē)型顏色用 SDR 在同一時(shí)間窗口抓取這輛車(chē)的 TPMS ID。一次操作ID 和車(chē)牌就綁定了。之后ID 關(guān)聯(lián)的車(chē)牌有了身份信息交通違章、保險(xiǎn)、登記信息都在這套系統(tǒng)里傳感器的明文 ID 就成了這輛車(chē)的“電子身份證”。而且這個(gè) ID 幾乎終身不變只要車(chē)不換傳感器動(dòng)作永遠(yuǎn)暴露在監(jiān)聽(tīng)網(wǎng)絡(luò)之下。這在歐盟已經(jīng)引發(fā)了監(jiān)管層面的關(guān)注2023 年歐洲一些隱私保護(hù)機(jī)構(gòu)開(kāi)始討論 TPMS 信號(hào)是否構(gòu)成 GDPR 下的“個(gè)人數(shù)據(jù)關(guān)聯(lián)物”因?yàn)橐坏?ID 與自然人身份關(guān)聯(lián)它已經(jīng)具備身份識(shí)別能力。國(guó)內(nèi)雖然還沒(méi)有明確法規(guī)說(shuō)“TPMS 明文廣播違法”但在車(chē)聯(lián)網(wǎng)數(shù)據(jù)安全標(biāo)準(zhǔn)如 GB/T 40855-2021和智能網(wǎng)聯(lián)汽車(chē)信息安全相關(guān)的標(biāo)準(zhǔn)里對(duì)遠(yuǎn)程通信鏈路的數(shù)據(jù)加密已經(jīng)提出了明確要求而 TPMS 這條鏈路恰好在合規(guī)審計(jì)中容易被漏掉。4. 車(chē)企整改路線(xiàn)圖從“明文裸奔”到“低功耗加密”4.1 加密不是不行是要選對(duì)方向先說(shuō)結(jié)論TPMS 完全可以做加密只是不能照搬手機(jī)和電腦那套重加密方案。TPMS 傳感器端約束非??量蘉CU 主頻低通常 16MHz~48MHzRAM 小幾百字節(jié)到幾 KBflash 也只有幾十 KB電池容量往往在 200~400mAh 之間壽命要求 5~10 年。這意味著非對(duì)稱(chēng)加密RSA/ECC 簽名驗(yàn)簽雖然理論上可行但每次發(fā)射報(bào)文前都要做一次簽名運(yùn)算功耗和時(shí)間成本都比較高?,F(xiàn)實(shí)中更合理的形態(tài)是輕量級(jí)對(duì)稱(chēng)加密 動(dòng)態(tài)滾動(dòng)碼。以 AES-128 為例在 48MHz 的 MCU 上執(zhí)行一次分組加密只需要幾十微秒單次加密電流增加約 1~2mA持續(xù)時(shí)長(zhǎng)極短。配合極低功耗的喚醒周期管理對(duì)電池壽命的影響可以控制在整顆電池容量的 5% 以?xún)?nèi)。車(chē)企完全可以用一個(gè) 128 位 AES 密鑰對(duì) TPMS 報(bào)文做加密和完整性校驗(yàn)外加計(jì)數(shù)器滾動(dòng)讓重放攻擊無(wú)效化。當(dāng)然密鑰管理是個(gè)新問(wèn)題傳感器和接收器之間的預(yù)置密鑰如何安全寫(xiě)入間隙性換輪、換傳感器時(shí)如何完成安全配對(duì)這需要一套密鑰管理系統(tǒng)KMS或者一次性的“學(xué)習(xí)-配對(duì)”過(guò)程。4.2 輕量密碼算法的方案取舍我簡(jiǎn)單整理一下目前行業(yè)內(nèi)比較主流的幾個(gè)技術(shù)方案方便同行和產(chǎn)品經(jīng)理判斷選型方案算法/機(jī)制優(yōu)點(diǎn)缺點(diǎn)適用場(chǎng)景對(duì)稱(chēng)加密AES-128-CTR/CCM成熟MCU 實(shí)現(xiàn)容易功耗可控需要密鑰管理需保證計(jì)數(shù)器同步大多數(shù)量產(chǎn) TPMS 升級(jí)首選輕量級(jí)密碼PRESENT, SPECK硬件實(shí)現(xiàn)更省面積極低功耗商用案例少部分算法密碼學(xué)審閱不足超低功耗老平臺(tái) MCU滾動(dòng)碼每次廣播用遞增計(jì)數(shù)器派生認(rèn)證標(biāo)簽防重放單向鏈路也能驗(yàn)接收器需維護(hù)同步狀態(tài)現(xiàn)有硬件稍加改動(dòng)即可逐步落地物理層指紋用發(fā)射芯片的射頻指紋識(shí)別傳感器不需要改協(xié)議、不用增加密鑰準(zhǔn)確率受環(huán)境溫度、老化影響輔助增強(qiáng)不是獨(dú)立方案你對(duì)其中“滾動(dòng)碼”這個(gè)詞可能不陌生車(chē)庫(kù)遙控器、無(wú)鑰匙進(jìn)入系統(tǒng)都用它。TPMS 的問(wèn)題是很多老批次車(chē)型還在用最原始的固定報(bào)文連個(gè)計(jì)數(shù)器都沒(méi)加。這其實(shí)是件很遺憾的事——因?yàn)?TPMS 報(bào)文載荷很小加密和認(rèn)證帶來(lái)的額外字節(jié)數(shù)非常低在射頻鏈路里幾乎沒(méi)有通信開(kāi)銷(xiāo)壓力。4.3 UNECE R155 與新法規(guī)的推動(dòng)力過(guò)去車(chē)企可以拿“沒(méi)有強(qiáng)制要求”當(dāng)擋箭牌但這條擋箭牌正在消失。UNECE聯(lián)合國(guó)歐洲經(jīng)濟(jì)委員會(huì)的 R155 法規(guī)是汽車(chē)信息安全領(lǐng)域第一個(gè)真正意義上的強(qiáng)制安全法規(guī)。它對(duì)車(chē)輛的網(wǎng)絡(luò)安全管理系統(tǒng)CSMS和車(chē)型信息安全提出了明確要求要求汽車(chē)制造商進(jìn)行威脅分析和風(fēng)險(xiǎn)評(píng)估TARA并在車(chē)輛全生命周期內(nèi)識(shí)別網(wǎng)絡(luò)安全風(fēng)險(xiǎn)。TPMS“明文廣播可被監(jiān)聽(tīng)追蹤”這種問(wèn)題在 R155 的框架下會(huì)被識(shí)別為“隱私泄露風(fēng)險(xiǎn)”和“遠(yuǎn)程數(shù)據(jù)操縱風(fēng)險(xiǎn)”。一旦落入風(fēng)險(xiǎn)評(píng)估矩陣且措施不足就無(wú)法獲得車(chē)型認(rèn)證屆時(shí)智能網(wǎng)聯(lián)汽車(chē)在歐洲市場(chǎng)可能連準(zhǔn)入都拿不到。國(guó)內(nèi)同樣在跟進(jìn)。2021 年后發(fā)布的智能網(wǎng)聯(lián)汽車(chē)相關(guān)的信息安全和數(shù)據(jù)安全標(biāo)準(zhǔn)已經(jīng)開(kāi)始覆蓋“無(wú)線(xiàn)通信鏈路安全、車(chē)外異常報(bào)文檢測(cè)、車(chē)載網(wǎng)絡(luò)安全”等內(nèi)容。趨勢(shì)非常明確未來(lái) 2-3 年TPMS 加密大概率會(huì)從一個(gè)沒(méi)人管的角落變成強(qiáng)制合規(guī)項(xiàng)。4.4 產(chǎn)業(yè)升級(jí)中的幾個(gè)繞不開(kāi)的坎就算車(chē)企現(xiàn)在決定加加密落地過(guò)程也有不少坑。第一個(gè)是生命周期內(nèi)的密鑰更新一顆傳感器壽命 5 年車(chē)主可能在第三年換了新胎同時(shí)換了新傳感器。新傳感器怎么和車(chē)載接收器配對(duì)如果密鑰是固定的第三方輪胎店根本拿不到密鑰。這就要設(shè)計(jì)一套“保守但安全”的配對(duì)流程比如整車(chē)進(jìn)入學(xué)習(xí)模式后先用臨時(shí)密鑰廣播、再用主密鑰簽發(fā)或者通過(guò)用戶(hù)的手機(jī) App 做一個(gè)藍(lán)牙中轉(zhuǎn)授權(quán)。每一步都牽扯到用戶(hù)體驗(yàn)不是改幾行代碼能搞定的。第二個(gè)是傳感器成本上漲。加密芯片和更大內(nèi)存的 MCU單顆成本可能從原本的 20~30 元漲到 40~50 元。一臺(tái)車(chē)四顆車(chē)企多掏百八十塊錢(qián)。這個(gè)成本對(duì)豪華品牌不算事但對(duì)走量的中低端車(chē)型來(lái)說(shuō)真能卡掉一批老平臺(tái)方案。第三是“兼容老車(chē)型”的魔咒。存量車(chē)型的接收器硬件不支持新算法總不能強(qiáng)制全部召回?fù)Q儀表盤(pán)。實(shí)際中大概率只能從新平臺(tái)開(kāi)始老車(chē)型繼續(xù)裸奔到下架這就意味著追蹤風(fēng)險(xiǎn)會(huì)持續(xù)存在很長(zhǎng)一段時(shí)間。如果你是車(chē)主指望車(chē)企“主動(dòng)幫你升級(jí)”短期并不現(xiàn)實(shí)——這也是我在文章最后給車(chē)主建議的原因。5. 從業(yè)者驗(yàn)證路徑怎么快速判斷你的車(chē)是否暴露5.1 用 RTL-SDR 從零開(kāi)始驗(yàn)證 TPMS 明文如果你手里有車(chē)或者需要做企業(yè)車(chē)隊(duì)的無(wú)線(xiàn)安全摸底我建議花一個(gè)周末自己做一次驗(yàn)證。過(guò)程不復(fù)雜也完全合法接收自己車(chē)或授權(quán)車(chē)輛的無(wú)線(xiàn)信號(hào)。步驟是這樣的準(zhǔn)備硬件RTL-SDR 電視棒一個(gè)選帶 TCXO 的版本頻率穩(wěn)定性更好天線(xiàn)用 433MHz 的直型天線(xiàn)或吸盤(pán)天線(xiàn)。安裝開(kāi)源無(wú)線(xiàn)電工具電腦上裝 SDR# 或者 SDRangel能可視化看到頻譜即可。配置頻率把中心頻率設(shè)為 433.92MHz歐系車(chē)或 315MHz美系車(chē)帶寬設(shè) 2MHz。觀(guān)察信號(hào)特征開(kāi)車(chē)?yán)@小區(qū)一圈觀(guān)察頻譜里出現(xiàn)的短促跳變信號(hào)帶有明顯的 FSK 調(diào)制特征就是 TPMS 報(bào)文。使用開(kāi)源的 TPMS 解析工具目前 GitHub 上有多個(gè)可用的 tpms 協(xié)議解析腳本接入采集到的 IQ 數(shù)據(jù)即可輸出傳感器 ID、胎壓、溫度字段。確認(rèn)配對(duì)開(kāi)啟車(chē)內(nèi)儀表胎壓界面等待報(bào)警或手動(dòng)放氣一次對(duì)比抓到的 ID 變化確認(rèn)該 ID 就是自己車(chē)的那顆傳感器。如果你按這個(gè)流程在自己的車(chē)上抓到了明文 ID那么換攻擊者來(lái)在主駕門(mén)和副駕門(mén)線(xiàn)外的路邊裝兩臺(tái)設(shè)備他在你等紅燈、進(jìn)出地庫(kù)、車(chē)隊(duì)排隊(duì)的時(shí)候同樣也能抓到。5.2 企業(yè)車(chē)隊(duì)自查一次低成本的安全審計(jì)企業(yè)車(chē)隊(duì)尤其是物流、網(wǎng)約車(chē)、機(jī)場(chǎng)擺渡車(chē)這類(lèi)有固定線(xiàn)路的車(chē)輛更需要做一輪 TPMS 無(wú)線(xiàn)安全審計(jì)。我建議的審計(jì)思路不是“部署全套反追蹤”而是先定量評(píng)估暴露面審計(jì)項(xiàng)方法輸出覆蓋車(chē)型統(tǒng)計(jì)車(chē)隊(duì)里所有車(chē)型、年款、TPMS 供應(yīng)商確認(rèn)哪些車(chē)大概率是明文方案無(wú)線(xiàn)信號(hào)驗(yàn)證SDR 掃描車(chē)隊(duì)停車(chē)場(chǎng)的 315/433MHz 信號(hào)抓取到明文報(bào)文的車(chē)輛數(shù)量占比ID 穩(wěn)定性分析連續(xù) 48 小時(shí)記錄各車(chē) ID觀(guān)察是否變化是否存在長(zhǎng)期穩(wěn)定指紋響應(yīng)距離測(cè)試在距車(chē)輛 5m/20m/50m 處測(cè)試接收靈敏度數(shù)據(jù)推演出攻擊者的部署密度成本偽造報(bào)文測(cè)試授權(quán)使用 USRP 或 Yard Stick 發(fā)送偽造報(bào)警報(bào)文明確能否觸發(fā)目標(biāo)車(chē)儀表報(bào)警車(chē)隊(duì)的結(jié)論往往會(huì)顛覆人的直覺(jué)你可能在 30 臺(tái)車(chē)?yán)锇l(fā)現(xiàn) 20 臺(tái)能抓到完整明文 ID而且其中 80% 的 ID 是長(zhǎng)期穩(wěn)定的。這個(gè)結(jié)論交給管理層比任何口頭說(shuō)明都有說(shuō)服力。5.3 作為普通車(chē)主我們有沒(méi)有反擊手段聊點(diǎn)務(wù)實(shí)的。坦白說(shuō)普通車(chē)主幾乎無(wú)法從車(chē)輛端解決這個(gè)問(wèn)題。你不能換掉原廠(chǎng) TPMS 傳感器也不可能給車(chē)輛加裝無(wú)線(xiàn)加密網(wǎng)關(guān)。你能做的是降低被追蹤的風(fēng)險(xiǎn)暴露面注意停車(chē)環(huán)境如果明顯感覺(jué)總是同一輛車(chē)出現(xiàn)在你常去的地點(diǎn)附近不要以為是巧合。多換幾個(gè)??课恢糜^(guān)察是否對(duì)方設(shè)備也會(huì)移位。不要讓第三方隨意讀取車(chē)輛 OBD 或胎壓數(shù)據(jù)維修保養(yǎng)時(shí)去正規(guī)授權(quán)店可以減少數(shù)據(jù)被復(fù)制的概率。警惕車(chē)內(nèi)后加的射頻設(shè)備部分車(chē)主后期加裝的胎壓顯示器、行車(chē)記錄儀本身也可能成為新的無(wú)線(xiàn)暴露點(diǎn)。選擇支持藍(lán)牙/本地協(xié)議的產(chǎn)品減少數(shù)據(jù)傳輸鏈路。合理看待風(fēng)險(xiǎn)TPMS 追蹤的最大威脅來(lái)自“有組織的持續(xù)監(jiān)控”而不是路人偶遇。普通人被裝的概率遠(yuǎn)低于被 GPS 定位。你不需要恐慌但要有這個(gè)意識(shí)和基本常識(shí)。從工程師視角來(lái)看我更建議從業(yè)者和車(chē)主共同關(guān)注“數(shù)據(jù)邊界”這個(gè)概念所有從車(chē)延伸到車(chē)外的無(wú)線(xiàn)數(shù)據(jù)都應(yīng)該默認(rèn)被視為“可公開(kāi)”。TPMS 只是一個(gè)開(kāi)始進(jìn)入智能駕駛時(shí)代后車(chē)外攝像頭、V2X 路側(cè)通信、藍(lán)牙鑰匙、超寬帶雷達(dá)每一路無(wú)線(xiàn)信號(hào)都在擴(kuò)展邊界也都在擴(kuò)大暴露面。6. 從 TPMS 看智能汽車(chē)安全設(shè)計(jì)的通病邊界數(shù)據(jù)與默認(rèn)信任6.1 單向鏈路的“信任默認(rèn)”是最難改的遺產(chǎn)在 TARA 框架里有一個(gè)常用概念叫“資產(chǎn)Assets”。TPMS 的資產(chǎn)不只是“輪胎氣壓信息”更應(yīng)該是“與車(chē)輛唯一綁定的可識(shí)別信息”。過(guò)去設(shè)計(jì)者把它定義為普通遙測(cè)數(shù)據(jù)只考慮“幫助駕駛員識(shí)別氣壓低”卻忽略了它同時(shí)具備“身份標(biāo)定”的能力。這種設(shè)計(jì)錯(cuò)位在汽車(chē)行業(yè)并不罕見(jiàn)。你可以看到很多車(chē)聯(lián)網(wǎng)功能也是這樣——車(chē)況接口、充電狀態(tài)、路線(xiàn)統(tǒng)計(jì)都在云平臺(tái)上日志一備份就是一整年。安全界經(jīng)常說(shuō)“沒(méi)有數(shù)據(jù)該裸奔”但車(chē)企產(chǎn)品序列里仍然可能存在“裸奔數(shù)據(jù)”問(wèn)題不是能力不夠而是“默認(rèn)信任”的慣性。6.2 幾點(diǎn)個(gè)人經(jīng)驗(yàn)與建議我自己和同行做過(guò)很多次車(chē)輛無(wú)線(xiàn)安全驗(yàn)證有一個(gè)體會(huì)越來(lái)越深單純追求“一次攻破”的展示價(jià)值并不大真正有價(jià)值的是幫車(chē)企和監(jiān)管層建立一套“快速發(fā)現(xiàn)低垂風(fēng)險(xiǎn)”的機(jī)制。TPMS 這個(gè)問(wèn)題本身已經(jīng)非常成熟學(xué)術(shù)界、安全研究人員、媒體都講了一輪又一輪但直到現(xiàn)在很多新車(chē)型依然是明文方案。原因并不復(fù)雜沒(méi)有發(fā)生大規(guī)模安全事故沒(méi)有被強(qiáng)制也沒(méi)有大面積用戶(hù)投訴。安全產(chǎn)品經(jīng)理在排優(yōu)先級(jí)的時(shí)候它總是被排到后面。所以如果你恰好是汽車(chē)電子工程師或產(chǎn)品經(jīng)理我建議你做設(shè)計(jì)評(píng)審時(shí)可以多問(wèn)一句“這臺(tái)車(chē)發(fā)出的每一個(gè)字節(jié)會(huì)不會(huì)讓外界認(rèn)出它來(lái)”這個(gè)問(wèn)題的答案往往比一份幾百頁(yè)的合規(guī)文檔更能揭示真實(shí)風(fēng)險(xiǎn)。最后說(shuō)個(gè)小經(jīng)驗(yàn)如果你要做類(lèi)似的無(wú)線(xiàn)安全測(cè)試一定記得先跟法務(wù)確認(rèn)測(cè)試范圍和授權(quán)邊界。在車(chē)輛無(wú)線(xiàn)安全研究里“接收”和“發(fā)射”的法律性質(zhì)完全不同。被動(dòng)接收一般處于灰色甚至合法地帶但主動(dòng)發(fā)射偽造報(bào)文來(lái)測(cè)試車(chē)輛響應(yīng)未經(jīng)過(guò)車(chē)主或車(chē)企授權(quán)的話(huà)是有法律風(fēng)險(xiǎn)的。測(cè)試工具怎么選、發(fā)射功率控制到多少、是否需要屏蔽箱這些細(xì)節(jié)都要提前想好。安全研究的意義從來(lái)不是嚇唬人而是把問(wèn)題攤開(kāi)讓該做決定的人有機(jī)會(huì)做正確決定。這一輪希望更多車(chē)企能做出正確的決定。