謝金鳳 中國信息通信研究院西部分院工程師戴 燕 西南計算機有限責任公司工程師化潔玉 中國信息通信研究院西部分院工程師
?
Android系統智能手機安全威脅及保護機制淺析*
謝金鳳中國信息通信研究院西部分院工程師
戴燕西南計算機有限責任公司工程師
化潔玉中國信息通信研究院西部分院工程師
摘要:介紹了Android系統智能手機的多種安全機制,包括程序沙盒、文件訪問控制、Root權限控制、應用權限管理、程序數字簽名等。同時,從應用程序內嵌惡意代碼、入侵Android系統漏洞、利用Root權限惡意操作三個方面分析了Android系統的常見安全威脅,提出了相應應對措施。
關鍵詞:Android系統;智能手機;信息安全
隨著移動互聯網、智能芯片、云計算等技術的日益成熟,智能手機已不再僅僅作為通訊工具,而是滲透入了人們生活的購物、出行、生活繳費、定向資訊等方方面面。Android手機操作系統是Google公司基于Linux開發的手機操作系統,于2007年問世以來,由于其開放性、擴展性、可操作性,在智能手機中獲得了廣泛應用。據2015年12月市場研究機構IDC公布的《全球手機季度跟蹤報告》預測,2015年全球智能手機出貨量達到14.3億部,其中Android市場份額在可達82%。Android智能手機操作系統在可預見的未來仍將處于主導地位。
伴隨著Android智能手機系統深入滲透人們日常生活,Android系統的安全性也成為廣受關注的問題。由于智能手機目前已涉及地理位置記錄、銀行賬號、人際關系等重要個人隱私信息,一旦被不良人士入侵將造成嚴重的財產甚至人身損失。因此,分析Android系統智能手機的安全體系及潛在威脅,對于健全Android智能手機安全保護機制具有重要意義。
Android系統是基于Linux內核實現的,保留了Linux系統中程序沙盒、文件訪問控制等安全機制,此外設置了系統Root權限、應用權限管理、程序數字簽名等安全機制,分別保障了應用發布、安裝和運行過程中的安全。
(1)程序沙盒
Android系統為每個應用提供一個Dalvik虛擬機,并為其創建一個UID。系統為每個運行程序分配一塊內存空間,令各個應用程序于獨立進程運行,從而實現相互隔離。只有通過設置sharedUserID,令兩個應用實用同一個UID,方能運行于同一進程,實現資源和權限的共享。基于程序沙盒,可保障應用的獨立性,在單個應用出現問題時,可通過消除其Dalvik虛擬機實例保障系統的安全運行。
(2)文件訪問控制
基于Android系統為每個用戶和應用程序創建的UID,可實現對文件訪問的控制。每個用戶對于每個文件都有不同的權限,分別為R(可讀)、W(可寫)和X(可執行)。每個應用程序創建的文件會分配該應用程序的用戶ID。通過文件所屬的權限、組ID和RWX組合,可實現應用程序對文件的訪問控制。僅Root用戶對所有文件都有讀寫和執行的權限。其他情況下,應用程序僅能訪問特定的文件,而不能訪問系統文件,從而保護系統免受外部修改,保障系統的正常運行。
(3)Root權限控制
Android系統角色分為普通用戶、Root用戶兩種。普通用戶只能操作與自己有關的內容。而Root用戶具有操作系統文件、操作硬件設備等最高權限,系統中只有個別程序具有Root權限。即使對手機進行Root破解,令普通用戶和應用程序也擁有Root權限,Android系統仍會采用SuperUser程序審查Root權限的操作,進一步保障系統的正常運行。
(4)應用權限管理
Android系統提供了多粒度的權限控制機制,應用程序在配置文件里可聲明自身各個組建的訪問權限。權限包括權限的名稱、權限所屬的組和保護類別3方面信息,保護級別分為普通、危險、簽名、簽名或系統4類。在程序安裝時,該程序使用的權限將清晰羅列并呈現給用戶,以供用戶選擇是否安裝。
(5)程序數字簽名
Android系統的每個應用程序都必須通過數字證書簽名,以供標識此應用的開發者。通過對比應用APK安裝程序的簽名,可判斷此安裝程序是否為被破解、篡改后重新簽名打包的盜版軟件。
由于Android系統采用開放式架構,在為開發者提供API接口與開發工具包以供便捷調用的同時,也為惡意代碼惡意扣費、竊取隱私、破壞系統、消耗資費等違法操作提供了條件,主要途徑包括應用程序內嵌惡意代碼、入侵Android系統漏洞、利用Root權限惡意操作等。
(1)應用程序內嵌惡意代碼
Android系統的數字簽名機制雖可判斷應用程序是否為插入惡意攻擊代碼后重新打包的惡意應用,一定程度上防范了惡意程序的安裝。然而,由于Android系統的開放性及版本的碎片化,仍存在部分繞過數字簽名認證的手段。其一,是Android系統的簽名認證繞過漏洞,惡意開發者可通過在APK文件中內嵌新的字節碼文件classes.dex繞過簽名機制。其二,是修改簽名APK包META-INF文件夾中的簽名數據文件。
當前,對此類惡意應用程序的檢測手段可分為兩種方式:
●靜態分析Android應用的掃描特征碼和簽名信息等。
●動態監控Android應用的API調用行為。
(2)入侵Android系統漏洞
Android系統的版本一直在不斷更新升級,然而每個版本都可能存在一些漏洞,如Stagefright漏洞、Mediaserver漏洞、0day漏洞等。攻擊者可通過惡意APP或網站,利用Android系統漏洞造成設備無法響應、繞過沙盒操作程序、竊取用戶信息、導致設備變磚等安全事件。
業內已有Trend Micro、WooYun等多個殺毒軟件公司、安全研究機構針對Android系統漏洞進行研究。一方面,Google應對系統漏洞引起足夠重視,盡快修正漏洞,推行更新、更穩定的系統版本;另一方面,Android智能手機使用者應保持足夠警惕,及時更新系統版本,于正規應用市場下載正版軟件,避免登錄不可靠的網站等。
(3)利用Root權限惡意操作
基于Android系統的開源性,用戶可基于刷機在手機中安裝他人發布的系統鏡像,或基于獲取Root權限操作系統文件,從而改變系統界面、實現特殊功能。然而惡意開發者可能在ROM中內置惡意軟件,獲取用戶隱私信息、私自扣費等,或基于惡意應用修改和控制系統文件,為用戶造成不易察覺的財產損失。
為防范此類安全威脅,一方面,論壇、應用分享社區、第3方應用市場等應加強對所發布和分享Rom、APP等資源的管理,及時開展安全性檢查、刪除清理等工作,防止成為惡意資源傳播的溫床;另一方面,用戶應加強防范意識,對新安裝的應用或Rom進行入侵檢測,及時發現和卸載惡意軟件,避免造成持續損失。
雖然Android系統的安全體系已經比較完善,但由于Android系統自身的開放性、開源性,仍存在多種多樣的安全威脅,亟需強化Android安全機制,完善惡意應用檢測手段,規范國內第3方應用市場,提升系統漏洞挖掘能力。營造安全的Android智能手機應用環境,需要Google、信息安全檢測機構、信息安全實驗室、應用共享社區的多方面角色的共同努力,任重而道遠。
參考文獻
[1]Google Inc.Android security[EB/OL].[2013-06-26].https:// source.android.com/tech/security.
[2]雷靈光,張中文,王悅武,等.Android系統代碼簽名驗證機制的實現及安全性分析[J].信息網絡安全,2012(8).
[3]WooYun.Androiduncobersmaster-keyvulnerabilityanalysis [EB/OL].[2013-12-09].http://drops.wooyun.org/papers/219.
中創信測技術專欄
Analysisonthe security threats and protectionmechanismof android intelligent mobile phone
XIEJinfeng,DAIYan,HUAJieyu
Abstract:This paper introduces the security mechanisms of android intelligent mobile phone, includes app sandbox, file access control, root right control, app authorization management, and file access control. What’s more, the paper analysis the common security threats of android system, includes application with embedded malicious code, intrusion android system vulnerabilities, and malicious operations using root right.At thesametime, put forward the corresponding countermeasures.
Keywords:android system; intelligent mobile phone; information safety
*基金項目:重慶市應用開發計劃項目(cstc2014yykfC40002),重慶市科技平臺與基地建設計劃項目(cstc2014pt-gc40002),重慶市電子信息產品測試工程技術研究中心項目(渝科委發[2014]1號)資助
收稿日期:(2016-02-20)