作者:劉少山,李文超,唐潔?
責(zé)編:何永燦,歡迎人工智能領(lǐng)域技術(shù)投稿、約稿、給文章糾錯(cuò),請(qǐng)發(fā)送郵件至heyc@csdn.net?
本文為《程序員》原創(chuàng)文章,未經(jīng)允許不得轉(zhuǎn)載,更多精彩文章請(qǐng)訂閱2017年《程序員》
目前針對(duì)無(wú)人車(chē)攻擊的方法有許多,如何防御這些攻擊以保證無(wú)人車(chē)的安全是個(gè)重要的課題。本文是無(wú)人駕駛技術(shù)系列的第九篇,詳細(xì)介紹針對(duì)無(wú)人車(chē)傳感器、操作系統(tǒng)、控制系統(tǒng)、車(chē)聯(lián)網(wǎng)的攻擊手段以及防御方法。
針對(duì)無(wú)人駕駛的安全威脅
對(duì)于無(wú)人駕駛系統(tǒng)來(lái)說(shuō),安全性至關(guān)重要。任何無(wú)人車(chē)如果達(dá)不到安全要求就上路是極其危險(xiǎn)的。目前,針對(duì)無(wú)人車(chē)攻擊的方法五花八門(mén),滲透到無(wú)人駕駛系統(tǒng)的每個(gè)層次,包括傳感器、操作系統(tǒng)、控制系統(tǒng)、車(chē)聯(lián)網(wǎng)通信系統(tǒng)等。首先,針對(duì)傳感器的攻擊不需要進(jìn)入無(wú)人駕駛系統(tǒng)內(nèi)部,這種外部攻擊法技術(shù)門(mén)檻相當(dāng)?shù)?,既?jiǎn)單又直接。 第二,如果進(jìn)入無(wú)人駕駛操作系統(tǒng),黑客可以造成系統(tǒng)崩潰導(dǎo)致停車(chē),也可以竊取車(chē)輛敏感信息。第三,如果進(jìn)入無(wú)人駕駛控制系統(tǒng),黑客可以直接操控機(jī)械部件,劫持無(wú)人車(chē)去傷人,是極其危險(xiǎn)的。第四,車(chē)聯(lián)網(wǎng)連接不同的無(wú)人車(chē),以及中央云平臺(tái)系統(tǒng),劫持車(chē)聯(lián)網(wǎng)通信系統(tǒng)也可以造成無(wú)人車(chē)間的溝通混亂。本文將詳細(xì)介紹每種攻擊手段,并且討論相應(yīng)的防御方法。
無(wú)人駕駛傳感器的安全
由于傳感器處于整個(gè)無(wú)人駕駛計(jì)算的最前端,最直接攻擊無(wú)人車(chē)的方法就是攻擊傳感器。這種外部攻擊法并不需要入侵到無(wú)人駕駛系統(tǒng)內(nèi)部,使得入侵的技術(shù)門(mén)檻相當(dāng)?shù)?。正是因?yàn)槿肭值拈T(mén)檻低,我們需要在傳感器做大量的工作來(lái)保證其安全。如圖1所示,對(duì)各種傳感器,我們都可以輕易地攻擊與誤導(dǎo)。無(wú)人駕駛系列文章《GPS及慣性傳感器在無(wú)人駕駛中的應(yīng)用》(《程序員》2016年9月)提到可以使用慣性傳感器IMU輔助無(wú)人駕駛定位,但是IMU對(duì)磁場(chǎng)很敏感,如果使用強(qiáng)磁場(chǎng)干擾IMU,就有可能影響IMU的測(cè)量。對(duì)于GPS,如果在無(wú)人車(chē)附近設(shè)置大功率假GPS信號(hào),就可以覆蓋原來(lái)的真GPS信號(hào),從而誤導(dǎo)無(wú)人車(chē)定位。通過(guò)兩種簡(jiǎn)單攻擊方法的結(jié)合,GPS與IMU的定位系統(tǒng)會(huì)輕易被攻破。除了GPS與IMU外,通常我們也可以使用輪測(cè)距技術(shù)輔助無(wú)人車(chē)定位。輪測(cè)距是通過(guò)測(cè)量輪子的轉(zhuǎn)速乘與輪子的周長(zhǎng)進(jìn)行測(cè)距,如果黑客破壞了輪子,這個(gè)定位輔助技術(shù)也會(huì)受影響。
無(wú)人駕駛系列文章《光學(xué)雷達(dá)(LiDAR)在無(wú)人駕駛技術(shù)中的應(yīng)用》(《程序員》2016年4月)提到激光雷達(dá)是目前無(wú)人駕駛最主要的傳感器,而無(wú)人車(chē)也依賴于激光雷達(dá)數(shù)據(jù)與高精地圖的匹配進(jìn)行定位。但激光雷達(dá)也可以輕易地被干擾。首先激光雷達(dá)是通過(guò)測(cè)量激光反射時(shí)間來(lái)計(jì)算深度的。如果在無(wú)人車(chē)周?chē)胖脧?qiáng)反光物,比如鏡子,那么激光雷達(dá)的測(cè)量就會(huì)被干擾,返回錯(cuò)誤信息。除此之外, 如果黑客使用激光照射激光雷達(dá),測(cè)量也會(huì)受干擾,會(huì)分不清哪些是自身發(fā)出的信號(hào),哪些是外部激光的信號(hào)。另外,無(wú)人車(chē)會(huì)不斷下載更新的高精地圖,如果黑客把下載的地圖掉包,也會(huì)造成定位失效。

