鄒仕洪卜東超孫國峰趙春雷
1(北京郵電大學網(wǎng)絡空間安全學院 北京 100876)2 (北京元心科技公司 北京 100013)(zoush@bupt.edu.cn)
截至2017年12月,我國手機網(wǎng)民規(guī)模達7.53億,網(wǎng)民中使用手機上網(wǎng)人群的占比由2016年的95.1%提升至97.5%[1].隨著生活中移動互聯(lián)網(wǎng)的飛速發(fā)展,人們對于移動便攜性的渴求蔓延到了工作場景,因此出現(xiàn)了內(nèi)外網(wǎng)融合的開放融合場景.
開放融合的新網(wǎng)絡環(huán)境是當前移動化浪潮進一步延伸滲透到各產(chǎn)業(yè)的產(chǎn)物.很多單位部門的信息化系統(tǒng)之前并不連到外網(wǎng),只是在內(nèi)部自成一體.由于移動性的引入,工作內(nèi)網(wǎng)的邊界被突破了變成“無邊界”,加上移動終端在物理上的“非受控”,使得移動終端的安全防護成為移動信息化全面開展的必要前提條件.
事實上,移動信息化或移動辦公從2005年就已經(jīng)起步,只是最開始的功能及開放程度都十分有限,隨著智能終端及移動通信網(wǎng)絡的迅速發(fā)展,移動信息化也進入了一個高速發(fā)展的時期[2],不斷擴大開放豐富功能,陸續(xù)進入更多行業(yè)及部門,進一步帶來更多的開放融合場景.伴隨移動信息化的發(fā)展進程,五花八門的移動數(shù)據(jù)管控方案也陸續(xù)被設計出來并部署應用.本文試圖對這些移動數(shù)據(jù)管控方案進行系統(tǒng)的梳理,從技術(shù)原理上對它們進行橫向的綜合比較.
首先讓我們分析開放融合環(huán)境帶來的新增攻擊面(如圖1所示),包含移動終端和網(wǎng)絡管道2部分.在網(wǎng)絡管道上,各安全方案采納的技術(shù)幾乎沒有差異,主要差別體現(xiàn)在移動終端的安全防護上,因此本文集中討論移動終端的安全防護和數(shù)據(jù)管控方案.

圖1 開放融合環(huán)境的新增攻擊面分析

圖2 安全性評估角度
在開放融合環(huán)境下,移動安全防護與數(shù)據(jù)管控的評估指標可以分為2類:安全性和易用性.安全性又可以進一步從3個角度進行細分評估(如圖2所示):
1) 邊界的隔離強度.管控首先要隔離,隔離的邊界可以是物理的邊界也可以是虛擬的邊界.邊界的隔離強度指的是從該邊界之外獲取到邊界之內(nèi)數(shù)據(jù)的難度,實際上也反映了突破邊界的難度.
2) 內(nèi)部安全機制有效性.該指標描述的是惡意代碼通過各種手段突破邊界之后(比如漏洞利用或偽裝仿冒),能夠被進一步攔截阻斷數(shù)據(jù)竊取的安全機制的有效性.
3) 管控粒度.該指標反映的是終端上可被管控的各種操作或資源的豐富及完備程度,通常來說管控粒度越細,管控方案越安全.
開放融合環(huán)境下的移動終端可以分為兩大類:一類是自帶設備(bring your own device, BYOD)[3];另一類是企業(yè)專用終端(corporation owned private enabled, COPE).在BYOD的場景下,用戶很方便,一機兩用,但安全性受到影響;在COPE場景下,專機專用,用戶需要多攜帶一部終端,易用性略有降低.
BYOD的場景下,要解決的重點問題是如何在一個硬件終端中通過虛擬化技術(shù)創(chuàng)建出隔離的獨立運行環(huán)境.該方案的隔離強度主要取決于虛擬化技術(shù)所在的系統(tǒng)層級,根據(jù)所處層級我們歸納出如下4類方案,如圖3所示:

