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

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

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

0 引言

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

1 Android平臺架構(gòu)

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

001.jpg

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

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

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

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

2 Android平臺安全隱患

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

  2.1 惡意軟件侵入

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

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

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

  2.3 用戶安全意識薄弱

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

3 Android安全機(jī)制分析

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

  3.1 Linux安全機(jī)制

  3.1.1 POSIX User

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

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

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

  3.2 Android特有的安全機(jī)制

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

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

  3.2.2 組件封裝

  對應(yīng)用程序?qū)嵭薪M件封裝,,通過“exporter”屬性定義,,實(shí)現(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ù)字簽名可以是自簽名的,,也可以是第三方機(jī)構(gòu)授權(quán)的,。

  3.3 其他保護(hù)機(jī)制

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

4 安全解決方案

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

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

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

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

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

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

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

5 結(jié)論

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

參考文獻(xiàn)

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

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

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

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


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