丁汨++于琳
摘要:針對Android手機(jī)越來越多的安全威脅,該文介紹了一種基于遠(yuǎn)程服務(wù)控制Binder通信機(jī)制的安全增強(qiáng)方案,本方案中所有應(yīng)用程序只能根據(jù)管理端安全策略規(guī)定運(yùn)行,對于權(quán)限不允許的操作,Android安全增強(qiáng)模塊將進(jìn)行攔截,并將違規(guī)操作上報到管理后臺,供管理員進(jìn)行審核。最后實(shí)驗(yàn)證明,Android系統(tǒng)的安全性得到了明顯提高。
關(guān)鍵詞:Android系統(tǒng);binder服務(wù);安全增強(qiáng)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)33-0019-02
Design and Implementation of Android OS Security Enhancement Scheme
DING Mi, YU Lin
(Zhengzhou Shuqing Medical College, Zhengzhou 450064,China)
Abstract: With more and more security threats of Android mobile phone, this paper aims to introduce a security enhancement scheme based on remote service control ,Binder communication mechanism. The program can only run according to the security policy of the management. The illegal operations will be intercepted by Android security enhancement module, and will be reported to the management for auditing by administrators. The experimental results show that the security of Android system is improved obviously.
Key words: android system; binder service; security enhancement
隨著3G和4G通信時代的到來,移動互聯(lián)網(wǎng)迎來了新的發(fā)展機(jī)遇,智能終端已經(jīng)成為人們工作和生活的必需品,其中Android操作系統(tǒng)的用戶量遠(yuǎn)超蘋果的IOS系統(tǒng)以及微軟的Windows Phone系統(tǒng)的用戶量。隨著Android生態(tài)系統(tǒng)的逐步成熟,使得人們對Android終端的依賴性越來越高,人們?nèi)粘I?、娛樂到業(yè)務(wù)辦公,都能看到Android系統(tǒng)的身影。但是移動智能終端自身的便攜性/移動性、內(nèi)置Android系統(tǒng)的開放性、個人數(shù)據(jù)與業(yè)務(wù)數(shù)據(jù)的混合存儲、應(yīng)用的多樣性,也為移動智能終端信息安全埋下了諸多隱患。為了有效解決Android系統(tǒng)的安全問題,本文設(shè)計了一套Android操作系統(tǒng)增強(qiáng)方案。
1 Android操作系統(tǒng)安全增強(qiáng)原理
1.1 Android操作系統(tǒng)面臨的安全風(fēng)險
雖然Android操作系統(tǒng)的安全機(jī)制(如應(yīng)用程序權(quán)限機(jī)制、組件封裝、簽名機(jī)制以及Dalvik虛擬機(jī))能盡量保護(hù)Android設(shè)備的安全性,但Android由于開源性和開放的權(quán)限機(jī)制的原因,Android操作系統(tǒng)總是不可避免地受到來自應(yīng)用程序等方面的安全威脅。
Android操作系統(tǒng)目前面臨的攻擊包括:竊取用戶的隱私資料(如:通訊錄、短信、通話記錄、照片、視頻、電子支付賬號和密碼等),自動收發(fā)短信消耗用戶資費(fèi)、定制一些套餐,自動聯(lián)網(wǎng)下載軟件消耗用戶的網(wǎng)絡(luò)流量以及利用手機(jī)瀏覽器漏洞來執(zhí)行惡意程序等。
1.2 Android操作系統(tǒng)安全風(fēng)險分析
通過對Android系統(tǒng)所面臨的攻擊類型進(jìn)行分析可知,Android系統(tǒng)所面臨的風(fēng)險如下所示:
1) 非法應(yīng)用通過底層服務(wù)調(diào)用,竊取終端上短信記錄、聯(lián)系人、通話記錄、定位信息、手機(jī)識別碼等隱私數(shù)據(jù)。
2) 非法用戶在未經(jīng)授權(quán)的情況下操作應(yīng)用,竊取或篡改合法用戶的隱私數(shù)據(jù)。
3) 非法行為主體(用戶或應(yīng)用)通過Android系統(tǒng)數(shù)據(jù)通道非法傳輸合法用戶的隱私數(shù)據(jù),甚至一些惡意軟件還會自動安裝木馬病毒,(偷發(fā)短信、偷播電話)吸費(fèi),通話錄音,拍照/攝像,偷3G/2G/4G數(shù)據(jù)流量等
因此,為了規(guī)避安全風(fēng)險的發(fā)生,就要從風(fēng)險源頭(應(yīng)用或非法用戶)、傳播途徑(數(shù)據(jù)通道)、保護(hù)對象(數(shù)據(jù))以及Android系統(tǒng)本身入手,對Android系統(tǒng)進(jìn)行全方位安全增強(qiáng)。
1) 只要控制好了應(yīng)用對隱私數(shù)據(jù)的訪問權(quán)限,就可以保證用戶數(shù)據(jù)不被非法應(yīng)用所獲取。
2) 只要控制好了Android系統(tǒng)的數(shù)據(jù)傳輸通道,既可以保證非法應(yīng)用無法向外傳輸所獲取到的隱私數(shù)據(jù)。
1.3 Android 安全增強(qiáng)系統(tǒng)的模塊組成
Android 安全增強(qiáng)系統(tǒng)可以劃分為兩大的模塊:
應(yīng)用行為模塊:Android安全增強(qiáng)系統(tǒng)對應(yīng)用進(jìn)行控制和管理,主要包括:應(yīng)用啟動控制、應(yīng)用防停止、應(yīng)用防卸載、應(yīng)用私有數(shù)據(jù)防清理、應(yīng)用保護(hù)設(shè)置、ROOT權(quán)限控制、定位控制、相機(jī)控制、錄音控制、通訊錄控制、短信控制、電話呼叫控制和應(yīng)用數(shù)據(jù)流量限制。
數(shù)據(jù)通道模塊:智能終端在數(shù)據(jù)傳播的途徑上進(jìn)行控制和管理,主要包括:WIFI通道控制、藍(lán)牙通道控制、數(shù)據(jù)連接通道控制和USB連接控制。
2 Android安全增強(qiáng)方案實(shí)現(xiàn)
2.1 Android核心通信機(jī)制
Binder是Android特有的輕量級跨進(jìn)程通訊機(jī)制,由用戶空間的libbinder.so和內(nèi)核的binder驅(qū)動協(xié)作構(gòu)成。一次完整的Binder調(diào)用的流程是從用戶進(jìn)程到用戶進(jìn)程加載的libbinder.so到ioctl到binder驅(qū)動并阻塞,Service端在等待時通過libbinder.so收到驅(qū)動傳上來的調(diào)用請求,把數(shù)據(jù)整好后通過libbinder.so再通過ioctl返回給驅(qū)動,之前用戶端阻塞的ioctl收到應(yīng)答而返回,回到libbinder.so再回到用戶進(jìn)程,從而完成了一次完整的調(diào)用請求。Binder進(jìn)程間通信機(jī)制如下圖所示:
在Android系統(tǒng)中,Binder進(jìn)程間通信機(jī)制的使用是相當(dāng)廣泛的,可以說,控制了binder,即控制了整個Android操作系統(tǒng)的行為。
2.2 Android安全增強(qiáng)方案
根據(jù)上文分析,對Android系統(tǒng)安全增強(qiáng)可通過對Binder行為攔截進(jìn)行實(shí)現(xiàn),具體攔截思想如下圖所示:
非法應(yīng)用訪問Android系統(tǒng)隱私數(shù)據(jù)時,先將應(yīng)用的所有關(guān)鍵行為(訪問數(shù)據(jù),讀取數(shù)據(jù)、傳輸數(shù)據(jù))的binder請求攔截下來,發(fā)送給Android安全增強(qiáng)模塊進(jìn)行審查,如果是合法應(yīng)用的合法請求,則準(zhǔn)予放行,如果為非法請求,則中斷該請求,不予響應(yīng)。本方案可以對應(yīng)用的所有行為進(jìn)行審核,并且向管理端上報審計日志,以供管理員審查。
3 實(shí)驗(yàn)
本方案的驗(yàn)證基于Android4.2系統(tǒng)源碼,安全增強(qiáng)模塊使用java以及c語言開發(fā),其中ioctrl攔截的關(guān)鍵代碼如下:
4 結(jié)論
使用以上方式對Android系統(tǒng)進(jìn)行安全增強(qiáng)后,Android系統(tǒng)的安全性得到明顯提高,由于管理端安全策略的限制,所有應(yīng)用程序只能按照策略規(guī)定的行為運(yùn)行,對于權(quán)限不允許的操作,Android安全增強(qiáng)模塊有效地進(jìn)行了攔截,并且將違規(guī)操作上報到管理后臺,供管理員進(jìn)行審核。但是以上方案僅僅提供了針對應(yīng)用風(fēng)險源頭的安全增強(qiáng)方案,而在現(xiàn)實(shí)使用中,用戶本身也是一個風(fēng)險來源,所以還需要在用戶身份鑒別上以及隱私數(shù)據(jù)本身的加密上進(jìn)行進(jìn)一步的研究,才能達(dá)到對Android全方位的安全增強(qiáng),這也是本文以后的研究目標(biāo)。
參考文獻(xiàn):
[1] 丁國旗.手機(jī)媒體帶來的問題與挑戰(zhàn)[J].學(xué)習(xí)與探索,2012(12):137-142.
[2] 何嘉榮. Android系統(tǒng)安全增強(qiáng)方案的設(shè)計與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2013.
[3] 李凡. Android系統(tǒng)安全機(jī)制的分析與增強(qiáng)[D].武漢:華中科技大學(xué),2012.
[4] 張文波.Craig Heath. Symbian OS 平臺安全:用Symbian OS 安全架構(gòu)進(jìn)行軟件開發(fā) [M].北京:人民郵電出版社,2009.