• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      車聯(lián)網(wǎng)絡(luò)協(xié)議的模糊測(cè)試研究綜述

      2023-05-23 15:07:14周繼祥龔漢文唐順成薛吟興
      關(guān)鍵詞:網(wǎng)絡(luò)協(xié)議測(cè)試用例數(shù)據(jù)包

      張 翼,郭 燕,3,周繼祥,龔漢文,唐順成,薛吟興,3

      1(中國(guó)科學(xué)技術(shù)大學(xué) 軟件學(xué)院,合肥 230026)

      2(中國(guó)科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,合肥 230027)

      3(中國(guó)科學(xué)技術(shù)大學(xué) 蘇州高等研究院,江蘇 蘇州 215123)

      1 引 言

      隨著自動(dòng)駕駛技術(shù)的快速發(fā)展,現(xiàn)代車輛軟硬件系統(tǒng)日益復(fù)雜,同時(shí),車聯(lián)網(wǎng)也不斷演進(jìn),以適應(yīng)車內(nèi)部、車與車、車與路邊基礎(chǔ)設(shè)施、車與云端之間進(jìn)行大量數(shù)據(jù)交互的需求.車聯(lián)網(wǎng)的快速發(fā)展有助于車輛整體的智能駕駛水平和整體交通運(yùn)行效率的提高.但另一方面,系統(tǒng)越復(fù)雜,暴露出的攻擊面就越大,由此引發(fā)的安全技術(shù)問題有可能越多.

      車聯(lián)網(wǎng)系統(tǒng)由車輛和云平臺(tái)、路基設(shè)施、其他車輛等共同參與,是一個(gè)包括Wi-Fi、移動(dòng)通信網(wǎng)絡(luò)、CAN總線網(wǎng)絡(luò)等多種網(wǎng)絡(luò)協(xié)議的復(fù)雜系統(tǒng).到目前為止,安全人員匯報(bào)過多起針對(duì)車聯(lián)網(wǎng)協(xié)議進(jìn)行攻擊的案例,從而達(dá)到硬件篡改、未經(jīng)授權(quán)的數(shù)據(jù)訪問、消息修改、跟蹤車輛位置等攻擊目的.部分案列是針對(duì)車聯(lián)網(wǎng)絡(luò)中的身份認(rèn)證、通信鏈路和CAN總線漏洞進(jìn)行攻擊,如嗅探攻擊[1]、繞過身份認(rèn)證[2]和車載僵尸網(wǎng)絡(luò)攻擊[3].部分案例針對(duì)云服務(wù)器進(jìn)行側(cè)信道攻擊[4]、消息重放攻擊[5]和DDoS(Distributed Denial of Service)攻擊[6,7].表1列出了部分漏洞/攻擊的類型、介紹及效果.雖然目前存在一些加強(qiáng)車聯(lián)網(wǎng)安全性的措施,如加強(qiáng)身份認(rèn)證難度[2],提高隱私保護(hù)力度[8],但是這些案例極大影響了用戶對(duì)自動(dòng)駕駛系統(tǒng)安全性的信心,也對(duì)汽車行業(yè)的發(fā)展帶來了巨大的影響.2021年工信部發(fā)布《工業(yè)和信息化部關(guān)于加強(qiáng)車聯(lián)網(wǎng)網(wǎng)絡(luò)安全和數(shù)據(jù)安全工作的通知》,要求加強(qiáng)車聯(lián)網(wǎng)網(wǎng)絡(luò)安全防護(hù).因此,對(duì)車聯(lián)網(wǎng)的網(wǎng)絡(luò)協(xié)議進(jìn)行安全測(cè)試,盡早發(fā)現(xiàn)系統(tǒng)中存在的漏洞是一項(xiàng)迫在眉睫的工作.

      表1 針對(duì)車聯(lián)網(wǎng)的攻擊

      車聯(lián)網(wǎng)面臨的安全問題包括系統(tǒng)內(nèi)所有平臺(tái)和網(wǎng)絡(luò)協(xié)議所面對(duì)的各種安全威脅,包括但不限于網(wǎng)絡(luò)入侵、消息篡改和偽造、通信協(xié)議破解等.而且網(wǎng)絡(luò)協(xié)議在代碼實(shí)現(xiàn)時(shí)也有可能引入不規(guī)范或者安全問題.因此,對(duì)車聯(lián)網(wǎng)進(jìn)行測(cè)試并發(fā)現(xiàn)可能的漏洞非常復(fù)雜和困難.

      當(dāng)前已經(jīng)有各種方法用于軟件系統(tǒng)的測(cè)試和漏洞發(fā)現(xiàn),如靜態(tài)分析[9]、動(dòng)態(tài)分析[10]、符號(hào)執(zhí)行[11]、模糊測(cè)試[12]等.在上述各種方法中,P.Miller[12]提出模糊測(cè)試(Fuzzing),通過發(fā)送非預(yù)期的輸入并監(jiān)視異常結(jié)果實(shí)現(xiàn)漏洞發(fā)現(xiàn),具有如下優(yōu)點(diǎn):不必對(duì)目標(biāo)程序源碼有深入了解、自動(dòng)化程度高、可用性好、并且可以容易地?cái)U(kuò)展到對(duì)大型目標(biāo)程序.當(dāng)前,模糊測(cè)試已成為最常用的自動(dòng)軟件測(cè)試技術(shù),也廣泛應(yīng)用于網(wǎng)絡(luò)協(xié)議的安全測(cè)試[13,14].但是,目前仍缺少針對(duì)發(fā)展迅速的車聯(lián)網(wǎng)的模糊測(cè)試的綜述性研究.

      為此,本文對(duì)現(xiàn)有的車聯(lián)網(wǎng)模糊測(cè)試文獻(xiàn)進(jìn)行綜述,第1部分介紹了車聯(lián)網(wǎng)的架構(gòu),第2部分簡(jiǎn)單描述了模糊測(cè)試,特別是網(wǎng)絡(luò)協(xié)議模糊測(cè)試的分類,第3部分總結(jié)了近年來與車聯(lián)網(wǎng)網(wǎng)絡(luò)協(xié)議模糊測(cè)試相關(guān)的文獻(xiàn),最后第4部分在此基礎(chǔ)上,展望了模糊測(cè)試在車聯(lián)網(wǎng)上的研究方向,針對(duì)如何加速網(wǎng)絡(luò)協(xié)議模糊測(cè)試,提高模糊測(cè)試的真實(shí)性提出合理建議.

      2 智能車聯(lián)網(wǎng)架構(gòu)

      車聯(lián)網(wǎng)利用既定的網(wǎng)絡(luò)通信協(xié)議,實(shí)現(xiàn)車輛智能動(dòng)態(tài)地與周圍的車、路、人以及通信網(wǎng)絡(luò)之間進(jìn)行信息共享交換,從而提升汽車自動(dòng)駕駛能力,提高交通效率等.車聯(lián)網(wǎng)的基本架構(gòu)如圖1所示,主要可以分為車載總線網(wǎng)絡(luò)和無線通信技術(shù).

      圖1 車聯(lián)網(wǎng)基本架構(gòu)

      2.1 車載總線網(wǎng)絡(luò)

      車載總線網(wǎng)絡(luò)實(shí)現(xiàn)了大量電子控制元件ECU(Electronic Control Units)通信,從而完成了對(duì)發(fā)動(dòng)機(jī)、安全氣囊、制動(dòng)器等電子系統(tǒng)的控制,構(gòu)成了車內(nèi)網(wǎng)絡(luò)架構(gòu).不同的ECU節(jié)點(diǎn)通過不同的總線協(xié)議通信.常見的車載總線協(xié)議有CAN(Controller Area Network)、CAN-FD(CAN with Flexible Data-Rate)、LIN(Local Interconnect Network)、FlexRay、MOST(Media Oriented System Transport)和Automotive Ethernet,如表2所示.

      表2 車內(nèi)有線網(wǎng)絡(luò)協(xié)議

      CAN總線是一種能有效支持分布式實(shí)時(shí)控制的串行通訊網(wǎng)絡(luò),具有無損位仲裁機(jī)制、多主結(jié)構(gòu)等優(yōu)點(diǎn),且已被標(biāo)準(zhǔn)化.因此,CAN總線被廣泛用于車內(nèi)通信.CAN成本低,可靠性高,可用于安全應(yīng)用,動(dòng)力控制和傳感器連接等.

      CAN-FD[15]是CAN總線的替代總線,在繼承了CAN總線的大部分特性的同時(shí),提高了總線帶寬和數(shù)據(jù)長(zhǎng)度,顯著提高了通信速率,有效彌補(bǔ)了CAN總線的不足.

      LIN[16]主要用于ECU和傳感器之間的串行通信,采用單主多從的組網(wǎng)方式,保證了網(wǎng)絡(luò)的可靠性,同時(shí)提高了網(wǎng)絡(luò)的開發(fā)速度.

      FlexRay[17]專為車聯(lián)網(wǎng)而設(shè)計(jì),是一種具備故障容錯(cuò)的高速可確定性車載總線系統(tǒng),采用了基于時(shí)間觸發(fā)的機(jī)制且具有高帶寬、容錯(cuò)性好等特點(diǎn),在實(shí)時(shí)性和可靠性方面具有一定優(yōu)勢(shì).

      MOST[18]是面向媒體的系統(tǒng)傳輸總線,是工業(yè)界合作的成果.MOST總線基于環(huán)形拓?fù)?允許共享多個(gè)發(fā)送和接收器的數(shù)據(jù),同時(shí)可支持多個(gè)主拓?fù)浣Y(jié)構(gòu),專用于高速數(shù)據(jù)傳輸和同步.

      車載以太網(wǎng)Automotive Ethernet[19]使用以太網(wǎng)連接車內(nèi)電子單元的局域網(wǎng)技術(shù),包含DoIP(Diagnostic communication over Internet Protocol)、SOME/IP(Scalableservice-Oriented Middleware over IP)和TCP(Transport Control Protocol)等協(xié)議,如表3所示.其不僅可以滿足汽車行業(yè)對(duì)高可靠性、低電磁輻射、低功耗、低延遲的要求,還能保持高速聯(lián)通.車載以太網(wǎng)跟傳統(tǒng)以太網(wǎng)最大的區(qū)別在于電纜,傳統(tǒng)以太網(wǎng)使用兩根雙絞線,一根用于傳輸數(shù)據(jù),另一根用于接收數(shù)據(jù);而車載以太網(wǎng)只使用一根同時(shí)發(fā)送和接受的雙絞線,在單對(duì)非屏蔽雙絞線上即可可實(shí)現(xiàn)100Mbit/s甚至1Gbit/s的數(shù)據(jù)傳輸速率.

      表3 車載以太網(wǎng)

      但隨著汽車功能的豐富,ECU數(shù)量不斷增加,智能網(wǎng)聯(lián)汽車對(duì)ECU元件進(jìn)行了集成,將ECU功能集中化為域控制器.如圖1所示,域控制器按汽車的功能分為車輛控制域、座艙域和自動(dòng)駕駛域.集中式網(wǎng)關(guān)通過車載以太網(wǎng)集中接入各個(gè)域控制器以及遠(yuǎn)程信息處理盒子TBOX(Telematics Box).各個(gè)域控制器負(fù)責(zé)域內(nèi)ECU的通信,通過上述各總線協(xié)議進(jìn)行報(bào)文轉(zhuǎn)發(fā)和管理.TBOX為整車提供遠(yuǎn)程通信接口,用于整車的通信管理.

      2.2 無線通信技術(shù)

      無線通信是一種利用電磁波信號(hào)在自由介質(zhì)中進(jìn)行信息交換的通信方式.無線通信技術(shù)需要滿足車輛與車輛、路邊基礎(chǔ)設(shè)備、云端和移動(dòng)終端等的數(shù)據(jù)交互要求.V2X(Vehicle to Everything)通信可以與環(huán)境交換信息,如當(dāng)前的交通擁堵情況、交通事故等,從而改善交通狀況,提高交通效率以及減少事故發(fā)生率.

      車輛與車輛之間通過專用短程通信DSRC(Dedicated Short Range Communications)、基于4G的LTE-V2X(Long Term Evolution-V2X)以及基于5G的5G-V2X進(jìn)行數(shù)據(jù)傳輸,如前方的車輛速度.車輛與路邊基礎(chǔ)設(shè)備通過LTE-V2X、DSRC等進(jìn)行數(shù)據(jù)交互,如前方是否發(fā)生事故以及車輛所處位置.車輛與移動(dòng)終端通過Wi-Fi(Wireless-Fidelity)、藍(lán)牙、NFC(Near Field Communication)、3G、4G、5G等進(jìn)行數(shù)據(jù)交互,如用戶的語音信息以及駕駛員的生物數(shù)據(jù),從而支持無鑰匙啟動(dòng)、語音交互等功能,滿足駕駛員的合理需求,提高駕駛員的駕車體驗(yàn).

      當(dāng)前主流的V2X通信技術(shù)規(guī)范為DSRC-V2X和基于蜂窩網(wǎng)絡(luò)的C-V2X(Cellular-V2X)[20].其中,DSRC由物理層標(biāo)準(zhǔn)IEEE 802.11p提供車載環(huán)境下的無線接入,網(wǎng)絡(luò)層標(biāo)準(zhǔn)IEEE 1609提供網(wǎng)絡(luò)和安全服務(wù).DSRC還支持IPv6和TCP/UDP,用于連接Internet.其協(xié)議信息內(nèi)容和結(jié)構(gòu)由SAE的SAEJ2735、SAE2945標(biāo)準(zhǔn)規(guī)范構(gòu)成.C-V2X是基于4G/5G等蜂窩網(wǎng)通信技術(shù)演進(jìn)形成的車用無線通信技術(shù),包含LTE-V2X和5G-V2X.相比于DSRC-V2X,C-V2X的通信范圍更廣,部署成本更低.同時(shí),隨著5G技術(shù)的發(fā)展,C-V2X有更為清晰的技術(shù)發(fā)展路線.

      在上述通信技術(shù)規(guī)范中應(yīng)用最廣泛的車載無線通信協(xié)議為Wi-Fi、藍(lán)牙和ZigBee 3種無線短距通信協(xié)議,如表4所示.

      表4 車載無線通信技術(shù)

      Wi-Fi遵循IEEE 802.11標(biāo)準(zhǔn),使用無線電波發(fā)送信號(hào),具有低成本、兼容性好、穩(wěn)定性差、高功耗、安全性較差等特點(diǎn).

      藍(lán)牙遵循IEEE 802.15標(biāo)準(zhǔn),可實(shí)現(xiàn)車輛與移動(dòng)設(shè)備的數(shù)據(jù)交互,具有低功耗、低成本、支持復(fù)雜網(wǎng)絡(luò)、較高安全性(支持?jǐn)?shù)據(jù)包加密和認(rèn)證)、各版本不兼容等特點(diǎn).

      Zigbee是基于IEEE 802.15.4標(biāo)準(zhǔn)的LAN協(xié)議,其特點(diǎn)是短距,低復(fù)雜性,低速低功耗,網(wǎng)絡(luò)容量大,抗干擾性差.

      隨著汽車功能的不斷升級(jí),其內(nèi)部組件變得越來越復(fù)雜,有線網(wǎng)絡(luò)的部署受到限制且車內(nèi)空間也變得更加擁擠,無線通信技術(shù)也被提出可用于車內(nèi)傳感器和ECU的連接,從而減少對(duì)車內(nèi)連接線的需求和汽車車身的重量,節(jié)省能源的同時(shí)能提高汽車的續(xù)航能力和車內(nèi)通信的靈活性.其中,Mirza等人[21]提出了一種基于BLE(Bluetooth low energy)的連接傳感器和ECU的低成本通信方案,相較于CAN總線網(wǎng)絡(luò),帶來了更少的電流消耗、更高的通信效率和更低的成本.Parthasarathy等人[22]提出了一種基于Zigbee的車載無線傳感器網(wǎng)絡(luò)設(shè)計(jì)方法.因?yàn)閃i-Fi會(huì)干擾藍(lán)牙和Zigbee信號(hào),穩(wěn)定性很差,所以暫時(shí)沒有研究人員用于車內(nèi)傳感器和ECU的連接與控制.但上述三種方法均沒有滿足車內(nèi)數(shù)據(jù)傳輸在傳輸時(shí)延、數(shù)據(jù)可靠性和安全性方面的需求:傳感器數(shù)據(jù)傳輸需要低時(shí)延和超高的可靠性,且車內(nèi)電子設(shè)備眾多,通信環(huán)境復(fù)雜,需要高抗干擾性和高穩(wěn)定性.基于這些需求,2021年,華為提出了“星閃技術(shù)”[23],重新定義車載無線短距通信,具有超低時(shí)延、超高可靠、精準(zhǔn)同步等優(yōu)勢(shì).

      結(jié)合多種無線通信技術(shù),車輛不再是一個(gè)獨(dú)立的電子系統(tǒng),而是車聯(lián)網(wǎng)中的一個(gè)移動(dòng)終端,從而能夠滿足人、車、路和云服務(wù)平臺(tái)的全方位連接.

      3 網(wǎng)絡(luò)模糊測(cè)試介紹

      汽車功能的不斷升級(jí)導(dǎo)致車內(nèi)通信協(xié)議規(guī)模和復(fù)雜度不斷增加,正如圖1所示:各域控制器負(fù)責(zé)域內(nèi)ECU的通信,域間通信通過集中式網(wǎng)關(guān),無線通信技術(shù)正逐漸取代有線網(wǎng)絡(luò)連接.技術(shù)的創(chuàng)新不僅帶來了功能的便利,對(duì)安全性也提出了更高的要求,使得安全測(cè)試要求越來越高.相比于其他漏洞發(fā)現(xiàn)方法,模糊測(cè)試的優(yōu)勢(shì)越發(fā)明顯,已經(jīng)成為車聯(lián)網(wǎng)安全測(cè)試領(lǐng)域最常見也是最有效的方法[24].車聯(lián)網(wǎng)模糊測(cè)試基本流程和分類與傳統(tǒng)網(wǎng)絡(luò)協(xié)議一致.網(wǎng)絡(luò)協(xié)議模糊測(cè)試的基本原則是通過生成或者變異的方法生成畸變的數(shù)據(jù)包,畸變數(shù)據(jù)包可能引起被測(cè)協(xié)議在處理畸變數(shù)據(jù)包的時(shí)候出錯(cuò)或崩潰,從而發(fā)現(xiàn)被測(cè)協(xié)議中的漏洞.網(wǎng)絡(luò)協(xié)議模糊測(cè)試的難點(diǎn)在于在遵循協(xié)議規(guī)范的同時(shí),構(gòu)造合法的畸變數(shù)據(jù)包.本節(jié)將簡(jiǎn)要介紹網(wǎng)絡(luò)協(xié)議模糊測(cè)試的流程和分類.

      3.1 網(wǎng)絡(luò)協(xié)議模糊測(cè)試的流程

      網(wǎng)絡(luò)協(xié)議模糊測(cè)試框架基本上由測(cè)試用例生成器、被測(cè)協(xié)議、監(jiān)測(cè)器和異常分析器4部分組成.

      網(wǎng)絡(luò)協(xié)議模糊測(cè)試的流程如圖2所示.車聯(lián)網(wǎng)網(wǎng)絡(luò)協(xié)議模糊測(cè)試的流程:①根據(jù)對(duì)被測(cè)協(xié)議的了解程度和測(cè)試目的選擇不同的生成策略以生成測(cè)試用例;②將生成的測(cè)試用例發(fā)送給被測(cè)協(xié)議實(shí)體作為輸入;③根據(jù)協(xié)議實(shí)體中測(cè)試用例的執(zhí)行情況,監(jiān)測(cè)器觀察協(xié)議是否行為異常或崩潰,同時(shí)收集被測(cè)協(xié)議在模糊測(cè)試過程中產(chǎn)生的崩潰或異常信息;④收集到的異常信息被測(cè)試人員用于分析協(xié)議的漏洞.

      圖2 網(wǎng)絡(luò)協(xié)議的模糊測(cè)試流程

      3.2 網(wǎng)絡(luò)協(xié)議模糊測(cè)試的分類

      網(wǎng)絡(luò)協(xié)議模糊測(cè)試的方法可以有多種不同的分類方法,下面從測(cè)試用例的生成策略、對(duì)被測(cè)協(xié)議的了解程度以及模糊測(cè)試的目的進(jìn)行分類.

      3.2.1 測(cè)試用例的生成策略

      根據(jù)測(cè)試用例的生成策略,網(wǎng)絡(luò)協(xié)議的模糊測(cè)試可分為兩種:基于生成和基于變異[25].

      基于生成的模糊測(cè)試需要分析被測(cè)的網(wǎng)絡(luò)協(xié)議使用的協(xié)議規(guī)范,了解字段支持的數(shù)據(jù)結(jié)構(gòu)和字段接受的值的范圍,定義可修改字段和不可修改字段.例如,Zuo等人[26]分析不同狀態(tài)下的RTPS數(shù)據(jù)包,抓取可用特征生成符合協(xié)議規(guī)范的模糊數(shù)據(jù).Bayer等人[27]在了解基礎(chǔ)協(xié)議結(jié)構(gòu)以及數(shù)據(jù)包字段含義之后修正模糊消息包使其符合協(xié)議規(guī)范.

      基于變異的模糊測(cè)試通過截取網(wǎng)絡(luò)通信流量,捕獲正常的通信協(xié)議消息,根據(jù)設(shè)計(jì)的變異策略(如,位翻轉(zhuǎn))將正常消息中的數(shù)據(jù)轉(zhuǎn)換為非法值.例如,Patki等人[28]提出基于變異的模糊測(cè)試框架,檢查8字節(jié)UDS協(xié)議的所有組合,然后改變字段產(chǎn)生無效數(shù)據(jù)包.

      3.2.2 對(duì)被測(cè)協(xié)議的了解程度

      根據(jù)測(cè)試者對(duì)被測(cè)協(xié)議的了解,車聯(lián)網(wǎng)網(wǎng)絡(luò)協(xié)議的模糊測(cè)試可分為3種:黑盒測(cè)試、灰盒測(cè)試以及白盒測(cè)試[29].

      針對(duì)傳統(tǒng)網(wǎng)絡(luò)協(xié)議的黑盒測(cè)試是指測(cè)試者完全不了解被測(cè)協(xié)議的狀態(tài)、功能等內(nèi)部信息,通過預(yù)定義的規(guī)則對(duì)數(shù)據(jù)包進(jìn)行變異生成新數(shù)據(jù)包來測(cè)試協(xié)議,也稱為功能測(cè)試.黑盒測(cè)試的缺點(diǎn)很明顯:難以定義測(cè)試終止的標(biāo)準(zhǔn),只能提供較低的測(cè)試覆蓋率.測(cè)試覆蓋率是對(duì)測(cè)試完成程度的度量.它通常依據(jù)某種覆蓋準(zhǔn)則來對(duì)測(cè)試用例執(zhí)行情況進(jìn)行衡量,以判斷測(cè)試執(zhí)行得是否充分.

      車聯(lián)網(wǎng)中的網(wǎng)絡(luò)協(xié)議大部分是有狀態(tài)的網(wǎng)絡(luò)協(xié)議,針對(duì)有狀態(tài)的網(wǎng)絡(luò)協(xié)議,黑盒模糊測(cè)試[13,14]通過有限狀態(tài)機(jī)FSM(Finite State Machine)和圖遍歷協(xié)議狀態(tài)模型,生成符合語法的消息序列.FSM是表示有限狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)換的數(shù)學(xué)模型,如圖3所示,其中,S={S1,S2,S3}為有限狀態(tài)集,具體而言,S1是斷開狀態(tài),S2是等待連接狀態(tài),S3是連接狀態(tài).T={Tr1,Tr2,Tr3,Tr4}為狀態(tài)轉(zhuǎn)換條件.例如,Zhao等人[30]手動(dòng)生成ZigBee協(xié)議MAC層的全狀態(tài)覆蓋圖并對(duì)其優(yōu)化.圖3的狀態(tài)圖意味著S1狀態(tài)必須要滿足條件Tr1,譬如接收到特定的數(shù)據(jù)包,才能進(jìn)入狀態(tài)S2.在模糊測(cè)試中,如果不能在狀態(tài)S1后不能生成特定的數(shù)據(jù)包,那么將始終不能到達(dá)狀態(tài)S2.

      圖3 FSM狀態(tài)圖

      白盒測(cè)試是指測(cè)試者通過閱讀被測(cè)協(xié)議的源代碼以及協(xié)議規(guī)范,完全了解被測(cè)協(xié)議的運(yùn)行方式、功能和狀態(tài)轉(zhuǎn)換等內(nèi)部信息,并使用這些信息來指導(dǎo)測(cè)試數(shù)據(jù)包的生成,通過使用動(dòng)態(tài)符號(hào)執(zhí)行和啟發(fā)式搜索快速實(shí)現(xiàn)測(cè)試覆蓋率最大化.理論上,白盒模糊測(cè)試可以生成覆蓋所有協(xié)議狀態(tài)的測(cè)試用例.但是,考慮到程序的復(fù)雜度,白盒測(cè)試往往并不能實(shí)現(xiàn)100%的覆蓋.

      灰盒測(cè)試介于黑盒測(cè)試和白盒測(cè)試之間,是指測(cè)試者對(duì)被測(cè)協(xié)議內(nèi)部細(xì)節(jié)存在有限認(rèn)知,但是缺乏對(duì)內(nèi)部功能和運(yùn)作的詳細(xì)了解.灰盒模糊器可通過代碼插樁獲得目標(biāo)程序的測(cè)試覆蓋率,然后利用這些信息調(diào)整變異策略以覆蓋更多的狀態(tài)或者更快地發(fā)現(xiàn)失敗的測(cè)試用例.例如,Pham等人[31]首次提出有狀態(tài)的灰盒模糊測(cè)試AFLNET,使用服務(wù)器的響應(yīng)碼識(shí)別服務(wù)器狀態(tài),構(gòu)建動(dòng)態(tài)的狀態(tài)模型,同時(shí)使用狀態(tài)模型和代碼覆蓋率指導(dǎo)模糊測(cè)試過程.

      白盒測(cè)試和灰盒測(cè)試都在一定程度上利用了目標(biāo)程序的信息來減輕黑盒模糊測(cè)試的盲目性,即缺少指導(dǎo)測(cè)試終止和優(yōu)化的覆蓋度指標(biāo).相比于黑盒模糊測(cè)試的盲目性,以及白盒測(cè)試在測(cè)試大型網(wǎng)絡(luò)協(xié)議時(shí)的低效,灰盒測(cè)試實(shí)現(xiàn)了較好的平衡,因此受到了更多的關(guān)注.

      3.2.3 模糊測(cè)試的目的

      模糊測(cè)試早期被當(dāng)作一種攻擊手段,研究者不需要對(duì)被測(cè)協(xié)議有較深的了解,也不需要系統(tǒng)的分析協(xié)議運(yùn)行數(shù)據(jù).例如,Koscher等人[32]通過CarsHark(1)https://carshark.net.au/嗅探CAN總線,構(gòu)建簡(jiǎn)單的CAN數(shù)據(jù)包,即對(duì)隨機(jī)字段進(jìn)行模糊用于攻擊ECU.

      但這種方法對(duì)CAN數(shù)據(jù)包的處理很簡(jiǎn)單,不能控制測(cè)試的細(xì)粒度.隨后,Lee等人[33]對(duì)嗅探得到的CAN數(shù)據(jù)包中數(shù)據(jù)字段的部分字節(jié)進(jìn)行模糊,其他部分填充為0,模糊后的數(shù)據(jù)包可經(jīng)過無線通道進(jìn)入汽車系統(tǒng)實(shí)施攻擊.上述文獻(xiàn)均驗(yàn)證了模糊測(cè)試可用于攻擊.

      另外,模糊測(cè)試的攻擊可用于輔助車輛功能的逆向分析.例如,Fowler等人[34]利用模糊測(cè)試作為攻擊的手段,實(shí)現(xiàn)車輛遠(yuǎn)程開鎖,證實(shí)了模糊測(cè)試可用于車聯(lián)網(wǎng)的安全性驗(yàn)證.隨后,該團(tuán)隊(duì)[35]通過發(fā)送CAN數(shù)據(jù)包,揭示了汽車顯示屏顯示不同信息以及其他隱藏的功能所需的數(shù)據(jù),發(fā)現(xiàn)了車輛系統(tǒng)的缺陷,從而可以提高汽車安全性.Werquin等人[36]對(duì)CAN數(shù)據(jù)包中的特定字段進(jìn)行模糊測(cè)試,成功挖掘了ECU中未記錄的功能除此之外,模糊測(cè)試最主要的功能是針對(duì)車聯(lián)網(wǎng)漏洞進(jìn)行診斷和分析.其中,Bayer等人[27]針對(duì)CAN總線上的UDS(Unified Diagnostic Service)協(xié)議進(jìn)行模糊測(cè)試發(fā)現(xiàn)了3種服務(wù)器崩潰類型.UDS協(xié)議是診斷服務(wù)的規(guī)范化標(biāo)準(zhǔn),診斷過程為:診斷儀發(fā)送診斷服務(wù)請(qǐng)求給ECU,然后ECU按照標(biāo)準(zhǔn)回復(fù)給診斷儀.Patki等人[28]也對(duì)UDS協(xié)議進(jìn)行了模糊,但是該方法只針對(duì)特定的第三方ECU,存在一定的局限性.

      4 車聯(lián)網(wǎng)模糊測(cè)試的現(xiàn)狀

      隨著車聯(lián)網(wǎng)模糊測(cè)試的發(fā)展,多種方法被提出,本節(jié)詳細(xì)分析現(xiàn)有文獻(xiàn)在模糊測(cè)試時(shí)的測(cè)試用例生成、異常信息監(jiān)測(cè)以及測(cè)試評(píng)估標(biāo)準(zhǔn)3方面所做的工作.

      4.1 測(cè)試用例生成方法

      模糊測(cè)試的本質(zhì)即使用測(cè)試數(shù)據(jù)包引起程序出錯(cuò),因此模糊測(cè)試工具的性能很大程度上取決于測(cè)試用例的生成.

      4.1.1 模糊測(cè)試的基礎(chǔ)框架

      現(xiàn)存在部分已開源的模糊測(cè)試框架,如AFL(2)https://github.com/google/AFL、Sulley(3)https://github. com/OpenRCE/sulley和beSTORM(4)https://www.capterra.com/p/107198/beSTORM/等.在已有框架上進(jìn)行擴(kuò)展,從而對(duì)車聯(lián)網(wǎng)網(wǎng)絡(luò)協(xié)議進(jìn)行模糊測(cè)試是一個(gè)合理的選擇例如,Lee等人[37]在Sulley的數(shù)據(jù)庫中加入CAN消息數(shù)據(jù)生成文件,隨機(jī)生成CAN幀并發(fā)送至CAN總線.基于beSTORM的良好擴(kuò)展性,即可用XML定義測(cè)試協(xié)議模塊,Nishimura等人[38]引入一個(gè)自定義的測(cè)試模塊,以連接beSTORM與車載控制系統(tǒng),從而可針對(duì)CAN-FD協(xié)議進(jìn)行模糊測(cè)試.此外,一些文獻(xiàn)針對(duì)協(xié)議本身提出自定義的模糊測(cè)試框架.例如,BSS通過簡(jiǎn)單改變數(shù)據(jù)包的一個(gè)字段來實(shí)現(xiàn)模糊測(cè)試.Fowler等人[34]手動(dòng)分析標(biāo)準(zhǔn)的CAN數(shù)據(jù)包后,試圖約束模糊范圍,只針對(duì)部分指定字段進(jìn)行隨機(jī)變異.但該方法降低了模糊測(cè)試的有效性,不能探索更多狀態(tài)下的CAN協(xié)議.隨后,該團(tuán)隊(duì)[35]對(duì)CAN數(shù)據(jù)字段的每一位都產(chǎn)生變異來探索車輛系統(tǒng)的缺陷.類似地,Patki等人[28]檢查UDS協(xié)議的所有組合,然后改變其字段使其無效化.以上方法均未考慮車聯(lián)網(wǎng)網(wǎng)絡(luò)協(xié)議的狀態(tài).因此BFuzz和WiFi-Fuzzer[39]宣稱會(huì)針對(duì)協(xié)議狀態(tài)進(jìn)行智能模糊,即對(duì)靜態(tài)分析時(shí)確定為易受攻擊的數(shù)據(jù)包進(jìn)行變異.但是該方法幾乎改變了數(shù)據(jù)包的每個(gè)字段.

      4.1.2 模糊測(cè)試的優(yōu)化

      模糊生成器在模糊測(cè)試的循環(huán)開始時(shí),會(huì)反復(fù)從種子池中選擇種子進(jìn)行突變,而上述方法對(duì)于種子的選擇較為隨意,未考慮測(cè)試的效率,會(huì)導(dǎo)致數(shù)據(jù)爆炸,使模糊測(cè)試效率降低.因此,不少文獻(xiàn)針對(duì)模糊測(cè)試的種子調(diào)度(即種子選擇和能量調(diào)度)進(jìn)行優(yōu)化,試圖在提高模糊測(cè)試效率的情況下,同時(shí)提高模糊測(cè)試的深度.種子的選擇會(huì)極大地影響模糊測(cè)試結(jié)果,有針對(duì)性的選擇比隨機(jī)選擇的測(cè)試結(jié)果更為完善;種子被選中后,變異的次數(shù)或模糊時(shí)間的權(quán)重均被定義為能量,調(diào)整種子能量有一定概率能減少模糊測(cè)試的成本.

      部分文獻(xiàn)提出根據(jù)可監(jiān)測(cè)的物理變量,如ECU狀態(tài)變化、日志文件等進(jìn)行分析,指導(dǎo)測(cè)試種子的選擇.可監(jiān)測(cè)的物理變量跟車內(nèi)狀態(tài)密切相關(guān),CAN協(xié)議在車內(nèi)應(yīng)用廣泛,因此大部分狀態(tài)都受CAN協(xié)議的影響,此類文獻(xiàn)大多針對(duì)CAN協(xié)議.其中,Werquin等人[36]根據(jù)目標(biāo)ECU的狀態(tài)變化指導(dǎo)測(cè)試生成器選擇不同的生成策略以縮小模糊輸入空間,同時(shí)提出名為遺漏模糊測(cè)試的方法,發(fā)送部分消息以識(shí)別導(dǎo)致特定狀態(tài)更改的消息,并對(duì)其優(yōu)先變異.McShane等人[40]分析日志文件,優(yōu)先變異與與被測(cè)協(xié)議崩潰的原因相關(guān)的特定字段.Zhang等人[41]根據(jù)相同ID的不同消息的位翻轉(zhuǎn)率BFR(Bit Flip Rate)生成有針對(duì)性的測(cè)試用例.BFR是同一個(gè)ID的不同CAN報(bào)文中的數(shù)據(jù)字段中某一位在一段時(shí)間內(nèi)發(fā)生變化的的頻率,即CAN報(bào)文的變化率.CAN報(bào)文有不同分段,不同分段的BFR值類型不同,根據(jù)BFR的值可標(biāo)記不同分段的類型,以及該分段在數(shù)據(jù)字段中的作用,從而消息生成器可針對(duì)每個(gè)分段的特征采用不同的變異策略,優(yōu)先選擇高BFR的字段進(jìn)行變異.

      部分文獻(xiàn)分析各字段對(duì)覆蓋度的影響,優(yōu)先選擇能帶來高覆蓋度的種子,并賦予其較高的種子能量.其中,Li等人[42]提出了一個(gè)針對(duì)車載以太網(wǎng)中SOME/IP協(xié)議的灰盒模糊測(cè)試框架Ori.Ori提出兩個(gè)策略:附加模糊測(cè)試和結(jié)構(gòu)突變.附加模糊測(cè)試使Ori可以并行運(yùn)行模糊測(cè)試,從而保證測(cè)試效率.結(jié)構(gòu)突變?cè)试SOri針對(duì)SOME/IP協(xié)議數(shù)據(jù)包的不同部分采用不同的變異算子(如位翻轉(zhuǎn)突變),而不是將數(shù)據(jù)包作為整體進(jìn)行變異.Ori不改變某些不能提高邏輯覆蓋的頭部字段(如協(xié)議版本、接口版本),從而可以生成能覆蓋更深層次邏輯的數(shù)據(jù)包.Frankenstein[43]是基于固件仿真的模糊測(cè)試框架,修改藍(lán)牙的固件系統(tǒng),以快速注入藍(lán)牙數(shù)據(jù)幀.輸入單個(gè)數(shù)據(jù)包或者數(shù)據(jù)包序列,并對(duì)其分別進(jìn)行變異,即可通過重新排序數(shù)據(jù)包增加代碼覆蓋率.在接受到數(shù)據(jù)幀后,重啟設(shè)備的物理狀態(tài)快照并進(jìn)行固件仿真.

      車聯(lián)網(wǎng)網(wǎng)絡(luò)協(xié)議的覆蓋度不僅僅包括傳統(tǒng)代碼覆蓋度,也有部分文獻(xiàn)結(jié)合抽象狀態(tài)模型提供的狀態(tài)覆蓋度.例如,Zuo等人[26]對(duì)RTPS協(xié)議的數(shù)據(jù)包結(jié)構(gòu)進(jìn)行建模,模擬真實(shí)的通信過程.在遍歷所有狀態(tài)的數(shù)據(jù)模型后,學(xué)習(xí)并量化相鄰狀態(tài)數(shù)據(jù)包中各個(gè)字段之間的關(guān)系,確定每個(gè)字段的變異權(quán)重.能導(dǎo)致覆蓋度提高的字段會(huì)被賦予較高的變異權(quán)重,即更容易被突變.之后根據(jù)不同的狀態(tài)選擇特定的突變.動(dòng)態(tài)變異權(quán)重避免了有限的時(shí)間成本和計(jì)算資源的浪費(fèi).

      Zhao等人[30]提出了基于FSM的模糊測(cè)試算法,該算法首先手動(dòng)生成狀態(tài)轉(zhuǎn)換的全狀態(tài)覆蓋圖并對(duì)其優(yōu)化得到模糊測(cè)試序列,從而可生成有效的異常數(shù)據(jù).該方法在藍(lán)牙協(xié)議和Wi-Fi協(xié)議應(yīng)用頗為廣泛.SweynTooth[44]根據(jù)藍(lán)牙協(xié)議的核心規(guī)范構(gòu)建了低功耗藍(lán)牙協(xié)議的狀態(tài)模型,從而保證生成格式上正確的數(shù)據(jù)包,同時(shí)其采用粒子群優(yōu)化[45]啟發(fā)式地細(xì)化每個(gè)協(xié)議層和層中的每個(gè)字段的變異概率分布,從而提高狀態(tài)覆蓋率.該團(tuán)隊(duì)之后提出了BrakTooth[46],通過編寫一組簡(jiǎn)單的規(guī)則來識(shí)別協(xié)議消息,動(dòng)態(tài)地構(gòu)建抽象的協(xié)議狀態(tài)機(jī).在模糊測(cè)試期間,數(shù)據(jù)包可以實(shí)時(shí)地映射到該狀態(tài)機(jī)中的狀態(tài)以計(jì)算狀態(tài)覆蓋率.同時(shí),BrakTooth采用動(dòng)態(tài)模糊測(cè)試,也即攔截?cái)?shù)據(jù)包,并按照規(guī)則修改或者注入數(shù)據(jù)包,從而使得模糊測(cè)試能夠到達(dá)協(xié)議的深層狀態(tài)的概率.

      GREYHOUND[47]在網(wǎng)絡(luò)接入點(diǎn)運(yùn)行,將Wi-Fi協(xié)議建模為狀態(tài)機(jī)模型,基于該模型預(yù)測(cè)數(shù)據(jù)包的狀態(tài).針對(duì)協(xié)議字段,GREYHOUND隨機(jī)選擇不同的變異算子(隨機(jī)字節(jié)、零填充和位設(shè)置)獲得變異后的數(shù)據(jù)包.隨后,根據(jù)狀態(tài)轉(zhuǎn)換次數(shù)、發(fā)現(xiàn)兩個(gè)異常之間的時(shí)間、發(fā)現(xiàn)的異常次數(shù)和迭代時(shí)間通過自定義的分代粒子群優(yōu)化算法優(yōu)化變異概率,將較高的突變概率分配給與攻擊狀態(tài)相關(guān)的協(xié)議層.

      L2Fuzz[48]首先獲得L2CAP(logical link control and adaptation protocol 邏輯鏈路控制與適配協(xié)議)的狀態(tài)轉(zhuǎn)換圖,然后針對(duì)每個(gè)L2CAP狀態(tài),將事件、功能和動(dòng)作分類,根據(jù)分類設(shè)定了針對(duì)狀態(tài)的有效命令邊界.這些命令可用于實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換或測(cè)試針對(duì)特定狀態(tài)的攻擊,以提高模糊測(cè)試的狀態(tài)覆蓋度.L2Fuzz對(duì)參考VFuzz[49]將L2CAP數(shù)據(jù)包分割成需要變異的部分和不變的需要維護(hù)的部分,通過靜態(tài)分析僅對(duì)L2CAP數(shù)據(jù)包關(guān)鍵字段進(jìn)行變異,也即負(fù)責(zé)端口和通道設(shè)置的字段,這樣可以更有效地生成測(cè)試包.

      部分文獻(xiàn)針對(duì)狀態(tài)機(jī)手動(dòng)創(chuàng)建的缺點(diǎn)——不僅要耗費(fèi)大量人力,也容易出錯(cuò),還需要不斷更新——提出了優(yōu)化措施.Tappler等人[50]提出基于主動(dòng)學(xué)習(xí)[51]的測(cè)試,即使用Mealy有限狀態(tài)機(jī)根據(jù)觀察到的數(shù)據(jù)對(duì)同一系統(tǒng)的不同行為自動(dòng)建模.隨后,Aichernig等人[52]針對(duì)MQTT協(xié)議的特點(diǎn),自動(dòng)推斷出一種通用的狀態(tài)模型,并通過隨機(jī)遍歷該模型來生成測(cè)試序列,然后將隨機(jī)生成的輸入序列通過模糊測(cè)試生成器具體化.之后,該團(tuán)隊(duì)[53]根據(jù)藍(lán)牙低功耗協(xié)議中每個(gè)BLE設(shè)備的不同行為分別自動(dòng)建模.

      4.1.3 測(cè)試用例的真實(shí)性

      此外,基于生成的模糊測(cè)試通常會(huì)對(duì)網(wǎng)絡(luò)協(xié)議結(jié)構(gòu)進(jìn)行分析,從而提高數(shù)據(jù)的可用性.例如,Kim等人[54]基于CAN結(jié)構(gòu)生成測(cè)試用例,更快地進(jìn)行測(cè)試.該文章先分析CAN報(bào)文之間的關(guān)系,定義導(dǎo)致車輛不良行為的模糊規(guī)則,然后生成并注入CAN模糊報(bào)文.同時(shí),該文章會(huì)監(jiān)測(cè)是否有無效的CAN ID、CAN字段的BFR是否超過設(shè)定門檻,有效減少了數(shù)據(jù)爆炸.通過少量的CAN消息包,即可達(dá)到暴力模糊的測(cè)試范圍.

      與基于生成的模糊測(cè)試相比,基于變異的模糊測(cè)試生成的測(cè)試數(shù)據(jù)可用性較低,與真實(shí)數(shù)據(jù)存在嚴(yán)重偏差,可能會(huì)被汽車的入侵檢測(cè)系統(tǒng)IDS(Intrusion detection system)截獲.因此,為了提高模糊數(shù)據(jù)的真實(shí)性,部分文獻(xiàn)將深度學(xué)習(xí)與模糊測(cè)試相結(jié)合.例如,McShane等人[40]從之前模糊測(cè)試運(yùn)行的數(shù)據(jù)集中手動(dòng)識(shí)別成功和失敗的測(cè)試用例,并對(duì)其進(jìn)行歸一化處理.數(shù)據(jù)預(yù)處理之后,構(gòu)建并訓(xùn)練AI模型以預(yù)測(cè)測(cè)試用例.之后將該模型集成到現(xiàn)有的模糊測(cè)試框架中,在運(yùn)行時(shí)動(dòng)態(tài)生成能通過AI模型鑒別的近乎真實(shí)的模糊數(shù)據(jù).Zhang等人[41]利用GAN(Generative Adversarial Networkd)生成符合協(xié)議規(guī)范的測(cè)試用例.GAN是一種深度學(xué)習(xí)算法,由生成器和分辨器構(gòu)成.生成器采用隨機(jī)CAN數(shù)據(jù)包作為訓(xùn)練的輸入,分辨器采用真實(shí)數(shù)據(jù)和來自生成器的模糊數(shù)據(jù)作為訓(xùn)練的數(shù)據(jù),利用分辨器對(duì)模糊數(shù)據(jù)的反饋來調(diào)整生成器和分辨器的參數(shù).最后消息生成器生成的模糊消息會(huì)逐漸接近真實(shí)數(shù)據(jù),從而符合協(xié)議規(guī)范.但是,GAN存在模型不收斂、模式崩潰、梯度消失、梯度爆炸等問題,因此該文章選擇WGAN-GP(Wasserstein GANwith gradient penalty)[55]用于改善模型.

      4.1.4 總 結(jié)

      如表5所示,車聯(lián)網(wǎng)中的模糊測(cè)試用例可通過擴(kuò)展開源軟件進(jìn)行生成,也可通過優(yōu)化模糊測(cè)試框架進(jìn)行生成,從而實(shí)現(xiàn)高效率和高覆蓋度.模糊測(cè)試的優(yōu)化主要從種子選擇和能量調(diào)度入手,根據(jù)觀測(cè)到的物理量和測(cè)試覆蓋度對(duì)種子選擇進(jìn)行排序,同時(shí)根據(jù)種子對(duì)覆蓋度的影響分配能量.考慮網(wǎng)絡(luò)協(xié)議的覆蓋度不僅僅包括代碼覆蓋度,因此也有部分文獻(xiàn)針對(duì)覆蓋度的計(jì)算,即狀態(tài)模型的建立提出優(yōu)化.

      表5 車聯(lián)網(wǎng)的模糊測(cè)試用例生成

      4.2 異常檢測(cè)手段

      車聯(lián)網(wǎng)包含總線網(wǎng)絡(luò)協(xié)議和無線通信協(xié)議,因此面臨的安全漏洞可分為兩類,一是網(wǎng)絡(luò)崩潰引發(fā)的車載系統(tǒng)故障,如,緩沖區(qū)溢出漏洞[56],分配內(nèi)存失敗,從而導(dǎo)致ECU表現(xiàn)異常;二是網(wǎng)絡(luò)通信故障,如,拒絕服務(wù)(DoS)或分布式拒絕服務(wù)(DDoS),從而導(dǎo)致網(wǎng)絡(luò)的安全屬性受到威脅.

      網(wǎng)絡(luò)崩潰引發(fā)的車載系統(tǒng)故障通常體現(xiàn)在汽車內(nèi)部組件的功能異常上.其中,Fowler等人[35]和Werquin等人[36]根據(jù)儀表板上的常見指示器(如速度指針、轉(zhuǎn)向顯示器等)的狀態(tài)變化感應(yīng)車載系統(tǒng)的故障.Zhang等人[41]實(shí)現(xiàn)了基于AdaBoost(Adaptive Boosting)[57]算法的異常監(jiān)控.AdaBoost是一種迭代算法,在每一輪中加入一個(gè)新的弱分類器,根據(jù)其分類錯(cuò)誤率確定分類器的權(quán)重,最后根據(jù)分類器的權(quán)重,組合成為一個(gè)強(qiáng)分類器.該異常監(jiān)控可以識(shí)別CAN總線中的異常狀態(tài),并且標(biāo)記異常消息,將其重播到CAN總線中以驗(yàn)證漏洞.該方法發(fā)現(xiàn)了車輛總線的漏洞,如發(fā)動(dòng)機(jī)轉(zhuǎn)速表異常、轉(zhuǎn)向燈異常、雨刷異常、指示燈異常等.SweynTooth[44]根據(jù)藍(lán)牙設(shè)備的運(yùn)行情況判斷異常,從而發(fā)現(xiàn)棧溢出和死鎖現(xiàn)象.GREYHOUND[47]通過監(jiān)控網(wǎng)絡(luò)接入點(diǎn)的狀態(tài)發(fā)現(xiàn)緩沖區(qū)溢出導(dǎo)致的系統(tǒng)崩潰.Kim等人[54]通過監(jiān)視車輛IMU傳感器的值,自動(dòng)發(fā)現(xiàn)由注入消息引發(fā)的車輛不當(dāng)行為.

      網(wǎng)絡(luò)通信故障通常根據(jù)服務(wù)器的回復(fù)或是否產(chǎn)生難以解決的通信延遲來判斷.例如,Bayer等人[27]通過ECU的回復(fù)判斷測(cè)試用例是否導(dǎo)致服務(wù)器崩潰,即發(fā)送測(cè)試用例后服務(wù)器是否回復(fù)超時(shí)、解析回復(fù)后該消息包是否有效、服務(wù)器是否持續(xù)回復(fù).Werquin等人[36]根據(jù)CAN總線故障發(fā)現(xiàn)注入的信息會(huì)導(dǎo)致觸發(fā)不完整拒絕條件,從而無需通過真實(shí)性驗(yàn)證,即CAN消息身份驗(yàn)證的漏洞.SweynTooth[44]根據(jù)每個(gè)協(xié)議狀態(tài)中的預(yù)期響應(yīng),來檢驗(yàn)外圍設(shè)備的回復(fù)是否正常,從而發(fā)現(xiàn)DoS漏洞.GREYHOUND[47]監(jiān)控Wi-Fi客戶端接收到的數(shù)據(jù)包與協(xié)議當(dāng)前狀態(tài)的預(yù)期數(shù)據(jù)包類型是否匹配,從而發(fā)現(xiàn)Dragonslayer握手[58]漏洞(EAP-PWD身份驗(yàn)證漏洞).

      L2Fuzz[48]檢查目標(biāo)設(shè)備上收到的數(shù)據(jù)包是否包含錯(cuò)誤消息,是否成功執(zhí)行Ping測(cè)試以及是否會(huì)生成故障轉(zhuǎn)儲(chǔ)來檢測(cè)是否發(fā)生故障.最后,L2Fuzz成功發(fā)現(xiàn)因?yàn)榭罩羔樢脦淼腄oS漏洞.

      如表6所示,車聯(lián)網(wǎng)的異常檢測(cè)主要針對(duì)設(shè)備、總線或服務(wù)器的回復(fù)和狀態(tài),檢測(cè)到異常后,經(jīng)過分析可分為兩類:ECU故障和通信故障(如消息驗(yàn)證漏洞、DoS漏洞).

      表6 車聯(lián)網(wǎng)的異常檢測(cè)手段與漏洞類型

      4.3 測(cè)試評(píng)估指標(biāo)

      模糊測(cè)試的一個(gè)難題是如何評(píng)估測(cè)試的有效性,即如何定義評(píng)估測(cè)試的指標(biāo).部分文獻(xiàn)通過對(duì)比相同時(shí)間發(fā)現(xiàn)的錯(cuò)誤數(shù)量或者發(fā)現(xiàn)漏洞的嚴(yán)重程度進(jìn)行驗(yàn)證.其中,Bayer等人[27]根據(jù)每分鐘生成的測(cè)試用例數(shù)、規(guī)定時(shí)間內(nèi)發(fā)現(xiàn)的服務(wù)器崩潰數(shù)以及服務(wù)器崩潰的可用比評(píng)估測(cè)試的有效性.Nishimura等人[38]根據(jù)生成一份測(cè)試用例所需的時(shí)間以及上傳規(guī)定數(shù)量的測(cè)試用例所需時(shí)間評(píng)估測(cè)試的有效性.Zhang等人[41]根據(jù)不用的模糊測(cè)試方法產(chǎn)生的相同數(shù)量的測(cè)試用例中導(dǎo)致異常消息的數(shù)量來評(píng)估測(cè)試的有效性.如表7所示,Bayer等人[27]每分鐘生成的測(cè)試用例遠(yuǎn)超過其他人,但是該測(cè)試方法不僅沒有考慮測(cè)試用例的有效性,也沒有考慮測(cè)試效率,因此實(shí)際效果并不如Nishimura等人[38]和Zhang等人[41]的測(cè)試方法.

      表7 車聯(lián)網(wǎng)模糊測(cè)試評(píng)估指標(biāo)

      灰盒模糊測(cè)試和白盒模糊測(cè)試?yán)脺y(cè)試覆蓋率來指導(dǎo)測(cè)試的優(yōu)化和停止.測(cè)試覆蓋率是對(duì)測(cè)試完成程度的度量.它通常依據(jù)某種覆蓋準(zhǔn)則來對(duì)測(cè)試用例執(zhí)行情況進(jìn)行衡量,以判斷測(cè)試執(zhí)行得是否充分.例如,Ori[42]收集運(yùn)行時(shí)開源SOME/IP協(xié)議框架中的代碼覆蓋率和運(yùn)行結(jié)束狀態(tài)用于評(píng)估測(cè)試有效性.

      因?yàn)楹诤心:郎y(cè)試的特點(diǎn)—即完全不了解被測(cè)協(xié)議的狀態(tài)、功能等內(nèi)部信息,黑盒模糊測(cè)試更為盲目,缺少覆蓋率指導(dǎo).部分文獻(xiàn)通過基于模型的測(cè)試擴(kuò)展了模糊的范圍,以獲得協(xié)議模糊測(cè)試的狀態(tài)覆蓋率.狀態(tài)覆蓋度是指測(cè)試用例生成器生成的測(cè)試用例能測(cè)試到的協(xié)議狀態(tài)數(shù)量.其中,Zuo等人[26]量化了RTPS協(xié)議所有狀態(tài)的數(shù)據(jù)模型.BrakTooth[46]將數(shù)據(jù)包動(dòng)態(tài)映射到狀態(tài)模型中以計(jì)算狀態(tài)覆蓋率.除了狀態(tài)覆蓋率,L2Fuzz[48]還設(shè)計(jì)了另一個(gè)覆蓋度指標(biāo)—突變效率,即模糊生成器可以生成的容易出錯(cuò)的測(cè)試包的數(shù)量以及被目標(biāo)拒絕的測(cè)試包的數(shù)量.

      除了覆蓋度,部分文獻(xiàn)定義了一種區(qū)分期望的正確行為和潛在的不正確行為的判斷機(jī)制(即測(cè)試oracle),用于確定測(cè)試是否通過.

      通過一致性測(cè)試預(yù)言即可檢驗(yàn)協(xié)議實(shí)現(xiàn)與協(xié)議標(biāo)準(zhǔn)的一致性程度,即發(fā)送特定數(shù)據(jù)包是否能使協(xié)議按照特定的序列轉(zhuǎn)換.例如,Zhao等人[30]將模糊測(cè)試與一致性測(cè)試結(jié)合在一起,通過檢查輸入錯(cuò)誤數(shù)據(jù)后,正常的狀態(tài)轉(zhuǎn)換能否發(fā)生,以發(fā)現(xiàn)異常情況.Tappler等人[50]通過一致性的交叉關(guān)系檢測(cè)異常,模型之間的不一致表示可能存在的錯(cuò)誤.Aichernig團(tuán)隊(duì)[52,53]通過模糊測(cè)試實(shí)現(xiàn)測(cè)試用例的具體化,執(zhí)行具體輸入后,檢查程序行為是否符合狀態(tài)模型.

      綜上,表7中列出了車聯(lián)網(wǎng)模糊測(cè)試中不同論文使用的評(píng)估指標(biāo)以及測(cè)試的結(jié)果,評(píng)估指標(biāo)主要分為4類:1)發(fā)現(xiàn)漏洞數(shù)量;2)代碼覆蓋度;3)狀態(tài)覆蓋度;4)一致性測(cè)試.

      5 展 望

      隨著車聯(lián)網(wǎng)的快速發(fā)展,其安全問題也引起了工業(yè)界和學(xué)術(shù)界的廣泛關(guān)注.結(jié)合前文所述的車聯(lián)網(wǎng)模糊測(cè)試的難點(diǎn)問題以及相關(guān)文獻(xiàn),本文提出一些針對(duì)車聯(lián)網(wǎng)模糊測(cè)試的展望.

      5.1 模糊測(cè)試的加速

      車聯(lián)網(wǎng)協(xié)議是網(wǎng)絡(luò)協(xié)議的分支,同樣需要針對(duì)網(wǎng)絡(luò)協(xié)議的狀態(tài)空間進(jìn)行模糊測(cè)試.

      但是車聯(lián)網(wǎng)協(xié)議較多,且較為復(fù)雜,需要測(cè)試者深入研究被測(cè)協(xié)議的協(xié)議規(guī)范,了解其語法和語義,同時(shí)根據(jù)協(xié)議建立狀態(tài)模型.若是手動(dòng)分析,需要大量的時(shí)間和人力.因此,實(shí)現(xiàn)協(xié)議模糊測(cè)試的自動(dòng)化分析是個(gè)亟需解決的問題.

      近年來,許多研究人員已經(jīng)著手自動(dòng)化協(xié)議分析的研究,用于降低時(shí)間成本,提高測(cè)試效率.但該方向仍存在巨大的提升空間.

      此外,部分文獻(xiàn)[42]針對(duì)某些協(xié)議不需要維護(hù)協(xié)議狀態(tài)機(jī)模型的特點(diǎn),提出并行執(zhí)行模糊測(cè)試,即在特定條件下會(huì)分裂一個(gè)或多個(gè)模糊測(cè)試器,對(duì)被測(cè)協(xié)議中的某些目標(biāo)進(jìn)行模糊測(cè)試.但該方法目前只能針對(duì)單一協(xié)議,需要擴(kuò)展該算法使其能夠兼容不同的車聯(lián)網(wǎng)協(xié)議.其次,因?yàn)樵诙嗑€程程序上執(zhí)行灰盒模糊測(cè)試會(huì)導(dǎo)致代碼覆蓋率失效,所以該算法在多線程程序上的執(zhí)行效率得不到保證.這些問題都有待解決.

      5.2 測(cè)試用例的生成與優(yōu)化

      針對(duì)車聯(lián)網(wǎng)的模糊測(cè)試,如何快速生成有效且更能觸發(fā)高覆蓋率的測(cè)試用例是一個(gè)關(guān)鍵難點(diǎn)問題.

      首先,解決測(cè)試用例的有效性是成功檢測(cè)漏洞的關(guān)鍵,有效的測(cè)試用例具有較高的通過率和異常率,即又能通過系統(tǒng)的驗(yàn)證,又能引起大量的系統(tǒng)異常.基于突變的模糊測(cè)試往往會(huì)盲目的對(duì)協(xié)議消息的字段部分進(jìn)行突變,生成的測(cè)試用例數(shù)量級(jí)十分夸張,但同時(shí)也會(huì)帶來大量無效模糊數(shù)據(jù),即不能符合協(xié)議規(guī)范的模糊數(shù)據(jù).這些無效模糊數(shù)據(jù)不能通過汽車系統(tǒng)的驗(yàn)證,在運(yùn)行早期就會(huì)被拒絕.在車聯(lián)網(wǎng)發(fā)展初期,車載系統(tǒng)的安全措施不夠,該方法仍能進(jìn)行攻擊,隨著車聯(lián)網(wǎng)安全性的不斷提高,大量無效數(shù)據(jù)只會(huì)降低測(cè)試效率,帶來不必要的時(shí)間成本.因此,有不少研究人員針對(duì)模糊測(cè)試時(shí)的種子篩選進(jìn)行優(yōu)化,有針對(duì)性地變異字段.部分文獻(xiàn)[36,40]收集日志文件或總線狀態(tài),選擇與異常高度相關(guān)地字段進(jìn)行變異.

      另一方面,基于生成的模糊測(cè)試根據(jù)網(wǎng)絡(luò)協(xié)議的特征生成測(cè)試用例.盡管測(cè)試用例可以通過驗(yàn)證,但異常率不高,很難觸發(fā)被測(cè)協(xié)議中的不安全功能.除了對(duì)協(xié)議的分析需要消耗不少人力成本,被測(cè)協(xié)議也需要執(zhí)行大量無效的測(cè)試用例.為了優(yōu)化數(shù)據(jù),現(xiàn)有文獻(xiàn)將深度學(xué)習(xí)與模糊測(cè)試相結(jié)合,但仍存在改進(jìn)的空間.Zhang等人[41]選取的WGAN-GP模型仍然存在一些不足:訓(xùn)練困難,收斂速度慢.將來,可嘗試修改模型提高測(cè)試效率.其次,該模型只針對(duì)特定的協(xié)議,缺少普適性,可以嘗試將其應(yīng)用在不同的車聯(lián)網(wǎng)協(xié)議以驗(yàn)證其有效性.

      5.3 多樣化測(cè)試評(píng)估標(biāo)準(zhǔn)

      在模糊測(cè)試中,目標(biāo)協(xié)議或程序被重復(fù)執(zhí)行,執(zhí)行人員提取狀態(tài)信息,用于改進(jìn)測(cè)試的執(zhí)行.在此過程中,存在一個(gè)關(guān)鍵問題:如何定義測(cè)試的停止標(biāo)準(zhǔn).大部分車聯(lián)網(wǎng)協(xié)議是有狀態(tài)且各狀態(tài)間存在一定轉(zhuǎn)換關(guān)系.單個(gè)協(xié)議消息的突變只能觸發(fā)較少的安全漏洞,一系列按照指定順序執(zhí)行的消息才能觸發(fā)大部分安全漏洞,導(dǎo)致協(xié)議處于異常狀態(tài).因此,部分文獻(xiàn)[30]通過FSM或圖遍歷模型將黑盒的協(xié)議測(cè)試轉(zhuǎn)換成灰盒協(xié)議測(cè)試,利用該狀態(tài)下接受的消息類型來生成消息序列,從而確定測(cè)試的進(jìn)度以及何時(shí)結(jié)束測(cè)試.但是,該方法的有效程度取決于給定的狀態(tài)模型和數(shù)據(jù)模型的有效程度,但這些模型通常都是測(cè)試人員對(duì)協(xié)議規(guī)范手動(dòng)分析得來,不僅容易出錯(cuò),還需要更新.因此,有部分文獻(xiàn)[52,53]在此基礎(chǔ)上提出自動(dòng)構(gòu)建狀態(tài)模型,并保留相關(guān)的狀態(tài)覆蓋信息用于指導(dǎo)測(cè)試用例的生成.確定停止標(biāo)準(zhǔn)后,部分文獻(xiàn)[47,48]動(dòng)態(tài)構(gòu)建狀態(tài)模型,同時(shí)結(jié)合協(xié)議的特點(diǎn)指導(dǎo)測(cè)試的進(jìn)行.但是上述評(píng)估標(biāo)準(zhǔn)種類單一,缺少更為有效的停止標(biāo)準(zhǔn).

      6 結(jié) 語

      近年來,車聯(lián)網(wǎng)的安全性要求逐漸提高,關(guān)于模糊測(cè)試在車聯(lián)網(wǎng)中的應(yīng)用也成為了研究熱點(diǎn)話題.本文從測(cè)試用例的生成、異常檢測(cè)手段和測(cè)試評(píng)估標(biāo)準(zhǔn)等方面闡述目前車聯(lián)網(wǎng)模糊測(cè)試的研究現(xiàn)狀,重點(diǎn)關(guān)注了測(cè)試用例的生成和優(yōu)化,最后,給出車聯(lián)網(wǎng)模糊測(cè)試的研究展望,為將來的研究工作指明了方向.

      猜你喜歡
      網(wǎng)絡(luò)協(xié)議測(cè)試用例數(shù)據(jù)包
      計(jì)算機(jī)網(wǎng)絡(luò)理論下的傳播研究結(jié)構(gòu)模型:Communication一詞的兩種翻譯
      基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
      SmartSniff
      一種藍(lán)牙多跳網(wǎng)絡(luò)協(xié)議的設(shè)計(jì)與研究
      電子制作(2018年17期)2018-09-28 01:56:52
      基于混合遺傳算法的回歸測(cè)試用例集最小化研究
      基于DPI技術(shù)的語音視頻流量監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      芻議局域網(wǎng)中網(wǎng)絡(luò)協(xié)議的添加與配置
      科技資訊(2015年10期)2015-06-29 18:17:23
      基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
      基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
      視覺注意的數(shù)據(jù)包優(yōu)先級(jí)排序策略研究
      澎湖县| 泽普县| 达尔| 牙克石市| 清水河县| 信丰县| 宁津县| 府谷县| 安庆市| 岐山县| 连云港市| 永泰县| 通河县| 四川省| 阜城县| 潜江市| 抚宁县| 阿鲁科尔沁旗| 辛集市| 长武县| 翁源县| 萝北县| 体育| 财经| 三明市| 博湖县| 永善县| 静海县| 文成县| 奈曼旗| 买车| 栖霞市| 磴口县| 桦南县| 宜丰县| 内黄县| 龙井市| 神农架林区| 缙云县| 陇川县| 长丰县|