目前針對無人車攻擊的方法有許多,如何防御這些攻擊以保證無人車的安全是個重要的課題。本文詳細介紹針對無人車傳感器、操作系統、控制系統、車聯網的攻擊手段以及防御方法。
針對無人駕駛的安全威脅
對于無人駕駛系統來說,安全性至關重要。任何無人車如果達不到安全要求就上路是極其危險的。目前,針對無人車攻擊的方法五花八門,滲透到無人駕駛系統的每個層次,包括傳感器、操作系統、控制系統、車聯網通信系統等。首先,針對傳感器的攻擊不需要進入無人駕駛系統內部,這種外部攻擊法技術門檻相當低,既簡單又直接。 第二,如果進入無人駕駛操作系統,黑客可以造成系統崩潰導致停車,也可以竊取車輛敏感信息。第三,如果進入無人駕駛控制系統,黑客可以直接操控機械部件,劫持無人車去傷人,是極其危險的。第四,車聯網連接不同的無人車,以及中央云平臺系統,劫持車聯網通信系統也可以造成無人車間的溝通混亂。本文將詳細介紹每種攻擊手段,并且討論相應的防御方法。
無人駕駛傳感器的安全
由于傳感器處于整個無人駕駛計算的最前端,最直接攻擊無人車的方法就是攻擊傳感器。這種外部攻擊法并不需要入侵到無人駕駛系統內部,使得入侵的技術門檻相當低。正是因為入侵的門檻低,我們需要在傳感器做大量的工作來保證其安全。
如圖所示,對各種傳感器,我們都可以輕易地攻擊與誤導。對于GPS,如果在無人車附近設置大功率假GPS信號,就可以覆蓋原來的真GPS信號,從而誤導無人車定位。通過兩種簡單攻擊方法的結合,GPS與IMU的定位系統會輕易被攻破。除了GPS與IMU外,通常我們也可以使用輪測距技術輔助無人車定位。輪測距是通過測量輪子的轉速乘與輪子的周長進行測距,如果黑客破壞了輪子,這個定位輔助技術也會受影響。
激光雷達是目前無人駕駛最主要的傳感器,而無人車也依賴于激光雷達數據與高精地圖的匹配進行定位。但激光雷達也可以輕易地被干擾。首先激光雷達是通過測量激光反射時間來計算深度的。如果在無人車周圍放置強反光物,比如鏡子,那么激光雷達的測量就會被干擾,返回錯誤信息。除此之外, 如果黑客使用激光照射激光雷達,測量也會受干擾,會分不清哪些是自身發出的信號,哪些是外部激光的信號。另外,無人車會不斷下載更新的高精地圖,如果黑客把下載的地圖掉包,也會造成定位失效。
計算機視覺可以輔助無人車完成許多感知的任務,比如交通燈識別、行人識別和車輛行駛軌跡跟蹤等等。在交通燈識別的場景中,無人車上的攝像機如果檢測到紅燈,就會停下來。如果檢測到行人,也會停下以免發生意外。黑客可以輕易地在路上放置假的紅綠燈以及假的行人,迫使無人車停車并對其進行攻擊。
既然每個傳感器都可以輕易被攻擊,如何保證無人車安全?對此,需要使用多傳感器融合技術互相糾正。攻擊單個傳感器很容易,但是如果同時攻擊所有傳感器難度相當大。當無人車發現不同傳感器的數據相互間不一致,就知道自己可能正在被攻擊。例如,無人車檢查到交通燈,但是高精地圖在此處并未標注有交通燈,那么就很可能是被攻擊了。又例如GPS系統與LiDAR系統定位的位置極不一致,無人車也很可能是被攻擊了。
無人駕駛操作系統安全
針對傳感器的攻擊是外部攻擊,不需要進入無人駕駛系統。第二種攻擊方式是入侵到無人駕駛操作系統,劫持其中一個節點并對其進行攻擊。目前的無人駕駛操作系統基本是基于ROS的框架實現。
但是ROS本身安全性有一定問題,總結有以下兩種攻擊方法:第一,其中一個ROS的節點被劫持,然后不斷地進行分配內存,導致其系統內存消耗殆盡,造成系統OOM而開始關閉不同的ROS節點進程,造成整個無人駕駛系統崩潰。第二,ROS的topic或service被劫持, 導致ROS節點之間傳遞的信息被偽造,從而導致無人駕駛系統的異常行為。造成第一個問題的原因是ROS Node本身是一個進程,可以無節制分配資源導致奔潰,另外的原因是ROS Node可以訪問磁盤以及網絡資源,并無很好的隔離機制。為了解決這個問題,可以使用Linax容器技術(LXC)來管理每一個ROS節點進程。
簡單來說,LXC提供輕量級的虛擬化,以便隔離進程和資源,而且不需要提供指令解釋機制以及全虛擬化等其他復雜功能,相當于C++中的NameSpace。LXC有效地將由單個操作系統管理的資源劃分到孤立的群組中,以更好地在孤立的群組之間平衡有沖突的資源使用需求。對于無人駕駛場景來說,LXC最大的好處是性能損耗小。我們測試發現,在運行時LXC只造成了5%左右的CPU損耗。除了資源限制外,LXC也提供了沙盒支持,使得系統可以限制ROS節點進程的權限。為避免可能有危險性的ROS節點進程破壞其他的ROS節點進程運行,沙盒技術可以限制其進程訪問磁盤、內存以及網絡資源。
至于第二個問題,主要原因是通信的信息并沒有被加密,以至于攻擊者可以輕易得知通信內容。目前業界有不少對ROS節點間通信的加密嘗試,比如使用DES加密算法。在通信的信息量十分小的時候,加密與否對性能影響不大。但隨著信息量變大,加密時間相對信息量成幾何級增長。另外,由于ROS通信系統的設計缺陷,加密時間也與接收信息的節點數量有直接關系。當接受信息的節點數量增長時,加密時間也隨之增長。
無人駕駛控制系統安全
CAN總線安全
車輛的CAN總線連接著車內的所有機械以及電子控制部件,是車輛的中樞神經。CAN總線具有布線簡單、典型總線型結構、可最大限度節約布線與維護成本、穩定可靠、實時、抗干擾能力強、傳輸距離遠等特點。由于CAN總線本身只定義ISO/OSI模型中的第一層(物理層)和第二層(數據鏈路層),通常情況下,CAN總線網絡都是獨立網絡,所以沒有網絡層。
在實際使用中,用戶還需要自己定義應用層的協議,因此在CAN總線的發展過程中出現了各種版本的CAN應用層協議。CAN總線采用差分信號傳輸,通常情況下只需要兩根信號線(CAN-H和CAN-L)就可以進行正常的通信。在干擾比較強的場合,還需要用到屏蔽地即CAN-G(主要功能是屏蔽干擾信號)。CAN總線上任意節點均可在任意時刻主動的向其它節點發起通信,節點沒有主從之分,但在同一時刻優先級高的節點能獲得總線的使用權。
無人車操作系統安全
如果CAN被劫持,那么黑客將為所欲為,造成極其嚴重的后果。一般來說要進入CAN系統是極其困難的。但是一般車輛的娛樂系統以及檢修系統的OBD-II端口都連接到CAN總線,這就給了黑客進入CAN的機會。攻擊的方式包括以下幾點:
OBD-II入侵:OBD-II端口主要用于檢測車輛狀態,通常在車輛進行檢修時,技術人員會使用每個車廠開發的檢測軟件接入OBD-II端口并對汽車進行檢測。由于OBD-II連接到CAN總線,只要黑客取得這些檢測軟件,包括 Ford的NGS、Nissan的Consult II、Toyota的Diagnostic Tester等,便能輕易截取車輛信息。
電動車充電器入侵:最近電動車越來越普及,充電設備成為電動車生態必不可少的核心部件。由于電動車的充電裝置在充電時會與外部充電樁通信,而且電動車的充電裝置會連接CAN總線,這就給了黑客們通過外部充電樁入侵CAN系統的機會。
車載CD機入侵:曾經有攻擊的案例是把攻擊代碼編碼到音樂CD中,當用戶播放CD時,惡意攻擊代碼便會通過CD播放機侵入CAN總線,從而可以取得總線控制以及盜取車輛核心信息。
藍牙入侵:另一個攻擊入口是藍牙。如今藍牙連接手機與汽車通訊以及娛樂系統已經成為標配。由于用戶可以通過藍牙給CAN發送信息以及從CAN讀取信息,這也給黑客們攻擊的窗口。除了取得車主手機的控制權,由于藍牙的有效范圍是10米,黑客們也可以使用藍牙進行遠程攻擊。
TPMS入侵:TPMS是車輪壓力管理系統,也有黑客對TPMS展開攻擊。在這種攻擊方法中,黑客先把攻擊代碼放置在車輛TPMS ECU中,然后當TPMS檢測到某個胎壓值的時候,惡意代碼便會被激活,從而對車輛進行攻擊。一個通用的解決方法是對ECU接收的信息進行加密驗證,以保證信息是由可信的MCU,而不是由黑客發出。使用加密驗證,我們可以選擇對稱或者非對稱密碼。對稱密碼的計算量小但是需要通信雙方預先知道密碼。非對稱密碼無需預先知道密碼,但是計算量大。由于大部分車用ECU計算能力與內存有限,現在通用做法是使用對稱密碼加密,然后密鑰在生產過程中被寫入ECU。這樣的后果是有許多ECU復用同一個密鑰,當一個ECU密鑰被破解后,同批的ECU都會有風險。
為了解決這個問題,學術界和業界也提出了幾種解決方案:
TLS安全協議沿用非對稱密碼的算法對通信雙方進行驗證。
Kerberos是一個通用的基于對稱密碼算法的驗證平臺。
TESLA安全協議(注意:這個TESLA安全協議與Tesla汽車沒有關系)提出了使用對稱密碼機制去模擬非對稱密碼的做法,從而達到既安全又能降低計算量的目的。
LASAN安全協議使用兩步驗證的機制實時讓通信雙方交換密鑰,然后使用對稱密碼的算法對信息進行驗證。
車聯網通訊系統的安全性
當無人車上路后,它會成為車聯網的一部分。V2X是車聯網通信機制的總稱。可以說,V2X是泛指各種車輛通訊的情景,包括V2V車車通訊、V2I車路通訊、V2P車與路人通訊等。通過V2X車輛可以獲得實時路況、道路、行人等一系列交通信息,從而帶來遠距離環境信號。比如V2V,最普遍的應用場景是在城市街道、高速公路,車輛之間可以相互通信,發送數據,實現信息的共享。這樣的數據包括:車輛的時速、相對位置、剎車、直行還是左拐等所有與行駛安全的數據提前提供給周圍的車輛,使得周圍車輛都能夠預判其他車輛的駕駛行為,從而實現主動的安全策略。V2X安全防護是自動駕駛必要技術和智慧交通的重要一環,接下來我們討論V2X的潛在安全風險及解決方案。
ECU安全加密系統
確保V2X通信安全的系統要滿足以下兩個基本條件:第一,確認消息來自合法的發送設備,這個需要通過驗證安全證書來保證。第二,確認消息傳輸過程中沒有被修改,這個需要接受信息后計算信息的完整性。為了實現V2X的安全,歐盟發起了V2X安全研究項目PRESERVE并在項目中提出了符合V2X安全標準的硬件、軟件,以及安全證書架構。
車聯網V2X系統
軟件:在安全硬件上,PRESEVER提供了一整套開源軟件棧提供安全通信。這套軟件棧提供了加密解密的軟件庫、電子證書認證庫、與受信任的證書頒發機構的安全通信庫等。
安全證書:為了確保信息來源于可信設備,可以使用受信任的證書頒發機構來提供安全證書與密鑰。當汽車A向汽車B放送信息時,汽車A的發送器會在信息上添加電子簽名,并用密鑰對信息進行加密。汽車B接受信息時,會首先對信息的電子證書進行認證,確認信息是由汽車A發送,然后使用公鑰對信息進行解密,并對信息的完整性進行驗證。
PRESERVE系統架構
安全模型校驗方法
為了保證無人駕駛系統的安全性,我們需要從縱向對系統的每個層面進行校驗。這些層面包括代碼、電子控制單元(ECU)、控制算法、車內及車外網、自動車整體與物理環境結合的網宇實體系統,甚至需要多部車輛互相通訊的車聯網。越往上層系統的復雜度越大,校驗也越困難。所以一般在對上層系統的分析會基于下層的分析結果做抽象化處理。比如在分析車內網的時候,對與網絡鏈接的電子控制單元一般只考慮通訊接口的模型,而不會考慮電子控制單元內的具體功能及軟件。
對于這些安全問題及攻擊向量的分析涉及的技術非常廣。本文重點介紹關于車內網(比如前面提到的CAN)和控制系統的安全模型和驗證。現有的車內網安全協議一般建立在一些基本的加密單元上,比如對稱密鑰加密和非對稱密鑰加密。一般初始身份鑒別時需要用非對程密鑰加密,而之后的通訊就可以用相對更快的對稱密鑰加密。根據不同的安全等級需求,密鑰的長度會不一樣。長的密鑰會更安全,但也會增加加密和解密的時間,因此影響到控制系統的性能。另外,長的密鑰會增加通信的負擔。不管是CAN還是TDMA類的車內網協議,這些附加的安全信息都可能導致通訊超時(結果可能是來不及剎車)。所以在安全校驗的同時也必須考慮增加安全機制所產生的延時。最后,密鑰的分發和管理也至關重要。這是當前的一個技術難點,還沒有特別好的解決方案。
對于協議本身的驗證方法有幾種。一般來說,首先要校驗協議的數學模型。最近提出的LASAN就是先用形式化驗證工具Scyther來證明協議的安全性,然后做仿真來測試性能。對于控制系統,分析時是會側重考慮攻擊對數據所產生的影響(比如說延時,丟失或假數據),然后對相應的安全方案(比如傳感器數據混合處理或狀態估計)做數學證明來達到校驗的目的。類似的方法也被應用在驗證一些車聯網的功能上,像合作的可變巡航控制。總體來說,無人車的安全問題至關重要,車輛如果被黑客攻擊或控制會危及生命。但是,不管從技術還是標準化的角度看,現階段對于無人車安全問題的校驗尚未成熟,還需要學術界和工業界的深入研究與大力開發。
-
傳感器
+關注
關注
2553文章
51390瀏覽量
756582 -
無人駕駛
+關注
關注
98文章
4089瀏覽量
121005
原文標題:無人駕駛系統安全迫在眉睫,如何防御是現階段的大問題!
文章出處:【微信號:IV_Technology,微信公眾號:智車科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論