黃靜,趙海燕,孫玲玲
(中國移動通信有限公司研究院,北京 100053)
安卓終端系統(tǒng)安全機(jī)制研究與設(shè)計*
黃靜,趙海燕,孫玲玲
(中國移動通信有限公司研究院,北京 100053)
移動終端作為用戶使用移動信息化業(yè)務(wù)的載體和入口,成為企業(yè)移動信息化安全體系中關(guān)鍵的組成部分。針對終端系統(tǒng)的安全問題,本文對主流終端操作系統(tǒng)的關(guān)鍵技術(shù)和安全機(jī)制進(jìn)行了深入研究,比較分析了幾種主流系統(tǒng)安全方案,提出一種基于SE Android的雙域系統(tǒng)安全技術(shù)方案。通過對該方案的系統(tǒng)安全架構(gòu)、安全訪問控制、應(yīng)用隔離等關(guān)鍵技術(shù)和創(chuàng)新工作的詳細(xì)介紹,說明了該解決方案的可行性和實用價值。
系統(tǒng)安全;SE Linux;安全策略;雙域隔離
近年來,移動終端的功能越來越豐富、處理能力越來越強(qiáng),已經(jīng)成為人們?nèi)粘I詈凸ぷ鞅夭豢缮俚碾S身設(shè)備。在協(xié)助人們處理日常事務(wù)的同時, 移動終端上也產(chǎn)生并攜帶了大量個人隱私信息。而在個人隱私保護(hù)越來越受到重視的趨勢下,對個人隱私信息保護(hù)的需求也日益增強(qiáng)。
與此同時,隨著移動信息化的深入,企業(yè)也逐漸將辦公業(yè)務(wù)向移動終端上遷移。員工可以隨時隨地在移動終端上處理工作,為企業(yè)帶來更高效的生產(chǎn)效率。但這也為企業(yè)的信息安全帶來了新的挑戰(zhàn)。
無論是個人使用還是企業(yè)移動信息化的部署,均對移動終端的安全提出了迫切要求。為了滿足個人和企業(yè)對移動終端安全的需求,并為公司業(yè)務(wù)部門進(jìn)行行業(yè)市場拓展提供有力支撐,本文針對移動終端系統(tǒng)面臨的主要安全問題和關(guān)鍵技術(shù)進(jìn)行了深入研究。
據(jù)360互聯(lián)網(wǎng)安全中心報告顯示,2016年全年,360互聯(lián)網(wǎng)安全中心累計截獲Android平臺新增惡意程序樣本1 403.3萬個。平均每天截獲新增3.8萬惡意程序樣本。2016全年,中心累計監(jiān)測到Android用戶感染惡意程序2.53億,平均每天惡意程序感染量達(dá)到70萬人次。移動終端上的惡意程序增長非常迅猛,影響面日益擴(kuò)大。這些惡意程序給廣大移動終端用戶帶來許多侵害。如資費消耗、惡意扣費、隱私竊取、商業(yè)信息泄露、未授權(quán)訪問、系統(tǒng)變慢甚至死機(jī)等。移動終端的安全正在成為影響人們?nèi)粘J褂煤鸵苿愚k公不可忽視的因素,安全防護(hù)技術(shù)和解決方案亟待研究和提升。
為了防止惡意程序?qū)σ苿咏K端的應(yīng)用程序和數(shù)據(jù)進(jìn)行侵害,需要在移動終端的操作系統(tǒng)層進(jìn)行更有效地安全防護(hù)。如圖1所示,終端上主流的系統(tǒng)安全方案有3種。
(1)應(yīng)用程序容器方案:在系統(tǒng)應(yīng)用層實現(xiàn)重要應(yīng)用與普通應(yīng)用的隔離,通過對重要應(yīng)用程序加殼或改造等方式,實現(xiàn)對應(yīng)用程序防篡改、數(shù)據(jù)保護(hù)和網(wǎng)絡(luò)訪問等安全防護(hù)功能。
(2)系統(tǒng)安全增強(qiáng)方案:利用操作系統(tǒng)的安全機(jī)制,在系統(tǒng)底層進(jìn)行安全控制,從而實現(xiàn)對系統(tǒng)資源、應(yīng)用運行環(huán)境以及數(shù)據(jù)訪問的安全防護(hù)。
(3)硬件虛擬化方案:通過對終端硬件能力的虛擬化管理,可以支持兩個或多個操作系統(tǒng)獨立運行。
系統(tǒng)安全增強(qiáng)方案同應(yīng)用程序容器方案比,具有操作系統(tǒng)級底層安全的優(yōu)勢,可基本滿足個人日常和企業(yè)一般辦公的安全需求。同時,與硬盤虛擬化方案相比,具有可與不同廠商的系統(tǒng)軟件進(jìn)行快速集成的優(yōu)勢。通過集成統(tǒng)一的系統(tǒng)安全增強(qiáng)方案,可在不同終端上提供統(tǒng)一的用戶體驗,便于用戶使用業(yè)務(wù),也便于業(yè)務(wù)的統(tǒng)一維護(hù)。
在眾多基于Linux的強(qiáng)制訪問控制安全模型中,SE Linux于2003年起被集成到Linux 2.6.0的內(nèi)核進(jìn)行發(fā)布,并很快成為受保護(hù)Linux系統(tǒng)的事實標(biāo)準(zhǔn)。SE Linux將系統(tǒng)中所有對象實體都賦予對應(yīng)的安全標(biāo)簽(安全上下文),通過比較請求主體和資源客體的安全標(biāo)簽決斷是否允許這次訪問請求。SE Linux支持較細(xì)粒度的權(quán)限描述和管理,能有效的防護(hù)惡意程序和病毒對正常應(yīng)用程序和數(shù)據(jù)的攻擊,極大程度地提高系統(tǒng)的安全性。然而,由于安卓操作系統(tǒng)的獨特性,SE Linux不能完全適用于安卓操作系統(tǒng)。為此,NSA在SE Linux基礎(chǔ)上開發(fā)了SE Android。SE Android是目前最為流行的安卓系統(tǒng)安全加固的版本。從安卓操作系統(tǒng)Release 4.3版本開始,標(biāo)準(zhǔn)源碼默認(rèn)包含了SE Linux的支持。
在SE Android機(jī)制下,默認(rèn)的情況是不允許任何訪問,所有允許的訪問都必須在安全訪問策略文件中明確授權(quán)。這就意味著安全訪問策略是整個安全機(jī)制的關(guān)鍵所在。安卓系統(tǒng)在發(fā)布時,僅提供一些默認(rèn)的、通用的安全訪問策略,供開發(fā)者選用。如果想根據(jù)產(chǎn)品的需求提供更豐富多樣的安全能力,則需開發(fā)人員通過構(gòu)建自己的安全訪問策略和對應(yīng)的安全系統(tǒng)架構(gòu),實現(xiàn)滿足多種安全需求的系統(tǒng)解決方案。
圖1 3種系統(tǒng)安全方案示意圖
針對安卓移動終端上日益嚴(yán)重的安全問題,為了滿足個人信息安全和企業(yè)移動辦公對智能終端安全性的迫切需求,本文提出一種終端雙域系統(tǒng)安全技術(shù)方案。
本方案基于安卓操作系統(tǒng)原生安全機(jī)制,構(gòu)建自有系統(tǒng)安全架構(gòu)和安全訪問策略,通過對系統(tǒng)從下到上進(jìn)行改造,在原有完全開放的用戶空間基礎(chǔ)上,構(gòu)建出一個安全空間,從而形成具有兩個不同域——開放域和安全域的終端雙域安全系統(tǒng)。系統(tǒng)對安全域運行的應(yīng)用及其數(shù)據(jù)進(jìn)行安全保護(hù),而對開放域的應(yīng)用和數(shù)據(jù)不做限制。開放域內(nèi),用戶可自由安裝、運行和卸載應(yīng)用程序,根據(jù)需要對數(shù)據(jù)文件進(jìn)行自由存儲、分發(fā)、訪問等。而安全域內(nèi),用戶對應(yīng)用的安裝、運行和卸載,數(shù)據(jù)文件的存儲、分發(fā)和訪問,以及移動終端的外圍設(shè)備及網(wǎng)絡(luò)連接的工作狀態(tài)的控制,都要根據(jù)一定的安全訪問規(guī)則進(jìn)行執(zhí)行,從而實現(xiàn)對安全域內(nèi)應(yīng)用、數(shù)據(jù)以及系統(tǒng)運行環(huán)境的安全保護(hù)。
本方案主要由如下部分組成。
(1)系統(tǒng)安全架構(gòu):基于SE Linux的安全模型,創(chuàng)建自有安全訪問控制策略,對操作系統(tǒng)的內(nèi)核層、框架層以及應(yīng)用層進(jìn)行改造,實現(xiàn)安全域的構(gòu)建, 并為安全域內(nèi)應(yīng)用和數(shù)據(jù)提供多種安全防護(hù)功能。
(2)安全訪問控制:通過創(chuàng)建域安全標(biāo)簽,對系統(tǒng)訪問的主體與客體進(jìn)行安全上下文的標(biāo)識,設(shè)計和編寫不同域的系統(tǒng)安全訪問控制策略,從而在系統(tǒng)內(nèi)核層,實現(xiàn)對系統(tǒng)資源訪問的細(xì)顆粒度權(quán)限管理。為系統(tǒng)上層應(yīng)用和數(shù)據(jù)的安全防護(hù)提供底層基礎(chǔ)。
(3)應(yīng)用的隔離:結(jié)合自有安全訪問策略,通過對操作系統(tǒng)框架層程序安裝/卸載、訪問等組件的改造,實現(xiàn)對安全域內(nèi)應(yīng)用與開放域內(nèi)應(yīng)用的隔離,對安全域內(nèi)應(yīng)用的呈現(xiàn)、安裝/卸載、運行時應(yīng)用間的數(shù)據(jù)訪問的安全防護(hù)。
2.2.1 系統(tǒng)安全架構(gòu)
完備的雙域終端系統(tǒng)安全架構(gòu)是一個自下而上的完整系統(tǒng)設(shè)計,包括系統(tǒng)資源安全訪問控制、文件訪問控制、設(shè)備管理、數(shù)據(jù)加密、應(yīng)用來源管理、應(yīng)用運行環(huán)境和數(shù)據(jù)隔離等。如圖2所示。
圖2 雙域系統(tǒng)安全架構(gòu)圖
針對操作系統(tǒng)的由上而下的各個層面的改造如下。
(1)應(yīng)用層:為用戶提供安全域和開放域兩個空間的獨立呈現(xiàn)。開放域為用戶呈現(xiàn)自主安裝的應(yīng)用程序,安全域內(nèi)為用戶呈現(xiàn)受保護(hù)的應(yīng)用程序,并提供開放域與安全域的實時切換功能。
(2)應(yīng)用框架層:利用應(yīng)用簽名以及黑白名單機(jī)制,提供安全域應(yīng)用程序的分發(fā)和升級,支持對Camera、Bluetooth、WLAN、GPS等終端設(shè)備的狀態(tài)管理,實現(xiàn)對安全域鎖定/擦除等功能,響應(yīng)安全訪問控制策略的更新,管理安全域的網(wǎng)絡(luò)連接。同時,對域內(nèi)所安裝應(yīng)用標(biāo)注安全上下文,為系統(tǒng)資源的訪問權(quán)限控制提供依據(jù)。
(3)內(nèi)核應(yīng)用層/庫函數(shù)層:提供對安全域進(jìn)行安全防護(hù)的定制策略庫的加載和管理,實現(xiàn)安全域內(nèi)系統(tǒng)資源訪問控制的底層基礎(chǔ)。
(4)內(nèi)核層:在內(nèi)核初始化時載入定制安全訪問策略、網(wǎng)絡(luò)訪問控制表,在系統(tǒng)運行期間,根據(jù)既定策略保護(hù)系統(tǒng)安全。
2.2.2 安全訪問控制
根據(jù)雙域系統(tǒng)安全的設(shè)計目標(biāo),本文提出構(gòu)建自有安全訪問控制策略以及配套的系統(tǒng)安全控制機(jī)制,從而為系統(tǒng)上層的多種安全功能提供堅實的底層基礎(chǔ)。
主要通過新的域類型的定義、域密鑰的創(chuàng)建、域安全上下文的創(chuàng)建、域內(nèi)應(yīng)用和文件的安全上下文標(biāo)記、安全策略文件的創(chuàng)建、策略文件安全防護(hù)和遠(yuǎn)程動態(tài)更新等技術(shù)手段,針對安卓多用戶進(jìn)行的安全機(jī)制擴(kuò)展。
(1)定義新的域類型。為了在安卓系統(tǒng)原本開放的用戶空間中構(gòu)建出一個安全空間,并實現(xiàn)安全空間與開放空間的應(yīng)用運行和數(shù)據(jù)訪問在系統(tǒng)底層的隔離,本方案定義了新的域類型,包括安全域內(nèi)各類應(yīng)用所對應(yīng)的域類型。相應(yīng)的,系統(tǒng)里添加了新域?qū)?yīng)的定義,配套的域安全上下文,域的進(jìn)程和文件對應(yīng)的安全策略文件等。同時,新增加了應(yīng)用簽名密鑰,用于對安全域的應(yīng)用進(jìn)行簽名。
(2)創(chuàng)建新的安全策略文件。安全策略文件定義了主體對客體的訪問規(guī)則,SE Linux強(qiáng)制訪問控制的核心原則就是最小權(quán)限原則。也就是只有符合安全訪問控制規(guī)則的訪問才能進(jìn)行,沒有通過安全策略文件規(guī)則允許的訪問全部禁止。為實現(xiàn)雙域系統(tǒng)隔離和對安全域內(nèi)應(yīng)用和數(shù)據(jù)的防護(hù),創(chuàng)建了一組安全策略文件對安全域的各項訪問許可進(jìn)行詳細(xì)定制,如訪問網(wǎng)絡(luò)的權(quán)限,訪問各種外設(shè)的權(quán)限,訪問數(shù)據(jù)的權(quán)限等。
(3)構(gòu)建安全域應(yīng)用和文件的安全上下文關(guān)聯(lián)。由于安全策略文件定義的訪問控制規(guī)則是以訪問主體和客體的安全上下文為基礎(chǔ)進(jìn)行描述的,為了使安全策略文件能夠真正起作用,還要對訪問控制的主體和客體進(jìn)行正確的安全上下文的關(guān)聯(lián),也就是打上安全標(biāo)簽,系統(tǒng)才能根據(jù)各自的安全上下文查找對應(yīng)的訪問控制規(guī)則,判斷是否允許相關(guān)訪問操作。
本方案主要進(jìn)行了新創(chuàng)建的安全域內(nèi)的受保護(hù)應(yīng)用程序進(jìn)程,應(yīng)用程序文件和數(shù)據(jù)文件的安全上下文關(guān)聯(lián)。在應(yīng)用程序安裝時,根據(jù)應(yīng)用程序簽名,對應(yīng)用程序文件進(jìn)行安全上下文類型的標(biāo)識。在應(yīng)用程序啟動的過程中,根據(jù)應(yīng)用程序簽名,對應(yīng)用程序進(jìn)程進(jìn)行安全上下文進(jìn)行標(biāo)識。
另外,本方案還通過內(nèi)核應(yīng)用層的策略管理模塊,支持安全策略文件動態(tài)更新的機(jī)制,安全策略更新后,重新載入內(nèi)核并重啟系統(tǒng),使移動終端可動態(tài)獲取最新安全策略文件,方便企業(yè)對移動辦公終端的安全域進(jìn)行實時管理。
通過以上技術(shù)手段,應(yīng)用程序進(jìn)程對其它進(jìn)程或系統(tǒng)資源進(jìn)行訪問時,根據(jù)建立的安全訪問控制規(guī)則,最終實現(xiàn)了對雙域系統(tǒng)資源訪問的相互隔離與控制。通過規(guī)則的控制,使得在同一個域下,應(yīng)用僅可訪問本域允許的數(shù)據(jù)和系統(tǒng)資源,而不能訪問其它域的數(shù)據(jù)和系統(tǒng)資源。對終端外設(shè)(攝像頭、藍(lán)牙等)的控制也基于使用者所處的工作域, 根據(jù)所在域?qū)ν庠O(shè)的安全策略決定能否使用終端外設(shè),從而對系統(tǒng)資源的訪問實現(xiàn)了進(jìn)程級顆粒度的控制。
2.2.3 應(yīng)用隔離
安全訪問控制構(gòu)建了雙域安全系統(tǒng)的底層基礎(chǔ),雙域的隔離主要體現(xiàn)在應(yīng)用與數(shù)據(jù)在不同域之間的隔離。數(shù)據(jù)的隔離通過系統(tǒng)底層安全訪問控制機(jī)制和策略文件即可實現(xiàn),而應(yīng)用的隔離則需要考慮更多方面的工作。應(yīng)用隔離使屬于不同域的應(yīng)用程序僅在各自的域空間呈現(xiàn),而且僅能訪問所在域的數(shù)據(jù)和文件,不同域的應(yīng)用程序之間不能互相訪問,最終實現(xiàn)根據(jù)應(yīng)用所在的域?qū)?yīng)用的呈現(xiàn)、安裝/卸載和應(yīng)用運行時訪問的控制。
如圖3所示,應(yīng)用隔離主要通過如下技術(shù)手段實現(xiàn)。
圖3 應(yīng)用隔離
(1)域的切換:通過域切換調(diào)用,實現(xiàn)用戶層面的開放域與安全域的切換,進(jìn)入當(dāng)前域后,用戶僅能看到屬于當(dāng)前域的應(yīng)用程序呈現(xiàn)。
(2)應(yīng)用的安裝/卸載控制:實現(xiàn)對安全域應(yīng)用安裝/卸載的控制。在系統(tǒng)框架層,當(dāng)接收到應(yīng)用安裝/卸載調(diào)用指令后,改造后的安裝/卸載模塊會與用戶管理模塊進(jìn)行交互,獲取當(dāng)前域信息。如果是開放域,則直接調(diào)用系統(tǒng)安裝/卸載流程,如果是安全域,則需要對當(dāng)前應(yīng)用進(jìn)行簽名檢查。對應(yīng)用程序的卸載管理流程與安裝類似,也是根據(jù)當(dāng)前域信息判斷是否允許用戶卸載應(yīng)用程序,如果當(dāng)前域為安全域,則根據(jù)管理規(guī)則進(jìn)行管理。
(3)應(yīng)用間訪問:對應(yīng)用運行時相互之間的訪問進(jìn)行控制,其實質(zhì)就是對應(yīng)用使用組件的訪問控制。為了阻止開放域和安全域之間,應(yīng)用通過相互訪問而泄露信息,在系統(tǒng)框架層阻斷應(yīng)用通過安卓系統(tǒng)的組件進(jìn)行跨域訪問。在查詢組件信息時,根據(jù)預(yù)定的安全策略對組件所屬的域做過濾,阻止應(yīng)用獲取未經(jīng)許可的組件信息,從而阻止應(yīng)用使用相應(yīng)的組件,實現(xiàn)不同域之間的應(yīng)用的訪問的隔離。
本方案提供了一種系統(tǒng)域隔離的技術(shù)實現(xiàn)。在終端上通過對系統(tǒng)從下到上的改造,構(gòu)建了自有的安全防護(hù)策略,實現(xiàn)進(jìn)程級精細(xì)訪問權(quán)限管理,并對終端安全涉及的應(yīng)用和數(shù)據(jù)的隔離,以及終端上信息編輯、分享等均進(jìn)行了全面安全管理考慮??山Y(jié)合終端遠(yuǎn)程管理平臺,為企業(yè)和個人提供靈活、便捷的對移動終端的遠(yuǎn)程安全管理。滿足了行業(yè)客戶在移動信息化過程中,對移動辦公終端安全的要求。
AbstractAs a main carrier and entry of the mobility information services, mobile phone has become the key component of the enterprise secure information system. In order to enhance the security of the popular mobile operating system, the key security techniques and mechanism of mobile operating system and security modules were researched. Based on the deep understanding of the system security mechanism, the article introduces a dual-persona security system solution based on SE Android. By thorough descriptions on key techniques of the solution, including the system security architect, security access control and the application isolation, the article demonstrated the feasibility and practical value of the solution.
Keywordssystem security; SE Linux; security policy; dual persona
Android OS security mechanism research and design
HUANG Jing, ZHAO Hai-yan, SUN Ling-ling
(China Mobile Research Institute, Beijing 100053, China)
TN918
A
1008-5599(2017)10-0011-05
2017-09-18
* 中國移動集團(tuán)級一類科技創(chuàng)新成果,原成果名稱為《企業(yè)移動安全管理解決方案及關(guān)鍵技術(shù)研究(和盾)》。