《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > Android平臺安全機制探析
Android平臺安全機制探析
2015年微型機與應(yīng)用第3期
池 云
(遼寧行政學(xué)院,遼寧 沈陽 110161)
摘要: 隨著Android系統(tǒng)在各移動終端中的廣泛應(yīng)用,系統(tǒng)的安全尤為重要。從Android平臺架構(gòu)及存在的安全隱患出發(fā),分析了Android平臺的安全機制,提出了更有效的安全解決方案。
Abstract:
Key words :

  摘  要: 隨著Android系統(tǒng)在各移動終端中的廣泛應(yīng)用,系統(tǒng)的安全尤為重要。從Android平臺架構(gòu)及存在的安全隱患出發(fā),分析了Android平臺的安全機制,提出了更有效的安全解決方案。

  關(guān)鍵詞: Android;安全機制;安全隱患;解決方案

0 引言

  隨著移動終端的廣泛應(yīng)用,Android操作系統(tǒng)走入人們的生活,成為眾多操作系統(tǒng)中最受歡迎的操作系統(tǒng),由于Android是一個開放的系統(tǒng),在給人們提供便利的同時,也產(chǎn)生了許多安全隱患,故系統(tǒng)的安全尤為重要。本文從Android平臺架構(gòu)及存在的安全隱患出發(fā),分析了Android平臺的安全機制,提出了更有效的安全解決方案。

1 Android平臺架構(gòu)

  Android是一種應(yīng)用于便攜設(shè)備的操作系統(tǒng),它是基于Linux的開放系統(tǒng)。其系統(tǒng)框架采用了分層的形式,從下至上分為4個部分:Linux內(nèi)核層、系統(tǒng)運行庫層、應(yīng)用程序框架層和應(yīng)用程序?qū)覽1]。Android系統(tǒng)結(jié)構(gòu)圖如圖1所示。

001.jpg

 ?。?)Linux內(nèi)核層:處于最底層,其基于Linux內(nèi)核,主要功能是為Android系統(tǒng)提供如管理進程、內(nèi)存、安全、驅(qū)動和網(wǎng)絡(luò)等核心系統(tǒng)服務(wù)。

 ?。?)系統(tǒng)運行庫層:是Linux內(nèi)核層和應(yīng)用程序框架層的中間層,它包括功能豐富的C/C++庫和Android Runtime[2]。Android Runtime是Android應(yīng)用程序運行環(huán)境,所有Android應(yīng)用程序運行在彼此獨立的Dalvik虛擬機上[3],Dalvik虛擬機對應(yīng)用程序起到保護作用,使之免受破壞。

  (3)應(yīng)用程序框架層:程序員可以快速地在此層進行應(yīng)用程序的開發(fā)。因為它提供了應(yīng)用程序的API框架,并提供了程序數(shù)據(jù)共享及調(diào)用機制。

  (4)應(yīng)用程序?qū)樱菏桥c用戶交互層,Android系統(tǒng)提供一系列采用Java語言編寫的應(yīng)用程序,例如:瀏覽器、日歷、電子郵件、地圖、SMS等,方便用戶下載使用。

2 Android平臺安全隱患

  Android是一個開放的系統(tǒng),提供免費開放的源代碼,共任何人使用,這樣就給攻擊者可乘之機,他們可以很容易修改源代碼或找到源代碼的漏洞,從而惡意攻擊系統(tǒng)。下面列舉幾個常見的安全隱患。

  2.1 惡意軟件侵入

  目前,Android系統(tǒng)安全的主要威脅是惡意軟件的侵入[4]。惡意軟件種類繁多,如:扣費類軟件、Rom內(nèi)置軟件、消耗流量軟件及隱私竊取類軟件等。它們的入侵方式多種多樣,可以通過發(fā)送短/彩信、撥打電話、藍牙、WiFi、Internet網(wǎng)絡(luò)連接等實現(xiàn)。

  2.2 系統(tǒng)Root權(quán)限的非法獲取

  Android系統(tǒng)安全的重大威脅是Root權(quán)限的非法獲取。攻擊者通過系統(tǒng)漏洞或刷機等,獲得系統(tǒng)的Root權(quán)限(即最高管理員權(quán)限),這樣就可以方便地對系統(tǒng)數(shù)據(jù)和文件進行任意的修改。

  2.3 用戶安全意識薄弱

  用戶在自己安裝應(yīng)用軟件時,對惡意程序無法辨別,安全意識薄弱,任意下載安裝,給惡意程序提供了可乘之機。同時,用戶為更輕松、方便地使用手機,往往主動選擇Root手機,這樣也會造成病毒侵入、數(shù)據(jù)暴露和系統(tǒng)不穩(wěn)定等。

