姚一楠,翟世俊,鄧樣輝
(中國信息通信研究院,北京 100191)
雙操作系統移動智能終端安全分析*
姚一楠,翟世俊,鄧樣輝
(中國信息通信研究院,北京 100191)
目前雙系統終端面臨較大的安全風險,因此首先列舉雙操作系統的實現方案及判別方法,在此基礎上主要從數據隔離的角度提出了雙系統安全解決方案,最后從監管角度提出了雙系統移動智能終端管理建議。
雙操作系統 數據隔離 訪問控制
隨著移動智能終端的發展,用戶對移動智能終端的安全性要求越來越高,但安全和易用性經常是矛盾對立的。用戶需要體驗移動終端所帶來的豐富多彩的功能,同時又不希望自己的個人信息遭到泄露,因此市場上出現了很多雙操作系統移動智能終端,通常一個滿足用戶日常使用,一個用來提供隱私環境使用,雙系統間采用一定的數據隔離機制。但雙系統終端目前依舊是新生事物,各廠家的實現方案良莠不齊,雙系統之間的隔離程度也沒有統一的標準。因此本文聚焦雙操作系統移動智能終端,首先闡述雙系統的實現方案及判定方法,同時提出數據安全保護的解決方案,最后從宏觀角度提出監管建議。
目前市場上雙操作系統系統終端很多,例如同洲電子實現的Android+960 OS終端,及酷派所實現的雙Android系統終端。基于雙操作系統的終端目前有如下幾種實現方式:
(1)獨立的雙操作系統架構如圖1所示,直接在硬件上進行隔離,兩套操作系統直接安裝在系統的不同分區,相互獨立,兩個系統不共享系統內核或沒有共同的內核,兩個系統不能同時運行,需要重啟才能切換到另一個操作系統,如Android+Windows 10或Android+Firefox OS。這種方案下雙系統之間完全獨立,不能做任何交互,系統之間的隔離性較差;由于兩個系統不能同時運行,對硬件沒有額外的要求。兩個操作系統需重啟智能終端才能完成切換,速度較慢。

圖1 獨立雙操作系統架構
(2)直接在硬件上做虛擬的雙操作系統架構如圖2所示,利用Linux hypervisor技術直接在硬件上做虛擬化,上面搭載兩個操作系統,支持Android系統和非Android系統;這兩個操作系統不共享內核,從Linux內核層就進行了系統隔離,具有兩套Kernel、兩套Framework及應用軟件,應用軟件可以在不同系統中安裝多次。這種方案通常采用安全隔離技術對不同系統的存儲和進程進行完全隔離,防止系統的數據、應用等資源被另一個系統非法訪問,具有較高的安全性;同時這種方案對硬件要求高,內存開銷大,電池和硬件性能都面臨較大挑戰。兩個系統一般可以同時運行,采用軟切換模式進行切換,不需要重啟就可實現切換。

圖2 直接在硬件上做虛擬的雙操作系統架構
(3)共享內核但不共享應用運行時環境的雙操作系統架構如圖3所示,兩個操作系統共享同一內核,但是兩個操作系統使用不同的應用運行時環境,也就是從Framework層進行了數據隔離,擁有兩套Framework,每套架構上面支撐各自的應用軟件。這種方案在內核層之上對不同操作系統的文件系統、應用進程等進行隔離,安全隔離性較好;同時對硬件也有一定要求,會增加一定額外內存開銷。兩個操作系統也同時運行,使用時無需重啟手機,可一鍵實現兩個系統的無縫切換。

