隨著聯(lián)網(wǎng)功能、近場(chǎng)通訊手段的愈加增多,汽車上可被攻擊的地方也越來(lái)越多。要攻破一輛汽車的防線,能從哪些方面入手?汽車制造商和供應(yīng)商們又該怎么防止入侵呢?在逐個(gè)分析完破解案例之后,下面進(jìn)入總結(jié)篇。
汽車被入侵事件似乎告一段落,但是其背后暴露出的問(wèn)題卻遠(yuǎn)遠(yuǎn)沒(méi)有。
在今年發(fā)生的案例中,ModelS被KevinMahaffey、MarcRogers揭發(fā)漏洞、比亞迪在360要公開(kāi)演示破解過(guò)程時(shí)候,發(fā)布公告的內(nèi)容中,都不約而同的提到了一個(gè)相當(dāng)重要的前提,那就是“物理接觸”。因?yàn)閷?duì)于汽車而言,只有遠(yuǎn)程且可復(fù)制的攻擊才會(huì)真正帶來(lái)威脅。
原因顯而易見(jiàn)。物理接觸類攻擊雖然最終造成的危害大,但是實(shí)施難度卻很高,費(fèi)時(shí)費(fèi)力,對(duì)于追求收益的真正黑客們來(lái)說(shuō),付出回報(bào)比太大。遠(yuǎn)程攻擊則靈活可期,而且被抓個(gè)現(xiàn)行的概率要降低多了。
必須要申明的一點(diǎn)是,這里的物理接觸攻擊與遠(yuǎn)程攻擊是指在攻擊時(shí)采用的手段。在研究漏洞時(shí),物理接觸是個(gè)必不可少的過(guò)程,并不能夠以“物理接觸過(guò)”為由來(lái)證明車輛無(wú)法被遠(yuǎn)程攻擊。
從互聯(lián)網(wǎng)角度來(lái)說(shuō),有漏洞并不可怕,因?yàn)榻刂恋侥壳埃€并沒(méi)有哪一個(gè)系統(tǒng)能夠稱得上是絕對(duì)安全。有漏洞自然有措施來(lái)堵上漏洞、保護(hù)漏洞,以及如何減少漏洞的存在。
那么,在今年的案例中,車輛暴露出來(lái)的漏洞都有哪些呢?咱么挨個(gè)案例來(lái)看看其罪魁禍?zhǔn)住?/p>
克萊斯勒事件
在克萊斯勒被遠(yuǎn)程控制事件之中,Uconnect最終成了背鍋的所在,成為了Miller與Valasek接管車輛控制系統(tǒng)的入口。但是導(dǎo)致車輛剎車、傳動(dòng)被控制的真正原因,并不只是Uconnect一個(gè)。這一點(diǎn),在之前的文章中也有點(diǎn)名:
為了防止黑客通過(guò)接入一條非重要網(wǎng)絡(luò),進(jìn)而“竄入”系統(tǒng)關(guān)鍵網(wǎng)絡(luò)內(nèi)部搗亂,一般安全專家會(huì)在兩條線路之間安裝一個(gè)「安全隔離網(wǎng)閘」 (airgap)。然而在被“黑”的Jeep切諾基上,控制車輛運(yùn)行的系統(tǒng)間并沒(méi)有網(wǎng)閘存在。因此,結(jié)合找到的其他幾處安全漏洞,查理和克里斯發(fā)現(xiàn)了車輛控制系統(tǒng)和Uconnect系統(tǒng)(支配儀表娛樂(lè)單元)之間的聯(lián)系。一張SIM卡存在的漏洞,加之“黑客”的其他攻擊,將原本理論上才可能出現(xiàn)的遠(yuǎn)程控制變成了赤裸裸的現(xiàn)實(shí)。可以總結(jié)得出,導(dǎo)致這次事件的原因有二:一是Uconnect為無(wú)線接入車輛提供了接口,二是在Uconnect信息娛樂(lè)系統(tǒng)與車輛控制系統(tǒng)之間沒(méi)有進(jìn)行隔離,進(jìn)入U(xiǎn)connect之后,就相當(dāng)于魚(yú)入大海,暢通無(wú)阻。
在漏洞爆出之后,因?yàn)闊o(wú)法進(jìn)行遠(yuǎn)程更新,克萊斯勒無(wú)奈只能選擇了召回處理。好處在于漏洞事件的嚴(yán)重性引起了NHTSA的注意,或許對(duì)于信息安全標(biāo)準(zhǔn)的更改,有促進(jìn)作用。
小結(jié):弊端在于信息娛樂(lè)系統(tǒng)安防不到位、車輛不同系統(tǒng)之間隔離不到位、無(wú)法遠(yuǎn)程更新修復(fù)漏洞,提供OTA升級(jí)、車輛內(nèi)部控制系統(tǒng)與信息娛樂(lè)系統(tǒng)之間設(shè)置隔離網(wǎng)關(guān),加強(qiáng)驗(yàn)證手段以及信息娛樂(lè)系統(tǒng)本身的安防手段,都是可用的手段。
通用Onstar及其它有相同漏洞的車聯(lián)網(wǎng)服務(wù)App
SamyKamkar用Ownstar盒子打開(kāi)了4家車企與一家后裝廠商的車聯(lián)網(wǎng)服務(wù)App的漏洞所在。原理我們已經(jīng)清楚,Ownstar 會(huì)掃描手機(jī)曾經(jīng)連接過(guò)的WiFi網(wǎng)絡(luò)并偽裝成其中一個(gè),一旦手機(jī)連接上此WiFi網(wǎng)絡(luò),就可以讀取到App的驗(yàn)證信息,并借著驗(yàn)證信息使用車聯(lián)網(wǎng)服務(wù) APP所提供的所有功能,鎖車解鎖、車輛定位、遠(yuǎn)程啟動(dòng)等等。
在這個(gè)過(guò)程中,漏洞點(diǎn)在于:
1.手機(jī)連接過(guò)的WiFi網(wǎng)絡(luò)可被任意掃描并讀取,自動(dòng)連接相同名字的WiFi(手機(jī)存在的問(wèn)題)
2.只有一次驗(yàn)證信息,在通過(guò)驗(yàn)證之后,并沒(méi)有二次驗(yàn)證,并且驗(yàn)證信息不會(huì)更新,一次獲取終身受益
這與之前車云菌親眼目睹的360破解汽車事件可以歸屬于同一案例,同樣是驗(yàn)證手段的缺乏。至于這個(gè)方式能夠破獲更多云服務(wù)權(quán)限,乃至讓云端命令優(yōu)先級(jí)大于本地服務(wù),Kamkar并沒(méi)有試,俺們也不得而知。
與克萊斯勒事件的不同點(diǎn)在于,App提供的不僅僅是入口。因?yàn)榉?wù)內(nèi)容的原因,App本身就可以與車輛的部分控制系統(tǒng)進(jìn)行通訊并獲取控制權(quán)限,所以一旦App在權(quán)限設(shè)置、驗(yàn)證手段上出現(xiàn)問(wèn)題,這些控制權(quán)限就是白送的。
這個(gè)問(wèn)題還可以進(jìn)行擴(kuò)展,比如現(xiàn)在已經(jīng)開(kāi)始有車輛支持從智能手表進(jìn)行基礎(chǔ)功能的遠(yuǎn)程控制。
小結(jié):這些車聯(lián)網(wǎng)服務(wù)本身并沒(méi)有問(wèn)題,確實(shí)給消費(fèi)者帶來(lái)了方便,不能因噎廢食就此解除服務(wù),所以關(guān)鍵在于加強(qiáng)App的安防措施:加密方式的加強(qiáng)、增加驗(yàn)證手段如短信驗(yàn)證以及嚴(yán)格的權(quán)限設(shè)置。
用OBD控制雪佛蘭科爾維特
與克萊斯勒事件相同,在這起案例中,“犯人”有兩個(gè),一個(gè)是MobileDevices的OBD設(shè)備,一個(gè)是科爾維特的車輛CAN總線。
MobileDevices的OBD問(wèn)題一是開(kāi)發(fā)者模式與使用同樣的密鑰讓黑客們可以輕松獲取最高權(quán)限,二是通過(guò)短信方式下發(fā)指令,短信不用經(jīng)過(guò)任何驗(yàn)證的手段給黑客大開(kāi)方便之門。不過(guò)解決方式也并沒(méi)有那么難,都可以通過(guò)OTA完成更新,一個(gè)是更改權(quán)限設(shè)置,二則是增加短信控制的白名單,只能經(jīng)由指定的手機(jī)號(hào)發(fā)送命令才能生效。
小結(jié):從根本上來(lái)說(shuō),OBD所存在的漏洞與克萊斯勒的Uconnect性質(zhì)十分類似,因?yàn)樗鼈兊目梢月?lián)網(wǎng)且存在安防漏洞,給了黑客可乘之機(jī),但是根源同樣在于CAN總線的安全策略設(shè)置之上,對(duì)于車輛控制功能沒(méi)有增加驗(yàn)證的關(guān)卡,才得以讓黑客長(zhǎng)驅(qū)直入。
無(wú)線鑰匙解鎖車門
RollJam破車門而入的方式我們都知道了,通過(guò)監(jiān)聽(tīng)并存儲(chǔ)無(wú)線鑰匙用來(lái)解鎖的密碼,就可以將其用來(lái)開(kāi)門。
在360的Hackpwn上,車云菌咨詢過(guò)關(guān)于SamyKamkar關(guān)于解鎖與鎖閉車門所使用密碼不同如何處理的問(wèn)題。Kamkar的解釋是,有些車輛使用的是同樣的密碼,只不過(guò)有不同的命令,讓汽車知道是解鎖還是鎖閉,而有的車輛則是分別使用了不同的密碼。RollJam可以識(shí)別出密碼與對(duì)應(yīng)的命令,只會(huì)存儲(chǔ)用于解鎖的密碼。而且,存儲(chǔ)密碼的數(shù)量是可以自由設(shè)定的,可以存儲(chǔ)1個(gè),也可以存儲(chǔ)4個(gè)。
這一漏洞最終被SamyKamkar歸結(jié)到了芯片問(wèn)題。因?yàn)樵谒褂肦ollJam攻擊凱迪拉克新款汽車沒(méi)有成功,就是在于這款汽車使用的 Keelop芯片上有一種密鑰系統(tǒng),給密鑰設(shè)定了一個(gè)很短的有效期,時(shí)間一過(guò),密鑰即會(huì)時(shí)效,便可以阻擋這類竊聽(tīng)存儲(chǔ)密碼式的攻擊。
小結(jié):設(shè)置密碼的時(shí)效性,讓人拿到了密碼也無(wú)計(jì)可施。
汽車點(diǎn)火防盜系統(tǒng)
與無(wú)線鑰匙解鎖不同,點(diǎn)火防盜系統(tǒng)的問(wèn)題在于密碼組成被破譯,而且這個(gè)密碼的設(shè)置方式,讓人能夠輕松對(duì)密碼的內(nèi)容進(jìn)行讀寫操作。
這個(gè)除了更換新的密碼協(xié)議,就沒(méi)有別的辦法了。好消息是在新款車型中,越來(lái)越多的用到了無(wú)鑰匙啟動(dòng)的方式。當(dāng)然,無(wú)鑰匙啟動(dòng)也有無(wú)鑰匙啟動(dòng)的漏洞需要注意了。
小結(jié):
從以上這些案例中,可以看出汽車能夠被攻擊的點(diǎn)在于:一是入口,二是內(nèi)部安全策略。OBD、Uconnect、或者App本身都只是提供了一個(gè)入口而已。入口本身安全措施不足、開(kāi)放的權(quán)限太大給了黑客們機(jī)會(huì),而車輛內(nèi)部安全策略的設(shè)置則是根本所在,也是需要車企們花費(fèi)心思去考慮的。
但是你以為車輛可被遠(yuǎn)程控制的入口只有這些而已么,那就tooyoungtoosimple啦。
隨著聯(lián)網(wǎng)功能、近場(chǎng)通訊手段的愈加增多,汽車上可被攻擊的地方也越來(lái)越多。要攻破一輛汽車的防線,能從哪些方面入手?汽車制造商和供應(yīng)商們又該怎么防止入侵呢?在逐個(gè)分析完破解案例之后,下面進(jìn)入總結(jié)篇。上回的總結(jié)篇中,我們說(shuō)到今年這里案例里頭,黑客們都用了什么方式去進(jìn)行破解汽車,以及其中表現(xiàn)出來(lái)的安全問(wèn)題所在。
當(dāng)然,最后俺們說(shuō)到,這些攻擊方式和漏洞并不是僅有的。那在汽車上還有哪些?
其實(shí)早在2011年,來(lái)自UCSD(加州大學(xué)圣地亞哥校區(qū))和華盛頓大學(xué)的兩個(gè)研究團(tuán)隊(duì)就以“汽車安全攻擊綜合分析”為題進(jìn)行了實(shí)驗(yàn)與驗(yàn)證,并從威脅類型、具體漏洞分析以及威脅評(píng)估三個(gè)方面進(jìn)行了分別論述與實(shí)驗(yàn)。在這一份調(diào)研報(bào)告中,被研究的主體是安裝在汽車中那一塊塊功能各異的ECU。
三年之后,CharlieMiller與ChrisValasek又重新進(jìn)行了這個(gè)工作。他們的目的同樣是想搞清楚如果要對(duì)汽車發(fā)起攻擊,哪些有可能入手。
欲善其事,必利其器
這個(gè)研究的關(guān)鍵在于兩位研究員的思路。
需要再次重申的原則是,這次的攻擊依然是圍繞遠(yuǎn)程可復(fù)制攻擊,而重點(diǎn)關(guān)注的是哪些會(huì)引起安全事故的攻擊,也就是他們今年對(duì)克萊斯勒發(fā)起的這類攻擊:遠(yuǎn)程操控汽車的轉(zhuǎn)向、剎車或者加速功能,讓車輛脫離駕駛員的掌控,進(jìn)入不安全狀態(tài)。圍繞鑰匙、防盜等車輛偷竊類攻擊就不再考慮之類了。
第二步思路是,如果要得到這個(gè)結(jié)果,需要怎么做?
最關(guān)鍵的一點(diǎn)是,黑客需要能夠?qū)@些控制車輛轉(zhuǎn)向、剎車或加速的ECU下達(dá)命令,那就是說(shuō),必須拿到與車輛內(nèi)部CAN總線通訊的方式,而CAN總線并不止一條線路,這些核心控制功能在更加底層的地方。遠(yuǎn)程攻擊不可能直接與其接觸,那么就需要「橋梁」。
這個(gè)橋梁就是并不處于核心位置的、大多是承擔(dān)接收和處理無(wú)線電信號(hào)的這一批ECU,他們都具有兩個(gè)特征:
1.能夠接受外部信息
2.這個(gè)信息有可能通過(guò)CAN總線傳遞給那些控制核心功能的ECU
所以,思路就是找到這些ECU之后,先把他們黑掉,再以之為跳板,向核心功能ECU發(fā)布假消息。可以把這類ECU想象成古代戰(zhàn)場(chǎng)上傳令的小兵,如果其能陣前倒戈,傳遞敵方給予的假命令,打勝仗也是手到擒來(lái)。
不過(guò)這是理想狀態(tài),如果被發(fā)現(xiàn)是假命令呢?
雖然橋梁ECU們能夠作為入口向內(nèi)部發(fā)送消息,但是這個(gè)消息并不是想發(fā)就發(fā)的,在不同的ECU之間,可能存在網(wǎng)關(guān),攔截非法消息;核心 ECU上,可能有安全策略設(shè)置,某些動(dòng)作只能在特定的行駛狀態(tài)下才能實(shí)現(xiàn),或者只聽(tīng)從指定的命令。要想達(dá)成目的,或者偽裝成合法的,那么就要知道通訊協(xié)議;或者繞過(guò)網(wǎng)關(guān),需要知道通過(guò)密碼;或者把網(wǎng)關(guān)也黑掉,讓其為自己所用……等等,不一而足。
因而,黑客要做的工作有三:
1.找到遠(yuǎn)程接入的入口——帶有橋梁ECU的功能模塊,比如上篇里頭的車載Wi-Fi、OBD、云服務(wù)App,還包括與手機(jī)同步的藍(lán)牙功能、瀏覽器等車內(nèi)應(yīng)用等等,所有兼顧外部消息接收與內(nèi)部通訊功能的,都存在可能性,都可以以此展開(kāi)研究
2.找到從橋梁ECU到核心功能ECU之間的通訊道路
3.解決通訊道路上的各式攔路馬
“等等”的內(nèi)容并不止于通訊模塊
上面提到的入口,也就是橋梁,起到溝通內(nèi)外的作用,一般大家想到的就是車輛通訊模塊。但其實(shí),并不止于此,還有一部分比較特殊功能的ECU,他們也起到相同的作用,但卻是為了完全不同的目的——ADAS(高級(jí)駕駛輔助)。
現(xiàn)在的ADAS,常見(jiàn)的比如車道保持、防碰撞系統(tǒng),還有受到很多新手司機(jī)歡迎的泊車輔助技術(shù)。這些功能最終都會(huì)為了保證車輛處于車道之上、保證不發(fā)生碰撞或降低碰撞產(chǎn)生傷害、泊車而對(duì)車輛進(jìn)行轉(zhuǎn)向、剎車等功能。還有ACC,在轉(zhuǎn)向、剎車之后,還有自動(dòng)加速功能。
也就是說(shuō),這些ADAS系統(tǒng)的ECU會(huì)根據(jù)傳感器的數(shù)據(jù),對(duì)核心控制功能ECU發(fā)出命令,在特定的時(shí)候讓其工作,同樣可以作為橋梁使用。當(dāng)然,毋庸置疑的是,這些系統(tǒng)的目的是為了輔助駕駛和提高安全性能,所以本身也會(huì)設(shè)置到限定速度之下。可能比較謹(jǐn)慎的車企,還會(huì)多設(shè)置幾道關(guān)卡來(lái)保證系統(tǒng)功能。
之所以提到這些系統(tǒng),并不說(shuō)他們不安全,而是因?yàn)樗麄兘o黑客攻擊汽車帶來(lái)了一個(gè)可能性。因?yàn)榕c核心控制功能有信息交互,那么就存在一種可能性,以他們?yōu)闃蛄喊l(fā)出假消息。需要評(píng)估的是,這個(gè)可能性有多大。
因而,遵循這個(gè)三步法則,兩位研究員開(kāi)始了研究。
俺們知道,車輛的CAN總線是個(gè)很復(fù)雜的東西,會(huì)隨著車輛上技術(shù)、功能的增減而改變,在不同的制造商之間、同一制造商不同車型之間、同一車型不同年款之間,都會(huì)有差別。因而他們以2014年款為主,挑了13款車型,同時(shí)也挑了這些車型的2006年款或者2010、2015年款作為對(duì)比研究。
研究主要圍繞三個(gè)方面:
1.存在多少種不同的入口以及入口的安全性
有些橋梁ECU與核心ECU通訊的可能性有,但是很小,因而可以認(rèn)為安全性較高,比如ADAS,雖然可以直接與核心功能ECU通訊,但是安全策略與門檻會(huì)較多。而藍(lán)牙、Wi-Fi通訊則因?yàn)樽饔镁嚯x、可實(shí)現(xiàn)功能與安全策略的問(wèn)題,導(dǎo)致安全性較低。如果這類入口較多,則評(píng)估得到的威脅程度會(huì)高。
2.車輛的內(nèi)部網(wǎng)絡(luò)拓?fù)鋱D
一方面,通過(guò)同一車型不同年款來(lái)對(duì)比分析車輛內(nèi)部網(wǎng)絡(luò)隨著時(shí)間發(fā)展的狀況;另一方面,也是想進(jìn)行驗(yàn)證,對(duì)于車內(nèi)網(wǎng)絡(luò)的攻擊,是否因?yàn)椴町愋跃薮蠖y以直接復(fù)制。
自然還有第三個(gè)目的,那就是分析具體的拓?fù)浣Y(jié)構(gòu),以此來(lái)分析從橋梁ECU通往核心ECU之前道路通過(guò)的成功可能性有多大,來(lái)評(píng)估其帶來(lái)的威脅程度。
3.攻擊的反面就是防守
攻擊并不是最終目的,最終目的是為了更好的防守。從可攻擊路線發(fā)現(xiàn)可能漏洞所在,也就是可以加強(qiáng)防護(hù)的地方。
不同年不同車不同命
這個(gè)研究的最終結(jié)果,就十分有意思了。在他們最后公開(kāi)的研究報(bào)告中,都進(jìn)行了具體分析,因?yàn)槠蓿疚臒o(wú)法一一列出,感興趣的同學(xué)可以到這里去看原文。
對(duì)具體分析內(nèi)容不那么感興趣的,俺們一起來(lái)看結(jié)果。
他們一共分析了21款車,涉及到奧迪、寶馬、通用、福特、克萊斯勒、本田、豐田、英菲尼迪、路虎品牌及其旗下品牌車型,以2014年款為主,共13款,對(duì)比年款2006年款4個(gè),2010年款3個(gè),2015年款1個(gè)。具體易受攻擊程度見(jiàn)下圖(圖片來(lái)自CharlieMiller與 ChrisValasek的研究報(bào)告),表中只列出了20款車型,少了一個(gè)2006年款英菲尼迪G35。
20款車型易受攻擊列表(從--、-、+到++受攻擊程度依次提高,表格從左至右分別代表攻擊面、網(wǎng)絡(luò)架構(gòu)與核心功能)
從研究的內(nèi)容中,他們還得到了一些結(jié)論:
1.隨著時(shí)間推進(jìn),所有品牌車型都表現(xiàn)出ECU數(shù)量的增多,不僅是整體ECU數(shù)目,橋梁ECU數(shù)目更是大幅增加,功臣有兩個(gè):車聯(lián)網(wǎng)與駕駛輔助技術(shù)的發(fā)展。也就意味著,車輛的被攻擊可能性、可選擇手段都在增加。
2.車內(nèi)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的復(fù)雜性隨著ECU增多也在增加,被分割的網(wǎng)絡(luò)架構(gòu)越來(lái)越多。但是這些網(wǎng)絡(luò)架構(gòu)的分割并不都是以“將控制核心功能 ECU與其他類ECU分開(kāi)”為目的。在2014年款中,有6款并沒(méi)有根據(jù)功能重要性不同進(jìn)行隔離,而更多的,雖然隔離了,但是并不代表安全性就高。因?yàn)楦綦x之后并沒(méi)有設(shè)置網(wǎng)關(guān)或者安全邊界,沒(méi)有增加安全策略,而只是單純的分開(kāi)。
3.盡管內(nèi)部結(jié)構(gòu)大不相同,但是大多數(shù)車輛都采用了類似PC的技術(shù),比如瀏覽器和車內(nèi)App等,這些都是黑客們十分熟悉的東西,提供了與PC、移動(dòng)端類似的攻擊方式
4.在所有入口中,胎壓監(jiān)測(cè)與無(wú)鑰匙進(jìn)入是被遠(yuǎn)程攻擊威脅性最大的橋梁ECU
5.同一地區(qū)的汽車制造商的內(nèi)部拓?fù)鋱D有著類似的結(jié)構(gòu),日系車(豐田與英菲尼迪)、德系車(奧迪與寶馬)、美系車(通用與福特)之間都表現(xiàn)出來(lái)這個(gè)特性。兩位研究員認(rèn)為可能是因?yàn)樗麄兯伎紗?wèn)題的方式比較類似,還有就是工程師的跳槽~
6.存在這些問(wèn)題的車輛,都沒(méi)有OTA功能,發(fā)現(xiàn)問(wèn)題只能召回處理。最終得出了兩個(gè)排名:
1.最容易被破解三甲:2014Jeep切諾基,2015凱迪拉克凱雷德、2014英菲尼迪Q50
2.最不容易被破解三甲:2014道奇蝰蛇,2014奧迪A8,2014本田雅閣
發(fā)現(xiàn)問(wèn)題了么?為什么今年他們拿切諾基開(kāi)刀,原來(lái)根源在這里。
小結(jié):
其實(shí)研究到這里并沒(méi)有結(jié)束。兩位白帽黑客的雄心壯志在于想對(duì)所有車型進(jìn)行分析并得出答案,無(wú)奈這些資料并不是那么好拿到的,因而只有這些款。而且,因?yàn)樗麄儾⒉皇沁@些車型都有,也沒(méi)有對(duì)每一款車進(jìn)行具體實(shí)驗(yàn)分析,以確定分割更多網(wǎng)絡(luò)等是否能夠成為黑客破解的障礙。不過(guò),在去年出研究成果之后,今年對(duì)切諾基下手就證明了他們的研究并沒(méi)有停止,而是會(huì)繼續(xù)前行。
評(píng)論