圖1 針對(duì)傳感器的攻擊
無(wú)人駕駛系列文章《基于計(jì)算機(jī)視覺(jué)的無(wú)人駕駛感知系統(tǒng)》(《程序員》2016年7月)提到計(jì)算機(jī)視覺(jué)可以輔助無(wú)人車(chē)完成許多感知的任務(wù),比如交通燈識(shí)別、行人識(shí)別和車(chē)輛行駛軌跡跟蹤等等。在交通燈識(shí)別的場(chǎng)景中,無(wú)人車(chē)上的攝像機(jī)如果檢測(cè)到紅燈,就會(huì)停下來(lái)。如果檢測(cè)到行人,也會(huì)停下以免發(fā)生意外。黑客可以輕易地在路上放置假的紅綠燈以及假的行人,迫使無(wú)人車(chē)停車(chē)并對(duì)其進(jìn)行攻擊。
既然每個(gè)傳感器都可以輕易被攻擊,如何保證無(wú)人車(chē)安全?對(duì)此,需要使用多傳感器融合技術(shù)互相糾正。攻擊單個(gè)傳感器很容易,但是如果同時(shí)攻擊所有傳感器難度相當(dāng)大。當(dāng)無(wú)人車(chē)發(fā)現(xiàn)不同傳感器的數(shù)據(jù)相互間不一致,就知道自己可能正在被攻擊。例如,無(wú)人車(chē)檢查到交通燈,但是高精地圖在此處并未標(biāo)注有交通燈,那么就很可能是被攻擊了。又例如GPS系統(tǒng)與LiDAR系統(tǒng)定位的位置極不一致,無(wú)人車(chē)也很可能是被攻擊了。
無(wú)人駕駛操作系統(tǒng)安全
針對(duì)傳感器的攻擊是外部攻擊,不需要進(jìn)入無(wú)人駕駛系統(tǒng)。第二種攻擊方式是入侵到無(wú)人駕駛操作系統(tǒng),劫持其中一個(gè)節(jié)點(diǎn)并對(duì)其進(jìn)行攻擊。在無(wú)人駕駛系列文章《基于ROS的無(wú)人駕駛系統(tǒng)》(《程序員》2016年5月)中提到,目前的無(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而開(kāi)始關(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)磁盤(pá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)磁盤(pán)、內(nèi)存以及網(wǎng)絡(luò)資源。
至于第二個(gè)問(wèn)題,主要原因是通信的信息并沒(méi)有被加密,以至于攻擊者可以輕易得知通信內(nèi)容。目前業(yè)界有不少對(duì)ROS節(jié)點(diǎn)間通信的加密?chē)L試,比如使用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ú)人駕駛系列文章《基于ROS的無(wú)人駕駛系統(tǒng)》提出了幾個(gè)改進(jìn)ROS通信系統(tǒng)的機(jī)制,在這些機(jī)制中,加密對(duì)性能影響將大大減少。
無(wú)人駕駛控制系統(tǒng)安全
如圖3所示,車(chē)輛的CAN總線連接著車(chē)內(nèi)的所有機(jī)械以及電子控制部件,是車(chē)輛的中樞神經(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)。?

