◆熊 偉 王樂東 李孟君
(海軍計(jì)算技術(shù)研究所 北京 100841)
基于可信計(jì)算的安卓移動(dòng)智能終端安全加固技術(shù)研究
◆熊 偉 王樂東 李孟君
(海軍計(jì)算技術(shù)研究所 北京 100841)
安卓移動(dòng)智能終端其軟件生態(tài)系統(tǒng)和使用環(huán)境具有開放性,其安全性面臨著很大風(fēng)險(xiǎn)。本文在綜合分析了國內(nèi)外移動(dòng)智能終端傳統(tǒng)安全技術(shù)和可信計(jì)算技術(shù)研究現(xiàn)狀的基礎(chǔ)上,介紹了如何利用可信計(jì)算技術(shù)對(duì)安卓移動(dòng)智能終端進(jìn)行安全加固,并給出了可信智能終端體系結(jié)構(gòu)以及配套可信度量等關(guān)鍵功能的設(shè)計(jì)方法,從而實(shí)現(xiàn)一種可主動(dòng)免疫的高效安全防范模式,確保終端軟件不被篡改,從根本上降低安全風(fēng)險(xiǎn),為移動(dòng)智能終端的廣泛應(yīng)用奠定安全技術(shù)基礎(chǔ)。
移動(dòng)智能終端;可信計(jì)算;安全加固
隨著4G等無線通信技術(shù)的迅速發(fā)展,移動(dòng)網(wǎng)絡(luò)的通信能力日益增強(qiáng),與之適應(yīng)具備強(qiáng)勁處理器和大容量存儲(chǔ)的智能終端的使用也越來越廣泛。與傳統(tǒng)的功能機(jī)不同,新一代移動(dòng)智能終端擁有獨(dú)立的操作系統(tǒng),配備攝像頭、藍(lán)牙和GPS等多種硬件模塊,可以安裝和運(yùn)行第三方軟件,除了常用通話和短信功能,還提供娛樂和辦公服務(wù),成為個(gè)人移動(dòng)通信和信息處理的平臺(tái)。
目前最流行的移動(dòng)操作系統(tǒng)包括Google的android(安卓)和蘋果公司的ios。相比于ios,andriod最大的特點(diǎn)是它的開放性[1],各大手機(jī)廠商都可以根據(jù)自己的需求進(jìn)行系統(tǒng)鏡像定制,第三方應(yīng)用的開發(fā)和發(fā)布安裝也很簡便,沒有太多限制。這種開放性極大地促進(jìn)了 andriod的發(fā)展,據(jù) 2017年市場(chǎng)數(shù)據(jù)調(diào)研公司kanta worldpanle最新調(diào)查表明,andriod市場(chǎng)份額在各個(gè)國家基本都超過了50%,在國內(nèi)更是遙遙領(lǐng)先,高達(dá)86.4%。
與個(gè)人電腦的發(fā)展相似,移動(dòng)智能終端的發(fā)展在給用戶提供便利的同時(shí)也造成了安全隱患。移動(dòng)智能終端上存儲(chǔ)的用戶個(gè)人信息,如通訊錄、私人照片、網(wǎng)站賬號(hào)密碼等,以及隨著移動(dòng)支付的爆炸性推進(jìn)而保存的個(gè)人支付信息,都成為惡意攻擊者的首要攻擊目標(biāo)。因此作為目前最流行的移動(dòng)操作系統(tǒng),andriod遭到的攻擊越來越多[1],手機(jī)病毒也開始出現(xiàn)[2],如何提高其安全性,減少惡意入侵風(fēng)險(xiǎn)成為了迫切需要解決的問題。
針對(duì)移動(dòng)智能終端不斷出現(xiàn)的安全問題,各大廠商將傳統(tǒng)安全防護(hù)技術(shù)和安卓系統(tǒng)相結(jié)合,推出相應(yīng)的解決方案,如騰訊、360和賽門鐵克都發(fā)布了自己的安全產(chǎn)品。但是這些公司提供的安全產(chǎn)品采用的是傳統(tǒng)的信息安全“老三樣”:防火墻、入侵檢測(cè)和殺病毒。移動(dòng)智能終端面對(duì)是一個(gè)開放性使用環(huán)境,受到的攻擊風(fēng)險(xiǎn)種類繁多而且不斷進(jìn)化,消極被動(dòng)的封堵查殺只能應(yīng)付已知攻擊手段,一旦新的攻擊技術(shù)出現(xiàn)就防不勝防。
因此具備主動(dòng)防御功能的可信計(jì)算技術(shù)成為了移動(dòng)安全領(lǐng)域一個(gè)新的研究熱點(diǎn)。可信計(jì)算的概念由美國國防部1983年在其制定的《可信計(jì)算機(jī)系統(tǒng)評(píng)價(jià)準(zhǔn)則》中第一次提出。隨后,Microsoft、Intel、IBM、HP和 Compaq等IT巨頭公司于 1999年10月領(lǐng)頭發(fā)起和成立了可信計(jì)算平臺(tái)聯(lián)盟(TCPA),并在 2003年 3月將其正式更名為可信計(jì)算組織 TCG(Trusted Computing Group)[3],TCG發(fā)布了一系列可信計(jì)算標(biāo)準(zhǔn),介紹了如何利用可信平臺(tái)模塊(TPM)提供的各種功能來保護(hù)系統(tǒng)平臺(tái)的安全。在國內(nèi),1992年針對(duì)可信計(jì)算正式立項(xiàng),開始了對(duì)可信計(jì)算的研究。在2004年10月,武漢大學(xué)和瑞達(dá)公司合作研制出了我國第一款自主研制的可信計(jì)算平臺(tái)[4]。其后,聯(lián)想公司和兆日公司于2005年也先后推出了各自的可信計(jì)算機(jī),并都通過了國家密碼管理局的鑒定和認(rèn)證。2006年開始,業(yè)內(nèi)廠商在國家密碼管理局和全國信息安全標(biāo)準(zhǔn)委員會(huì)主持下,共同參與制定了具有中國特色的一系列可信計(jì)算規(guī)范和標(biāo)準(zhǔn),并于2008 年成立了中國可信計(jì)算聯(lián)盟,至此我國的可信計(jì)算事業(yè)開始蓬勃發(fā)展。
與傳統(tǒng)安全防護(hù)“封堵查殺”技術(shù)相比,可信計(jì)算是指計(jì)算運(yùn)算的同時(shí)進(jìn)行安全防護(hù),使計(jì)算結(jié)果總是與預(yù)期一樣,計(jì)算全程可測(cè)可控,是一種運(yùn)算與防護(hù)并存的主動(dòng)免疫的計(jì)算模式[5]。可信計(jì)算在移動(dòng)智能設(shè)備安全研究中也得到了很大關(guān)注,取得了一系列成果。
2005年TCG附屬移動(dòng)電話工作組MPWG(Mobile Phone Work Group)發(fā)布了移動(dòng)電話工作組白皮書,對(duì)可信計(jì)算應(yīng)用在移動(dòng)領(lǐng)域進(jìn)行了展望和案例分析。2007年MPWG公布了移動(dòng)可信模塊MTM(Mobile Trusted Module)規(guī)范[6],將以往成熟的TCG技術(shù)推廣到移動(dòng)終端中。在這之后MPWG又陸續(xù)發(fā)布了TCG移動(dòng)參考架構(gòu)和MTM使用案例等標(biāo)準(zhǔn)和規(guī)范。隨著移動(dòng)可信計(jì)算技術(shù)不斷發(fā)展和成熟,許多國外學(xué)者開始研究在智能移動(dòng)終端中如何開展可信計(jì)算技術(shù)應(yīng)用。與此同時(shí),國內(nèi)學(xué)者也對(duì)移動(dòng)可信平臺(tái)體系架構(gòu)進(jìn)行了一些探索。不過在這方面的研究還處于起步階段,相對(duì)較少,一些學(xué)者也只是提出了基于可信計(jì)算的理論設(shè)計(jì),沒有推出相應(yīng)功能的技術(shù)和具體設(shè)計(jì)。
移動(dòng)智能終端多基于SOC(System On Chip)芯片構(gòu)建,為了采用可信計(jì)算技術(shù)對(duì)其進(jìn)行安全加固,需要在其上增加 MTM提供可信服務(wù),作為可信根。改造后的智能終端體系架構(gòu)示意圖如圖1所示:

圖1 移動(dòng)智能終端可信體系架構(gòu)
移動(dòng)智能終端具有體積小、功耗低等特點(diǎn),支持外設(shè)接口比PC要少的多,因此MTM不能采用通用PCI-E或USB接口設(shè)計(jì),而目前移動(dòng)智能終端很多都支持TF卡進(jìn)行存儲(chǔ)擴(kuò)展,因此可以考慮采用基于TF接口的MTM在對(duì)終端硬件架構(gòu)不做大規(guī)模修改的前提下進(jìn)行可信改造。
信任鏈技術(shù)是可信計(jì)算技術(shù)的關(guān)鍵技術(shù)之一。通過信任鏈技術(shù),可信計(jì)算平臺(tái)把信任關(guān)系從信任根擴(kuò)展到整個(gè)系統(tǒng),確保整體可信。
移動(dòng)智能終端啟動(dòng)流程與通用PC不同,它由bootloader而非BIOS進(jìn)行系統(tǒng)內(nèi)核加載,其信任鏈傳遞模型如圖2所示:

圖2 移動(dòng)智能終端信任鏈傳遞模型
為了構(gòu)建完整可靠的信任鏈,需要保證系統(tǒng)啟動(dòng)過程中從MTM、Bootloader、系統(tǒng)內(nèi)核再到第三方應(yīng)用,每個(gè)步驟都經(jīng)過完整性驗(yàn)證,一級(jí)驗(yàn)證一級(jí),一級(jí)確認(rèn)一級(jí),確保硬件和軟件處于可信狀態(tài),實(shí)現(xiàn)移動(dòng)智能終端整體可信。而安卓第三方應(yīng)用通常運(yùn)行在dalvik虛擬機(jī)上,以APK形式發(fā)布,所以與通用PC相比,信任鏈得延伸到dalvik和上層APK應(yīng)用。
可信軟件基是構(gòu)成可信計(jì)算設(shè)備安全子系統(tǒng)的組合體,用來防止不可信主體的干擾和篡改,其中最關(guān)鍵的一個(gè)模塊是程序可信度量模塊,用以根據(jù)可信白名單對(duì)待運(yùn)行程序進(jìn)行可信度量,從而識(shí)別其是否合法。在圖2中已經(jīng)介紹過,在android系統(tǒng)中,可執(zhí)行程序主要分為Linux原生可執(zhí)行程序和android應(yīng)用程序兩大類。其中,Linux原生可執(zhí)行程序包括 Linux應(yīng)用程序和動(dòng)態(tài)庫,為elf格式,在android內(nèi)核中執(zhí)行,而android應(yīng)用程序以APK文件形式發(fā)布,在dalvik虛擬機(jī)中執(zhí)行,可信軟件基中完整性度量機(jī)制需要同時(shí)支持這兩種格式的可執(zhí)行文件。
Android應(yīng)用程序APK文件實(shí)際上是zip格式的壓縮文件,包含android dalvik虛擬機(jī)的字節(jié)碼文件,資源文件,程序全局配置文件,以及通過jni接口調(diào)用的linux動(dòng)態(tài)庫。可信度量模塊在內(nèi)核中需要監(jiān)控程序運(yùn)行消息,當(dāng)android應(yīng)用程序或原生應(yīng)用被映射進(jìn)內(nèi)存時(shí),進(jìn)行攔截并進(jìn)行解析,然后驗(yàn)證程序中可執(zhí)行文件的完整性,如果度量成功則允許繼續(xù)執(zhí)行,否則映射失敗,阻止程序執(zhí)行。安卓內(nèi)核基于Linux實(shí)現(xiàn),它提供了一個(gè)輕量級(jí)通用訪問控制框架LSM[7](Linux 安全模塊),具有通用、動(dòng)態(tài)加載和高效的特點(diǎn),支持用戶在內(nèi)核源代碼中放置鉤子實(shí)現(xiàn)自己的安全策略,因此安卓智能終端中可信度量模塊可以采用它實(shí)現(xiàn)程序執(zhí)行控制。
目前,移動(dòng)智能終端功能越來越強(qiáng)大,性能甚至超過了幾年前的通用計(jì)算機(jī),它上面保存的用戶身份信息、通訊錄和照片等個(gè)人隱私也越來越多,因此防止這些信息被非法訪問就十分重要,這就要求在終端上實(shí)現(xiàn)對(duì)信息的安全存儲(chǔ)功能。可信軟件基包含的可信軟件棧提供了訪問MTM中用戶認(rèn)證、密鑰管理、對(duì)稱加解密等安全服務(wù)的標(biāo)準(zhǔn)接口,可以在此基礎(chǔ)上實(shí)現(xiàn)對(duì)用戶數(shù)據(jù)硬件級(jí)加密保護(hù)。
與ios相比,andriod設(shè)備十分開放,用戶可以自己安裝第三方應(yīng)用和系統(tǒng)鏡像,這將不可避免引入很大的風(fēng)險(xiǎn)。雖然android應(yīng)用 APK文件在發(fā)布前都必須進(jìn)行簽名,但與信息安全領(lǐng)域中數(shù)字證書使用目標(biāo)不同,此簽名只用來標(biāo)識(shí)應(yīng)用的開發(fā)者,不需要第三方權(quán)威認(rèn)證機(jī)構(gòu)進(jìn)行認(rèn)證。系統(tǒng)鏡像更新更加靈活,通過技術(shù)手段可以直接刷寫任意版本,沒有任何控制。因此,為了確保智能終端的安全使用,需要實(shí)現(xiàn)軟件和系統(tǒng)鏡像更新的可信發(fā)布。為了支持可信發(fā)布,必須新增一個(gè)可信軟件發(fā)布服務(wù)器來實(shí)現(xiàn)可信軟件倉庫功能,提供系統(tǒng)鏡像升級(jí)包和第三方軟件的采集、合法性認(rèn)證和推送等功能。
移動(dòng)應(yīng)用的可信發(fā)布包括兩個(gè)階段:第一階段在應(yīng)用安裝包和系統(tǒng)鏡像升級(jí)包發(fā)布前,將其提交給可信發(fā)布服務(wù)器進(jìn)行預(yù)期值采集和數(shù)字簽名。APK安裝包和系統(tǒng)鏡像都包含了一組可執(zhí)行文件,簽名前需要先解壓然后進(jìn)行完整性度量并生成對(duì)應(yīng)預(yù)期值文件,這些預(yù)期值將在安裝后合并或替換可信軟件基中的可信白名單。數(shù)字簽名信息包則含簽名和時(shí)變參數(shù)等信息。簽名用于確保軟件包來源合法性,時(shí)變參數(shù)則可用于升級(jí)過程中的前向安全保護(hù),防止用戶將軟件版本降級(jí)造成舊版本漏洞仍舊有效;第二個(gè)階段是移動(dòng)智能設(shè)備通過本機(jī)的安裝客戶端從指定的發(fā)布服務(wù)器獲取軟件或系統(tǒng)更新包后進(jìn)行軟件安裝或系統(tǒng)升級(jí),安裝前先進(jìn)行可信度量和數(shù)字簽名驗(yàn)證,只有通過可信度量和數(shù)字簽名驗(yàn)證才能進(jìn)行下一步安裝或升級(jí)操作。
本文針對(duì)目前廣泛應(yīng)用于移動(dòng)智能終端的android操作系統(tǒng),分析了如何利用可信計(jì)算技術(shù)對(duì)其進(jìn)行安全加固,實(shí)現(xiàn)抵御來源于網(wǎng)絡(luò)的各種攻擊、防止惡意代碼對(duì)手機(jī)系統(tǒng)的破壞、以及非授權(quán)操作引起的隱私信息損毀和泄露等功能,增強(qiáng)移動(dòng)智能終端的安全性。
文中使用的是MTM采用TF封裝,由于其功耗較低,因此性能也比較低,對(duì)用戶使用會(huì)造成一定影響。而目前主流的智能終端處理器大都采用ARM架構(gòu),在將來的研究中可以考慮利用其提供的trustzone技術(shù),在處理器隔離出的可信執(zhí)行環(huán)境中直接實(shí)現(xiàn)MTM的功能,提高終端性能,減少對(duì)用戶正常使用的影響。
[1]Sinha, Amit, M. A. W. Sutton, and S. Devarajan. "Systems and methods for mobile application security classification and enforcement." US, US8763071,2014.
[2]Cheng J, Wong S H Y, Yang H, et al. SmartSiren:virus detection and alert for smartphones[C]// International Conference on Mobile Systems, Applications, and Services. DBLP,2007.
[3]TCG. trusted computing group[EB/OL]. http://www.tr ustedcomputinggroup.org/cn.
[4]張煥國,何炎祥,趙波等.我國可信計(jì)算研究與發(fā)展[J].中國計(jì)算機(jī)學(xué)會(huì)通訊,2010.
[5]沈昌祥,張煥國,王懷民等.可信計(jì)算的研究與發(fā)展[J].中國科學(xué):信息科學(xué),2010.
[6]TCG. Mobile Reference Architecture version 1.0[EB.OL].https://www.trustedcomputinggroup.org/specs/mobil ephone/tcg2mobile2reference2architecture21.pdf.
[7]Chris Wright, Crispin Cowan, Stephen Smalley, James Morris. Linux Security Module Framework[M].Ottawa Linux Symposium,2002.
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2017年10期