電子產品的偶爾小失靈,未必是接觸不良。如果你用電子車鑰匙開車門時,發(fā)現(xiàn)操作兩次才能打開車門,那你就要小心了。這不是一個技術小故障,很可能是你的電子車鑰匙成為了黑客攻擊的入口?,F(xiàn)在就有這么一個設備擺在你的面前,它的名字叫“RollJam”。
在拉斯維加斯DefCon黑客大賽上,帶著這個設備上臺的是個老面孔。沒錯,你們熟悉的Samy Kamkar又來了!上次用個紙巾盒大小的設備黑了通用車后,他又在自己的破解列表上添了一筆新戰(zhàn)績,而且跑到DefCon發(fā)表了新型無線設備“盜車法”的演講。
“RollJam”,有圖真相
小設備盜啟車鎖,只要一個兒童玩具機?
先看看“RollJam”是個什么設備??梢詿o線通訊,大小和智能機相仿,成本也就32刀的樣子。Samy Kamkar用這個“作案工具”竊聽、記錄無線車鑰匙的指令,破解車門電子鎖,并且在破解之后相當長的一段時間里,都可以不再借助車主的開鎖操作,自行打開車門。
車主開鎖時竊取電子指令,無人時再發(fā)射開關車門。這項技術聽起來好像也不怎么高明。其實這種玩法早就被人發(fā)現(xiàn)了,只是借著Samy哥的最新成果展示才被擺上臺面。而且多年來,使用這種小工具進車行竊的案例不勝枚舉。黑客能重復開關車門,是因為開關門的“ISM無線電信號”始終用了同一個電子解鎖碼。
BUT,車企也不是傻子。他們用“滾動碼”(rolling codes)系統(tǒng)代替了老式的“ISM無線電信號”,而正如名字那樣,新系統(tǒng)中車鑰匙發(fā)射的密碼每次一換,黑客用同一個密碼開門,就會因為代碼重復使用被拒絕,強行進入還可能會觸發(fā)警報。
但是“RollJam”有些不同。它可以被藏在目標車輛上或者車庫里,等待毫不知情的車主在車邊按下無線鑰匙解鎖車門。前半段故事情節(jié)有點老套,但是隨后車主會發(fā)現(xiàn)第一次沒有響起開鎖聲,不過重試一下又成功了。之后Samy Kamkar可以隨時隨地取回“RollJam”,在車邊按下設備上的一個按鈕打開車門。
之所以能做到這點,是因為“RollJam”瓦解了“滾動碼”的安全防護措施。而這種防護方法被用在當今多數(shù)汽車和卡車的無匙進入系統(tǒng)、警報系統(tǒng),以及車庫門禁系統(tǒng)。
我們不妨來模擬一個攻擊場景詳細分析下其中的原理,假設一個受害車主,姑且稱他為黑土。
1. 黑土第一次按下鑰匙,想要打開車門。“RollJam”一方面會把車鑰匙信號碾碎,另一方面會發(fā)出兩股同頻無線電信號噪音,干擾車門端接收器。幾乎同時,“RollJam”會收聽到第三個信號,這個信號比較微弱,正是可以解鎖車門的密鑰。避開原本的車門接收器,“RollJam”記錄并存儲了這個密碼。
2.好,黑土又按了一次。這回RollJam又繼續(xù)粉碎鑰匙端信號,記下了第二個代碼。說時遲那時快,“RollJam”調皮地播放了第一個代碼。結果呢,第二次開門用了第一次未被車端接收的密碼,自然是“成功”開了門。
“RollJam”破解“兩部曲”
如果“RollJam”被捆綁在車上或者丟在車庫不遠的小角落里,他就能在黑土每次按下鑰匙時,重復上述碾碎和截取操作,然后替換為上一次的code,把這次的code存為下次使用。所以無論黑土什么時候開車門,“RollJam”也都能為你偽裝一枚全新的未曾使用的密碼。心懷不軌的人挑個四下無人的機會,就能一鍵開門偷取車上的所有東西。
這種破解方法聽起來有點不厚道,而且好多黑客會認為,沒有在代碼和系統(tǒng)上直接破解,算不得什么英雄好漢。不過白帽黑客更多是尋找可能的危險漏洞,關鍵是車主覺得難得出個故障也沒什么好奇怪,開兩次才成功很平常啊。但是當他像往常一樣開車回家,卻不知道別人那里已經有了可以打開他車門的密碼。
在DefCon黑客大賽上,Samy哥詳細展示了“RollJam”攻擊無線控制門禁、車庫和汽車的方法。而且他介紹,目前很多汽車現(xiàn)在都能由GSM的移動設備控制,甚至有更多的車可以被頻射的無線網絡電子鑰匙解鎖、發(fā)動,低成本工具就能攻破汽車的網絡安全防線。比如他自己,就在Youtube上傳過一個用按上信號發(fā)射天線的兒童打字玩具開關車庫門的視頻。
都是芯片惹的禍
Samy Kamkar自稱已經在日產、凱迪拉克、福特、豐田、蓮花和大眾以及克萊斯勒車上測試了“RollJam”的有效性。而且還在Cobra、Viper、 Genie和Liftmaste一眾使用“滾動碼”的車庫電子門禁系統(tǒng)上測試成功。根據(jù)現(xiàn)在市場上的產品情況,Samy Kamkar預測上百輛車和車庫門都會因此受到攻擊。
白帽黑客的使命是幫助企業(yè)解決目前的電子安全問題,然后修復這些容易遭到攻擊的漏洞。在人們追問漏洞出處時,Samy Kamkar提到,他堅信問題根源在于多家企業(yè)使用的芯片存在問題。這些芯片分別來自美國微芯科技有限公司生產的Keeloqand芯片以及德州儀器出售的Hisec芯片。
在上一起攻擊通用車案例就出過長文報道的“連線”記者再度出動。他們聯(lián)系了上述幾家車企和車庫門禁公司,但是所得回應寥寥。開門機公司Liftmaster和大眾汽車不予置評,一名Viper公司的發(fā)言人稱,他們會研究一下Samy哥案例中的細節(jié)信息。
值得注意的是,凱迪拉克的發(fā)言人David Caldwell回了一封郵件,里面寫道:“我們網絡安全的專家對這種破解方法很熟悉,而且他確定這種方式只能破解凱迪拉克早年生產的一些車款,最新生產的凱迪拉克車型已經換上了一套新的安全防護系統(tǒng)”。
這封郵件回應包含的一個隱藏信息點是:Samy哥已經不是第一個用這種粉碎、截取和重播的方式攻擊汽車電子系統(tǒng)的第一人,這個問題我們早就知道啦~可以查證的資料顯示,去年三月的時候,安全專家Spencer Whyte在一篇文章中提到,他也已經制造了一種類似的設備。[!--empirenews.page--]
對此Kamkar的回應是,自己研發(fā)的“RollJam”是個更加精準的版本,與Whyte的方法比更加自動化。“RollJam”不需要像Whyte那樣,把主設備連接到筆記本電腦。而且Whyte看起來想把這項破解方法保密起來,Samy Kamkar在Defcon演講之前,都一直把破解方式公開在Github網站上。
不過Kamkar也贊同,凱迪拉克的回應說的沒錯。“RollJam”在攻擊凱迪拉克新款汽車時的確沒有成功。原因在于他們使用了最新版的Keelop芯片——Dual Keelop。這種芯片集成了一種密鑰系統(tǒng),會讓密鑰在較短時間內失效,因此可以阻擋類似“RollJam”的攻擊。
值得車企思考的一點是,Google Authenticator或RSA’s SecurID這樣的互聯(lián)網身份驗證系統(tǒng)之所以使用codes,Kamkar指出,其中的原因之一,就在于這種驗證方式可以在數(shù)秒后讓密鑰失效,安全可靠更高?;ヂ?lián)網行業(yè)里已經有先例發(fā)生,車企應該知道,使用滾動碼卻不添加代碼失效是一種偷懶且傻的行為,完全無法滿足產品安全。
Samy哥制造“RollJam”的目的,就是為了證明汽車和車庫門禁公司要及時更新加入失效密碼的功能,不然消費者就會成為下一個黑土。當傳統(tǒng)車企所需的電子專業(yè)技術要求越來越高,白帽黑客的存在才顯得至關重要吧。