圖3 共享內核但不共享應用運行時環境的雙操作系統架構
除了以上雙操作系統實現方式外,Android 5.0開始在手機上也提供了多用戶功能。Android 5.0具備一個訪客模式,在該模式下有關機主的大部分個人信息將不可見,不同用戶的應用數據互相隔離,在需要將終端借給他人使用時可確保隱私安全。這種多用戶的功能并不屬于雙操作系統的情況,本質上就相當于在一個操作系統上單獨劃分一個分區,將不同的數據存儲在不同的分區上,類似于Linux的多用戶實現,不同的用戶可以訪問不同的應用軟件,但是一個應用軟件不能安裝多次。
以上幾種實現方式,除了從硬件層進行隔離的方式,其余幾種情況均可以實現雙系統之間的軟切換,因此從普通用戶角度幾乎無法區分具體方案。而實際上不論從測試角度還是安全防護角度,首先需要判斷雙操作系統是在內核層、Framework層或者軟件層實現的隔離。如果操作系統在內核層進行隔離,則在終端側表現為擁有兩個完全的獨立系統分區,包括system、data、cache及sdcard等目錄均會有完整的兩套,不同分區之間不能互相操作,如圖4所示:

圖4 雙Kernal架構判定
而如果系統從Framework層進行的隔離,比較簡單的辨別方式是adb shell進入終端,檢查系統進程,由于是雙系統,例如zygote、init等進程會有兩套。
而如果是多用戶的情況,通過adb shell進入終端,檢查/data/user目錄下的內容,如果發現有多個目錄,則可以判定危多用戶情況,圖5代表了終端設置了4個用戶:

圖5 data/user目錄查看
雙操作系統移動智能終端不管是哪種實現方式,都應該和其他終端一樣保證終端的可用性、保密性、完整性為目標建立安全策略模型,這一點可以參考一些現行標準,例如YD/T 2407《移動智能終端安全能力技術要求》。而除此之外,通常在行業、或高安全要求的場景下,雙操作系統移動智能終端應更重視安全隔離機制的設計,重點防止數據或設置跨區域訪問。而目前很多號稱安全系統的終端安全機制不完善,存在很大的安全風險。本節主要分析目前雙系統終端面臨的安全風險,同時給出需要實現的特殊安全要求。
雙操作系統終端通常分為個人區和工作區。個人區通常為了滿足用戶日常需要,而工作區則用于存儲重要工作信息、業務應用軟件等。一旦工作區被攻破則會造成很大的安全問題。因此如果要保證工作區的安全性,應首先區分個人區和工作區提供單獨的安全機制。包括以下3個方面:
(1)獨立的身份鑒別。個人區和工作區應該提供獨立的解鎖方式,當個人區解鎖被破解后,不能直接進入到工作區。
(2)獨立安裝和卸載應用。個人區由于為滿足日常生活需要,因此難免會接觸到惡意軟件,而此時工作區和個人區應單獨區分應用軟件,每個區域單獨安裝和卸載應用軟件,保證之間不互相影響。
(3)系統設置相互獨立。個人區和工作區應采用不同的安全策略,例如個人區采用自主訪問控制,工作區采用強制訪問控制。而工作區內的安全設置也應和個人區獨立,當個人區被修改時,不能同步影響工作區。
使用雙操作系統移動智能終端其主要的目的就是保證工作區的數據不被竊取和泄露,而工作區的數據安全性和個人區的安全要求不同,因此應該考慮提供單獨的存儲區域,同時應限制雙系統之間的交互過程。具體應包含以下幾個方面。
(1)App隔離。在Android下,App會暴露組件給其他App,不同的App之間可以互相調用,進行業務數據交互。但是在雙操作系統終端中,工作區通常使用的都是專用業務App,例如警務通等,通常是不能暴露組件給其他App調用的。因此除了加強App開發保護防止組件暴露,同時也應該保證雙系統間App使用獨立不可相互調用。
(2)App數據隔離。App在使用過程中,必定會產生一定量的用戶數據,這些數據可能會包括賬戶設置類、傳感采集類、金融支付類、媒體影音類數據,這些數據也應保證不被跨區域調用,限制讀寫權限。
(3)用戶數據隔離。這其中包括使用移動智能終端所產生的通信數據,在普通Android手機中,Android會提供接口,App可以調用獲取到通信數據例如電話短信。此外,手機的共享存儲區域會存儲用戶存入的數據,那么用戶數據保護應需要限制API接口調用,在工作區應該封閉調用接口,使得安全區信息不被獲取。同時對于存儲區域的保護應保證個人區和工作區內部數據分開存儲,其次應限制外部存儲設備接入,防止惡意代碼從外部傳遞到工作區。
另外,根據使用場景的不同,還可以對雙操作系統進行更多的限制,比如工作區需要接入專用VPN、禁止使用藍牙/Wi-Fi/USB等及禁止采集定位信息等,當然隔離強度的選擇需根據具體終端的使用場景來決定。
以上數據隔離的實現具體到終端中要包括進程隔離/內存隔離/存儲隔離,具體的安全方案要求包括以下5個方面:
(1)雙系統之間,不可以執行沒有授權的進程控制、調用。
(2)雙系統之間,不可以通過網絡執行沒有授權的遠程過程調用。
(3)雙系統之間,不可以互相讀取和修改內存數據。
(4)雙系統之間,不可以互相讀取和修改對方的系統文件。
(5)雙系統之間,不可以互相讀取和修改對方的數據文件和數據庫。
可以參考TEE隔離實現方式,TEE其實就可以看做一個小型雙系統方案。將主CPU分成兩個執行環境,中間設置一個Security Monitor Mode作為監控模式,在兩個環境中通過SMC(Secure Monitor Call)或者硬件中斷進行通信和切換,分別搭載不同的操作系統,將內存空間分割成多個用戶空間的沙盒,服務之間邏輯隔離,防止一個安全服務篡改另一個服務,服務之間也分割成不需要任何信任和依賴關系。安全環境提供一套API來使另一個系統使用可信安全服務。這樣通過一個專門的硬件實施訪問控制,配合安全啟動等安全機制才能保證安全隔離的強度。
除了基本的安全隔離外,雙系統本身的安全性也需要保證。近期發生的Wannacry事件讓我們看到,終端對漏洞修復不及時,將會對用戶甚至行業造成極大危害。而從泰爾終端實驗室對2017年新上市的終端進行漏洞測試的結果看,終端平均含有高危漏洞數量在5個左右,且廠商進行漏洞修復的延遲時間通常大于3個月,而一些小廠商行業終端漏洞平均延遲時間甚至大于1年。由此可以看到終端廠商對于漏洞修復積極性很低,表現不好,尤其是雙系統終端,一旦存在root漏洞,則安全隔離就等于形同虛設,存在極大安全隱患。并且很多終端缺少惡意代碼檢測能力,無法抵御惡意軟件的攻擊,造成所謂的安全區域并沒有更好的安全保護。
因此雙操作系統移動智能終端終端應提供持續更新機制,應至少保證終端不含有CNVD(國家信息安全漏洞共享平臺)和CNNVD(國家信息安全漏洞庫)公布的6個月前的高危及超危漏洞。且終端應提供惡意代碼檢測能力,應能夠識別一些非授權訪問、權限異常變化等并給予用戶警告,同時采取相應安全措施,例如拒絕訪問等,并可以定時升級更新。
隨著業務場景的增加,未來雙操作系統甚至多操作系統移動智能終端會越來越多。而目前我國針對雙系統終端還缺乏必要的管控措施,市場上各家廠商技術方案紛繁復雜,是否會更安全還是會帶來新的問題都不得而知,未來發展除了從技術角度保證終端安全性外,從管理角度也可以采取一定的措施。
目前我國對雙操作系統系統安全還沒有專門的安全標準支撐,尤其對于雙操作系統隔離機制的要求目前還比較空白。可以借鑒已有的安全標準,例如YD/T 3082-2016《移動智能終端上的個人信息保護技術要求》對于終端數據保護的要求,考慮雙操作系統的特殊性加強相關行業標準或國家標準的制定,配合近期實施的《中華人民共和國網絡安全法》,規定雙操作系統移動智能終端應該滿足的安全技術要求,或者企業的管理要求。
現在市場上雙操作系統終端層出不窮,各家都聲稱會帶來更高的安全性,但具體安全水平如何卻缺少權威機構的檢測認證。因此,需要有關部門去根據相關標準去判斷終端雙系統實現方案,以及是否做到了雙系統間的進程隔離、內存隔離、存儲隔離等。同時,檢測的目的也方便各個行業對終端進行選型,只有從技術、標準和檢測配合形成閉環才能真實提高雙操作系統移動智能終端安全水平。
雙操作系統移動智能終端目前還不普遍存在,目前多在行業內部、特殊工作場景使用。但是隨著個人用戶安全意識的提高,以及移動智能終端性能越來越強大,雙系統甚至多系統終端會更多地出現在市場上。因此關于雙操作系統終端的安全保護應該盡早標準化、科學化,以保證此類終端技術能夠良好穩定地發展。本文首先列舉了雙操作系統的實現方案及判別方法,在此基礎上主要從數據隔離的角度提出了雙系統安全解決方案,最后從監管角度提出了雙系統移動智能終端管理建議。
[1] 張軼群. 安全手機瞄準高端市場 雙系統受青睞[N]. 中國電子報, 2014-12-02(9).
[2] 上善若水. 雙系統會成為智能移動終端主流嗎[J]. 電腦迷, 2014(5): 38-39.
[3] YD/T 2407. 移動智能終端安全能力技術要求[S]. 2013.
[4] YD/T 2408. 移動智能終端安全能力測試方法[S]. 2013.
[5] YD/T 3082-2016. 移動智能終端上的個人信息保護技術要求[S]. 2016.
[6] YD/T 3228-2017. 移動應用軟件安全評估方法[S]. 2017.
[7] 倪昀澤. 移動智能終端安全漏洞攻防技術綜述[J]. 移動通信, 2017,41(7): 30-34.
[8] 姚一楠. 對移動智能終端漏洞不得不防[N]. 人民郵電報, 2017-07-20(5).
[9] 舒文瓊. 移動終端漏洞應急響應機制待建立[J]. 通信世界, 2017(24): 58-59.
[10] 姚一楠,于璐,何桂立. Android平臺的安全挑戰及應對措施[J]. 現代電信科技, 2012,42(9): 16-21. ★
Analysis on the Security of Smart Mobile Terminal with Dual OS
YAO Yinan, ZHAI Shijun, DENG Yanghui
(China Academy of Information and Communications Technology, Beijing 100191, China)
At present, the terminal with the dual operating system (OS) faces the large security risk. Therefore, the implementation scheme and identifying method of the dual OS were listed. Then, the secure solution to the dual OS was proposed based on the data isolation. Finally, the management suggestion on the mobile smart terminal with dual OS was presented from the perspective of supervision.
dual OS data isolation access control
10.3969/j.issn.1006-1010.2017.21.004
TP915.6
A
1006-1010(2017)21-0016-05
姚一楠,翟世俊,鄧樣輝. 雙操作系統移動智能終端安全分析[J]. 移動通信, 2017,41(21): 16-20.
國家高技術研究發展計劃(863計劃)-智能終端安全檢測技術研究(2015AA017202)
2017-10-27
黃耿東 huanggengdong@mbcom.cn

姚一楠:工程師,碩士畢業于電信科學技術研究院,現任中國信息通信研究院科研工程師,主要從事移動智能終端安全理論、標準化研究工作。

翟世俊:高級工程師,博士畢業于北京郵電大學,現任職于中國信息通信研究院,主要從事移動互聯網及應用軟件相關的安全理論、技術的研究以及相關標準的制定工作。

鄧樣輝:現任職于中國信息通信研究院,從事移動互聯網、智能終端安全標準研究和測試系統測試工作,主要研究移動智能終端操作系統加固、移動云計算等安全方面的問題。