圖3 虛擬化隔離層次
2.1.1應用沙箱(基于應用虛擬化)
應用沙箱工作在應用層,客戶的業(yè)務應用在其中被托管運行,其自身也是一個普通應用,通過沙箱配置安全策略,無需對手機進行ROOT或定制ROM即可實現(xiàn)對業(yè)務應用的管控.
應用沙箱的實現(xiàn)方案有3種方式:1)在客戶應用開發(fā)過程中,嵌入沙箱SDK,客戶應用發(fā)生的函數(shù)調(diào)用可以被截獲,進而實現(xiàn)對業(yè)務邏輯的管控;2)對不具有源碼的客戶應用進行反編譯,逆向破解后在其中插入沙箱代碼,再打包形成新的App來實現(xiàn)安全管理[4];3)無需獲得應用源碼和逆向,將沙箱程序作為殼程序,對客戶應用重新打包加殼,作為新的應用安裝到手機.沙箱殼程序啟動時模擬操作系統(tǒng)的加載啟動模塊,對客戶應用進行解析,加載.客戶應用在運行時被沙箱殼程序托管,函數(shù)調(diào)用被hook,沙箱程序接收安全管控策略,實現(xiàn)對客戶應用的管控[5].
2.1.2多用戶機制(基于系統(tǒng)的虛擬化)
移動操作系統(tǒng)的多用戶與PC操作系統(tǒng)的多用戶機制類似,即在同一個設備上,通過不同的賬號密碼進入互相隔離的區(qū)域.在各自的區(qū)域中有隔離的運行空間.用戶可以安裝相同或不同的應用程序.不同用戶間產(chǎn)生的用戶數(shù)據(jù),如拍照、錄音、瀏覽記錄、下載、聊天記錄等均互不可見.
新用戶被創(chuàng)建時,系統(tǒng)層的用戶管理模塊對其進行注冊,新建對應的根目錄文件夾,其他用戶無此目錄的訪問權(quán),應用安裝時,在其所在用戶根目錄下初始化其數(shù)據(jù)區(qū).在多個用戶中安裝的應用,由于在各用戶根目錄下均有獨立的數(shù)據(jù)區(qū),所以保證了其運行隔離.系統(tǒng)服務層根據(jù)應用程序的用戶標識信息,對其發(fā)起的服務訪問請求進行權(quán)限檢查,如檢查某個用戶是否被允許打電話、訪問攝像頭、網(wǎng)絡訪問等[6].
多用戶機制是在系統(tǒng)層提供的隔離機制.應用程序、數(shù)據(jù)文件、SD卡目錄等在系統(tǒng)層的各用戶間互不可見,網(wǎng)絡訪問、應用權(quán)限等也可單獨配置.多用戶機制可以有效地防止在應用層利用敏感權(quán)限非法獲取用戶隱私.
2.1.3容器隔離(基于內(nèi)核的虛擬化)
容器是內(nèi)核層提供的分組運行機制.進程以分組形式運行在不同的名字空間.
容器技術(shù)主要使用內(nèi)核的Namespace和Cgroups機制[7].Namespace是對全局系統(tǒng)資源的一種封裝隔離,使得處于不同Namespace的進程擁有獨立的全局系統(tǒng)資源,改變一個Namespace中的系統(tǒng)資源只會影響當前Namespace里的進程,對其他Namespace中的進程沒有影響,如進程間通信、網(wǎng)絡、分區(qū)掛載、進程PID、用戶標識等.Cgroups可以對Namespace中的進程組進行資源配置,如限制CPU、內(nèi)存、設備IO、可訪問的設備節(jié)點等.通過以上機制可實現(xiàn)以容器為單位的隔離運行.
容器技術(shù)作為內(nèi)核層的隔離機制,各容器有獨立的網(wǎng)絡、物理分區(qū)、運行進程、內(nèi)核文件節(jié)點和可訪問硬件外設等.其中一個系統(tǒng)被惡意代碼攻破,甚至被root提權(quán)后其影響僅限于此空間內(nèi),其他空間不受影響.安全性已經(jīng)很高.只有惡意代碼攻破內(nèi)核時才能影響其他空間進程.
2.1.4虛擬機(硬件級虛擬化)
硬件級虛擬化[8],對底層硬件進行虛擬化,將內(nèi)核運行在虛擬層,實現(xiàn)在同一個硬件設備上運行多個內(nèi)核.
普通操作系統(tǒng)內(nèi)核直接運行在物理層上,所有的CPU資源都分配給單獨的內(nèi)核,應用將請求先發(fā)送給內(nèi)核,內(nèi)核調(diào)度物理的CPU資源.虛擬機增加了虛擬化層Hypervisor[9],Hypervisor對物理層的CPU進行虛擬化,對運行在其上的多個內(nèi)核完成調(diào)度,使其共享物理層CPU.虛擬化后,應用程序?qū)⒄埱蟀l(fā)送給內(nèi)核,內(nèi)核調(diào)度Virtual CPU資源,Hypervisor對多個物理CPU進行資源調(diào)度,滿足Virtual CPU的需要.Hypervisor還對物理層的內(nèi)存、IO等進行虛擬化和調(diào)度,從而實現(xiàn)多個內(nèi)核的同平臺運行.
Hypervisor在硬件基礎上實現(xiàn)虛擬化,虛擬特性與芯片密切綁定.隔離機制接近于芯片層.應用程序、文件存儲、網(wǎng)絡以及內(nèi)核模塊等均完全隔離.普通的惡意應用代碼很難滲透到Hypervisor層.
專用終端的安全性主要依賴芯片和系統(tǒng)的安全增強,以及對可安裝應用的嚴格限制來保證安全,與通用終端的差異性對比如表1所示:

表1 通用終端與專用終端對比
2.2.1通用操作系統(tǒng)
利用芯片本身的安全組件如TrustZone,或?qū)S冒踩酒龋瑢γ舾袠I(yè)務和數(shù)據(jù)進行增強保護.在安全芯片中創(chuàng)建隔離安全區(qū)域,確保普通區(qū)域組件無法訪問安全區(qū)域資源,從而在這2個區(qū)域之間構(gòu)建隔離邊界.將敏感資源放入安全區(qū)域的設計,以及在安全芯片的處理器內(nèi)核中可靠運行軟件,可確保安全資源能抵御眾多潛在攻擊.安全資源包括登錄密碼、指紋、加密密鑰等.專用的安全芯片既可以運行更高強度的加密算法,保障加密數(shù)據(jù)的安全強度,又可以有更高的運行效率,讓用戶有更好體驗[10].另外系統(tǒng)對可安裝的應用進行嚴格的白名單審核,防止非法應用運行.
專用終端通過芯片和系統(tǒng)的優(yōu)化限制,整體的安全性有很大提升.但由于通用操作系統(tǒng)的公開性仍存在大量公開可利用的漏洞.
2.2.2專用操作系統(tǒng)
與硬件安全芯片緊密結(jié)合,以自主可控代碼為基礎,提供更高安全性系統(tǒng)組件,專門面向高安全敏感行業(yè)的系統(tǒng).安全體系在操作系統(tǒng)的設計階段就被加入.充分利用芯片的安全特性,從內(nèi)核、系統(tǒng)、應用啟動的各環(huán)節(jié)進行校驗,創(chuàng)建可信運行環(huán)境.高安全業(yè)務和數(shù)據(jù)放入安全芯片中運行,提供難以突破的隔離措施.在系統(tǒng)功能實現(xiàn)上,以安全為最高優(yōu)先級,對各模塊的運行邏輯經(jīng)過嚴密論證,保障安全性[11].
專用操作系統(tǒng)由于自主專門設計,通用操作系統(tǒng)的漏洞及后門都不會引進來.典型代表廠商元心科技[12]以內(nèi)生安全為首要目標,在架構(gòu)設計上整體考慮安全機制,融可信態(tài)勢感知、動態(tài)防御[13]于一體,所以整體安全性極高.

