錢守程 侯 丹
(北京現代汽車有限公司 北京 101300)
在智能網聯汽車的應用過程中,一旦有不法分子將相應的木馬、病毒等植入到汽車的應用程序中,便會對車輛進行非法控制。這對于道路交通的順暢運行、交通安全、駕乘人員的生命與財產安全都將造成很大程度的威脅。為有效確保智能網聯汽車的安全運行,技術人員需要對其安全測試試驗技術進行深入研究,首先需要明確智能網聯汽車主要的安全威脅,然后以此為依據,通過科學合理的技術措施來進行測試和驗證,以此來為智能網聯汽車應用中的風險規避提供足具科學性的參考。
智能網聯汽車指的是將智能汽車技術和車聯網技術進行有機結合,將當今先進的車載控制器、傳感器以及執行器等的這些裝備搭載到智能汽車上,并使其與當今的網絡技術以及通信技術相融合的一種技術形式。通過智能網聯汽車技術的應用,可以讓汽車和人、道路以及后臺等的這些智能信息實現實時、準確、全面的交換與共享,讓汽車的行駛效率得以顯著提升,同時也進一步確保汽車的安全性和舒適性。隨著智能網聯汽車在當今的應用與發展,加之相關新技術的不斷出現,智能網聯汽車將會逐漸取代人操作汽車的駕駛模式,讓自動化、智能化的無人駕駛成為可能。
智能網聯汽車中的聯網形式主要為“云-管-端”的形式,也就是從云服務到通信,再到汽車終端設備的連接。在該網絡系統中,其主要的安全管理有汽車的控制安全、汽車的數據安全以及汽車的功能安全等管理。但是因為智能網聯汽車的聯網方式十分復雜,所以在具體的應用過程中,要想使其安全問題得以有效解決,則需要應用不同形式的安全措施。首先是“云”,其安全管理是借助于目前所擁有的網絡技術來進行防火墻系統以及入侵檢測系統的部署,以此來實現云端安全的有效加固。對于車輛、應用程序以及移動終端,在通信過程中都需要進行用戶身份驗證以及密鑰管理等的這些機制設置。其次是“管”,其安全管理是通過訪問控制的加強來進行分域管理,將信息服務域和控制域隔開,防止攻擊者從信息域侵入到控制域中,確保智能網聯汽車安全;同時應加強異常網絡流量檢測、密鑰管理和身份認證等。再次是“端”,在其安全防護過程中,主要有硬件安全防護和軟件安全防護,其中,硬件安全防護主要是硬件加密以及芯片防護等的各項加密措施;軟件防護主要是對終端的應用程序進行加密或者是安全啟動等,同時也會將車聯網絡安全監測開啟[1]。
在借助于“云-管-端”的形式進行智能網聯汽車安全防護的過程中,需要對其實際的運行情況、通信情況以及服務情況等各個方面的業務需求進行全面分析,并借助于傳統形式的汽車測試以及信息安全測試來獲取相應的測試結果,再結合整體系統對智能網聯汽車中的各個系統部件功能進行全面的分析。通過具體的分析可知,在智能網聯汽車的具體應用中,主要有七個方面很容易被惡意攻擊,第一是網絡構架;第二是電子控制單元(ECU);第三是車載信息娛樂系統(IVI);第四是車載網系統(T-BOX);第五是手機APP;第六是無線通信;第七是云平臺(TSP),具體情況如下:
在智能網聯汽車中,網絡構架的主要組成部分有控制器局域網、局域互聯網以及汽車網關等。就目前來看,其通信協議一般為LIN總線以及CAN總線,兩者都屬于開放形式的標準協議,安全漏洞比較多,很容易遭到黑客攻擊。通常情況下,黑客主要通過以下三種形式來實施攻擊,第一是將模擬數據信號發送到車內總線,欺騙駕駛員進行誤操作;第二是將非法偽造數據幀發送給脆弱的CAN總線,以此來對總線數據進行竊聽、篡改和重放等非法操作;第三是在遠程診斷過程中借助于相應的安全漏洞在IVI或T-BOX等的設備中植入后門,以此來進行車輛的非法控制。
在汽車內的各個系統通信中,汽車網關具有核心作用,但是網關代碼中的安全漏洞幾乎無法避免,攻擊者可借助于網關自身的可信度,對總線上連接的ECU實施攻擊。另外,攻擊者也可以借助于CAN總線或車載形式的以太網安全漏洞來實施網關攻擊,進而引發相關指令被偽造甚至網關被篡改等的安全問題。
在每一輛智能網聯汽車中,通常都進行幾十甚至上百個ECU設置,其主要用途是運算、判斷和處理來自各個傳感器中的信息,然后將相關指令輸出。具體應用中,各個ECU會連接成為一個網絡,然后借助于這個網絡來進行通信。
在此過程中,攻擊者可以借助于ECU中的固件代碼對其通信過程中的信息實時偽造和篡改等操作。通常情況下,ECU攻擊主要按前門、后門以及漏洞等的攻擊形式來進行劃分。前門攻擊指的是攻擊者逆向分析原來的編程,對原制造商訪問機制進行劫持,再對汽車中的車載診斷系統重新進行編程,以此來實施攻擊。后門攻擊指的是攻擊者通過調試ECU硬件內的后門漏洞來控制各類的汽車指令[2]。漏洞攻擊指的是攻擊者借助于系統代碼內的溢出與緩沖對非預期輸入進行偽造,進而將安全漏洞觸發,讓ECU對惡意代碼予以執行,以此來實現汽車功能的控制。
IVI主要包括GIS導航、收音機、語音識別、影音娛樂、WiFi以及藍牙等的各種智能化多媒體組件,這些組件主要集成在汽車內的中控臺。IVI具有較高的集成度和較多的附屬功能,所以攻擊者可借助于其中的全部接口進行攻擊。IVI攻擊可按照軟件與硬件兩種攻擊形式來進行劃分,其中,軟件攻擊指的是攻擊者借助于升級軟件的形式獲得可以訪問系統的權限,然后進入目標系統,實施攻擊。硬件攻擊指的是攻擊者對IVI中的主板、芯片、接口、引腳以及各種標識等的方式來分析IVI中的各個零部件,提取其中的固定信息,并對其進行逆向分析,這樣便可實現IVI中關鍵信息的獲取,對其中的隱藏漏洞進行挖掘,然后通過這些隱藏漏洞實施攻擊。
車載網系統(T-BOX)主要借助于GIS定位、射頻識別、各種傳感器、攝像頭以及圖片處理等的各種電子元件來實現手機APP或后臺云端之間的通信,這樣就可以將汽車的信息充分顯示在手機APP上,并通過手機APP進行汽車控制。
攻擊者通過對T-BOX所進行的逆向分析,便可實現相應的加密算法及其密鑰的獲取,然后進行信息協議的解密處理,以此來實現用戶隱私的竊聽以及控制指令的偽造。同時,攻擊者也可以從T-BOX調試端口入侵到系統中,對系統中的敏感信息進行讀取,以此來實施系統攻擊。
在智能網聯汽車的應用中,用戶可直接借助于手機APP實現汽車啟動、停止、空調開關以及車門開關等各項功能的遠程控制。但是由于手機APP具有公開性,攻擊者也可以隨意進行下載和安裝,并偽造相應的信息,然后借助于車聯網中的遠程控制功能進行車輛控制,并對駕駛員造成誤導。另外,借助于手機APP中的固件,攻擊者也可以對TSP中的參數、接口以及請求內容等的各項信息進行逆向分析,將IVI以及T-BOX中的安全漏洞與之相結合,通過對車聯網中的關鍵部件攻擊來影響汽車的安全行駛。
在智能網聯汽車中,無線通信的主要有Wifi通信、蜂窩通信、以蜂窩移動通信為基礎的汽車和外界事物通信(LTE-V2X)以及藍牙通信等。在Wifi通信環境下,攻擊者可破解Wifi認證口令,與汽車內部網絡建立連接,以此來竊取汽車隱私數據與敏感信息,同時也可以與其他的各種系統漏洞相結合來進行組合形式的汽車測試攻擊。在蜂窩通信環境下,攻擊者可進行偽基站的建立,然后借助于DNS劫持等的方法來監聽和劫持T-BOX中的通信數據,以此來破解通信協議,并對汽車敏感數據進行竊取。在LTE-V2X通信環境下,攻擊者會通過汽車和汽車之間的通信節點來實施入侵,并對汽車和汽車之間的通信進行篡改、偽造和阻斷,也可以借助于過期的指令等來實施攻擊,對汽車和汽車之間的實時通信造成影響,降低其可靠性與真實性。
在智能網聯汽車與手機APP這兩者之間,TSP就相當于一個通信跳板,同時,TSP也在汽車與服務商這兩者之間具有非常重要的作用,它的主要用途是將內容服務以及流量轉發服務提供給智能網聯汽車以及手機客戶端。但是TSP也具有一定的安全漏洞,比如數據庫漏洞、Web漏洞等,借助于這些安全漏洞,攻擊者便可對汽車的敏感信息進行竊取,以此來實施攻擊。
在對智能網聯汽車進行安全測試的過程中,將上述安全威脅的具體分析作為依據,借助于Hack RF+Gqrx、Wireshark、Burp Suite+exus5、Nmap、AUTO-X、CAN-PICK等的這些測試工具,并將其與中間人欺騙、SQL注入、模糊測試、暴力破解、應用程序接口(API)攻擊、協議破解、DOS攻擊以及滲透測試等的各種攻擊技術相結合,初步設計出一套具全面系統形式的智能網聯汽車安全測試法[3]。以下是智能網聯車安全測試方法的測試流程示意圖:

圖1:智能網聯車安全測試方法的測試流程示意圖
具體測試過程中,其主要的測試項目如下:
(1)網絡架構安全測試:第一是總線分析,其主要的測試方法包括重放攻擊、模糊測試以及暴力破解;第二是網關安全測試,其主要的測試方法包括數據存儲以及數據傳輸測試;第三是以太網測試,其主要的測試方法包括硬件加密測試和壓力測試。
(2)IVI安全測試:第一是硬件安全測試,其主要的測試方法包括CD/USB安全測試、硬件加密測試、固件提取測試、存儲芯片測試以及測試接口測試;第二是操作系統安全測試,其主要的測試方法包括第三方APP越權安裝測試、敏感行為分析、弱口令測試、權限提升測試、敏感日志測試以及內核漏洞測試;第三是應用軟件安全測試,其主要的測試方法包括弱加密風險測試、證書有效性測試、安全協議測試以及加密通信測試;第四是服務器安全測試,其主要測試方法是對服務器和云平臺進行安全測試;第五是業務安全測試,其主要的測試方法包括短信重放攻擊測試、越權操作測試、驗證碼安全測試、邏輯漏洞測試、暴力破解以及CSRF/XSS/SQL注入等的測試。
(3)ECU安全測試:第一是硬件安全測試,其主要的測試方法包括硬件加密測試、固件提取測試、存儲設備測試以及調試接口測試;第二是軟件安全測試,其主要的測試方法包括加密算法破解測試、敏感信息泄露測試以及固件解密測試;第三是通信安全測試,其主要的測試方法包括服務掃描測試、數據欺騙測試、數據篡改測試以及身份認證測試。
(4)T-BOX安全測試:第一是硬件安全測試,其主要的測試方法包括硬件加密測試、固件提取測試以及調試接測試;第二是軟件安全測試,其主要的測試方法包括加密算法破解測試、固件破解測試以及固件加密測試;第三是設備通信安全測試,其主要的測試方法包括簽名認證測試、端口掃描測試、拒絕服務攻擊測試以及安全OTA測試;第四是數據安全測試,其主要的測試方法包括數據加密測試和敏感信息泄露測試。
(5)APP安全測試:第一是客戶端程序安全測試,其主要的測試方法包括應用完整性校驗、反調試保護測試、反編譯保護測試、加固測試以及安裝包簽名測試;第二是敏感信息安全測試,其主要的測試方法包括軟鍵盤挾持測試、Logcat敏感日志測試、弱加密風險測試以及本地數據文件測試;第三是通信安全測試,其主要的測試方法包括服務掃描測試、數據欺騙測試、數據篡改測試以及身份認證測試。
(6)無線電測試:第一是藍牙安全測試,其主要的測試方法包括藍牙地址欺騙測試、藍牙劫持測試以及配對模式測試;第二是密鑰安全測試,其主要的測試方法包括加密算法破解測試以及錄制回放測試;第三是Wifi安全測試,其主要的測試方法包括欺詐AP測試以及WPA/WEP密鑰破解測試;第三是TPMS安全測試,其主要的測試方法包括信號篡改測試、重放攻擊測試以及信號屏蔽測試;第四是GPS安全測試,其主要的測試方法包括GPS欺騙測試和GPS干擾測試。
(7)TSP安全測試:第一是前端安全測試,其主要的測試方法包括CSRF漏洞測試和XSS漏洞測試;第二是后端安全測試,其主要的測試方法包括SSRF漏洞測試、邏輯漏洞測試以及命令執行漏洞測試;第三是數據庫安全測試,其主要的測試方法包括弱口令測試以及SQL注入漏洞測試;第四是中間件安全測試,其主要的測試方法包括漏洞解析測試以及命令執行漏洞測試;第五是服務器安全測試,其主要的測試方法包括弱口令漏洞測試、提權漏洞測試以及端口暴露測試。
為了對上述測試方法進行可信性與合理性的進一步試驗,特通過該方法對某智能網聯汽車中容易被攻擊的七個系統進行試驗。通過試驗發現,該智能網聯汽車中有六個安全漏洞,其中的四個是高危漏洞,其一是車載娛樂系統存在越權訪問方面的漏洞;其二是總線存在拒絕服務攻擊方面的漏洞;其三是微信小程序存在中間人劫持和證書校驗方面的漏洞;第四是微信小程序中的身份認證存在越權攻擊方面的漏洞。另外的兩個是中危漏洞,第一是危險小程序中的數據傳輸存在加密方面的漏洞;第二是車載娛樂系統存在隱私泄露方面的漏洞。
在進一步試驗中,利用這些安全漏洞來實施攻擊,以此來判斷攻擊者將會對智能網聯汽車中各個系統的具體控制程度。
首先是通過滲透車機的形式對車機權限進行獲取,并使之與DoS攻擊相結合,便可控制汽車中的各種功能,也就是利用車載娛樂系統中的越權訪問這一漏洞以及總線中的拒絕服務攻擊這一漏洞,便可實時對汽車的安全攻擊。在此過程中,攻擊者可以借助于網絡調試端口存在的缺陷、藍牙或者是Wifi等方式滲透進車機內部,然后以Root的身份獲取車機權限,再通過CAN總線進行高級數據幀的高頻優先發送,這樣便可讓汽車的轉速、儀表盤以及輔助駕駛系統等發生故障,進而造成嚴重的安全事故[4]。
其次是通過中間人劫持的方式來進行漏洞攻擊,用微信小程序對汽車實施遠程控制,也就是通過中間人劫持以及微信小程序中的證書校驗漏洞來實施攻擊,因為微信小程序和服務器之間所進行的通信校驗不是雙向證書,攻擊者可通過DNS欺騙和代理偽造等的方式實現正常用戶請求的獲取,將信息偽造和篡改之后發送到服務器,這樣便可登錄到小程序中,實施對汽車的遠程控制。
在完成了測試試驗之后,需要對具體的測試試驗報告詳細撰寫,然后將其提交給樣車開發單位,為相應漏洞的整改提供更加科學、合理、可靠、可行的參考依據。通過這樣的方式,便可讓智能網聯汽車中存在的安全漏洞得到及時整改,盡最大限度確保智能網聯汽車的安全性。
綜上,在對智能網聯汽車進行安全測試試驗的過程中,技術人員需要全面分析其容易被攻擊的系統與攻擊方法,然后以此為依據,通過先進的技術措施進行試驗驗證。這樣才可以及時發現其中漏洞,使其得到及時整改,進而有效保障智能網聯汽車的應用安全。