圖2 無(wú)人車(chē)操作系統(tǒng)安全

圖3 CAN總線安全
如果CAN被劫持,那么黑客將為所欲為,造成極其嚴(yán)重的后果。一般來(lái)說(shuō),要進(jìn)入CAN系統(tǒng)是極其困難的。但是一般車(chē)輛的娛樂(lè)系統(tǒng)以及檢修系統(tǒng)的OBD-II端口都連接到CAN總線,這就給了黑客進(jìn)入CAN的機(jī)會(huì)。攻擊的方式包括以下幾點(diǎn):
OBD-II入侵:?OBD-II端口主要用于檢測(cè)車(chē)輛狀態(tài),通常在車(chē)輛進(jìn)行檢修時(shí),技術(shù)人員會(huì)使用每個(gè)車(chē)廠開(kāi)發(fā)的檢測(cè)軟件接入OBD-II端口并對(duì)汽車(chē)進(jìn)行檢測(cè)。由于OBD-II連接到CAN總線,只要黑客取得這些檢測(cè)軟件,包括 Ford的NGS、Nissan的Consult II、Toyota的Diagnostic Tester等,便能輕易截取車(chē)輛信息。
電動(dòng)車(chē)充電器入侵:最近電動(dòng)車(chē)越來(lái)越普及,充電設(shè)備成為電動(dòng)車(chē)生態(tài)必不可少的核心部件。由于電動(dòng)車(chē)的充電裝置在充電時(shí)會(huì)與外部充電樁通信,而且電動(dòng)車(chē)的充電裝置會(huì)連接CAN總線,這就給了黑客們通過(guò)外部充電樁入侵CAN系統(tǒng)的機(jī)會(huì)。
車(chē)載CD機(jī)入侵:曾經(jīng)有攻擊的案例是把攻擊代碼編碼到音樂(lè)CD中,當(dāng)用戶播放CD時(shí),惡意攻擊代碼便會(huì)通過(guò)CD播放機(jī)侵入CAN總線,從而可以取得總線控制以及盜取車(chē)輛核心信息。
藍(lán)牙入侵:另一個(gè)攻擊入口是藍(lán)牙。如今藍(lán)牙連接手機(jī)與汽車(chē)通訊以及娛樂(lè)系統(tǒng)已經(jīng)成為標(biāo)配。由于用戶可以通過(guò)藍(lán)牙給CAN發(fā)送信息以及從CAN讀取信息,這也給黑客們攻擊的窗口。除了取得車(chē)主手機(jī)的控制權(quán),由于藍(lán)牙的有效范圍是10米,黑客們也可以使用藍(lán)牙進(jìn)行遠(yuǎn)程攻擊。
TPMS入侵:?TPMS是車(chē)輪壓力管理系統(tǒng),也有黑客對(duì)TPMS展開(kāi)攻擊。在這種攻擊方法中,黑客先把攻擊代碼放置在車(chē)輛TPMS ECU中,然后當(dāng)TPMS檢測(cè)到某個(gè)胎壓值的時(shí)候,惡意代碼便會(huì)被激活,從而對(duì)車(chē)輛進(jìn)行攻擊。
一個(gè)通用的解決方法是對(duì)ECU接收的信息進(jìn)行加密驗(yàn)證,以保證信息是由可信的MCU,而不是由黑客發(fā)出。使用加密驗(yàn)證,我們可以選擇對(duì)稱(chēng)或者非對(duì)稱(chēng)密碼。對(duì)稱(chēng)密碼的計(jì)算量小但是需要通信雙方預(yù)先知道密碼。非對(duì)稱(chēng)密碼無(wú)需預(yù)先知道密碼,但是計(jì)算量大。由于大部分車(chē)用ECU計(jì)算能力與內(nèi)存有限,現(xiàn)在通用做法是使用對(duì)稱(chēng)密碼加密,然后密鑰在生產(chǎn)過(guò)程中被寫(xiě)入ECU。這樣的后果是有許多ECU復(fù)用同一個(gè)密鑰,當(dāng)一個(gè)ECU密鑰被破解后,同批的ECU都會(huì)有風(fēng)險(xiǎn)。為了解決這個(gè)問(wèn)題,學(xué)術(shù)界和業(yè)界也提出了幾種解決方案:
TLS安全協(xié)議沿用非對(duì)稱(chēng)密碼的算法對(duì)通信雙方進(jìn)行驗(yàn)證。
Kerberos是一個(gè)通用的基于對(duì)稱(chēng)密碼算法的驗(yàn)證平臺(tái)。
TESLA安全協(xié)議(注意:這個(gè)TESLA安全協(xié)議與Tesla汽車(chē)沒(méi)有關(guān)系)提出了使用對(duì)稱(chēng)密碼機(jī)制去模擬非對(duì)稱(chēng)密碼的做法,從而達(dá)到既安全又能降低計(jì)算量的目的。
LASAN安全協(xié)議使用兩步驗(yàn)證的機(jī)制實(shí)時(shí)讓通信雙方交換密鑰,然后使用對(duì)稱(chēng)密碼的算法對(duì)信息進(jìn)行驗(yàn)證。
車(chē)聯(lián)網(wǎng)通訊系統(tǒng)的安全性
當(dāng)無(wú)人車(chē)上路后,它會(huì)成為車(chē)聯(lián)網(wǎng)的一部分。V2X是車(chē)聯(lián)網(wǎng)通信機(jī)制的總稱(chēng)。可以說(shuō),V2X是泛指各種車(chē)輛通訊的情景,包括V2V車(chē)車(chē)通訊、V2I車(chē)路通訊、V2P車(chē)與路人通訊等。通過(guò)V2X車(chē)輛可以獲得實(shí)時(shí)路況、道路、行人等一系列交通信息,從而帶來(lái)遠(yuǎn)距離環(huán)境信號(hào)。比如V2V,最普遍的應(yīng)用場(chǎng)景是在城市街道、高速公路,車(chē)輛之間可以相互通信,發(fā)送數(shù)據(jù),實(shí)現(xiàn)信息的共享。這樣的數(shù)據(jù)包括:車(chē)輛的時(shí)速、相對(duì)位置、剎車(chē)、直行還是左拐等所有與行駛安全的數(shù)據(jù)提前提供給周?chē)能?chē)輛,使得周?chē)?chē)輛都能夠預(yù)判其他車(chē)輛的駕駛行為,從而實(shí)現(xiàn)主動(dòng)的安全策略。V2X安全防護(hù)是自動(dòng)駕駛必要技術(shù)和智慧交通的重要一環(huán),接下來(lái)我們討論V2X的潛在安全風(fēng)險(xiǎn)及解決方案。

