上個(gè)月,職業(yè)黑客Samy Kamkar成功入侵汽車巨頭通用汽車的RemoteLink移動(dòng)應(yīng)用,造成汽車解鎖并發(fā)動(dòng),一時(shí)間在業(yè)界掀起了渲染大波。在今年的第23屆DEF CON年度黑客大會(huì)上,他解釋了是如何進(jìn)入目標(biāo)汽車車庫(kù)的。
Kamkar說(shuō),能夠成功攻破的關(guān)鍵是薄弱的無(wú)線電安全和缺乏基本防御。入侵所使用的工具不過(guò)是一臺(tái)Mattel GirlTech IM-ME文本游戲機(jī)上的部件經(jīng)過(guò)改裝而成。IM-ME游戲機(jī)上有幾樣?xùn)|西是像Kamkar這樣的黑客所鐘愛(ài)的,特別是其中的得州芯片組和千兆赫收發(fā)器,以及允許該設(shè)備重組成非常有效盜竊工具的電路板插針。
第一步,是打開(kāi)車庫(kù)的大門。Kamkar使用無(wú)線電分析儀發(fā)現(xiàn),要找開(kāi)無(wú)線車庫(kù)的大門,通常都需要12位的訪問(wèn)密碼,這就意味著他最多只需要檢查4096個(gè)組合就可以找到正確的密碼,這大約需要30分鐘的時(shí)間。
說(shuō)到這兒,人們可能不免會(huì)懷疑,這時(shí)間也有點(diǎn)長(zhǎng)吧。經(jīng)過(guò)對(duì)發(fā)送信息進(jìn)行檢測(cè),Kamkar發(fā)現(xiàn)每個(gè)用來(lái)嘗試打開(kāi)車庫(kù)大門的密碼都會(huì)被重復(fù)發(fā)送五次,然后是兩毫秒的暫停時(shí)間,以確保接收器正確接收到所發(fā)送的密碼。去除這些重復(fù)發(fā)送的密碼,實(shí)際上打開(kāi)車庫(kù)的時(shí)間僅僅只需要6分鐘,而去除中間的暫停,更是讓打開(kāi)車庫(kù)的時(shí)間減少了一半。
Kamkar覺(jué)得三分鐘還是太長(zhǎng),于是他利用荷蘭數(shù)學(xué)家Nicolaas de Bruijn的算法,將密碼序列優(yōu)化成比特流,以可能的最小字節(jié)數(shù)向接收設(shè)備發(fā)射所有最可能的密碼組合,使得整個(gè)破解時(shí)間縮短到僅僅8秒鐘,特別適合以此進(jìn)行犯罪活動(dòng)。Kamkar會(huì)發(fā)布這些密碼,但目前軟件中還有一些錯(cuò)誤。對(duì)于DEF CON黑客大會(huì)的與會(huì)者來(lái)說(shuō),差不多都可以對(duì)這些錯(cuò)誤進(jìn)行修改,不過(guò)一般的腳本小子做起來(lái)就沒(méi)那么容易了。
為了入侵汽車,Kamkar跟朋友借了一輛通用汽車,并對(duì)車輛和RemoteLink智能手機(jī)應(yīng)用之間的無(wú)線電信號(hào)進(jìn)行了分析。RemoteLink是通用汽車安吉星系統(tǒng)通過(guò)蜂窩電話網(wǎng)絡(luò)提供汽車互聯(lián)網(wǎng)接入的一個(gè)組件。車輛內(nèi)部的安吉星設(shè)備連接到移動(dòng)網(wǎng)絡(luò),并通過(guò)內(nèi)置Wi-Fi提供網(wǎng)絡(luò)接入,從而實(shí)現(xiàn) RemoteLink應(yīng)用對(duì)汽車進(jìn)行遠(yuǎn)程連接和控制。Kamkar還發(fā)現(xiàn),RemoteLink應(yīng)用在和通用汽車通訊時(shí)沒(méi)有使用加密證書(shū)進(jìn)行真實(shí)性驗(yàn)證,很容易就可以扮演中間人攻擊的角色。
Kamkar要做的就是制作一個(gè)假扮汽車的裝置,附近如果有人使用這個(gè)應(yīng)用,應(yīng)用就會(huì)把這個(gè)假扮的汽車裝置當(dāng)作是汽車而去進(jìn)行通訊連接。通過(guò)這種方式,他就可以收集到足夠的信息,然后再假扮智能手機(jī)應(yīng)用與汽車進(jìn)行連接、控制。(截止本文發(fā)稿前,該應(yīng)用在安全方面已經(jīng)做了加強(qiáng))
他組裝了一個(gè)樹(shù)莓派(著名的開(kāi)源硬件電腦),一個(gè)裝有預(yù)付費(fèi)SIM卡的GSM模塊,一個(gè)Edimax Wi-Fi適配器,并使用馬洛里開(kāi)源工具包扮演中間人攻擊。他給自己的硬件起名為OwnStar,只需放在車下,遠(yuǎn)程就可以操作。
有了這個(gè),他就可以操縱RemoteLink軟件,并使用該應(yīng)用跟蹤汽車、打開(kāi)車門、啟動(dòng)引擎等。但他還不能把車開(kāi)走,因?yàn)檫€需要鑰匙,不過(guò)他發(fā)現(xiàn),還是有辦法可以解決的。
無(wú)線電子車鑰匙通常通過(guò)空氣發(fā)送40到60位解鎖密碼。解鎖密碼使用滾動(dòng)密碼算法生成,即每次按下鑰匙按鈕都會(huì)生成一個(gè)新密碼,而一旦汽車接收了這個(gè)密碼,就不會(huì)再次接收。這樣就可以防止密碼截取攻擊。然而,還是可以對(duì)密碼傳輸進(jìn)行干擾,使其無(wú)法被汽車接收得到,而被攻擊者接收,然后再發(fā)送給汽車,從而實(shí)現(xiàn)打開(kāi)車門。
要找出設(shè)備運(yùn)行的頻寬是件很容易的事情,然后對(duì)該頻率進(jìn)行干擾,因?yàn)樗械纳漕l設(shè)備都會(huì)在其網(wǎng)站上公布其設(shè)備的頻率范圍。
使用基本的無(wú)線電裝置,Kamkar就可以干擾電子汽車鑰匙的信號(hào),讓汽車無(wú)法收到密碼,同時(shí)將電子汽車鑰匙發(fā)送的密碼記錄下來(lái)。通過(guò)持續(xù)干擾,持有電子汽車鑰匙的人將會(huì)再次進(jìn)行重試,從而泄漏了第二個(gè)密碼。干擾解除后,原來(lái)的電子汽車鑰匙還可以照常使用,但Kamkar已經(jīng)拿到了兩個(gè)可用的解鎖密碼。
這種招數(shù)并是適合所有的汽車,許多電子汽車鑰匙都帶有無(wú)線RFID射頻識(shí)別芯片,汽車在收到密碼后執(zhí)行解鎖前會(huì)對(duì)密碼進(jìn)行檢測(cè)。盡管如此,Kamkar的演講還是表明,汽車制造商在汽車安全方面還有很長(zhǎng)、很長(zhǎng)的路要走。