姚一楠,翟世俊,鄧樣輝
(中國信息通信研究院,北京 100191)
雙操作系統(tǒng)移動智能終端安全分析*
姚一楠,翟世俊,鄧樣輝
(中國信息通信研究院,北京 100191)
目前雙系統(tǒng)終端面臨較大的安全風(fēng)險,因此首先列舉雙操作系統(tǒng)的實(shí)現(xiàn)方案及判別方法,在此基礎(chǔ)上主要從數(shù)據(jù)隔離的角度提出了雙系統(tǒng)安全解決方案,最后從監(jiān)管角度提出了雙系統(tǒng)移動智能終端管理建議。
雙操作系統(tǒng) 數(shù)據(jù)隔離 訪問控制
隨著移動智能終端的發(fā)展,用戶對移動智能終端的安全性要求越來越高,但安全和易用性經(jīng)常是矛盾對立的。用戶需要體驗移動終端所帶來的豐富多彩的功能,同時又不希望自己的個人信息遭到泄露,因此市場上出現(xiàn)了很多雙操作系統(tǒng)移動智能終端,通常一個滿足用戶日常使用,一個用來提供隱私環(huán)境使用,雙系統(tǒng)間采用一定的數(shù)據(jù)隔離機(jī)制。但雙系統(tǒng)終端目前依舊是新生事物,各廠家的實(shí)現(xiàn)方案良莠不齊,雙系統(tǒng)之間的隔離程度也沒有統(tǒng)一的標(biāo)準(zhǔn)。因此本文聚焦雙操作系統(tǒng)移動智能終端,首先闡述雙系統(tǒng)的實(shí)現(xiàn)方案及判定方法,同時提出數(shù)據(jù)安全保護(hù)的解決方案,最后從宏觀角度提出監(jiān)管建議。
目前市場上雙操作系統(tǒng)系統(tǒng)終端很多,例如同洲電子實(shí)現(xiàn)的Android+960 OS終端,及酷派所實(shí)現(xiàn)的雙Android系統(tǒng)終端?;陔p操作系統(tǒng)的終端目前有如下幾種實(shí)現(xiàn)方式:
(1)獨(dú)立的雙操作系統(tǒng)架構(gòu)如圖1所示,直接在硬件上進(jìn)行隔離,兩套操作系統(tǒng)直接安裝在系統(tǒng)的不同分區(qū),相互獨(dú)立,兩個系統(tǒng)不共享系統(tǒng)內(nèi)核或沒有共同的內(nèi)核,兩個系統(tǒng)不能同時運(yùn)行,需要重啟才能切換到另一個操作系統(tǒng),如Android+Windows 10或Android+Firefox OS。這種方案下雙系統(tǒng)之間完全獨(dú)立,不能做任何交互,系統(tǒng)之間的隔離性較差;由于兩個系統(tǒng)不能同時運(yùn)行,對硬件沒有額外的要求。兩個操作系統(tǒng)需重啟智能終端才能完成切換,速度較慢。
圖1 獨(dú)立雙操作系統(tǒng)架構(gòu)
(2)直接在硬件上做虛擬的雙操作系統(tǒng)架構(gòu)如圖2所示,利用Linux hypervisor技術(shù)直接在硬件上做虛擬化,上面搭載兩個操作系統(tǒng),支持Android系統(tǒng)和非Android系統(tǒng);這兩個操作系統(tǒng)不共享內(nèi)核,從Linux內(nèi)核層就進(jìn)行了系統(tǒng)隔離,具有兩套Kernel、兩套Framework及應(yīng)用軟件,應(yīng)用軟件可以在不同系統(tǒng)中安裝多次。這種方案通常采用安全隔離技術(shù)對不同系統(tǒng)的存儲和進(jìn)程進(jìn)行完全隔離,防止系統(tǒng)的數(shù)據(jù)、應(yīng)用等資源被另一個系統(tǒng)非法訪問,具有較高的安全性;同時這種方案對硬件要求高,內(nèi)存開銷大,電池和硬件性能都面臨較大挑戰(zhàn)。兩個系統(tǒng)一般可以同時運(yùn)行,采用軟切換模式進(jìn)行切換,不需要重啟就可實(shí)現(xiàn)切換。
圖2 直接在硬件上做虛擬的雙操作系統(tǒng)架構(gòu)
(3)共享內(nèi)核但不共享應(yīng)用運(yùn)行時環(huán)境的雙操作系統(tǒng)架構(gòu)如圖3所示,兩個操作系統(tǒng)共享同一內(nèi)核,但是兩個操作系統(tǒng)使用不同的應(yīng)用運(yùn)行時環(huán)境,也就是從Framework層進(jìn)行了數(shù)據(jù)隔離,擁有兩套Framework,每套架構(gòu)上面支撐各自的應(yīng)用軟件。這種方案在內(nèi)核層之上對不同操作系統(tǒng)的文件系統(tǒng)、應(yīng)用進(jìn)程等進(jìn)行隔離,安全隔離性較好;同時對硬件也有一定要求,會增加一定額外內(nèi)存開銷。兩個操作系統(tǒng)也同時運(yùn)行,使用時無需重啟手機(jī),可一鍵實(shí)現(xiàn)兩個系統(tǒng)的無縫切換。
圖3 共享內(nèi)核但不共享應(yīng)用運(yùn)行時環(huán)境的雙操作系統(tǒng)架構(gòu)
除了以上雙操作系統(tǒng)實(shí)現(xiàn)方式外,Android 5.0開始在手機(jī)上也提供了多用戶功能。Android 5.0具備一個訪客模式,在該模式下有關(guān)機(jī)主的大部分個人信息將不可見,不同用戶的應(yīng)用數(shù)據(jù)互相隔離,在需要將終端借給他人使用時可確保隱私安全。這種多用戶的功能并不屬于雙操作系統(tǒng)的情況,本質(zhì)上就相當(dāng)于在一個操作系統(tǒng)上單獨(dú)劃分一個分區(qū),將不同的數(shù)據(jù)存儲在不同的分區(qū)上,類似于Linux的多用戶實(shí)現(xiàn),不同的用戶可以訪問不同的應(yīng)用軟件,但是一個應(yīng)用軟件不能安裝多次。
以上幾種實(shí)現(xiàn)方式,除了從硬件層進(jìn)行隔離的方式,其余幾種情況均可以實(shí)現(xiàn)雙系統(tǒng)之間的軟切換,因此從普通用戶角度幾乎無法區(qū)分具體方案。而實(shí)際上不論從測試角度還是安全防護(hù)角度,首先需要判斷雙操作系統(tǒng)是在內(nèi)核層、Framework層或者軟件層實(shí)現(xiàn)的隔離。如果操作系統(tǒng)在內(nèi)核層進(jìn)行隔離,則在終端側(cè)表現(xiàn)為擁有兩個完全的獨(dú)立系統(tǒng)分區(qū),包括system、data、cache及sdcard等目錄均會有完整的兩套,不同分區(qū)之間不能互相操作,如圖4所示:
圖4 雙Kernal架構(gòu)判定
而如果系統(tǒng)從Framework層進(jìn)行的隔離,比較簡單的辨別方式是adb shell進(jìn)入終端,檢查系統(tǒng)進(jìn)程,由于是雙系統(tǒng),例如zygote、init等進(jìn)程會有兩套。
而如果是多用戶的情況,通過adb shell進(jìn)入終端,檢查/data/user目錄下的內(nèi)容,如果發(fā)現(xiàn)有多個目錄,則可以判定危多用戶情況,圖5代表了終端設(shè)置了4個用戶:
圖5 data/user目錄查看
雙操作系統(tǒng)移動智能終端不管是哪種實(shí)現(xiàn)方式,都應(yīng)該和其他終端一樣保證終端的可用性、保密性、完整性為目標(biāo)建立安全策略模型,這一點(diǎn)可以參考一些現(xiàn)行標(biāo)準(zhǔn),例如YD/T 2407《移動智能終端安全能力技術(shù)要求》。而除此之外,通常在行業(yè)、或高安全要求的場景下,雙操作系統(tǒng)移動智能終端應(yīng)更重視安全隔離機(jī)制的設(shè)計,重點(diǎn)防止數(shù)據(jù)或設(shè)置跨區(qū)域訪問。而目前很多號稱安全系統(tǒng)的終端安全機(jī)制不完善,存在很大的安全風(fēng)險。本節(jié)主要分析目前雙系統(tǒng)終端面臨的安全風(fēng)險,同時給出需要實(shí)現(xiàn)的特殊安全要求。
雙操作系統(tǒng)終端通常分為個人區(qū)和工作區(qū)。個人區(qū)通常為了滿足用戶日常需要,而工作區(qū)則用于存儲重要工作信息、業(yè)務(wù)應(yīng)用軟件等。一旦工作區(qū)被攻破則會造成很大的安全問題。因此如果要保證工作區(qū)的安全性,應(yīng)首先區(qū)分個人區(qū)和工作區(qū)提供單獨(dú)的安全機(jī)制。包括以下3個方面:
(1)獨(dú)立的身份鑒別。個人區(qū)和工作區(qū)應(yīng)該提供獨(dú)立的解鎖方式,當(dāng)個人區(qū)解鎖被破解后,不能直接進(jìn)入到工作區(qū)。
(2)獨(dú)立安裝和卸載應(yīng)用。個人區(qū)由于為滿足日常生活需要,因此難免會接觸到惡意軟件,而此時工作區(qū)和個人區(qū)應(yīng)單獨(dú)區(qū)分應(yīng)用軟件,每個區(qū)域單獨(dú)安裝和卸載應(yīng)用軟件,保證之間不互相影響。
(3)系統(tǒng)設(shè)置相互獨(dú)立。個人區(qū)和工作區(qū)應(yīng)采用不同的安全策略,例如個人區(qū)采用自主訪問控制,工作區(qū)采用強(qiáng)制訪問控制。而工作區(qū)內(nèi)的安全設(shè)置也應(yīng)和個人區(qū)獨(dú)立,當(dāng)個人區(qū)被修改時,不能同步影響工作區(qū)。
使用雙操作系統(tǒng)移動智能終端其主要的目的就是保證工作區(qū)的數(shù)據(jù)不被竊取和泄露,而工作區(qū)的數(shù)據(jù)安全性和個人區(qū)的安全要求不同,因此應(yīng)該考慮提供單獨(dú)的存儲區(qū)域,同時應(yīng)限制雙系統(tǒng)之間的交互過程。具體應(yīng)包含以下幾個方面。
(1)App隔離。在Android下,App會暴露組件給其他App,不同的App之間可以互相調(diào)用,進(jìn)行業(yè)務(wù)數(shù)據(jù)交互。但是在雙操作系統(tǒng)終端中,工作區(qū)通常使用的都是專用業(yè)務(wù)App,例如警務(wù)通等,通常是不能暴露組件給其他App調(diào)用的。因此除了加強(qiáng)App開發(fā)保護(hù)防止組件暴露,同時也應(yīng)該保證雙系統(tǒng)間App使用獨(dú)立不可相互調(diào)用。
(2)App數(shù)據(jù)隔離。App在使用過程中,必定會產(chǎn)生一定量的用戶數(shù)據(jù),這些數(shù)據(jù)可能會包括賬戶設(shè)置類、傳感采集類、金融支付類、媒體影音類數(shù)據(jù),這些數(shù)據(jù)也應(yīng)保證不被跨區(qū)域調(diào)用,限制讀寫權(quán)限。
(3)用戶數(shù)據(jù)隔離。這其中包括使用移動智能終端所產(chǎn)生的通信數(shù)據(jù),在普通Android手機(jī)中,Android會提供接口,App可以調(diào)用獲取到通信數(shù)據(jù)例如電話短信。此外,手機(jī)的共享存儲區(qū)域會存儲用戶存入的數(shù)據(jù),那么用戶數(shù)據(jù)保護(hù)應(yīng)需要限制API接口調(diào)用,在工作區(qū)應(yīng)該封閉調(diào)用接口,使得安全區(qū)信息不被獲取。同時對于存儲區(qū)域的保護(hù)應(yīng)保證個人區(qū)和工作區(qū)內(nèi)部數(shù)據(jù)分開存儲,其次應(yīng)限制外部存儲設(shè)備接入,防止惡意代碼從外部傳遞到工作區(qū)。
另外,根據(jù)使用場景的不同,還可以對雙操作系統(tǒng)進(jìn)行更多的限制,比如工作區(qū)需要接入專用VPN、禁止使用藍(lán)牙/Wi-Fi/USB等及禁止采集定位信息等,當(dāng)然隔離強(qiáng)度的選擇需根據(jù)具體終端的使用場景來決定。
以上數(shù)據(jù)隔離的實(shí)現(xiàn)具體到終端中要包括進(jìn)程隔離/內(nèi)存隔離/存儲隔離,具體的安全方案要求包括以下5個方面:
(1)雙系統(tǒng)之間,不可以執(zhí)行沒有授權(quán)的進(jìn)程控制、調(diào)用。
(2)雙系統(tǒng)之間,不可以通過網(wǎng)絡(luò)執(zhí)行沒有授權(quán)的遠(yuǎn)程過程調(diào)用。
(3)雙系統(tǒng)之間,不可以互相讀取和修改內(nèi)存數(shù)據(jù)。
(4)雙系統(tǒng)之間,不可以互相讀取和修改對方的系統(tǒng)文件。
(5)雙系統(tǒng)之間,不可以互相讀取和修改對方的數(shù)據(jù)文件和數(shù)據(jù)庫。
可以參考TEE隔離實(shí)現(xiàn)方式,TEE其實(shí)就可以看做一個小型雙系統(tǒng)方案。將主CPU分成兩個執(zhí)行環(huán)境,中間設(shè)置一個Security Monitor Mode作為監(jiān)控模式,在兩個環(huán)境中通過SMC(Secure Monitor Call)或者硬件中斷進(jìn)行通信和切換,分別搭載不同的操作系統(tǒng),將內(nèi)存空間分割成多個用戶空間的沙盒,服務(wù)之間邏輯隔離,防止一個安全服務(wù)篡改另一個服務(wù),服務(wù)之間也分割成不需要任何信任和依賴關(guān)系。安全環(huán)境提供一套API來使另一個系統(tǒng)使用可信安全服務(wù)。這樣通過一個專門的硬件實(shí)施訪問控制,配合安全啟動等安全機(jī)制才能保證安全隔離的強(qiáng)度。
除了基本的安全隔離外,雙系統(tǒng)本身的安全性也需要保證。近期發(fā)生的Wannacry事件讓我們看到,終端對漏洞修復(fù)不及時,將會對用戶甚至行業(yè)造成極大危害。而從泰爾終端實(shí)驗室對2017年新上市的終端進(jìn)行漏洞測試的結(jié)果看,終端平均含有高危漏洞數(shù)量在5個左右,且廠商進(jìn)行漏洞修復(fù)的延遲時間通常大于3個月,而一些小廠商行業(yè)終端漏洞平均延遲時間甚至大于1年。由此可以看到終端廠商對于漏洞修復(fù)積極性很低,表現(xiàn)不好,尤其是雙系統(tǒng)終端,一旦存在root漏洞,則安全隔離就等于形同虛設(shè),存在極大安全隱患。并且很多終端缺少惡意代碼檢測能力,無法抵御惡意軟件的攻擊,造成所謂的安全區(qū)域并沒有更好的安全保護(hù)。
因此雙操作系統(tǒng)移動智能終端終端應(yīng)提供持續(xù)更新機(jī)制,應(yīng)至少保證終端不含有CNVD(國家信息安全漏洞共享平臺)和CNNVD(國家信息安全漏洞庫)公布的6個月前的高危及超危漏洞。且終端應(yīng)提供惡意代碼檢測能力,應(yīng)能夠識別一些非授權(quán)訪問、權(quán)限異常變化等并給予用戶警告,同時采取相應(yīng)安全措施,例如拒絕訪問等,并可以定時升級更新。
隨著業(yè)務(wù)場景的增加,未來雙操作系統(tǒng)甚至多操作系統(tǒng)移動智能終端會越來越多。而目前我國針對雙系統(tǒng)終端還缺乏必要的管控措施,市場上各家廠商技術(shù)方案紛繁復(fù)雜,是否會更安全還是會帶來新的問題都不得而知,未來發(fā)展除了從技術(shù)角度保證終端安全性外,從管理角度也可以采取一定的措施。
目前我國對雙操作系統(tǒng)系統(tǒng)安全還沒有專門的安全標(biāo)準(zhǔn)支撐,尤其對于雙操作系統(tǒng)隔離機(jī)制的要求目前還比較空白??梢越梃b已有的安全標(biāo)準(zhǔn),例如YD/T 3082-2016《移動智能終端上的個人信息保護(hù)技術(shù)要求》對于終端數(shù)據(jù)保護(hù)的要求,考慮雙操作系統(tǒng)的特殊性加強(qiáng)相關(guān)行業(yè)標(biāo)準(zhǔn)或國家標(biāo)準(zhǔn)的制定,配合近期實(shí)施的《中華人民共和國網(wǎng)絡(luò)安全法》,規(guī)定雙操作系統(tǒng)移動智能終端應(yīng)該滿足的安全技術(shù)要求,或者企業(yè)的管理要求。
現(xiàn)在市場上雙操作系統(tǒng)終端層出不窮,各家都聲稱會帶來更高的安全性,但具體安全水平如何卻缺少權(quán)威機(jī)構(gòu)的檢測認(rèn)證。因此,需要有關(guān)部門去根據(jù)相關(guān)標(biāo)準(zhǔn)去判斷終端雙系統(tǒng)實(shí)現(xiàn)方案,以及是否做到了雙系統(tǒng)間的進(jìn)程隔離、內(nèi)存隔離、存儲隔離等。同時,檢測的目的也方便各個行業(yè)對終端進(jìn)行選型,只有從技術(shù)、標(biāo)準(zhǔn)和檢測配合形成閉環(huán)才能真實(shí)提高雙操作系統(tǒng)移動智能終端安全水平。
雙操作系統(tǒng)移動智能終端目前還不普遍存在,目前多在行業(yè)內(nèi)部、特殊工作場景使用。但是隨著個人用戶安全意識的提高,以及移動智能終端性能越來越強(qiáng)大,雙系統(tǒng)甚至多系統(tǒng)終端會更多地出現(xiàn)在市場上。因此關(guān)于雙操作系統(tǒng)終端的安全保護(hù)應(yīng)該盡早標(biāo)準(zhǔn)化、科學(xué)化,以保證此類終端技術(shù)能夠良好穩(wěn)定地發(fā)展。本文首先列舉了雙操作系統(tǒng)的實(shí)現(xiàn)方案及判別方法,在此基礎(chǔ)上主要從數(shù)據(jù)隔離的角度提出了雙系統(tǒng)安全解決方案,最后從監(jiān)管角度提出了雙系統(tǒng)移動智能終端管理建議。
[1] 張軼群. 安全手機(jī)瞄準(zhǔn)高端市場 雙系統(tǒng)受青睞[N]. 中國電子報, 2014-12-02(9).
[2] 上善若水. 雙系統(tǒng)會成為智能移動終端主流嗎[J]. 電腦迷, 2014(5): 38-39.
[3] YD/T 2407. 移動智能終端安全能力技術(shù)要求[S]. 2013.
[4] YD/T 2408. 移動智能終端安全能力測試方法[S]. 2013.
[5] YD/T 3082-2016. 移動智能終端上的個人信息保護(hù)技術(shù)要求[S]. 2016.
[6] YD/T 3228-2017. 移動應(yīng)用軟件安全評估方法[S]. 2017.
[7] 倪昀澤. 移動智能終端安全漏洞攻防技術(shù)綜述[J]. 移動通信, 2017,41(7): 30-34.
[8] 姚一楠. 對移動智能終端漏洞不得不防[N]. 人民郵電報, 2017-07-20(5).
[9] 舒文瓊. 移動終端漏洞應(yīng)急響應(yīng)機(jī)制待建立[J]. 通信世界, 2017(24): 58-59.
[10] 姚一楠,于璐,何桂立. Android平臺的安全挑戰(zhàn)及應(yīng)對措施[J]. 現(xiàn)代電信科技, 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
姚一楠,翟世俊,鄧樣輝. 雙操作系統(tǒng)移動智能終端安全分析[J]. 移動通信, 2017,41(21): 16-20.
國家高技術(shù)研究發(fā)展計劃(863計劃)-智能終端安全檢測技術(shù)研究(2015AA017202)
2017-10-27
黃耿東 huanggengdong@mbcom.cn
姚一楠:工程師,碩士畢業(yè)于電信科學(xué)技術(shù)研究院,現(xiàn)任中國信息通信研究院科研工程師,主要從事移動智能終端安全理論、標(biāo)準(zhǔn)化研究工作。
翟世俊:高級工程師,博士畢業(yè)于北京郵電大學(xué),現(xiàn)任職于中國信息通信研究院,主要從事移動互聯(lián)網(wǎng)及應(yīng)用軟件相關(guān)的安全理論、技術(shù)的研究以及相關(guān)標(biāo)準(zhǔn)的制定工作。
鄧樣輝:現(xiàn)任職于中國信息通信研究院,從事移動互聯(lián)網(wǎng)、智能終端安全標(biāo)準(zhǔn)研究和測試系統(tǒng)測試工作,主要研究移動智能終端操作系統(tǒng)加固、移動云計算等安全方面的問題。