以前,汽車是孤立的,物理隔離的,因此黑客很難遠程入侵汽車內(nèi)部電腦(ECU),除非進行物理入侵,而這個是需要很高的犯罪成本。隨著互聯(lián)網(wǎng)的進化,當golo3這樣的車聯(lián)網(wǎng)產(chǎn)品通過OBD(On Board Diagnostics)診斷座將汽車內(nèi)部ECU聯(lián)網(wǎng)之后,汽車受到的遠程網(wǎng)絡(luò)攻擊就不再是猜想。可以預(yù)見,一旦車聯(lián)網(wǎng)產(chǎn)品普及,關(guān)于汽車被攻擊的現(xiàn)實案例就會出現(xiàn)并越來越多。
試想一下,在高速公路上汽車發(fā)動機被人為控制突然熄火,會是怎么樣的一場結(jié)局?你,害怕了嗎?
一 OBD診斷座與ECU拓撲結(jié)構(gòu)
在詳細探討車聯(lián)網(wǎng)安全之前,首先我們來了解下OBD診斷座,如下圖是SAE J1962標準對OBD診斷座的定義:
OBD診斷座是一個包含16pin的母座,除上圖給出的引腳的定義,其它沒有給出的引腳都由汽車廠商自己定義。不同的ECU通信協(xié)議可能采用不同的引腳, KWP(key word protoctol)關(guān)鍵字協(xié)議采用的是7號引腳或者15號引腳,目前最普遍的500kbaud的iso15765協(xié)議(高速CAN)采用的是6號引腳和14號引腳。OBD診斷座一般位于汽車方向盤的下面,不同的車型具體位置可能不一樣,下圖給出的是豐田凱美瑞2011經(jīng)典版OBD診斷座的具體位置:
圖2 豐田凱美瑞2011經(jīng)典版診斷座位置
接下來我們需要了解ECU和ECU之間的拓撲結(jié)構(gòu)。ECU(Electronic Control Unit)電子控制單元,通俗的的說,它其實就是一些用于控制,記錄或者改變汽車的狀態(tài)的單片機或者ARM芯片。一般現(xiàn)在汽車內(nèi)部都會有十幾個到幾十個不等的ECU,不同的ECU掌管不同的模塊,比如,發(fā)動機控制模塊(PCM)會接受傳感器信號,通過復(fù)雜的計算來控制燃油的供應(yīng)量,空氣的配給(電子節(jié)氣門),噴油及點火的時機,進氣壓力的調(diào)整,還要根據(jù)溫度、負荷、爆震、燃燒狀況等來決定發(fā)動機的補償控制系數(shù)。按照功能的不同,我們又可以把ECU分為動力,車身,底盤,其它等幾大類。下表列舉了高配置的2011款經(jīng)典版凱美瑞的一些ECU模塊。
表1 2011款經(jīng)典版凱美瑞的一些ECU模塊
汽車內(nèi)部除了ECU之外,還會有大量的傳感器以及執(zhí)行器等部件,通過它們的協(xié)調(diào)工作共同完成復(fù)雜的智能化操作。那么ECU與ECU,ECU與其它部件又是如何通信的呢?如下圖是汽車內(nèi)部各個部件之間的拓撲結(jié)構(gòu)
圖3 CANBUS拓撲結(jié)構(gòu)
實際情況比上圖中復(fù)雜的多,不同車型之間也會有差別,各部件之間可能還會出現(xiàn)直接相連接,總體來說原理是差不多的,所有部件平等的連接在CAN總線上。CAN總線具備低成本,總線利用率極高,可靠的容錯機制,高速的傳輸速率等物理特性。它是基于廣播形式的,也就是說同一總線上的任何一個節(jié)點往總線上發(fā)消息,總線上其它的節(jié)點都可以收到該消息,然后根據(jù)消息的頭部來判斷是否是發(fā)給自己的消息。不同波特率的總線之間通過網(wǎng)關(guān)來完成信號適配。
二 通過OBD診斷座我們能做什么
我們知道OBD診斷座的設(shè)計初衷是用于汽車診斷,它是汽車ECU與外部進行交互的唯一接口,也就是說汽車診斷儀能做的我們都能做,我們先來看看符合市場要求的診斷儀應(yīng)該具備的功能:
1. 能夠讀取汽車ECU的信息,比如17位vin碼,ECU的硬件信息等。 2. 能夠讀取汽車的當前狀態(tài),比如當前的車速,胎壓等等。 3. 能夠讀取汽車的故障碼,快速定位汽車的故障位置,并且清除故障碼。 4. 能夠?qū)ζ囘M行一些預(yù)設(shè)置的動作行為測試。比如車窗升降等 5. 除上述基本的診斷功能之外,還可能具備刷動力,里程表修改,鑰匙匹配,安全氣囊復(fù)位等復(fù)雜的特殊功能。除此之外,我們知道CAN總線是基于廣播的形式來發(fā)送消息的,并且消息一旦發(fā)送到CAN總線上,接收到此消息的ECU是無法確定該消息是從哪個節(jié)點發(fā)來的,即消息不包含源地址或者目標地址,消息頭部僅僅是個標識符,ECU僅僅是根據(jù)這個標識符來辨認是否是發(fā)給自己的。這樣的設(shè)計缺陷自然就能導(dǎo)致消息偽造和欺騙攻擊。OBD診斷座作為總線上的一個節(jié)點,不僅能監(jiān)聽CAN總線上面的消息,而且還能偽造消息(比如傳感器消息)來欺騙ECU,從而達到改變汽車行為狀態(tài)的目的。
綜合上述的兩種情況,我們可以把CAN總線上的消息分為如下兩種:
1. 診斷儀與汽車ECU之間通信的消息叫做診斷消息。 2. 汽車內(nèi)部各部件之間通信的消息叫做內(nèi)部消息。通過精心構(gòu)造上面定義的任何一種消息序列發(fā)往總線,惡意攻擊者都有可能改變汽車的狀態(tài)。
這里可以列舉幾種攻擊以及攻擊帶來的后果。比如惡意攻擊者可以通過對車身系統(tǒng)發(fā)送消息序列來解鎖汽車車門和尾箱,從而達到竊取車主財物的目的;再比如攻擊者可通過構(gòu)造消息序列發(fā)送給OBD診斷座強制讓跑在高速上的車輛發(fā)動機熄火,從而達到車毀人亡的目的。
三 對車聯(lián)網(wǎng)的攻擊途徑
OBD車聯(lián)網(wǎng)產(chǎn)品由云端服務(wù)器、手機APP、盒子三大基本要素構(gòu)成,攻擊其中的任何一個要素以及要素之間的通信,都能夠給車聯(lián)網(wǎng)帶來毀滅性的打擊。我這里例舉幾點:
1.入侵云服務(wù)端,篡改服務(wù)端的診斷數(shù)據(jù)邏輯,達到改變汽車行為的目的 2.通過逆向工程獲知手機APP和盒子之間的通信邏輯,偽造成車聯(lián)網(wǎng)產(chǎn)品的手機APP向盒子發(fā)送惡意的消息序列。 3. 通過WIFI、藍牙等通信渠道進行攻擊等等。四 案例演示
這里選擇2011款的豐田凱美瑞經(jīng)典版作為演示對象,如下圖:
圖4 2011款的豐田凱美瑞經(jīng)典版
1.獲取當前車速:http://v.qq.com/page/m/3/m/m0130i9zr3m.html
2.欺騙汽車儀表盤::
詳細視頻演示:http://v.qq.com/page/r/q/h/r0130lc5fqh.html
3.欺騙ABS警告燈:
點亮ABS警告燈,讓車主認為防抱死系統(tǒng)有問題。
詳細視頻:http://v.qq.com/page/x/5/i/x0130inc45i.html
4.殺死發(fā)動機(kill engine):
向OBD診斷座發(fā)送特定指令后,點燃的發(fā)動機瞬間熄火。
詳細視頻演示:http://v.qq.com/page/j/j/n/j0130x1x4jn.html
五 總結(jié)
和PC時代一樣,破壞總是會伴隨著創(chuàng)造而誕生,它會稍微落后于創(chuàng)造,但是車聯(lián)網(wǎng)的安全問題遠遠比以前要重要很多,因為它與人們生命息息相關(guān)!可以想象,當汽車不再孤立,安全問題絕對是最先需要考慮的領(lǐng)域!
未完待續(xù),敬請關(guān)注。
國產(chǎn)工具PKAV HTTP Fuzzer滲透測試助手最新發(fā)布
閱讀惠普漏洞:惠普ArcSight企業(yè)安全系列產(chǎn)品曝高危安全漏洞
閱讀蘋果Mac OS X系統(tǒng)被發(fā)現(xiàn)存在DLL劫持漏洞
閱讀D-Link(友訊)路由器曝遠程文件上傳及命令注入漏洞(已發(fā)布安全更新)
閱讀Win10將使用P2P進行系統(tǒng)更新,引發(fā)安全擔憂
閱讀美國最大的無卡ATM網(wǎng)絡(luò)即將推出,從此告別刷卡!
閱讀谷歌應(yīng)用漏洞泄漏超過28萬條私人WHOIS數(shù)據(jù)
閱讀使命召喚、魔獸世界、英雄聯(lián)盟……專攻游戲的勒索軟件TeslaCrypt
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)