圖4 不同層級攻擊面示意
下面從多個維度全方位地對比上述技術(shù)方案的安全性和易用性.
1) 邊界的隔離強度
管控方案的隔離邊界是惡意代碼入侵竊取數(shù)據(jù)要突破的第一道防線.邊界的突破目前主要依靠對漏洞的利用進行滲透攻擊.下面從2方面定性評估下邊界安全性.
① 代碼規(guī)模
軟件的安全問題歸根結(jié)底是由軟件設計、編碼、測試中引入的缺陷導致的.軟件工程中由人引起的問題只能盡量避免,但無法徹底避免.因此軟件的規(guī)模直接影響到軟件缺陷的多少.規(guī)模越大的軟件系統(tǒng)出現(xiàn)安全問題的概率就越高.
Android AOSP代碼≈1.0×108行,
Linux Kernel代碼≈1.1×107行,
Xen Hypervisor(ARM64)≈2.5×104行.
越靠近底層硬件軟件的能力越受限,軟件的規(guī)模也越小,出現(xiàn)安全問題的概率也就越小.
② 受攻擊面比較
應用層存在大量編程接口與編程語言,不同編程語言API的設計思想與實現(xiàn)方式有很大的差異.這種相互交疊、相互依賴、關(guān)系復雜的編程接口環(huán)境造成了應用層攻擊面的快速膨脹.系統(tǒng)層編程接口快速收縮,主要由標準的ANSI C或GNU C接口構(gòu)成,攻擊面明顯減小.在內(nèi)核層可用系統(tǒng)調(diào)用(相當于API)已經(jīng)減少到只有200個左右.虛擬機層的可用接口進一步減少,以典型的一類虛擬機Xen為例,最新版本僅保留50個左右的超級調(diào)用.如圖4所示,越是偏向于應用層的管控方案將面臨嚴重的攻擊面擴大問題,而越靠近底層的管控方案越受惠于快速縮小的攻擊面帶來的安全與穩(wěn)定性.
2) 內(nèi)部安全機制的有效性
突破邊界后內(nèi)部的安全機制能夠阻止進一步的破壞與危害.
3) 管控粒度
管控層級越低所擁有的權(quán)限越大,并包含該層之上所有接口權(quán)限,因此管控粒度更細更豐富.各層級的典型管控元素如下.
① 應用功能管控:復制、粘貼、截屏、分享等;
② 用戶功能管控:電話短信、USB傳輸、網(wǎng)絡設置、應用安裝、恢復出廠等;
③ 系統(tǒng)功能管控:分區(qū)、網(wǎng)絡、設備文件接口、MAC策略等;
④ 硬件資源管控:CPU、內(nèi)存、Display、WiFi、Modem等硬件.
4) 易用性
易用性也是移動數(shù)據(jù)管控方案部署時需要考慮的一個重要方面.通常來說,安全性和易用性總是一對矛盾,應用層易用性最高,但安全性最低,而專用OS專用終端的研制部署成本最高,易用性較低,但其安全性是最高的.

表2 內(nèi)部安全性比較
在當今開放融合的大環(huán)境下,各行各業(yè)或多或少都處在移動化進程中,過程中涌現(xiàn)了不少移動數(shù)據(jù)管控方案,本文對這些移動數(shù)據(jù)管控方案的實現(xiàn)方式、技術(shù)原理進行了介紹,并從多個角度對其安全性、易用性進行了比較評估.其中,應用沙箱隔離強度最低、安全性最低,但最容易部署實現(xiàn),專用操作系統(tǒng)專用終端研制部署成本最高,易用性略差,但安全性也最強.
另一方面,從持續(xù)安全運營的角度來看,由于管控對象的豐富多樣、移動終端所處環(huán)境復雜多變,整體安全態(tài)勢時刻變化,相應的移動數(shù)據(jù)管控策略也急需自適應以更好地滿足客戶需求[12].