圖4 ECU安全加密系統(tǒng)
確保V2X通信安全的系統(tǒng)要滿足以下兩個(gè)基本條件:第一,確認(rèn)消息來(lái)自合法的發(fā)送設(shè)備,這個(gè)需要通過(guò)驗(yàn)證安全證書(shū)來(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)的硬件、軟件,以及安全證書(shū)架構(gòu)。
硬件:在每個(gè)車(chē)輛中存儲(chǔ)了大量密鑰,如果使用普通的Flash與RAM,密鑰會(huì)被輕易盜取。另外,使用加密解密技術(shù)會(huì)對(duì)計(jì)算資源消耗極大。為了解決這些問(wèn)題,PRESEVER提出了設(shè)計(jì)安全存儲(chǔ)硬件,以及使用ASIC硬件加速加解密。

圖5 車(chē)聯(lián)網(wǎng)V2X系統(tǒng)
軟件:在安全硬件上,PRESEVER提供了一整套開(kāi)源軟件棧提供安全通信。這套軟件棧提供了加密解密的軟件庫(kù)、電子證書(shū)認(rèn)證庫(kù)、與受信任的證書(shū)頒發(fā)機(jī)構(gòu)的安全通信庫(kù)等。
安全證書(shū):為了確保信息來(lái)源于可信設(shè)備,可以使用受信任的證書(shū)頒發(fā)機(jī)構(gòu)來(lái)提供安全證書(shū)與密鑰。當(dāng)汽車(chē)A向汽車(chē)B放送信息時(shí),汽車(chē)A的發(fā)送器會(huì)在信息上添加電子簽名,并用密鑰對(duì)信息進(jìn)行加密。汽車(chē)B接受信息時(shí),會(huì)首先對(duì)信息的電子證書(shū)進(jìn)行認(rèn)證,確認(rèn)信息是由汽車(chē)A發(fā)送,然后使用公鑰對(duì)信息進(jìn)行解密,并對(duì)信息的完整性進(jìn)行驗(yàn)證。

