摘要: 隨著智能手機逐步演變成人們通信、信息交互、金融交易以及娛樂的中心,智能手機的安全問題也越來越多地引起人們的關(guān)注。以往在PC機上遇到的病毒、拒絕服務(wù)等問題也在智能手機上頻現(xiàn)。現(xiàn)有的專用硬件和多核結(jié)構(gòu)方案在智能手機的安全通信方面存在一定的缺陷。在此提出了一個虛擬化技術(shù)應(yīng)對方案,通過對硬件資源虛擬化,并把虛擬資源按需要隔離成安全可靠的分區(qū)用以運行不同的應(yīng)用。其中一個隔離分區(qū)專門用來解決智能手機在通信安全方面面臨的挑戰(zhàn)。
關(guān)鍵詞: 智能手機; 虛擬化技術(shù); 移動終端; 通信安全
中圖分類號: TN911?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2013)06?0076?03
0 引 言
迅速發(fā)展并日益普及的智能手機逐漸演變成了消費者移動通信,信息交互,金融交易和娛樂的中心。然而,隨著智能手機的功能越來越變得接近普通計算機或數(shù)據(jù)中心計算機,智能手機的安全性也同樣遭受到類似常用計算機遇到的麻煩,表現(xiàn)在:
脆弱性:由于數(shù)百萬行的應(yīng)用代碼,未經(jīng)嚴(yán)格的可靠性驗證,智能手機容易受到病毒、窺探、特洛伊木馬以及其他惡意軟件的困擾。
軟件缺陷:運行在智能手機上的OS不可避免地存在某些缺陷。由于未發(fā)現(xiàn)缺陷的存在,而使智能手機不斷受到外界的攻擊。支持標(biāo)準(zhǔn)應(yīng)用開發(fā)的開放OS(如RimOS, WindowsPhone)、開放資源的OS(如Android,Linux)以及運行在智能手機上的應(yīng)用在安全方面差異很大。
外來攻擊:運行在智能手機上的應(yīng)用,包括通信客戶端,可能在系統(tǒng)層和進(jìn)程級受到拒絕服務(wù)(DoS)攻擊。尤其是人們所關(guān)注的語音、文本消息、以及其他數(shù)據(jù)流可能會遭到竊聽。另外未經(jīng)授權(quán)一方可能中斷重要的通信,偽造參與者的身份和內(nèi)容。
在PC領(lǐng)域里,頻繁的緊急安全升級和打補丁,對于移動智能手機是難以接受的,這樣的安全方法會阻止智能手機的發(fā)展。因此,安全必須從智能手機生存周期中的設(shè)計階段開始。在理想情況下,智能手機的體系結(jié)構(gòu)應(yīng)該立足于現(xiàn)有的手持設(shè)備和平板電腦,部署現(xiàn)成的軟件平臺和應(yīng)用,運行Android或Linux操作系統(tǒng)。設(shè)備要能支持常規(guī)通信(語音、文本、社交網(wǎng)絡(luò)等)和普通的聊天服務(wù),也要能在類似設(shè)備或基礎(chǔ)設(shè)施之間進(jìn)行信息安全交換。但是,這樣的要求很難滿足。首先就是安全通信涉及到常規(guī)應(yīng)用,包括3G語音、VoIP、短消息、多媒體消息服務(wù)(SMS/MMS)和視頻等,而運行在安全環(huán)境中的客戶端應(yīng)擁有加密數(shù)據(jù)流的功能;其次,需要開放網(wǎng)絡(luò)。利用無處不在的3G,WiFi和其他網(wǎng)絡(luò)實現(xiàn)安全通信。而GPRS,CDMA,802.11等自有的安全體系不足以支持安全和驗證系統(tǒng)需要,因為已經(jīng)驗證了它們對嗅探、誘騙是脆弱的。還有,開放軟件也是必要的。智能手機越來越多地運行開放OS或開放資源的OS,如Android, Linux等。安全通信移動設(shè)備開發(fā)人員通常不會替換這些平臺,而是用安全、驗證過的軟件擴充或封裝它們。
1 解決途徑
智能手機在無線領(lǐng)域僅僅是個漫游代理,每一數(shù)碼位的安全都很重要。安全必須借助于清晰地分區(qū)和隔離實現(xiàn)。隔離可以保證如果一部分受到威脅,其余部分仍然安全。此外,可靠的隔離能使安全檢查從系統(tǒng)層展開。因此,智能手機的功能必須設(shè)有防火墻,就像IT網(wǎng)絡(luò)和局域網(wǎng)一樣設(shè)有防火墻。目前的解決途徑有:
(1)專用硬件。最可靠、最安全的方法就是隔離軟件在不同的硬件上運行程序。移動芯片組設(shè)有協(xié)處理器,用以加速圖形、視頻、音頻、甚至加密等功能。然而,這些專用協(xié)處理器通常被配置成從屬外圍設(shè)備,沒有為整個通信協(xié)議棧、語音和消息客戶端的運行提供足夠的支持環(huán)境。理論上,多個資源可以集成到一個硬件卡上,但是缺乏與不安全的設(shè)備發(fā)送和接收安全數(shù)據(jù)流的有效手段。
(2)多核結(jié)構(gòu)。目前,高端智能手機和下一代智能手機的設(shè)計越來越多地以兩個或更多的ARM處理器核作為多核應(yīng)用處理器。理論上,一個或多個處理器專門用于安全移動通信,提供了強有力的與開放OS和開放應(yīng)用環(huán)境的隔離。多數(shù)情況下,使用一個CPU核作為移動通信安全處理,因為安全處理會降低整個設(shè)備性能。而且,即使用一個專用CPU核運行安全通信處理,但共享物理內(nèi)存仍然會受到來自運行開放應(yīng)用OS核的攻擊。
(3)虛擬化結(jié)構(gòu)。構(gòu)建安全移動平臺的一個全面而簡單的途徑就是引入移動虛擬化技術(shù)。虛擬化能在單處理器上運行多個OS環(huán)境,每個應(yīng)用環(huán)境在專門的分區(qū)中被彼此隔離,并且為通信安全考慮,專設(shè)一個安全應(yīng)用分區(qū),如圖1所示。物理資源如內(nèi)存和I/O設(shè)備也被專門分區(qū)。通過優(yōu)化分區(qū)數(shù)目以滿足整個系統(tǒng)需要,這樣就允許在專門的分區(qū)內(nèi)安全隔離設(shè)備管理功能。系統(tǒng)環(huán)境在各自的分區(qū)中重用,無需更多的工作。只有OS硬件抽象層部分(HAL)需要以相對低的工作和代價做一些調(diào)整。這樣,對網(wǎng)絡(luò)資源的訪問只能通過該安全應(yīng)用接口,以此確保智能手機的安全性。
2 虛擬化方案的實現(xiàn)
虛擬化能使實時環(huán)境與OpenOS及常用硬件平臺或處理器上的其他運行環(huán)境并行運行。虛擬化軟件支持多種環(huán)境,維持系統(tǒng)的實時特性。虛擬化建立在虛擬機監(jiān)控(VMM)基礎(chǔ)層之上,VMM模塊可進(jìn)行配置。VMM提供了虛擬化要求的基本特性—內(nèi)存分區(qū),CPU虛擬化和調(diào)度。實現(xiàn)可靠的隔離。對于OS,在隔離分區(qū)中運行的不論是RTOS還是OpenOS不能直接訪問分區(qū)以外資源,即,它不能讀或?qū)懫渌謪^(qū),它的I/O訪問也受到限制。核心BSP組件提供了基本設(shè)備的虛擬化,如時鐘、定時器和可編程中斷控制器(PIC)。如果多個客體OS在同一處理器上運行,可實現(xiàn)在維持RTOS實時特性下調(diào)度客體OS。
資源分區(qū):虛擬機對物理內(nèi)存分區(qū)并安全地彼此隔離,每一分區(qū)分配給指定的客體OS。這樣,每一客體OS使用自己的內(nèi)存管理機制和策略,不需要與其他客體OS接口,不能讀或?qū)懭肓硪粋€OS分區(qū)。這種方法允許OS,例如Linux和Windows CE使用MMU,而那些沒有MMU的OS如Nucleus和VxWorks則在單處理器上協(xié)作運行。某一客體OS使用的I/O設(shè)備就只分配給該客體OS。于是,常用設(shè)備驅(qū)動程序可以不加修改地重用。
資源虛擬化:幾個客體OS所需的硬件資源如CPU, MMU和FPU被虛擬化后在所有的客體OS之間共享。CPU的共享機制基于保證實時客體OS被賦予最高優(yōu)先級的調(diào)度策略。一旦一個客體OS被允許使用CPU,OS則使用其既有的策略調(diào)度它的應(yīng)用和服務(wù)。MMU虛擬化后為每一個客體OS所私有。一個客體OS使用MMU與其他客體OS無關(guān)。
OS調(diào)度策略:為不同的OS提供可配置的調(diào)度策略。常用的策略是FIFO調(diào)度策略:給客體OS賦予優(yōu)先級。RTOS的優(yōu)先級最高,一旦需要,它將搶先任何其他客體OS,因為RTOS運行的是時間相關(guān)的關(guān)鍵任務(wù)。其他OS共享一個指定的優(yōu)先級,可按FIFO方式調(diào)度,或按公平共享調(diào)度,取決于配置。
設(shè)備虛擬化:客體OS需要共享其他硬件資源,如核心設(shè)備與I/O外圍設(shè)備。客體OS使用的核心設(shè)備通常有:時鐘,定時器以及可編程中斷控制器和UART。使用的I/O外圍設(shè)備有:網(wǎng)絡(luò)接口控制器,磁盤控制器和串口。
I/O外圍設(shè)備:I/O設(shè)備如顯示屏、鍵盤、USB、音頻設(shè)備、閃存、照相機、藍(lán)芽接口和調(diào)制解調(diào)器等。
專用外圍設(shè)備:單一環(huán)境使用的I/O外圍設(shè)備,例如藍(lán)芽接口僅由Linux系統(tǒng)訪問。在這樣的配置中,客體OS可使用已有的驅(qū)動管理外圍設(shè)備。外圍設(shè)備產(chǎn)生的中斷被虛擬化后由核心BSP發(fā)送給客體OS。
共享外圍設(shè)備:有些I/O外圍設(shè)備可以由2個OS的應(yīng)用訪問。例如,顯示屏可以由實時話音呼叫應(yīng)用訪問,也可以由Linux系統(tǒng)瀏覽閃存上的文件系統(tǒng)訪問。一個客體OS擁有外圍設(shè)備,通過已有設(shè)備驅(qū)動管理它,好像它是一個專用設(shè)備。擁有設(shè)備的客體OS同時也運行后端驅(qū)動接收和協(xié)調(diào)來自要訪問該設(shè)備的其他客體OS的請求。后端驅(qū)動依靠已有設(shè)備驅(qū)動執(zhí)行實際I/O操作。其他客體OS不再使用它們的設(shè)備驅(qū)動,但是使用“前端”驅(qū)動,為客體OS提供同一服務(wù)。這樣,前端設(shè)備驅(qū)動與其對等實體的后端驅(qū)動通信。這種模式稱作分離驅(qū)動模型。
通信:一個典型的OS支持多進(jìn)程,提供這樣的服務(wù):進(jìn)程間同步和通信,調(diào)度策略,共享訪問系統(tǒng)和網(wǎng)絡(luò)接口,以及內(nèi)存管理。把最合適的虛擬外圍設(shè)備放在底層通信機制的頂部保證了通信更好地適應(yīng)應(yīng)用需要,而且隱藏了底層的復(fù)雜性。這就使得運行在OpenOS中的應(yīng)用與運行在RTOS中的應(yīng)用有效的通信,使用最適當(dāng)?shù)耐ㄐ欧绞健?/p>
監(jiān)控:監(jiān)控服務(wù)典型地用于開發(fā)中。在平臺上捕捉與調(diào)度相關(guān)的事件,如硬件中斷。這些事件在本地收集,然后由一個工具進(jìn)行檢索和分析,該工具運行在與嵌入式設(shè)備相連的主系統(tǒng)上。
3 應(yīng)用實例
隨著智能手機逐漸轉(zhuǎn)變?yōu)橄M者移動通信、信息、金融事務(wù)處理和娛樂中心,安全、有效的數(shù)字權(quán)限管理(DRM)是很重要的。以在智能手機上播放視頻為例,虛擬化在一個OpenOS上建立一個專門的基于DRM的播放分區(qū)。通過安全應(yīng)用監(jiān)控,保證下載到OpenOS環(huán)境DRM播放器上的數(shù)據(jù)不會被的惡意軟件破壞。當(dāng)智能手機用戶下載一個加密的DRM視頻時,使用安全連接。因為視頻被加密存儲,最符合用戶的期望。為了播放視頻,用戶必須使用可信任的DRM播放器,它是惟一有合適密鑰解碼視頻的播放器。安全應(yīng)用建立在DRM播放器和OpenOS之間,確保DRM播放器不被加載和運行在OpenOS上的任何軟件或系統(tǒng)模塊所破壞。而且,DRM也能訪問播放視頻的顯示屏,保證解碼后視頻輸出不被捕獲。
4 結(jié) 語
用虛擬化技術(shù)構(gòu)建智能手機的安全有以下好處:一個可信賴計算單元就可化解對開發(fā)的驗證和限制。在各自隔離的單元內(nèi)部署現(xiàn)成的開放OS和協(xié)議棧。可靈活地實例化新單元以滿足安全體制的特殊需要以及支持它的技術(shù)。通過隔離和限制單元間通信API防御惡意軟件和單元間的安全,該開放OS的API可能受到病毒感染出現(xiàn)故障,但不會影響其他單元的安全通信軟件。高性能的快速進(jìn)程間通信機制。通過單元間監(jiān)控、優(yōu)化、負(fù)荷平衡抵御拒絕服務(wù)(DOS)攻擊。
參考文獻(xiàn)
[1] 李芳社.虛擬化技術(shù)在通信基礎(chǔ)設(shè)施中的應(yīng)用[J].現(xiàn)代電子技術(shù),2009,32(8):156?158.
[2] 李芳社.用實時虛擬化技術(shù)設(shè)計連接設(shè)備[J].現(xiàn)代電子技術(shù),2011,34(9):57?59.
[3] 吳建軍,馬文靜.使用VB2005設(shè)計Smartphone智能手機應(yīng)用程序入門[J].福建電腦,2007(10):41?42.
[4] 楊新華,陳蜀宇,樊承澤.Windows CE系統(tǒng)下WAP瀏覽器的研究與設(shè)計[J].計算機工程與設(shè)計,2010,31(13):3088?3089.
[5] WIGLEY A, MOTH D, POOT P.Microsoft Mobile 移動應(yīng)用開發(fā)寶典[M].張大威,譯.北京:清華大學(xué)出版社,2008.
[6] 郝玉峰,程顯峰,李科.面向智能手機語音識別應(yīng)用的漢語語音數(shù)據(jù)庫[C]//第十一屆全國人機語音通訊學(xué)術(shù)會議論文集(一).北京:中國中文信息學(xué)會,2011:53?56.
[7] 陳光.基于虛擬化技術(shù)開發(fā)環(huán)境的研究[J].信息技術(shù),2010(2):88?90,107.
[8] 萬兵.基于虛擬化技術(shù)的單CPU 3G手機發(fā)展趨勢[J].信息通信技術(shù),2010(1):57?60.
[9] 辛軍,陳康,鄭緯民.虛擬化的集群資源管理技術(shù)研究[J].計算機科學(xué)與探索,2010(4):324?329.
[10] 田冰超.虛擬化技術(shù)研究與探索[J].武警學(xué)院學(xué)報,2010(4):86?89.