楊福宇
(重慶工業(yè)自動(dòng)化儀表研究所,重慶 401123)
?
一種現(xiàn)場(chǎng)優(yōu)先的車控網(wǎng)絡(luò)防黑客攻擊方法
楊福宇
(重慶工業(yè)自動(dòng)化儀表研究所,重慶 401123)
摘要:車控網(wǎng)絡(luò)受到黑客攻擊時(shí)可能直接危及駕乘人員的安全,由于無線接入點(diǎn)與車控網(wǎng)絡(luò)的連接已逐漸普及,信息安全已引起重視。本文首先分析了車控網(wǎng)中的兩個(gè)薄弱環(huán)節(jié):物理口的敞開便于接入未經(jīng)授權(quán)的節(jié)點(diǎn);授權(quán)的應(yīng)用被黑客攻破而濫用。接著分析了用發(fā)送濾波器對(duì)抗假冒信號(hào)幀的有效性,補(bǔ)充了滿足合法取代的要求。最后分析了使用可中斷CAN總線實(shí)現(xiàn)對(duì)抗黑客攻擊措施可能帶來的好處。
關(guān)鍵詞:CAN總線;信息安全;假冒錯(cuò)
引言
2014年以來,汽車黑客攻擊技術(shù)的公開引起車廠、主管部門和消費(fèi)者的重視,有的車廠已經(jīng)進(jìn)行了召回,以打補(bǔ)丁的方式解決問題。這種攻擊替代駕駛員的意愿實(shí)現(xiàn)了對(duì)汽車的任意操控,給駕乘員人身安全帶來很大風(fēng)險(xiǎn);另一方面,無人駕駛又是汽車發(fā)展的方向,它要在原有操控基礎(chǔ)上逐步實(shí)現(xiàn),需要對(duì)原輸出與新輸出作有效分割并實(shí)現(xiàn)替代,這種替代也給了黑客導(dǎo)入錯(cuò)誤的機(jī)會(huì)。因此,區(qū)分替代的合法性,以保證操控的安全性、不受黑客攻擊而失效變得十分必要。
1車控的薄弱環(huán)節(jié)
現(xiàn)在汽車的操控都是通過CAN總線上的幀來傳送的。黑客接入CAN總線的方式有兩種:一種是通過原有的OBD接口(基于CAN總線),另一種是經(jīng)過網(wǎng)關(guān)(將各種無線接入的節(jié)點(diǎn)跨接到CAN總線上)。最近各種黑客攻擊的實(shí)施方法綜述可借鑒參考文獻(xiàn)[1]。漏洞可分為兩種,一種是由于擴(kuò)大的授權(quán)被濫用,例如特斯拉的例子[2],發(fā)現(xiàn)了通過以太網(wǎng)可以合法地“停止汽車”。這就是說只要以太網(wǎng)那邊沒防住,要阻止黑客的辦法就只有切斷以太網(wǎng)的接入了。在切諾基的例子中,黑客改寫了芯片代碼[3],等同于加入了失控的CAN總線節(jié)點(diǎn)。OBD是開放接口,將一個(gè)端口分接兩個(gè)插座的線纜在市場(chǎng)上很容易購買,任何人都可以加上失控CAN總線節(jié)點(diǎn)。另一種是可直接或間接添加的后裝功能,這些CAN節(jié)點(diǎn)是否含未經(jīng)授權(quán)的功能或漏洞(例如開發(fā)者留的后門)是未知的。出現(xiàn)事故后雖然從刑事責(zé)任上可以追查,但危害已經(jīng)發(fā)生,所以必須預(yù)先設(shè)計(jì)對(duì)抗此種風(fēng)險(xiǎn)的機(jī)制。
CAN總線黑客造成的風(fēng)險(xiǎn)程度不同,例如在OBD接口將CANH、CANL短路最簡單,此時(shí)汽車將不會(huì)啟動(dòng),故障馬上被發(fā)現(xiàn)了,也就不會(huì)危及生命。但如果加在分接口的是一個(gè)CAN總線節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)可以定時(shí)發(fā)送幀,情況就不同了,雖然車廠對(duì)CAN總線幀的定義保密,但是它是可讀取、可記錄的,將它重發(fā)就會(huì)有不可預(yù)知的結(jié)果。這是一種replay攻擊,實(shí)現(xiàn)起來很容易。
所以應(yīng)該考慮一種在發(fā)生漏網(wǎng)之魚(無線接入的濫用授權(quán)、未經(jīng)注意的有漏洞的接入)時(shí)對(duì)抗CAN總線攻擊的方法,作為最后的防線。
CAN總線的接收節(jié)點(diǎn)是用標(biāo)識(shí)符ID來選出節(jié)點(diǎn)要收的幀,通常用接收濾波器來實(shí)現(xiàn)。在發(fā)送節(jié)點(diǎn),該幀存放在發(fā)送對(duì)象里,也含有ID, 但沒有作濾波器的設(shè)計(jì)。不過由于消息對(duì)象在存儲(chǔ)器區(qū)域內(nèi)是任意定義為發(fā)送/接收的,硬件上已備有ID比較邏輯。 如果添加發(fā)送對(duì)象的濾波器設(shè)計(jì),那么并未發(fā)送的對(duì)象就可以通過對(duì)總線上ID的監(jiān)視發(fā)現(xiàn)有節(jié)點(diǎn)在假冒自己。發(fā)現(xiàn)假冒錯(cuò)(masquerade error)后,就可以通過發(fā)報(bào)錯(cuò)幀(error frame)中止假冒幀的發(fā)送,從而對(duì)抗黑客攻擊。這個(gè)思想在參考文獻(xiàn)[4]中已提出,只是沒這么明確地表達(dá)。當(dāng)然,現(xiàn)在的CAN總線及CAN FD還不具備這一功能。如果保證同一時(shí)間總線上只有一個(gè)合法的發(fā)送該ID的發(fā)送節(jié)點(diǎn),那么由于黑客攻擊或者干擾引起的假冒錯(cuò)都可能被檢測(cè)出來,從而免除錯(cuò)誤引起的安全風(fēng)險(xiǎn)。
2對(duì)抗措施需要考慮的另一個(gè)要求
簡單地添加發(fā)送濾波器還是不夠的,因?yàn)閺陌l(fā)展來看,在兩種情況下我們需要實(shí)施替代控制,也就是說對(duì)濾波器是否起用需要加以控制,而該控制模塊也要有防假冒的能力。
第一種情況是開發(fā)或診斷時(shí)需要固定某輸入?yún)?shù),以觀察控制對(duì)象的響應(yīng)是否合乎邏輯。例如使用OBD接口時(shí)開關(guān)ERG閥,監(jiān)視MAP傳感器,觀察ERG閥是否正常。未來的診斷、標(biāo)定可以深入開發(fā)這一能力,通過設(shè)置參數(shù)使發(fā)動(dòng)機(jī)的效率得到細(xì)調(diào),提升車的節(jié)油與排放水平。車廠由于對(duì)車的質(zhì)量負(fù)有法定的責(zé)任,所以會(huì)擔(dān)心第三方軟件的副作用而拒絕使用,但對(duì)他們自己的軟件,微調(diào)方法仍是必要的。類似的調(diào)校也適用于混合動(dòng)力車兩種動(dòng)力的切換、能量回收與剎車安全之間的配合等需要大量實(shí)驗(yàn)確定最佳參數(shù)標(biāo)定的場(chǎng)合。
第二種情況是在應(yīng)用升級(jí)時(shí),可選擇性地控制輸出。以往的方法是把所有可選輸出做在一個(gè)算法內(nèi),由算法挑選輸出。例如控制剎車的最后動(dòng)作由不同單元計(jì)算,結(jié)果在一個(gè)控制器中綜合。這當(dāng)然是一種合理的辦法,但是如果考慮選擇性輸出的辦法,可能會(huì)更好。例如正常行駛時(shí)不使用自動(dòng)泊車功能,選用人工操控或其他輔助操控,在泊車時(shí)切換到用泊車ECU控制轉(zhuǎn)向及換檔。這種系統(tǒng)升級(jí)的方法顯然優(yōu)于把它混合在一個(gè)系統(tǒng)里:由于新老兩個(gè)系統(tǒng)有清楚的切分,添加新系統(tǒng)的安全認(rèn)證就簡單得多;這也使車廠充分利用第三方的供貨變得簡單,拓展了生產(chǎn)協(xié)作的渠道;使整個(gè)生態(tài)鏈的技術(shù)進(jìn)步和成本下降變得容易,因此試驗(yàn)與比較不同供貨商的自動(dòng)泊車產(chǎn)品的性價(jià)比要容易得多了。同樣地,也可以用于其他的功能升級(jí)方案,例如自動(dòng)巡航、車道偏離、輔助駕駛等。此時(shí)只要?jiǎng)澐殖鲂吕舷到y(tǒng)要取代的輸出,一個(gè)自己開發(fā)、綜合能力不足的廠商也可以充分利用別人先進(jìn)的東西。由于取代的輸出應(yīng)該有相同的ID,因此不影響系統(tǒng)的其他部分。這一需求可稱為取代控制(Substitute control),現(xiàn)在的CAN總線及CAN FD還不具備易于實(shí)現(xiàn)這一功能的機(jī)制。
下面是實(shí)現(xiàn)取代控制又能對(duì)抗攻擊的方案:取代時(shí)首先要得到授權(quán),在車載CAN總線網(wǎng)上設(shè)一個(gè)主節(jié)點(diǎn)負(fù)責(zé)授權(quán)密碼的驗(yàn)證。申請(qǐng)取代的源節(jié)點(diǎn)(新節(jié)點(diǎn)、OBD接口或網(wǎng)關(guān))首先向這個(gè)主節(jié)點(diǎn)發(fā)送一個(gè)幀(幀的ID是公開的),其內(nèi)容含有授權(quán)密鑰及取代輸出的ID。這個(gè)密鑰的格式、類型由車廠與被授權(quán)方共同確定,可以是固定的,也可以是臨時(shí)的、滾動(dòng)的,總之不易被黑客破譯。主節(jié)點(diǎn)收到此幀后要進(jìn)行檢查,密鑰如合格,則發(fā)修改用幀(其ID為唯一,主節(jié)點(diǎn)存在發(fā)送濾波器),內(nèi)容為被修改的輸出的ID。每個(gè)節(jié)點(diǎn)都收下此幀,按內(nèi)容檢查本節(jié)點(diǎn)的發(fā)送濾波器并作相應(yīng)處理。如果主節(jié)點(diǎn)認(rèn)為密鑰錯(cuò)誤,就不發(fā)送修改用幀,而且采用一種拒絕試探的方法,例如密鑰有錯(cuò)誤位要等1 min后清除,才能接收下一個(gè)申請(qǐng)的檢查。如果平均264次試探可以成功,時(shí)間的消耗使黑客幾乎沒有成功可能。
黑客也不能在總線上直接發(fā)送修改用幀,因?yàn)橹鞴?jié)點(diǎn)的發(fā)送濾波器匹配會(huì)使主節(jié)點(diǎn)發(fā)報(bào)錯(cuò)幀,進(jìn)而使黑客的幀失敗。
有人曾建議用CAN總線的CRC檢驗(yàn)的初值(種子seed)作為數(shù)字簽名(密鑰),認(rèn)為攻擊者不知道種子就無法假冒。這種方法是不行的,因?yàn)镃RC校驗(yàn)和的算法服從疊加規(guī)則,在有非零種子時(shí),校驗(yàn)和為零種子時(shí)校驗(yàn)和與種子的校驗(yàn)和的疊加。因?yàn)橹灰^察到成功發(fā)送的關(guān)鍵性幀的校驗(yàn)和就可以反推出種子的校驗(yàn)和,進(jìn)而反推出種子的值。
CAN 總線消息對(duì)象的數(shù)據(jù)結(jié)構(gòu)需要實(shí)現(xiàn)的功能有:本對(duì)象是否已被取代;發(fā)現(xiàn)假冒時(shí)是否要報(bào)錯(cuò);能否修改這種報(bào)錯(cuò)能力。為實(shí)現(xiàn)上述功能,除了原有的Update、ready 等以外,要新增Active、masquerade check setting、masquerade check setting enable位。
Active=1 表示該消息在條件滿足時(shí)可以發(fā)送,Active=0 表示即使消息條件滿足也不可移入發(fā)送緩沖器發(fā)送,因?yàn)榭赡茉撦敵鲆驯蝗〈?。Active位在應(yīng)用需要改變時(shí)由程序更改,即主節(jié)點(diǎn)在發(fā)出更改幀時(shí),其含的ID發(fā)送到各節(jié)點(diǎn),除申請(qǐng)節(jié)點(diǎn)外,原來Active=1的對(duì)象改為Active=0。
發(fā)送濾波器在Active=1及masquerade check setting=1時(shí)見到總線上有假冒錯(cuò)便可以發(fā)送報(bào)錯(cuò)幀,在Active=1及masquerade check setting=0時(shí)表示見到匹配的ID不發(fā)送報(bào)錯(cuò)幀。
masquerade check setting enable表示masquerade check setting是否可以修改,masquerade check setting enable=1表示整車廠認(rèn)為此參數(shù)太重要,以至不容許被取代領(lǐng)導(dǎo)者,所以任何取代都是不合法的。例如上述主節(jié)點(diǎn)發(fā)送修改幀的對(duì)象是不容許被取代的。masquerade check setting enable及masquerade check setting位只有整個(gè)ECU程序刷新時(shí)才能更改,所以車廠有最終控制權(quán)。
只有整車廠設(shè)置masquerade check setting enable=0時(shí),應(yīng)用程序才允許獲取設(shè)置masquerade check setting的值,這是提供的一種未來的選項(xiàng)。
新增的數(shù)據(jù)結(jié)構(gòu)會(huì)影響消息對(duì)象內(nèi)部發(fā)送的順序,只有Active=1 的就緒的發(fā)送消息才能參加發(fā)送隊(duì)列。
3殘存弱點(diǎn)的處理原則
在上述CAN總線層上實(shí)現(xiàn)的防假冒錯(cuò)的措施之后,尚有失控的可能性。例如通過無線接入的合法替代的濫用,即以太網(wǎng)那里出了問題,置駕駛員的意愿不顧;不斷的假冒幀-報(bào)錯(cuò)會(huì)造成總線帶寬消耗,形成正常通信拒絕服務(wù)(deny of service),這也是需要解決的。
IT領(lǐng)域中網(wǎng)絡(luò)行為異常被作為存在可疑黑客攻擊的警示,在汽車中更重要的是對(duì)黑客攻擊后果的防止。由于汽車有更多傳感器對(duì)環(huán)境作出判斷,只要把設(shè)計(jì)的控制優(yōu)先級(jí)放在現(xiàn)場(chǎng),那么黑客攻擊的后果就可以大大緩和。例如視頻監(jiān)控發(fā)現(xiàn)車前有障礙物(前車、路人、路口紅燈),黑客通過合法替代濫用形成的車加速命令就不會(huì)執(zhí)行;對(duì)車道的判斷不允許執(zhí)行黑客突然停車命令而停在行車道中;車的環(huán)境溫度傳感器超限可以阻止黑客濫用座墊加熱命令。而這些發(fā)生沖突的事件可以作為阻止黑客攻擊的事件而加以進(jìn)一步處理。
4在IntCAN總線中實(shí)現(xiàn)對(duì)抗攻擊的好處
汽車的安全狀態(tài)定義是非常重要的,過去的定義重點(diǎn)是設(shè)計(jì)一個(gè)降額運(yùn)行的狀態(tài),一旦有故障就降額,保證汽車可以跛足進(jìn)入一個(gè)安全的環(huán)境。故障-沉默(fail-silent)有時(shí)是背道而馳的,例如CAN總線通信有故障時(shí),雙離合器變速器均不嚙合就會(huì)使車失去動(dòng)力,甚至連實(shí)現(xiàn)跛足回家都不可能。另一方面,車是一個(gè)運(yùn)動(dòng)的物體,其過渡過程也需要安全,所以盡快進(jìn)入也是要爭取實(shí)現(xiàn)的指標(biāo)。
在IntCAN總線的可中斷通信協(xié)議中考慮含有系統(tǒng)重啟的強(qiáng)大的二級(jí)中斷Int2d1[5]。懷疑有黑客侵入車內(nèi)系統(tǒng)時(shí),駕駛員不僅要禁止車與外網(wǎng)的連接,而且要恢復(fù)原來的曾是成功的設(shè)置,就像重啟 Windows一樣,此時(shí)駕駛員不必知曉動(dòng)作的細(xì)節(jié),只要按一個(gè)按鈕就行。與按鈕相連的主節(jié)點(diǎn)發(fā)送2d1中斷幀,此中斷幀可以超越所有常規(guī)幀,不管黑客植入什么,系統(tǒng)是否正在按病毒做什么,仍能停止其干擾。節(jié)點(diǎn)在收到2d1中斷幀及其后續(xù)幀后,恢復(fù)到后備設(shè)置,或其他預(yù)定的工作模式。這個(gè)后備設(shè)置將禁止一些高級(jí)控制方式(包括來自網(wǎng)絡(luò)的高級(jí)控制方式),僅當(dāng)駕駛員允許時(shí)才可再進(jìn)入,所以儀表板要有此手動(dòng)切換的方法。
當(dāng)黑客攻擊被否決時(shí),總線上錯(cuò)誤會(huì)很多,IntCAN系統(tǒng)進(jìn)入Failure狀態(tài),可采用提醒應(yīng)用進(jìn)入對(duì)應(yīng)的安全狀態(tài)的方式加以處理。拒絕服務(wù)錯(cuò)誤發(fā)生時(shí)并非帶寬已經(jīng)耗盡,所以此時(shí)可以采用降額運(yùn)行的方案,例如限制車速的“跛足回家”的方案。還可以有暫時(shí)降低排放、舒適性的讓出帶寬的降額方案,這些降額方案要由車廠預(yù)先設(shè)計(jì)好。
結(jié)語
在IntCAN中,上述替代控制合法性檢驗(yàn)后,主節(jié)點(diǎn)發(fā)送替代輸出修改用幀的方式也可以經(jīng)由中斷幀引導(dǎo),從而加快反應(yīng)速度,此時(shí)修改用幀傳送時(shí)間不受優(yōu)先級(jí)影響,對(duì)ID的分配也就沒有要求了。外部節(jié)點(diǎn)也無法假冒主節(jié)點(diǎn)的中斷幀,因?yàn)閷?duì)二級(jí)中斷同樣設(shè)置了發(fā)送濾波器機(jī)制:主節(jié)點(diǎn)自己未發(fā)二級(jí)中斷而在總線上見到二級(jí)中斷時(shí),它會(huì)發(fā)送IntF來破壞假冒的二級(jí)中斷。
如需與作者聯(lián)系,可以發(fā)郵件到:yfy812@163.com。
參考文獻(xiàn)
[1] 黑客攻擊汽車總結(jié)篇之漏洞在哪兒(上)[EB/OL].[2015-10].http://auto.163.com/15/0826/10/B1UIR8F0000853 V5.html.
[2] 黑客獨(dú)家披露:我們是如何破解特斯拉的?[EB/OL].[2015-10].http://auto.huanqiu.com/globalnews/2015-08/7255628.html.
[3] 看黑客如何遠(yuǎn)程入侵并控制汽車[EB/OL].[2015-10].http://tech.163.com/15/0722/07/AV44NH8I000915BF.html.
[4] Tobias Hoppe.Security Threats to Automotive CAN Networks-Practical Examples and Selected S hort-Term Countermeasures[C]//M.D. Harrison and M.-A. Sujan(Eds.):SAFECOMP 2008,LNCS5219,2008.
[5] 楊福宇.IntCAN中為什么需要通信中斷?[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015(8):19-22.
Anti-hacker Attack Method for Site Priority Vehicle Control Network
Yang Fuyu
(Chongqing Industrial Automation Instrument Research,Chongqing 401123,China)
Abstract:The hacker attack to the automotive control networks will endanger the safety of driver and passengers.Due to wide spread wireless application connected to the control networks,security has become current issue.Firstly,two vulnerable points in the automotive control networks are analyzed:the free reach-ability for easily adding unauthorized nodes,and abuse of authorized action by the hacker.Then the validity of the transmission filter against the frame of the fake signal is analyzed.Finally,the interruptible CAN solution for the anti-hacker attack mechanism is discussed.
Key words:CAN bus;information security;masquerade error
收稿日期:(責(zé)任編輯:薛士然2015-10-16)
中圖分類號(hào):TP302
文獻(xiàn)標(biāo)識(shí)碼:A