3 Android安全機制分析

  由于Android是一個開放的系統(tǒng),因此要求有更強的安全機制加以保障。Android繼承了原有的Linux安全機制,同時對其加以創(chuàng)新,設(shè)計了特有的Android安全機制,這樣大大提高了Android系統(tǒng)的安全性。

  3.1 Linux安全機制

  3.1.1 POSIX User

  各應(yīng)用程序在移動設(shè)備上安裝時,Android系統(tǒng)會給每個應(yīng)用程序一個ID,并且這個ID是唯一的,應(yīng)用程序在各自的進程中運行。這樣,每個應(yīng)用程序就形成一個沙箱,防止應(yīng)用程序?qū)ο到y(tǒng)的其他資源或別的程序產(chǎn)生惡意行為。因此,在沒有明確授權(quán)的情況下,不允許對其他資源訪問。例如,程序1若要獲取程序2的短信、電話功能等數(shù)據(jù)就會遭到拒絕。

  3.1.2 文件訪問權(quán)限控制

  文件訪問管理源于Linux權(quán)限機制[5]。各文件訪問與用戶ID、所在組號及Read/Write/RWX三個向量組密切相關(guān)。每個文件擁有各自的ID,不被其他程序訪問(設(shè)為全局或擁有共同ID的除外)。同時,系統(tǒng)鏡像掛載設(shè)為只讀。配置文件及重要程序置于Firmware中,在系統(tǒng)初始化中加載;程序數(shù)據(jù)及用戶置于數(shù)據(jù)分區(qū)中;進而對文件訪問實現(xiàn)合理控制。

  3.2 Android特有的安全機制

  3.2.1 應(yīng)用程序權(quán)限機制

  安全機制中權(quán)限機制是核心[6]。各應(yīng)用程序只能在各自的權(quán)限中運行來獲得權(quán)限內(nèi)的資源,不能訪問權(quán)限以外的其他內(nèi)容。包管理器在程序安裝中賦予其權(quán)限,應(yīng)用程序框架層在程序運行時對其進行權(quán)限控制。Android的權(quán)限控制有100多種,例如收發(fā)信息、撥打電話、藍牙、網(wǎng)絡(luò)訪問等。權(quán)限的獲得必須在安裝時申請,Android通過用戶交互和簽名檢查給予權(quán)限。應(yīng)用程序只有獲得權(quán)限后方能執(zhí)行其他操作。此外,可以配置防護等級屬性,其可以決定權(quán)限被授權(quán)的幾種情況。

  3.2.2 組件封裝

  對應(yīng)用程序?qū)嵭薪M件封裝,通過“exporter”屬性定義,實現(xiàn)組件內(nèi)容是否被程序訪問的操作。若“exporter”屬性設(shè)置為否,則該組件只能被本身(或具有同一ID)程序訪問;否則能被其他程序訪問或調(diào)用。

  3.2.3 程序簽名

  Android系統(tǒng)中,所有的應(yīng)用程序必須有數(shù)字簽名,沒有數(shù)字簽名的程序安裝時會遭到拒絕。數(shù)字簽名通常作為標(biāo)識開發(fā)者或升級程序的依據(jù)。應(yīng)用程序的數(shù)字簽名可以是自簽名的,也可以是第三方機構(gòu)授權(quán)的。

  3.3 其他保護機制

  除Linux安全機制及Android特有安全機制外,系統(tǒng)的硬件、語言、手機載體等技術(shù)環(huán)境也實施了一些安全機制。例如,MMU(內(nèi)存管理單元)保證各進程訪問自己的內(nèi)存空間,限制了特權(quán)提升;強制類型安全語言的應(yīng)用,阻止了變量的不當(dāng)或錯誤的使用;移動設(shè)備安全中引用AAA系統(tǒng),實現(xiàn)認(rèn)證、審計和授權(quán)的操作。

4 安全解決方案

  盡管Android系統(tǒng)本身具有強大的安全機制,但也很難保證系統(tǒng)的絕對安全。結(jié)合Android系統(tǒng)存在的安全隱患及安全機制中的不足,提出以下幾個安全解決方案。

  4.1 惡意軟件檢測系統(tǒng)的完善

  目前,惡意軟件的侵入是Android的主要安全隱患,檢測惡意軟件是保證安全的重要方面?,F(xiàn)有的檢測系統(tǒng)主要包括異常檢測和特征檢測兩個方面。特征檢測僅能對已存在的惡意軟件進行檢測,對新的惡意軟件則無法檢測,當(dāng)今一些移動終端通常采用此方式。異常檢測通過將系統(tǒng)指標(biāo)參數(shù)與惡意軟件產(chǎn)生的系統(tǒng)指標(biāo)參數(shù)進行對比,進而找出新的惡意軟件,此檢測方式極具實際意義。故對惡意軟件檢測系統(tǒng)的不斷完善勢在必行。

  4.2 加強Android自身安全建設(shè)

  Android系統(tǒng)即使安全性很高,也難免存在漏洞,故要不斷加強系統(tǒng)自身安全建設(shè)(如數(shù)據(jù)加密、遠程管理、郵件過濾等),不斷推出強化安全套件,以提高系統(tǒng)的安全性。

  4.3 提高終端用戶的安全意識

  再安全的系統(tǒng),也必然存在漏洞,這就需要用戶提高各自的安全意識(如安裝安全保護軟件,對不必要軟件進行卸載,減少藍牙、GPS及WiFi的使用,程序下載到安全的應(yīng)用程序商店等),以達到安全的目的。

5 結(jié)論

  Android系統(tǒng)是當(dāng)前最為流行的開放式操作系統(tǒng),被廣泛應(yīng)用到各移動終端中,這就對系統(tǒng)安全提出了更高的要求。只有不斷加強自身安全機制建設(shè),不斷對惡意軟件檢測系統(tǒng)進行完善,不斷提高用戶的安全意識,以及綜合運用各種安全手段,Android系統(tǒng)才能越來越安全地為人們提供服務(wù)。

參考文獻

  [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].計算機應(yīng)用與軟件,2012(10):205-210.

  [4] 李凡.Android系統(tǒng)安全機制的分析與增強[D].武漢:華中科技大學(xué),2012.

  [5] 廖明華,鄭力明.Android安全機制分析與解決方案初探[J].科學(xué)技術(shù)與工程,2011,11(26):6350-6355.

  [6] 宋杰,黨李成,郭振朝,等.Android OS手機平臺的安全機制分析和應(yīng)用研究[J].計算機技術(shù)與發(fā)展,2010,20(06):152-155.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。