網絡安全或者滲透測試,對于我等還在路上的人來說,路漫漫。要學習的東西太多,扎實的專業知識不說,還有社會工程學,以及心思縝密的推理分析等等,不亞于一個偵探。這不,借著最近某汽車系統被破解,且作為一個汽車改裝愛好者的我,就想分享下自己對汽車知識及安全的一些理解。畢竟,不是所有的網絡安全愛好者或從業者對汽車知識有所涉獵。
進入正題吧,先前看到很多大牛(國外居多)講到汽車入侵與安全的問題,里面所講的技術或者設備都太高端和局限,一個小小的設備就能控制一部汽車的某些功能,單看大概操作流程估計都理解了,但實質性原理你們真理解了嗎?對于網絡安全滲透測試人員來說,去看汽車入侵與安全問題,就好比兩個領域一樣,所以說大部分人對于這種技術文章的感覺就是云里霧里,你在說個chicken 8 !
汽車系統概述
額,貌似扯了點,好了進入正真的正題。首先一部汽車是由一堆零部件組裝起來的,主要的幾個部件無非就是發動機,底盤,車身,和一大堆電氣設備,當然包含,變速箱,懸掛系統,進氣系統,排氣系統,點火系統等等。
然而你可能不知道,這么一大堆系統及部件都直接或間接圍繞一個東西運作,那就是中央控制單元ECU,一部車的大腦!通俗的講ECU就好比我們電腦的CPU一樣,大家都知道電腦是由硬件設備和軟件系統所組成的一個整體的系統,幾乎所有的操作都靠CPU處理執行。ECU也是一樣,有自己的處理芯片,存儲器,包括ROM,RAM以及廠家編寫好的一套系統程序和大量對比數據,保護機制等。講到這里我們可以把汽車的通訊網絡分為:傳感器,中央控制單元ECU,和執行元件。傳感器和執行元件線路連接ECU,同時還與汽車各個部件連接。如,發動機內外部的點火,噴油,溫度,壓力,進氣,排氣,轉向等。這樣各個部件發出的信號由傳感器收集發給ECU,然后ECU經過處理計算發送動作指令給執行元件,這樣汽車就做出了某個動作。
可能我嘴笨你們不理解,那我在舉幾個例子吧:汽車加速的過程,首先我要給小白們掃盲下,汽車加速就是踩油門,這很簡單。但你們不要想象以為踩油門就是油門踏板連接油箱的閥門開大了就叫踩油門,這是錯誤的認識。其實是這樣的,汽車加速過程是一個進氣加大的過程,首先油門踏板連接的是進氣閥門,你猛踩,進氣閥開度大,進入汽缸的空氣量增加,傳感器收集到一個大量進氣信號傳給ECU,這時ECU經過計算進氣量為A,所以在汽缸內應該噴油量為B,才能達到合適空燃比C,確定參數就點火做功,發動機輸出等量進氣的動力,這時你就感覺汽車加速了。整個大概過程就是這樣,當然ECU計算的過程是極其短暫的。現在你們應該理解ECU和油門 (現代汽車基本都是電子油門,拉線除外!)的概念了吧~!
不過隨著現代科技的飛速發展在中高端汽車上,不但在發動機上應用ECU,在其它許多地方都可發現ECU的蹤影。例如防抱死制動系統、4輪驅動系統、電控自動變速器、主動懸架系統、安全氣囊系統、多媒體交互系統,多向可調電控座椅等都配置有各自的ECU。隨著轎車電子化自動化的提高,ECU將會日益增多,線路會日益復雜,汽車上多個ECU之間的信息傳遞就要采用一種稱為多路復用通信網絡技術,將整車的ECU形成一個網絡系統,也就是CAN數據總線。
現在大家應該對汽車的ECU以及汽車的簡易網絡有了大概了解了吧。基于那么多的ECU模塊,汽車的功能越來越強大,接入互聯網的多媒體交互系統也越來越豐富,使得汽車的駕駛感和舒適感大大提升。但與此同時網絡安全的問題又隨之而來。有網絡的接入(有線,無線電信號,藍牙)必定有感染病毒,被非法入侵的可能。那么哪些地方容易被成為入口點呢,下面就扯點我個人的觀點大牛見笑了。
入侵汽車的入口點
第一點,最物理簡單的方式就是直接改寫ECU。那么我們看看是否可行,首先你得會各種ECU芯片廠商的匯編語言或者編寫配套的ECU程序。然后,現代汽車的ECU是一個小方盒子固定在一個需要拆卸一些部件才能拿到的地方,你得有工具。如果你都具備了那么恭喜你,你只需要帶個筆記本,帶上工具撬開汽車引擎蓋,卸下小盒子并打開,還要焊接幾根數據線連接筆記本,快速寫上你設定好的ECU程序,然后,麻煩的是你還要安裝回去。這種方法的弊端就是在等你準備撬開,或者寫程序時,可能你已經不在這個世界上了~~~當然這種方式純粹是搞笑作死的節奏,改寫的ECU也只能達到惡搞的目的。(正常的ECU升級確實是這樣操作的!)
第二點,外掛式ECU程序。
在大多汽車改裝部件中一種比較常見的ECU改裝,正所謂改裝的目的就是提高汽車的性能,原廠的ECU程序為了兼顧尾氣排放達標在參數設置上都是非常保守的,犧牲了發動機的性能。所以在不改變原來ECU程序上的設置為前提,外掛式ECU程序就誕生了。原理很簡單就是攔截傳感器信號和原ECU信號,修改增強并模擬原ECU參數,起到騙過原ECU,讓發動機輸出更強的動力!這個類似與cookies欺騙,如果這個外掛式電腦被特別設置過且可以連接互聯網功能,那么控制一輛車就太簡單不過了。雖然說隨著技術的發展現在的ECU信號是很難破解,還是有一定安全性,但,牛人那么多真的很難預料。
第三點,USB等輸入輸出接口。將一個特制的USB插在汽車usb接口上,就能完成某些汽車的功能。當然這個USB不是一般的USB,內建芯片,ROM,RAM和無線網絡功能,以及編寫好的惡意控制程序。能否控制汽車的重要功能就看汽車的智能化程度了,如果線路連接和信號傳輸夠大,且涉及發動機以及其它重要ECU模塊的話,汽車的安全性和信息的安全性可想而知。
第四點,多媒體交互系統。一些小眾廠商的多媒體系統很多都基于開源的通用內核,就比如Linux或者安卓。這樣的話應用的安全以及系統本身的瑕疵都會被利用。至于權限的大小只看汽車智能化程度的高低了。
第五點,無線,藍牙,GPS,遠程監測系統等所有無線設備。與汽車聯通的無線設備,或者車聯網等系統的攔截,破解入侵都會影響汽車的安全和信息的安全。汽車被惡意控制,GPS位置以及個人隱私信息的泄漏,等威脅!
扯了那么多也不是什么技術性的東西,讓各位大牛們見笑了,汽車的安全無非是物理層和無線層兩方面,并且汽車網絡的入侵大部分需要特定的環境,成功率和效果也不像電影里那么出彩。
不過隨著汽車工業的發展,移動互聯網的日新月異,中高端汽車愈將智能化,車聯網等無線系統的接入是勢不可擋的趨勢,我想在不久的將來汽車的高度智能化將會是把雙刃劍,享受的同時也會伴隨著網絡安全的問題,無論在什么互聯網,安全始終是一個命題。