池 云
Android平臺安全機制探析
池云
(遼寧行政學院,遼寧沈陽110161)
隨著Android系統在各移動終端中的廣泛應用,系統的安全尤為重要。從Android平臺架構及存在的安全隱患出發,分析了Android平臺的安全機制,提出了更有效的安全解決方案。
Android;安全機制;安全隱患;解決方案
隨著移動終端的廣泛應用,Android操作系統走入人們的生活,成為眾多操作系統中最受歡迎的操作系統,由于Android是一個開放的系統,在給人們提供便利的同時,也產生了許多安全隱患,故系統的安全尤為重要。本文從Android平臺架構及存在的安全隱患出發,分析了Android平臺的安全機制,提出了更有效的安全解決方案。

圖1 Android系統結構圖
Android是一種應用于便攜設備的操作系統,它是基于Linux的開放系統。其系統框架采用了分層的形式,從下至上分為4個部分:Linux內核層、系統運行庫層、應用程序框架層和應用程序層[1]。Android系統結構圖如圖1所示。
(1)Linux內核層:處于最底層,其基于Linux內核,主要功能是為Android系統提供如管理進程、內存、安全、驅動和網絡等核心系統服務。
(2)系統運行庫層:是Linux內核層和應用程序框架層的中間層,它包括功能豐富的C/C++庫和Android Runtime[2]。Android Runtime是Android應用程序運行環境,所有Android應用程序運行在彼此獨立的Dalvik虛擬機上[3],Dalvik虛擬機對應用程序起到保護作用,使之免受破壞。
(3)應用程序框架層:程序員可以快速地在此層進行應用程序的開發。因為它提供了應用程序的API框架,并提供了程序數據共享及調用機制。
(4)應用程序層:是與用戶交互層,Android系統提供一系列采用Java語言編寫的應用程序,例如:瀏覽器、日歷、電子郵件、地圖、SMS等,方便用戶下載使用。
Android是一個開放的系統,提供免費開放的源代碼,共任何人使用,這樣就給攻擊者可乘之機,他們可以很容易修改源代碼或找到源代碼的漏洞,從而惡意攻擊系統。下面列舉幾個常見的安全隱患。
2.1惡意軟件侵入
目前,Android系統安全的主要威脅是惡意軟件的侵入[4]。惡意軟件種類繁多,如:扣費類軟件、Rom內置軟件、消耗流量軟件及隱私竊取類軟件等。它們的入侵方式多種多樣,可以通過發送短/彩信、撥打電話、藍牙、WiFi、Internet網絡連接等實現。
2.2系統Root權限的非法獲取
Android系統安全的重大威脅是Root權限的非法獲取。攻擊者通過系統漏洞或刷機等,獲得系統的Root權限(即最高管理員權限),這樣就可以方便地對系統數據和文件進行任意的修改。
2.3用戶安全意識薄弱
用戶在自己安裝應用軟件時,對惡意程序無法辨別,安全意識薄弱,任意下載安裝,給惡意程序提供了可乘之機。同時,用戶為更輕松、方便地使用手機,往往主動選擇Root手機,這樣也會造成病毒侵入、數據暴露和系統不穩定等。
由于Android是一個開放的系統,因此要求有更強的安全機制加以保障。Android繼承了原有的Linux安全機制,同時對其加以創新,設計了特有的Android安全機制,這樣大大提高了Android系統的安全性。
3.1Linux安全機制
3.1.1POSIX User
各應用程序在移動設備上安裝時,Android系統會給每個應用程序一個ID,并且這個ID是唯一的,應用程序在各自的進程中運行。這樣,每個應用程序就形成一個沙箱,防止應用程序對系統的其他資源或別的程序產生惡意行為。因此,在沒有明確授權的情況下,不允許對其他資源訪問。例如,程序1若要獲取程序2的短信、電話功能等數據就會遭到拒絕。
3.1.2文件訪問權限控制
文件訪問管理源于Linux權限機制[5]。各文件訪問與用戶ID、所在組號及Read/W rite/RWX三個向量組密切相關。每個文件擁有各自的ID,不被其他程序訪問(設為全局或擁有共同ID的除外)。同時,系統鏡像掛載設為只讀。配置文件及重要程序置于Firmware中,在系統初始化中加載;程序數據及用戶置于數據分區中;進而對文件訪問實現合理控制。
3.2Android特有的安全機制
3.2.1應用程序權限機制
安全機制中權限機制是核心[6]。各應用程序只能在各自的權限中運行來獲得權限內的資源,不能訪問權限以外的其他內容。包管理器在程序安裝中賦予其權限,應用程序框架層在程序運行時對其進行權限控制。Android的權限控制有100多種,例如收發信息、撥打電話、藍牙、網絡訪問等。權限的獲得必須在安裝時申請,Android通過用戶交互和簽名檢查給予權限。應用程序只有獲得權限后方能執行其他操作。此外,可以配置防護等級屬性,其可以決定權限被授權的幾種情況。
3.2.2組件封裝
對應用程序實行組件封裝,通過“exporter”屬性定義,實現組件內容是否被程序訪問的操作。若“exporter”屬性設置為否,則該組件只能被本身(或具有同一ID)程序訪問;否則能被其他程序訪問或調用。
3.2.3程序簽名
Android系統中,所有的應用程序必須有數字簽名,沒有數字簽名的程序安裝時會遭到拒絕。數字簽名通常作為標識開發者或升級程序的依據。應用程序的數字簽名可以是自簽名的,也可以是第三方機構授權的。
3.3其他保護機制
除Linux安全機制及Android特有安全機制外,系統的硬件、語言、手機載體等技術環境也實施了一些安全機制。例如,MMU(內存管理單元)保證各進程訪問自己的內存空間,限制了特權提升;強制類型安全語言的應用,阻止了變量的不當或錯誤的使用;移動設備安全中引用AAA系統,實現認證、審計和授權的操作。
盡管Android系統本身具有強大的安全機制,但也很難保證系統的絕對安全。結合Android系統存在的安全隱患及安全機制中的不足,提出以下幾個安全解決方案。
4.1惡意軟件檢測系統的完善
目前,惡意軟件的侵入是Android的主要安全隱患,檢測惡意軟件是保證安全的重要方面。現有的檢測系統主要包括異常檢測和特征檢測兩個方面。特征檢測僅能對已存在的惡意軟件進行檢測,對新的惡意軟件則無法檢測,當今一些移動終端通常采用此方式。異常檢測通過將系統指標參數與惡意軟件產生的系統指標參數進行對比,進而找出新的惡意軟件,此檢測方式極具實際意義。故對惡意軟件檢測系統的不斷完善勢在必行。
4.2加強And roid自身安全建設
Android系統即使安全性很高,也難免存在漏洞,故要不斷加強系統自身安全建設(如數據加密、遠程管理、郵件過濾等),不斷推出強化安全套件,以提高系統的安全性。
4.3提高終端用戶的安全意識
再安全的系統,也必然存在漏洞,這就需要用戶提高各自的安全意識(如安裝安全保護軟件,對不必要軟件進行卸載,減少藍牙、GPS及WiFi的使用,程序下載到安全的應用程序商店等),以達到安全的目的。
Android系統是當前最為流行的開放式操作系統,被廣泛應用到各移動終端中,這就對系統安全提出了更高的要求。只有不斷加強自身安全機制建設,不斷對惡意軟件檢測系統進行完善,不斷提高用戶的安全意識,以及綜合運用各種安全手段,Android系統才能越來越安全地為人們提供服務。
[1]Android.A new Android market for phones[EB/OL].(2010-11-03)[2011-07-01].http://www.android.com.
[2]ENCK W,ONGTANG M,MCDANIEL P.Understanding Android security[J].IEEE Security and Privacy,2009,7 (01):50-57.
[3]蔣紹林,王金雙,張濤,等.Android安全研究綜述[J].計算機應用與軟件,2012(10):205-210.
[4]李凡.Android系統安全機制的分析與增強[D].武漢:華中科技大學,2012.
[5]廖明華,鄭力明.Android安全機制分析與解決方案初探[J].科學技術與工程,2011,11(26):6350-6355.
[6]宋杰,黨李成,郭振朝,等.Android OS手機平臺的安全機制分析和應用研究[J].計算機技術與發展,2010,20 (06):152-155.
Analysis of the Android p latform security mechanism
Chi Yun
(Liaoning School of Administration,Shenyang 110161,China)
With the wide application of Android system in the mobile terminal,systemsecurity is particularly important.This article analyzes of the security mechanism of Android platform from the Android platform architecture and hidden safety problems,and puts forward the more effective safety solutions.
Android;security mechanism;hidden danger;the solution
TP309.2
A
1674-7720(2015)04-0001-03
(2014-10-21)
池云(1974-),女,碩士,副教授,主要研究方向:計算機網絡與應用。