圖6 PRESERVE系統(tǒng)架構(gòu)
安全模型校驗(yàn)方法
為了保證無(wú)人駕駛系統(tǒng)的安全性,我們需要從縱向?qū)ο到y(tǒng)的每個(gè)層面進(jìn)行校驗(yàn)。這些層面包括代碼、電子控制單元(ECU)、控制算法、車(chē)內(nèi)及車(chē)外網(wǎng)、自動(dòng)車(chē)整體與物理環(huán)境結(jié)合的網(wǎng)宇實(shí)體系統(tǒng),甚至需要多部車(chē)輛互相通訊的車(chē)聯(lián)網(wǎng)。越往上層系統(tǒng)的復(fù)雜度越大,校驗(yàn)也越困難。所以一般在對(duì)上層系統(tǒng)的分析會(huì)基于下層的分析結(jié)果做抽象化處理。比如在分析車(chē)內(nèi)網(wǎng)的時(shí)候,對(duì)與網(wǎng)絡(luò)鏈接的電子控制單元一般只考慮通訊接口的模型,而不會(huì)考慮電子控制單元內(nèi)的具體功能及軟件。在對(duì)每個(gè)層面在做安全分析時(shí),也需要考慮各種不同的威脅模型和攻擊向量。比如說(shuō),代碼的安全校驗(yàn)除了需要考慮緩沖區(qū)溢出,還要考慮其他模塊通過(guò)利用API來(lái)侵入,或者是第三方軟件里載有木馬的威脅。在對(duì)車(chē)內(nèi)網(wǎng)的分析時(shí),要考慮在某個(gè)電子控制單元被黑客控制下可能出現(xiàn)的各種情況,包括阻斷服務(wù)攻擊(Denial of Service Attack),修改通訊件的內(nèi)容,偽造通訊件的來(lái)源等。由于無(wú)人駕駛系統(tǒng)對(duì)處理速度和容量的要求遠(yuǎn)遠(yuǎn)高于傳統(tǒng)車(chē)輛控制系統(tǒng),一部分單核的電子控制單元在不久的將來(lái)會(huì)被多核芯片或GPU取代。每個(gè)新的電子控制單元將會(huì)支持多個(gè)功能或多個(gè)功能的部分實(shí)現(xiàn),而這些功能會(huì)通過(guò)虛擬機(jī)來(lái)管理硬件資源分配。從安全的角度來(lái)說(shuō),就需要對(duì)虛擬機(jī)管理器進(jìn)行分析,比如虛擬機(jī)與虛擬機(jī)之間的通訊(intra-VM communication)保證不被第三方干擾或竊聽(tīng)。無(wú)人車(chē)加入了很多新的自動(dòng)行駛功能,比如最簡(jiǎn)單的自動(dòng)剎車(chē),對(duì)于這些功能的控制算法,驗(yàn)證時(shí)也需要全面地考慮前文所提到的一系列威脅,包括某個(gè)傳感器的信息被惡意修改,通訊渠道被堵所引起的信息滯后等等。因?yàn)闊o(wú)人車(chē)需要強(qiáng)大的AI系統(tǒng)做支持,對(duì)這些AI系統(tǒng)的不同攻擊方式也在校驗(yàn)的考慮范圍內(nèi)。最近有研究指出,深度學(xué)習(xí)系統(tǒng)(特別應(yīng)用在圖像識(shí)別上)也很容易被攻擊。比如修改一張圖像中的幾個(gè)像素就可能使識(shí)別結(jié)果大相徑庭。這個(gè)隱患大大增加了系統(tǒng)被黑客攻破的可能性。在車(chē)聯(lián)網(wǎng)的層面上,常見(jiàn)的安全問(wèn)題有通訊信息被篡改,被黑客控制的車(chē)輛故意提供假信息或偽造身份,阻斷服務(wù)攻擊,女巫攻擊(sybil attack:?jiǎn)屋v車(chē)通過(guò)控制多個(gè)身份標(biāo)識(shí)來(lái)對(duì)網(wǎng)絡(luò)整體進(jìn)行攻擊),以及盜取其他車(chē)主的私密信息(比如所在位置)。
對(duì)于這些安全問(wèn)題及攻擊向量的分析涉及的技術(shù)非常廣。本文重點(diǎn)介紹關(guān)于車(chē)內(nèi)網(wǎng)(比如前面提到的CAN)和控制系統(tǒng)的安全模型和驗(yàn)證?,F(xiàn)有的車(chē)內(nèi)網(wǎng)安全協(xié)議一般建立在一些基本的加密單元上,比如對(duì)稱(chēng)密鑰加密和非對(duì)稱(chēng)密鑰加密。一般初始身份鑒別時(shí)需要用非對(duì)程密鑰加密,而之后的通訊就可以用相對(duì)更快的對(duì)稱(chēng)密鑰加密。根據(jù)不同的安全等級(jí)需求,密鑰的長(zhǎng)度會(huì)不一樣。長(zhǎng)的密鑰會(huì)更安全,但也會(huì)增加加密和解密的時(shí)間,因此影響到控制系統(tǒng)的性能。另外,長(zhǎng)的密鑰會(huì)增加通信的負(fù)擔(dān)。不管是CAN還是TDMA類(lèi)的車(chē)內(nèi)網(wǎng)協(xié)議,這些附加的安全信息都可能導(dǎo)致通訊超時(shí)(結(jié)果可能是來(lái)不及剎車(chē))。所以在安全校驗(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)的目的。類(lèi)似的方法也被應(yīng)用在驗(yàn)證一些車(chē)聯(lián)網(wǎng)的功能上,像合作的可變巡航控制??傮w來(lái)說(shuō),無(wú)人車(chē)的安全問(wèn)題至關(guān)重要,車(chē)輛如果被黑客攻擊或控制會(huì)危及生命。但是,不管從技術(shù)還是標(biāo)準(zhǔn)化的角度看,現(xiàn)階段對(duì)于無(wú)人車(chē)安全問(wèn)題的校驗(yàn)尚未成熟,還需要學(xué)術(shù)界和工業(yè)界的深入研究與大力開(kāi)發(fā)。
作者簡(jiǎn)介:
劉少山,PerceptIn聯(lián)合創(chuàng)始人。加州大學(xué)歐文分校計(jì)算機(jī)博士,研究方向智能 感知計(jì)算、系統(tǒng)軟件、體系結(jié)構(gòu)與異構(gòu)計(jì)算?,F(xiàn)在PerceptIn主要專(zhuān)注 于SLAM技術(shù)及其在智能硬件上的實(shí)現(xiàn)與優(yōu)化。
李文超,美國(guó)波士頓大學(xué)助理教授。加州大學(xué)伯克利分校電子工程與計(jì)算機(jī)科學(xué)博士。研究方向包括自動(dòng)化設(shè)計(jì)與檢測(cè),可靠及容錯(cuò)計(jì)算機(jī)系統(tǒng),計(jì)算證明法,網(wǎng)宇實(shí)體系統(tǒng)。
唐潔,華南理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院副教授。