賈能
摘 要:隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,Android智能手機(jī)在市場(chǎng)上占據(jù)著很大的份額。文章首先分析了Android現(xiàn)有的安全機(jī)制沙箱模型和數(shù)字證書(shū),然后提出Android系統(tǒng)存在的安全問(wèn)題,最后從系統(tǒng)開(kāi)發(fā)者和用戶2個(gè)角度設(shè)計(jì)安全策略來(lái)對(duì)現(xiàn)有的安全策略進(jìn)行改進(jìn)。
關(guān)鍵詞:Android;智能手機(jī);信息安全;安全策略
1 Android概述
Android是基于Linux內(nèi)核源代碼開(kāi)放的軟件平臺(tái)和操作系統(tǒng),主要應(yīng)用于智能手機(jī)和其他移動(dòng)設(shè)備。它由谷歌和開(kāi)放手機(jī)聯(lián)盟開(kāi)發(fā)和共同領(lǐng)導(dǎo)。谷歌在2007年11月5號(hào)宣布,經(jīng)過(guò)2年的迅猛發(fā)展,終于把谷歌在網(wǎng)絡(luò)應(yīng)用上的成功擴(kuò)展到個(gè)人移動(dòng)設(shè)施上。Android目前是市場(chǎng)上占有率最大的移動(dòng)操作系統(tǒng),三星、魅族、小米等著名手機(jī)品牌都使用它作為默認(rèn)的操作系統(tǒng)。但是,這項(xiàng)技術(shù)也是一把雙刃劍,給人們帶來(lái)方便的同時(shí)也帶來(lái)了許多信息安全問(wèn)題,造成了不少用戶的隱私泄露和財(cái)產(chǎn)損失。
2 Android主要安全機(jī)制
2.1 沙箱隔離模型
在Linux操作系統(tǒng)中,一個(gè)給定用戶由一個(gè)用戶ID來(lái)標(biāo)識(shí)。在Android系統(tǒng)中,一個(gè)應(yīng)用程序由一個(gè)用戶ID來(lái)標(biāo)識(shí)。在應(yīng)用市場(chǎng)下載完應(yīng)用程序進(jìn)行安裝時(shí),應(yīng)用程序會(huì)被系統(tǒng)指派一個(gè)用戶ID,只要應(yīng)用程序一直安裝在該手機(jī)設(shè)備上,用戶ID就不會(huì)改變。權(quán)限是限制或者容許應(yīng)用程序(不是用戶)訪問(wèn)設(shè)備資源的資格。Android“沙箱”的實(shí)質(zhì)是完成應(yīng)用程序和進(jìn)程之間的完全隔離,就是在默認(rèn)情況下,應(yīng)用程序?qū)ο到y(tǒng)資源或其他應(yīng)用程序資源是沒(méi)有訪問(wèn)權(quán)限的。每個(gè)應(yīng)用程序?qū)⑼ㄟ^(guò)系統(tǒng)獲得固定和唯一的uid,該uid還有一個(gè)與此相對(duì)應(yīng)的內(nèi)核層進(jìn)程uid。同時(shí),系統(tǒng)也會(huì)為應(yīng)用程序的資源設(shè)置正確的權(quán)限,只有擁有相同uid的應(yīng)用程序才能訪問(wèn)它們。
由圖1可知,2個(gè)不同的APP具備不同的uid,各自運(yùn)行在一個(gè)相對(duì)獨(dú)立的沙箱中,彼此相互隔離,互不干擾,訪問(wèn)、使用自己沙箱內(nèi)的資源。
2.2 數(shù)字證書(shū)
在Android系統(tǒng)中,一切已安裝的應(yīng)用程序必須具有數(shù)字證書(shū),這個(gè)數(shù)字證書(shū)是用來(lái)確認(rèn)APP和APP的作者之間信賴關(guān)系的橋梁。裝有Android系統(tǒng)的手機(jī)設(shè)備是不會(huì)安裝沒(méi)有數(shù)字證書(shū)的APP的,因?yàn)檫@很不安全。數(shù)字證書(shū)有2種模式:發(fā)布模式和調(diào)試模式。密鑰工具在命令行模式可以被用來(lái)產(chǎn)生一個(gè)數(shù)字證書(shū),而Jarsigner可以被用來(lái)為APK進(jìn)行數(shù)字簽名。只有采用同一包的名稱,并且使用相同數(shù)字證書(shū)的應(yīng)用程序才被認(rèn)為是相同的應(yīng)用程序。設(shè)置應(yīng)用程序之間通訊的權(quán)限和升級(jí)應(yīng)用是數(shù)字證書(shū)的最大用處,沒(méi)有數(shù)字證書(shū)或者數(shù)字證書(shū)損壞是無(wú)法升級(jí)應(yīng)用的。
3 Android安全問(wèn)題
雖然Android開(kāi)發(fā)人員為系統(tǒng)提供了很多安全保護(hù)機(jī)制,但它仍存在很多安全問(wèn)題,給手機(jī)用戶的隱私安全帶來(lái)極大的威脅。
3.1 數(shù)據(jù)存儲(chǔ)安全問(wèn)題
外部存儲(chǔ)區(qū)域(SD卡)以及內(nèi)部存儲(chǔ)區(qū)域(NAND閃存)共同組成Android軟件的存儲(chǔ)區(qū)域。對(duì)于存儲(chǔ)在外部的文件來(lái)講沒(méi)有讀取和寫(xiě)入的權(quán)限管理,因此所有的應(yīng)用程序都可以添加、刪除、查詢、修改保存在外部存儲(chǔ)上的任一文件。關(guān)于數(shù)據(jù)存儲(chǔ)可能會(huì)有以下一些問(wèn)題:將隱私數(shù)據(jù)和系統(tǒng)數(shù)據(jù)直接明文保存在外部存儲(chǔ)上,那么攻擊者可以通過(guò)一些工具或者寫(xiě)的程序?qū)⑦@些數(shù)據(jù)和信息讀取出來(lái),然后傳送到特定的服務(wù)器上,隱私信息因此而泄露;將軟件運(yùn)行依賴的數(shù)據(jù)和配置文件存儲(chǔ)在外部(SD卡)存儲(chǔ)區(qū)域里,這些配置文件或數(shù)據(jù)可能會(huì)被攻擊者修改,以實(shí)現(xiàn)他們想要控制該軟件操作的目的。例如,把登錄需要用的服務(wù)器列表保存在外部存儲(chǔ)區(qū)域,攻擊者作為第三方參與其中,將登錄連接發(fā)送給特定的服務(wù)器,這可能造成會(huì)話劫持或賬號(hào)泄露。
3.2 網(wǎng)絡(luò)通信安全問(wèn)題
安卓智能手機(jī)使用用戶通常使用WIFI來(lái)進(jìn)行網(wǎng)絡(luò)通信。WiFi并不總是可靠而沒(méi)有風(fēng)險(xiǎn)的,特別是弱加密網(wǎng)絡(luò)或公共網(wǎng)絡(luò),虛假WiFi甚至?xí)I取支付賬戶、手機(jī)品牌模型信息、自拍照片、電子郵件賬戶密碼和其他各類(lèi)隱私數(shù)據(jù)。在這種情況下,網(wǎng)絡(luò)流量可能會(huì)被攻擊者監(jiān)控。另外,在Android系統(tǒng)中,攻擊者取得root賬戶后,可以獲得最高權(quán)限,擁有至高無(wú)上的地位,因而還能夠監(jiān)聽(tīng)網(wǎng)絡(luò)數(shù)據(jù),進(jìn)行會(huì)話劫持,把惡意數(shù)據(jù)插入到普通的數(shù)據(jù)包中去。攻擊者也可以向連有虛假WiFi的終端設(shè)備發(fā)送帶有病毒的頁(yè)面或者郵件。假如這個(gè)帶有病毒的文件被用戶打開(kāi)了,那么該用戶的設(shè)備就可能會(huì)被植入木馬程序,感染木馬病毒,手機(jī)信息被攻擊者竊取。還有一種方法就是給應(yīng)用程序或網(wǎng)站種植病毒程序, 當(dāng)對(duì)程序進(jìn)行下載后,可能就已經(jīng)中了病毒。
3.3 不安全的密碼和認(rèn)證策略
很多軟件是不會(huì)直接把密碼保存在數(shù)據(jù)庫(kù)中的,而是采用各種加密方法對(duì)密碼進(jìn)行加密后存儲(chǔ)在本地,然而攻擊者通過(guò)各種工具和軟件,可以對(duì)安卓軟件進(jìn)行反編譯和反匯編。攻擊者能夠用這種方法來(lái)了解加密方法和編碼參數(shù)。
另一個(gè)問(wèn)題是使用IMEI(國(guó)際移動(dòng)設(shè)備身份碼)或者是IMSI(國(guó)際移動(dòng)用戶識(shí)別碼)作為唯一的認(rèn)證憑據(jù)。這2個(gè)編碼被用來(lái)唯一認(rèn)證移動(dòng)設(shè)備和移動(dòng)電話卡。假如使用國(guó)際移動(dòng)設(shè)備身份碼或國(guó)際移動(dòng)用戶識(shí)別碼作為唯一的用戶憑證,一些攻擊者可能假冒用戶來(lái)竊取用戶本來(lái)的信息。第一,應(yīng)用程序獲取這2個(gè)編碼不需要有特殊的權(quán)限,用*#06#這個(gè)命令就可以調(diào)出。第二,得到移動(dòng)設(shè)備身份碼和移動(dòng)用戶識(shí)別碼后,黑客有多種辦法來(lái)創(chuàng)建服務(wù)器和用戶之間的偽通信。因而,如果利用國(guó)際移動(dòng)設(shè)備身份碼和國(guó)際移動(dòng)用戶識(shí)別碼作為唯一的身份驗(yàn)證憑據(jù),服務(wù)器中原用戶的各種數(shù)據(jù)和賬就很可能被黑客竊取,造成信息泄露。
4 安全策略改進(jìn)
以上問(wèn)題大多是由于Android目前主要的訪問(wèn)控制類(lèi)型——任意訪問(wèn)控制(DAC)和用戶不當(dāng)?shù)氖褂昧?xí)慣造成造成,因此從系統(tǒng)開(kāi)發(fā)者和用戶2個(gè)角度設(shè)計(jì)了安全策略進(jìn)行改進(jìn)。
4.1 系統(tǒng)開(kāi)發(fā)者:強(qiáng)制訪問(wèn)控制(MAC)
強(qiáng)制訪問(wèn)控制是一個(gè)基于規(guī)則的多層次的訪問(wèn)控制策略,這個(gè)“強(qiáng)制”指的是主客體之間的訪問(wèn)由系統(tǒng)來(lái)控制,而不是由主體或者客體來(lái)授權(quán)。這種控制策略由系統(tǒng)將系統(tǒng)中的數(shù)據(jù)和用戶按密級(jí)來(lái)劃分。在強(qiáng)制訪問(wèn)控制下,主體和客體都由系統(tǒng)指定了固定的安全屬性和安全標(biāo)簽。在實(shí)施訪問(wèn)控制時(shí),決定該主體能否訪問(wèn)該客體的關(guān)鍵要素是客體的安全標(biāo)簽和安全等級(jí)是否符合相關(guān)的訪問(wèn)原則。MAC主要有2項(xiàng)訪問(wèn)規(guī)則:
(1)保密性規(guī)則:主體s讀客體o,僅當(dāng)。(下讀);主體s寫(xiě)客體o,僅當(dāng)。(上寫(xiě))。
(2)完整性規(guī)則:主體s讀客體o,僅當(dāng)。(上讀);主體s寫(xiě)客體o,僅當(dāng)。(下寫(xiě))。
在以上公式中,s表示主體,o表示客體,l則表示主客體級(jí)別。
4.2 用戶使用習(xí)慣
(1)用戶應(yīng)從正規(guī)、安全的渠道下載各類(lèi)APP和升級(jí)包。(2)安裝一些正規(guī)的安全監(jiān)管軟件對(duì)系統(tǒng)進(jìn)行監(jiān)測(cè)。(3)開(kāi)機(jī)使用密碼或者指紋識(shí)別,而且密碼最好要有一定的強(qiáng)度。(4)不要輕易刷機(jī),刷機(jī)需要提供ROOT賬戶,ROOT賬戶是安卓系統(tǒng)中的一個(gè)超級(jí)管理員用戶賬戶,它可以訪問(wèn)系統(tǒng)中的所有客體和資源。然而為了維護(hù)系統(tǒng)的穩(wěn)定性和安全性,一般情況下,ROOT權(quán)限是不開(kāi)放的。因此刷機(jī)很可能造成手機(jī)信息泄露和權(quán)限的轉(zhuǎn)移。(5)及時(shí)更新系統(tǒng)和APP,防止BUG對(duì)系統(tǒng)安全造成不良影響。(6)不要隨便打開(kāi)發(fā)信人不明的郵件和一些網(wǎng)站,注意網(wǎng)站的域名,防止釣魚(yú)。
5 結(jié)語(yǔ)
如今,智能手機(jī)在人們的日常生活的方方面面都發(fā)揮著重要的作用,Android手機(jī)又在智能手機(jī)中占據(jù)著重要一席。無(wú)論是手機(jī)內(nèi)部的安全漏洞還是外部的攻擊都使各種手機(jī)信息泄露事件層出不窮。系統(tǒng)開(kāi)發(fā)者應(yīng)該設(shè)計(jì)出更加安全有效的策略來(lái)保障用戶安全,而用戶本身也應(yīng)該時(shí)刻注意自己的隱私信息,讓移動(dòng)互聯(lián)網(wǎng)更好地為人民服務(wù)。
[參考文獻(xiàn)]
[1]袁志堅(jiān),王春平,陳融,等.Android平臺(tái)安全威脅及其應(yīng)對(duì)策略[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013(9):110-113.
[2]張毓森,慎健.安全操作系統(tǒng)研究[J].解放軍理工大學(xué)學(xué)報(bào):自然科學(xué)版,2004(3):1-4.
The Information Security Analysis and Strategy Improvement of AndroidMobile Phone
Jia Neng
(Zhongnan University of Economics and Law, Wuhan 430073, China)
Abstract: With the development of mobile Internet, mobile phones using Androidsystem occupy a large share in the market. First of all, this paper analyzes sandbox model and digital certificate which are the existing security mechanisms of Androidsystem. Secondly, security problems in the Androidsystem have been put forward. Finally, security strategies are designed from two angles of system developers and users to improve the existing security strategy.
Key words: Android; mobile phone; information security; security strategy