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

評(píng)論