于明明,寧玉橋,劉天宇,郭振
(中汽數(shù)據(jù)(天津)有限公司,天津 300380)
車聯(lián)網(wǎng)是一種典型的復雜網(wǎng)絡(luò)系統(tǒng)[1],它是以車內(nèi)網(wǎng)、車際網(wǎng)、車載移動互聯(lián)網(wǎng)等多種新一代信息通信技術(shù)為基礎(chǔ),根據(jù)提前約定的通信協(xié)議以及數(shù)據(jù)交互標準,實現(xiàn)物理空間中的車與X(人、車、路、云端等)全方位的網(wǎng)絡(luò)連接以及數(shù)據(jù)交互的大系統(tǒng)網(wǎng)絡(luò),能夠為智慧交通、信息通信等多行業(yè)融合協(xié)作提供綜合信息服務(wù)。
智能網(wǎng)聯(lián)汽車作為車聯(lián)網(wǎng)快速發(fā)展的產(chǎn)物,不再是一個單獨的機械個體,車上搭載的聯(lián)網(wǎng)部件日益增多,與外部鏈接的接口不斷增加。各大主流汽車制造商為了進一步適應市場需求,給消費者提供更加智能化、便捷性的服務(wù),對車輛與個人設(shè)備進行更多的整合,推出了各種定制化的車聯(lián)網(wǎng)移動APP,使消費者可以對汽車進行遠程控制,例如遠程啟動車輛、開啟空調(diào)等功能也成為智能網(wǎng)聯(lián)汽車的一大賣點。
車主通過對移動APP進行操作,使用Wi-Fi或者蜂窩網(wǎng)絡(luò)(3G/4G/5G等)發(fā)送遠程控制指令到TSP服務(wù)器,TSP服務(wù)器與T-Box進行交互,實現(xiàn)對汽車的遠程控制等功能,例如遠程開啟空調(diào)、車輛預熱等。
移動APP作為車聯(lián)網(wǎng)重要組成之一,在給用戶帶來便利、快捷的同時,因為其應用廣泛而且易于獲取的特點,逐漸成為黑客重要的攻擊入口。
一方面,由于移動應用開發(fā)成本低和Android本身系統(tǒng)生態(tài)開源等特點,移動應用逆向新技術(shù)和新方法不斷涌現(xiàn)。攻擊者可以很容易通過反編譯或者動態(tài)調(diào)試的方式對應用程序包進行破解,從而獲取通信密鑰、對通信協(xié)議進行分析等,并結(jié)合車聯(lián)網(wǎng)的遠程控制功能,進一步通過劫持、偽造篡改汽車遠程控制指令或者重放攻擊,從而達到干擾用戶正常使用和操控汽車的目的。與此同時,車聯(lián)網(wǎng)移動APP作為跳板,攻擊者通過對WiFi/藍牙等無線通信方式進行攻擊進一步滲透到智能汽車內(nèi)部,從而對車聯(lián)網(wǎng)控制關(guān)鍵部件進行滲透攻擊。
2016年來自挪威安全公司Promon的專家通過對用戶手機進行入侵,竊取到特斯拉APP賬戶用戶名和密碼,通過登錄特斯拉車聯(lián)網(wǎng)服務(wù)平臺可以實現(xiàn)對車輛的遠程控制,例如:解鎖車門、啟動引擎、車輛位置查詢、追蹤等。最終導致車輛被盜,給用戶造成嚴重的財產(chǎn)損失[2]。
2020年8月,國內(nèi)某特斯拉車主爆料,在使用特斯拉APP時,操控自己汽車時,突然發(fā)現(xiàn)APP中無法找到自己綁定的車輛,意外出現(xiàn)其他五輛特斯拉車型,通過車載定位后發(fā)現(xiàn)所有車型均位于歐洲。此外,車主通過使用特斯拉APP內(nèi)的遠程控制功能,可以實現(xiàn)啟動引擎、解鎖車門、開啟空調(diào)等操作。
隨著汽車網(wǎng)聯(lián)化和智能化程度的不斷提高,如何解決車聯(lián)網(wǎng)移動APP愈發(fā)凸顯的便捷性與安全性之間的矛盾尤為重要。
通過對當前智能網(wǎng)聯(lián)汽車移動APP的安全現(xiàn)狀進行深入研究與分析,發(fā)現(xiàn)車聯(lián)網(wǎng)移動APP的安全威脅主要來自以下4個方面,分別為客戶端安全、數(shù)據(jù)安全、通信安全、業(yè)務(wù)安全,具體如圖1所示。
圖1 車聯(lián)網(wǎng)移動APP主要安全威脅
客戶端安全威脅主要包括配置安全、組件安全和代碼安全。配置安全是指移動APP在正式發(fā)布前沒有將Debug屬性、allowbackup屬性設(shè)置為false,造成移動APP存在調(diào)試風險、任意備份風險;組件安全是指APP在發(fā)布前沒有對activity、service、content provider、broadcast receiver組件的exported屬性進行合理設(shè)置,造成組件暴露風險;代碼安全是指移動APP在發(fā)布前沒有進行代碼混淆和加固,攻擊者利用dex2jar、Jadx、apktool等反編譯工具,很容易就能獲取到APP的源碼,主要存在簽名校驗風險、Dex文件反編譯風險、so文件反編譯風險。
車聯(lián)網(wǎng)移動APP在使用的過程中,會在車主手機中存儲用戶信息,如開發(fā)者安全意識薄弱沒有對用戶的隱私信息進行加密處理,而是直接通過明文的方式存儲于車主手機中,黑客只需要用戶手機進行ROOT,理論上可以竊取用戶的全部個人信息。此外,通過adb或者monitor查看實時打印日志,如果日志的輸出沒有做好等級控制,則存在敏感信息(用戶名、密碼等)泄露的風險。另外,為了保證數(shù)據(jù)的隱私和機密性往往對數(shù)據(jù)進行加密處理,密鑰的安全存儲至關(guān)重要,如果密鑰被泄露,加密數(shù)據(jù)的安全性將蕩然無存。數(shù)據(jù)安全面臨的安全風險主要包括Shared Preference數(shù)據(jù)明文存儲風險、SQLite數(shù)據(jù)明文存儲風險、Logcat日志數(shù)據(jù)泄露風險和硬編碼風險。
車聯(lián)網(wǎng)移動APP與TSP進行通信的過程中,大量用戶隱私信息被傳遞,如果數(shù)據(jù)傳輸過程中沒有對關(guān)鍵數(shù)據(jù)流量進行加密處理,則容易造成車輛或者用戶隱私信息的泄露。此外,V2X通信過程中會傳遞大量的汽車遠程控制信息,如車-人通信過程中用戶通過車聯(lián)網(wǎng)移動APP遠程操控汽車,在此過程中如果未對通信雙方身份進行認證,攻擊者可以對通信報文進行劫持和篡改,對偽造的通信報文進行重放攻擊[3],以達到操縱車輛的目的,對駕駛員的生命安全造成嚴重威脅。另外,攻擊者可以通過對車輛進行大量的重復試驗,以此獲得通信協(xié)議的相關(guān)先驗知識,進而通過偽造汽車遠程控制報文的方式對車輛發(fā)起攻擊[4]。通信安全威脅主要包括不安全的通信協(xié)議、不安全的身份驗證、關(guān)鍵數(shù)據(jù)未加密等。
此部分安全風險主要是指開發(fā)者沒有嚴格地按照移動應用開發(fā)準則進行開發(fā),對車聯(lián)網(wǎng)移動APP的業(yè)務(wù)邏輯、功能模塊處理不當,主要包含身份鑒別風險,例如任意用戶登錄風險、登錄密碼爆破風險、賬號注銷安全風險等;驗證碼機制風險,例如:驗證碼爆破風險、驗證碼回顯風險、驗證碼無限發(fā)送風險等;支付機制風險,例如支付金額篡改風險、商品數(shù)量篡改風險;遠程控制風險,例如汽車控制指令篡改風險、汽車控制指令重放風險;通用型Web漏洞風險,例如SQL注入漏洞、XSS漏洞、越權(quán)訪問等。
車聯(lián)網(wǎng)移動APP作為與汽車交互的主要入口之一,如果車聯(lián)網(wǎng)移動APP出現(xiàn)信息安全問題,將會給汽車造成難以估量的安全威脅,如何保證車聯(lián)網(wǎng)移動APP產(chǎn)品的信息安全至關(guān)重要。通過對當前車聯(lián)網(wǎng)移動APP的安全現(xiàn)狀進行了深入研究:針對市場上已經(jīng)發(fā)布的、活躍度較高的40款車聯(lián)網(wǎng)APP(Android版)綜合運用滲透測試、逆向分析等方式,分別從客戶端安全、數(shù)據(jù)安全、通信安全、業(yè)務(wù)安全等4個方面對客戶端軟件及通信鏈路安全性進行全方位深層次的安全測試,最后對測試結(jié)果進行歸納統(tǒng)計與分析,評估當前汽車行業(yè)車聯(lián)網(wǎng)移動APP的信息安全水平。
如圖2所示,從安全漏洞數(shù)量來看,40款車聯(lián)網(wǎng)移動APP都存在不同數(shù)量的安全漏洞,平均每款APP含有的安全漏洞數(shù)量為3.3個,APP_21出現(xiàn)的安全漏洞數(shù)量更是達到10個。
圖2 APP安全漏洞數(shù)量統(tǒng)計
2.2 安全漏洞類型數(shù)量統(tǒng)計
如圖3和圖4所示,任意備份漏洞、敏感信息明文存儲、短信重放攻擊3種安全漏洞類型出現(xiàn)的次數(shù)較多。其中,任意備份安全漏洞出現(xiàn)次數(shù)最多,達到22次,占比高達16.3%。
圖3 不同安全漏洞類型出現(xiàn)次數(shù)統(tǒng)計
圖4 不同安全漏洞類型出現(xiàn)次數(shù)占比統(tǒng)計
按照漏洞的利用方式、影響范圍、攻擊后果等情況,可以將漏洞分為低危、中危、高危、嚴重共4種危害等級。對40款移動APP安全漏洞的危害等級統(tǒng)計結(jié)果如圖5所示。總體安全漏洞類型以中危、低危為主,其中低危漏洞出現(xiàn)的次數(shù)最多,達到59次,占比43.7%;中危漏洞出現(xiàn)的次數(shù)次之,為58次,占比43.0%;高危漏洞出現(xiàn)次數(shù)為17次,占比12.6%;嚴重漏洞出現(xiàn)次數(shù)最少,為1次,占比0.7%。
圖5 不同危害等級安全漏洞數(shù)量及出現(xiàn)次數(shù)占比統(tǒng)計
APP進行安全加固可有效阻止反匯編分析,防止被破解、二次打包、惡意篡改等,是維護APP安全的重要防護手段。如表1所示,40款網(wǎng)聯(lián)汽車APP中,有七成左右的APP進行了安全加固處理,仍有近三成的APP未進行安全加固。
表1 加固方式統(tǒng)計
通過對以上測試結(jié)果的分析發(fā)現(xiàn),每款車聯(lián)網(wǎng)移動APP都存在不同程度的安全問題。安全水平參差不齊,每款移動APP存在的安全漏洞數(shù)量、類型不同,危害程度也不盡相同,主要以中低危安全漏洞為主。此外,仍有10款APP未做加固防護處理。汽車行業(yè)車聯(lián)網(wǎng)移動APP安全現(xiàn)狀整體令人擔憂。
隨著車聯(lián)網(wǎng)進程的不斷推進,智能網(wǎng)聯(lián)汽車將持續(xù)向網(wǎng)聯(lián)化和智能化互融協(xié)同發(fā)展,車聯(lián)網(wǎng)移動APP作為其外部生態(tài)重要的接入點之一,未來應用場景越來越廣泛,隨著黑客攻擊手段不斷更新,面臨著越發(fā)嚴峻的安全威脅。搭建全方位、多層次縱深防御的安全防護體系,保證車聯(lián)網(wǎng)移動APP的安全性尤為重要。
如圖6所示,從客戶端安全、數(shù)據(jù)安全、通信安全、業(yè)務(wù)安全等4個方面對車聯(lián)網(wǎng)移動APP進行安全防護,以提高車聯(lián)網(wǎng)移動APP的信息安全水平。
圖6 車聯(lián)網(wǎng)移動APP安全防護
移動應用往往基于通用架構(gòu)進行開發(fā)設(shè)計,安全逆向技術(shù)成熟,常成為攻擊者進行協(xié)議分析和發(fā)起網(wǎng)絡(luò)攻擊的突破口。在應用正式發(fā)布之前,對主配文件Android Manifest.xml進行合理地配置,關(guān)閉Debuggable、allowBackup屬性,同時關(guān)閉不需要與外界進行數(shù)據(jù)交互組件的exported屬性,防止因為不合理地配置,造成移動應用安全風險。同時,與國內(nèi)外專業(yè)安全公司開展合作,通過代碼混淆、字符串加密、變量名數(shù)字化、反調(diào)試等方式對車聯(lián)網(wǎng)移動APP進行安全加固,防止移動應用被惡意破解、二次打包、逆向分析等。此外,在應用發(fā)布之前,邀請安全團隊對車聯(lián)網(wǎng)移動APP開展安全滲透測試,尋找漏洞并進行修復,借助安全廠商的力量提升車聯(lián)網(wǎng)移動APP的安全。
車聯(lián)網(wǎng)環(huán)境中的車輛不再是一個獨立的機械個體,而是借助各種通信手段和對外接口實現(xiàn)與外部終端進行數(shù)據(jù)交互。因此保證車聯(lián)網(wǎng)移動APP自身安全以及提供安全可靠的對外通信策略對車輛與外部終端的連接和通信安全至關(guān)重要。
在車聯(lián)網(wǎng)移動APP與TSP服務(wù)平臺通信的過程中,使用HTTPS的安全通信協(xié)議,增加攻擊者竊聽破解的難度,同時使用基于公鑰架構(gòu)(Public Key Infrastructure,PKI)[5]的身份認證機制在每次通信時對車聯(lián)網(wǎng)移動APP與TSP服務(wù)平臺進行雙向認證,保證通信雙方的合法性。此外,在通信的過程中對關(guān)鍵數(shù)據(jù)流量進行加密處理,防止中間人攻擊和重放攻擊。
車聯(lián)網(wǎng)移動APP在使用的過程中,會在本地手機端存儲部分用戶敏感信息,例如手機號、登錄密碼、車輛Vin碼等。采用加密的方式對移動端的文件、數(shù)據(jù)庫等多種格式數(shù)據(jù)內(nèi)容進行安全存儲,以免數(shù)據(jù)在移動終端存儲不當造成數(shù)據(jù)泄露。同時,防止密鑰被泄露,避免將密鑰硬編碼到代碼中,采用密鑰分散技術(shù)和白盒密鑰加密技術(shù),提高密鑰的安全性。
開發(fā)者應遵循移動應用的安全開發(fā)流程以及安全開發(fā)規(guī)范,將安全意識融入到軟件開發(fā)生命周期的每個階段。同時,開發(fā)人員應積極參加軟件安全開發(fā)生命周期(S-SDLC)[6-7]培訓,強化開發(fā)者的安全開發(fā)意識,嚴格按照安全開發(fā)規(guī)范進行開發(fā)。
文中首先分析了車聯(lián)網(wǎng)體系中車聯(lián)網(wǎng)移動APP所面臨的安全威脅。然后對40款車聯(lián)網(wǎng)移動APP進行全方位的信息安全測試,對測試結(jié)果進行分析與總結(jié),評估當前汽車行業(yè)車聯(lián)網(wǎng)移動APP的信息安全水平。最后給出了車聯(lián)網(wǎng)移動APP的安全防護策略。