基于權(quán)限的gvaldrous協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于權(quán)限的gvaldrous協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于權(quán)限的gvaldrous協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于權(quán)限的gvaldrous協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于權(quán)限的gvaldrous協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于權(quán)限的gvaldrous協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)

0現(xiàn)有的權(quán)限授予機(jī)制大量的應(yīng)用程序推動(dòng)了移動(dòng)和平面計(jì)算機(jī)等嵌入式設(shè)備的發(fā)展。在眾多移動(dòng)平臺(tái)中,由Google設(shè)計(jì)的Android操作系統(tǒng)以其出眾的開放性受到廣大用戶和手機(jī)制造商的青睞。隨著應(yīng)用程序及開發(fā)者數(shù)量的迅速上升,Android平臺(tái)的安全隱患也受到了極大關(guān)注。頻頻發(fā)生的個(gè)人信息泄露和惡意扣費(fèi)事件使得Android平臺(tái)現(xiàn)有的訪問控制策略受到了諸多質(zhì)疑和詬病。Android采用了一種基于權(quán)限的訪問控制策略判斷應(yīng)用程序某一行為是否是惡意行為往往依賴該行為發(fā)生的上下文。例如,對(duì)于一款游戲軟件而言,讀取用戶通訊錄并通過網(wǎng)絡(luò)連接發(fā)送出去可以被認(rèn)為是惡意行為;而對(duì)于通訊錄同步軟件而言,這卻是個(gè)正常的行為。因此,權(quán)限授予過程需要用戶參與。然而現(xiàn)有的權(quán)限授予機(jī)制強(qiáng)制要求用戶在安裝時(shí)做出授權(quán)決定,而此時(shí)用戶可能無法得知應(yīng)用程序會(huì)如何使用該權(quán)限,難以做出正確判斷。例如,瘋狂的小鳥(AngryBirds,一款流行的游戲應(yīng)用程序)需要“發(fā)送短信”的權(quán)限以支持通過短信購買高級(jí)道具的行為,而用戶在不知曉應(yīng)用程序?qū)⒃诤螘r(shí)何地使用“發(fā)送短信”的權(quán)限前,幾乎不可能做出正確判斷。因此,如何在保障安全性和可用性的基礎(chǔ)上為Android設(shè)計(jì)一種權(quán)限授予機(jī)制就顯得十分重要。從安全性角度出發(fā),這種權(quán)限授予機(jī)制需要保證用戶可以在應(yīng)用程序使用可疑權(quán)限前做出授權(quán)決定;從可用性角度出發(fā),系統(tǒng)所需的用戶參與頻率要盡可能低?,F(xiàn)有的權(quán)限授予方法在解決上述問題上存在明顯的缺點(diǎn):(1)Android及其擴(kuò)展框架本文設(shè)計(jì)并實(shí)現(xiàn)了GrantDroid:一種支持Android權(quán)限即時(shí)授予的方法。它覆蓋了Android平臺(tái)上所有的權(quán)限使用點(diǎn),并攔截所有應(yīng)用程序?qū)@些權(quán)限的使用。對(duì)于任意一次權(quán)限使用請(qǐng)求,GrantDroid基于一套惡意應(yīng)用程序權(quán)限使用特征判斷對(duì)該應(yīng)用程序授權(quán)是否存在安全隱患。如果對(duì)用戶存在潛在的安全威脅,則告知用戶此次權(quán)限使用請(qǐng)求的相關(guān)信息和安全隱患,以幫助用戶即時(shí)做出是否授權(quán)的決定;對(duì)于其他不會(huì)造成安全隱患的權(quán)限使用請(qǐng)求,系統(tǒng)自動(dòng)完成授權(quán)。GrantDroid確保應(yīng)用程序使用自動(dòng)授予的權(quán)限時(shí)不會(huì)引發(fā)安全問題。為了減少不必要的用戶參與以提高系統(tǒng)的可用性,本文推導(dǎo)出惡意應(yīng)用程序所必備的權(quán)限使用特征,只有當(dāng)應(yīng)用程序?qū)?quán)限的使用符合其中至少一項(xiàng)特征時(shí),才需用戶進(jìn)行確認(rèn),否則會(huì)被自動(dòng)授權(quán)。為了驗(yàn)證惡意程序權(quán)限使用特征的有效性和完整性,我們對(duì)150個(gè)真實(shí)惡意應(yīng)用進(jìn)行了功能性測(cè)試。測(cè)試結(jié)果表明沒有一款惡意應(yīng)用程序能夠自動(dòng)獲得完成其惡意行為所必須的所有權(quán)限。此外,我們從Android官方應(yīng)用市場(chǎng)1背景和相關(guān)工作1.1)所授權(quán)權(quán)限的執(zhí)行Android是一款基于Linux內(nèi)核的移動(dòng)平臺(tái)操作系統(tǒng)。它定義了100多個(gè)權(quán)限來保護(hù)系統(tǒng)內(nèi)部的敏感資源Android為每個(gè)應(yīng)用程序維護(hù)一個(gè)已授權(quán)權(quán)限集合,當(dāng)應(yīng)用程序使用“Android權(quán)限”時(shí),如訪問GPS、訪問通訊錄、發(fā)送短信等,Android檢測(cè)相應(yīng)的權(quán)限是否在該應(yīng)用的已授權(quán)權(quán)限集合中,如果不在則拒絕此次權(quán)限使用。應(yīng)用程序請(qǐng)求使用“內(nèi)核權(quán)限”時(shí),如寫文件、使用攝像頭、創(chuàng)建網(wǎng)絡(luò)連接等,由Linux內(nèi)核執(zhí)行權(quán)限檢查。“內(nèi)核權(quán)限”對(duì)應(yīng)的資源由Linux內(nèi)核管理并只允許應(yīng)用程序通過系統(tǒng)調(diào)用的方式訪問,所以應(yīng)用程序可以使用JavaAPI、AndroidAPI,甚至可以編寫本地代碼直接觸發(fā)系統(tǒng)調(diào)用完成訪問。Android只能依賴底層的Linux系統(tǒng)控制應(yīng)用程序?qū)λ鼈兊脑L問。Android利用Linux用戶組機(jī)制完成對(duì)“內(nèi)核權(quán)限”的保護(hù),約定何種權(quán)限對(duì)應(yīng)何種用戶組,因而形成了一個(gè)內(nèi)核權(quán)限-用戶組-內(nèi)核資源的映射關(guān)系。如果用戶在安裝時(shí)授予應(yīng)用程序某“內(nèi)核權(quán)限”,Android則將該應(yīng)用程序?qū)?yīng)的uid與該權(quán)限所對(duì)應(yīng)的用戶組綁定,這樣在應(yīng)用程序啟動(dòng)時(shí)就具備了使用該權(quán)限的能力。1.2限模型的完善和對(duì)權(quán)限授予方式的改進(jìn)現(xiàn)階段對(duì)Android訪問控制模型的研究主要包括對(duì)Android權(quán)限模型的完善和對(duì)權(quán)限授予方式的改進(jìn)兩個(gè)方面。Ongtang等人認(rèn)為現(xiàn)有Android權(quán)限模型只能對(duì)Android的系統(tǒng)資源進(jìn)行保護(hù),不能很好地保護(hù)應(yīng)用程序資源,因而對(duì)權(quán)限模型進(jìn)行了擴(kuò)展Kirin2目標(biāo)和威脅模型2.1支持系統(tǒng)及應(yīng)用程序?yàn)榱私鉀QAndroid當(dāng)前的權(quán)限授予機(jī)制存在的隱患,我們需要一種“即時(shí)”的權(quán)限授予機(jī)制,即用戶對(duì)應(yīng)用程序的授權(quán)應(yīng)發(fā)生在應(yīng)用程序使用權(quán)限的時(shí)刻。由于應(yīng)用程序?qū)?quán)限的使用十分普遍,頻繁的用戶顯式授權(quán)將大大降低系統(tǒng)的可用性和有效性,因此需要減少不必要的用戶交互。此外,Android官方應(yīng)用市場(chǎng)就已擁有近百萬數(shù)量的應(yīng)用程序,對(duì)現(xiàn)有應(yīng)用進(jìn)行大規(guī)模修改或改變現(xiàn)有編程模型對(duì)Android平臺(tái)而言都不切實(shí)際。因此提出的解決方案必須能夠兼容現(xiàn)有的Android應(yīng)用程序。綜上所述,我們要基于Android平臺(tái)設(shè)計(jì)并實(shí)現(xiàn)一種新的權(quán)限授予方法,需具備以下四個(gè)特點(diǎn):(1)兼容現(xiàn)有應(yīng)用,(2)即時(shí),(3)低干擾(極少量的用戶交互),(4)使應(yīng)用遵循最小特權(quán)原則2.2android惡意程序?yàn)榱烁逦孛枋霰痉桨傅哪繕?biāo),我們提出了以下威脅模型:針對(duì)本方法的攻擊者是一個(gè)第三方應(yīng)用程序,而Linux內(nèi)核及Android平臺(tái)本身值得信任且不會(huì)被攻陷。發(fā)起攻擊的應(yīng)用程序可以利用Android編程模型執(zhí)行任意邏輯。對(duì)于本方法而言的一次成功攻擊被定義為:一個(gè)第三方應(yīng)用程序在未經(jīng)用戶顯式授權(quán)的情況下成功完成了惡意行為。該威脅模型并不涉及用戶誤將某惡意權(quán)限使用請(qǐng)求當(dāng)作正常權(quán)限使用請(qǐng)求的問題,例如當(dāng)一個(gè)惡意短信扣費(fèi)軟件申請(qǐng)使用發(fā)送短信的權(quán)限時(shí),用戶誤以為這是該軟件的正常邏輯。Android的惡意應(yīng)用在代碼層面上與普通應(yīng)用并無區(qū)別。一些現(xiàn)有的Android惡意程序檢測(cè)工具3格林威治的設(shè)計(jì)和實(shí)現(xiàn)3.1)直接授予應(yīng)用為了實(shí)現(xiàn)上述目標(biāo),我們基于Android設(shè)計(jì)并實(shí)現(xiàn)了一種低干擾的權(quán)限即時(shí)授予方法GrantDroid。GrantDroid為用戶提供了對(duì)存在安全隱患的權(quán)限使用進(jìn)行即時(shí)授權(quán)的能力,在應(yīng)用程序使用可疑權(quán)限前請(qǐng)求用戶確認(rèn)。此外,用戶在安裝時(shí)可將部分權(quán)限直接授予應(yīng)用,也可在使用過程中通過設(shè)置界面動(dòng)態(tài)調(diào)整各個(gè)應(yīng)用的權(quán)限。例如,在安裝QQ等即時(shí)通訊類應(yīng)用程序時(shí),可以在安裝時(shí)直接授予其訪問互聯(lián)網(wǎng)的權(quán)限,而對(duì)于其他尚不清楚其用途的權(quán)限可以等到該權(quán)限真正被使用前再做出決定。權(quán)限的即時(shí)授予需要攔截應(yīng)用程序?qū)λ袡?quán)限的使用請(qǐng)求。例如,應(yīng)用程序開發(fā)人員使用權(quán)限發(fā)送一個(gè)HTTP請(qǐng)求時(shí),既可以通過Android平臺(tái)API如HttpClient類,也可以通過JavaSocket或ServerSocket類,甚至可以通過JNI直接調(diào)用socket相關(guān)的系統(tǒng)調(diào)用。GrantDroid必須能夠攔截所有對(duì)權(quán)限的使用并確保應(yīng)用程序無法繞過GrantDroid直接使用權(quán)限。應(yīng)用程序?qū)?quán)限的頻繁使用會(huì)使得GrantDroid需要用戶頻繁做出顯式授權(quán),這會(huì)給用戶造成巨大負(fù)擔(dān)繼而降低系統(tǒng)的可用性。我們采用安全需求工程3.2)應(yīng)用程序安裝,使用攔截模塊如圖1所示,GrantDroid的架構(gòu)擴(kuò)展了Android基礎(chǔ)架構(gòu),主要由三個(gè)模塊組成:(1)應(yīng)用程序安裝模塊,用于提供安裝時(shí)部分權(quán)限授予的功能;(2)權(quán)限使用攔截模塊,用于攔截應(yīng)用程序?qū)λ袡?quán)限的使用;(3)決策模塊,用于決定系統(tǒng)如何處理這些權(quán)限使用請(qǐng)求:放行、拒絕和要求用戶顯式授權(quán)。1(安裝應(yīng)用程序的模塊)應(yīng)用程序安裝模塊為用戶提供在安裝應(yīng)用時(shí)將部分權(quán)限直接授予應(yīng)用的功能。與此前已有的部分權(quán)限授予方法2不同種類權(quán)限的攔截權(quán)限使用攔截模塊旨在攔截應(yīng)用程序?qū)λ袡?quán)限的使用請(qǐng)求。GrantDroid在權(quán)限使用前會(huì)將權(quán)限使用請(qǐng)求重定向到一個(gè)權(quán)限使用監(jiān)視器。為了能夠完全覆蓋所有可能的權(quán)限使用方式,GrantDroid在不同種類的權(quán)限被使用時(shí)采取不同的攔截方式。對(duì)于Android權(quán)限,Android會(huì)在權(quán)限被使用時(shí)檢查應(yīng)用程序是否具備相應(yīng)權(quán)限。只需在權(quán)限檢查點(diǎn)處將權(quán)限請(qǐng)求重定向到權(quán)限使用監(jiān)視器,即能完全覆蓋所有對(duì)Android權(quán)限的使用請(qǐng)求。然而內(nèi)核權(quán)限由Linux的用戶組機(jī)制保護(hù),位于Android框架的控制范圍之外,因此對(duì)這些權(quán)限使用請(qǐng)求的攔截和重定向就必須在內(nèi)核層實(shí)現(xiàn)。GrantDroid設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)系統(tǒng)調(diào)用攔截器負(fù)責(zé)對(duì)所有與內(nèi)核權(quán)限相關(guān)的系統(tǒng)調(diào)用進(jìn)行攔截并重定向到權(quán)限使用監(jiān)視器,從而攔截所有對(duì)內(nèi)核權(quán)限的使用請(qǐng)求。3資源訪問請(qǐng)求的獲取決策模塊決定了GrantDroid將如何處理每一個(gè)被攔截的權(quán)限使用請(qǐng)求。在GrantDroid中,每個(gè)應(yīng)用程序所申請(qǐng)的任一權(quán)限都有三個(gè)可能的狀態(tài):(1)已授權(quán)(對(duì)該權(quán)限的使用將被直接放行),(2)已阻止(對(duì)該權(quán)限的使用將被直接拒絕),(3)待定(對(duì)該權(quán)限的使用將請(qǐng)求用戶的確認(rèn))。一個(gè)權(quán)限管理器負(fù)責(zé)處理所有的狀態(tài)轉(zhuǎn)換并持久化存儲(chǔ)權(quán)限狀態(tài)信息以保證設(shè)備重啟后信息不會(huì)丟失。為了減少不必要的用戶參與,當(dāng)應(yīng)用程序?qū)?quán)限的使用不會(huì)帶來安全隱患時(shí),決策模塊將該權(quán)限直接設(shè)置為已授權(quán)狀態(tài)。而一次權(quán)限的使用是否會(huì)帶來安全隱患則由一個(gè)決策器進(jìn)行判斷,該決策器將權(quán)限使用請(qǐng)求與惡意程序權(quán)限使用特征進(jìn)行比對(duì),符合特征的權(quán)限使用請(qǐng)求將被認(rèn)為可能會(huì)帶來安全隱患。上述三個(gè)主要模塊構(gòu)成了GrantDroid的基本架構(gòu),圖1展示了GrantDroid如何處理資源訪問請(qǐng)求。在系統(tǒng)運(yùn)行過程中,當(dāng)一個(gè)應(yīng)用程序試圖使用某權(quán)限對(duì)敏感資源進(jìn)行訪問時(shí)(第1步),該權(quán)限使用請(qǐng)求會(huì)被攔截并重定向到權(quán)限使用監(jiān)視器(第2步),權(quán)限使用監(jiān)視器求助決策模塊決定如何處理這次請(qǐng)求(第3步)。權(quán)限管理器根據(jù)權(quán)限使用監(jiān)視器提供的權(quán)限信息和應(yīng)用信息查詢相應(yīng)的權(quán)限狀態(tài)(第4步),并將狀態(tài)發(fā)送至決策器(第5步)。如果相應(yīng)的權(quán)限狀態(tài)是已授權(quán)或已阻止,則決策器將直接通知權(quán)限使用監(jiān)視器同意或拒絕本次請(qǐng)求。如果相應(yīng)的權(quán)限狀態(tài)是待定,則決策器需要查詢惡意應(yīng)用程序權(quán)限使用特征集合,以確定本次請(qǐng)求是否符合某項(xiàng)特征。如果不符合任何一項(xiàng)特征,則通知權(quán)限使用監(jiān)視器放行,并更新權(quán)限狀態(tài)信息。否則將通知權(quán)限使用監(jiān)視器對(duì)本次訪問請(qǐng)求用戶確認(rèn)(第7步)。權(quán)限使用監(jiān)視器向用戶彈出交互窗口以提供本次權(quán)限使用請(qǐng)求的詳細(xì)信息以及可能存在的安全隱患,并給予用戶四種即時(shí)授權(quán)選項(xiàng):授權(quán)一次、永久授權(quán)、阻止一次和永久阻止。如果用戶選擇授權(quán)一次或永久授權(quán),權(quán)限使用監(jiān)視器則允許應(yīng)用使用該權(quán)限;如果用戶選擇了永久授權(quán)或永久阻止,權(quán)限使用監(jiān)視器還將通知權(quán)限管理器更新權(quán)限狀態(tài)信息(第8步)。3.3狀態(tài)轉(zhuǎn)換的限制在原版Android中,用戶同意安裝一個(gè)應(yīng)用程序,就意味著該應(yīng)用程序永久獲得了它申請(qǐng)的所有權(quán)限。一個(gè)程序所申請(qǐng)的權(quán)限只有一種狀態(tài)即已授權(quán)。而GrantDroid作為一種即時(shí)授權(quán)方法,允許用戶在安裝應(yīng)用時(shí)授予其部分權(quán)限,在應(yīng)用程序使用權(quán)限時(shí)即時(shí)授權(quán),在使用系統(tǒng)過程中動(dòng)態(tài)調(diào)整各應(yīng)用程序所具有的權(quán)限。因此在GrantDroid中一個(gè)程序所申請(qǐng)的權(quán)限有多種狀態(tài)。GrantDroid中應(yīng)用程序的權(quán)限有三種基本狀態(tài):已授權(quán)、已阻止和待定。這三種狀態(tài)之間的狀態(tài)轉(zhuǎn)換受到如下限制:(1)當(dāng)且僅當(dāng)應(yīng)用程序至少嘗試使用一次某權(quán)限時(shí),該權(quán)限才能從已阻止或待定態(tài)轉(zhuǎn)為已授權(quán)態(tài);(2)處于已授權(quán)態(tài)的權(quán)限將在一段時(shí)間后自動(dòng)轉(zhuǎn)換為待定態(tài)。第一個(gè)限制用于防止用戶將某些不必要的權(quán)限誤認(rèn)為必要而授予應(yīng)用,導(dǎo)致違反最小特權(quán)原則。如果應(yīng)用從未試圖使用過某權(quán)限,GrantDroid將阻止用戶在運(yùn)行時(shí)對(duì)應(yīng)用授予該權(quán)限。第二個(gè)限制用于防止用戶將不常用的權(quán)限誤認(rèn)為常用。如果應(yīng)用一段時(shí)間內(nèi)未使用某權(quán)限,GrantDroid會(huì)將其回收。為了實(shí)現(xiàn)這兩個(gè)限制,需對(duì)已有的三種基本狀態(tài)進(jìn)行擴(kuò)展。我們結(jié)合應(yīng)用程序是否嘗試使用過該權(quán)限,擴(kuò)展出6個(gè)狀態(tài),狀態(tài)之間的相互轉(zhuǎn)換如圖2所示。處于“已阻止/未使用”狀態(tài)及“待定/未使用”狀態(tài)的權(quán)限不能通過動(dòng)態(tài)調(diào)整轉(zhuǎn)換為“已授權(quán)”狀態(tài)。當(dāng)權(quán)限處于“已授權(quán)/已使用”狀態(tài)時(shí)才能被應(yīng)用程序直接使用。而當(dāng)應(yīng)用程序嘗試使用處于“未使用”狀態(tài)的權(quán)限時(shí),權(quán)限會(huì)立即自動(dòng)轉(zhuǎn)變?yōu)橄鄳?yīng)的“已使用”狀態(tài)。處于“已授權(quán)/已使用”及“已授權(quán)/未使用”狀態(tài)的權(quán)限在長(zhǎng)時(shí)間未被應(yīng)用程序使用后,會(huì)自動(dòng)轉(zhuǎn)變?yōu)椤按?未使用”狀態(tài)。例如,當(dāng)用戶未在安裝時(shí)授予新浪微博訪問攝像頭的權(quán)限時(shí),權(quán)限進(jìn)入“待定/未使用”狀態(tài),當(dāng)應(yīng)用請(qǐng)求使用攝像頭時(shí),權(quán)限立即進(jìn)入“待定/已使用”狀態(tài)。如果決策模塊認(rèn)為該使用請(qǐng)求無害,則直接自動(dòng)完成授權(quán),權(quán)限也相應(yīng)進(jìn)入“已授權(quán)/已使用”狀態(tài)。否則權(quán)限使用監(jiān)視器會(huì)要求用戶即時(shí)做出決定。此外,用戶在系統(tǒng)使用過程中可以通過GrantDroid的配置界面動(dòng)態(tài)地對(duì)任意應(yīng)用的各個(gè)權(quán)限狀態(tài)做出符合限制的調(diào)整。3.4android平臺(tái)機(jī)制如何攔截應(yīng)用程序?qū)?nèi)核權(quán)限的使用是GrantDroid需要解決的一大技術(shù)難點(diǎn)。內(nèi)核權(quán)限的檢查不在Android框架控制范圍之內(nèi),它們被Linux內(nèi)核所保護(hù)并僅能通過系統(tǒng)調(diào)用的方式使用。如圖3所示,GrantDroid設(shè)計(jì)了一個(gè)系統(tǒng)調(diào)用攔截器,可以將所有第三方應(yīng)用程序?qū)ο嚓P(guān)系統(tǒng)調(diào)用的訪問進(jìn)行攔截并重定向至權(quán)限使用監(jiān)視器。由于對(duì)內(nèi)核的修改會(huì)對(duì)包括系統(tǒng)進(jìn)程在內(nèi)的所有進(jìn)程產(chǎn)生影響,所以GrantDroid只修改了bioniclibc(bioniclibc是Google為Android特制的BSD標(biāo)準(zhǔn)C庫的衍生版本)中的系統(tǒng)調(diào)用包裝函數(shù),并通過修改LD_LIBRARY_PATH強(qiáng)制第三方應(yīng)用程序使用這一版本的函數(shù)庫,而其他系統(tǒng)進(jìn)程將使用原版函數(shù)庫,從而避免對(duì)內(nèi)核的修改。當(dāng)?shù)谌綉?yīng)用程序通過各種方式訪問系統(tǒng)調(diào)用包裝函數(shù)時(shí),訪問會(huì)被重定向至權(quán)限使用監(jiān)視器。權(quán)限使用監(jiān)視器將與權(quán)限管理器和決策器決定如何處理本次請(qǐng)求,并將決策結(jié)果告知系統(tǒng)調(diào)用包裝函數(shù)。由于系統(tǒng)調(diào)用攔截器位于內(nèi)核之外,第三方應(yīng)用程序依然可以通過軟中斷的方式繞過攔截器使用內(nèi)核權(quán)限。通過修改Android運(yùn)行時(shí)環(huán)境,GrantDroid會(huì)在第三方應(yīng)用程序加載本地代碼庫時(shí)對(duì)類庫進(jìn)行掃描,以確保其中不包含軟中斷指令SWI,從而保證了攔截器的可靠性。我們對(duì)應(yīng)用市場(chǎng)的大量應(yīng)用程序所帶的本地代碼庫進(jìn)行了掃描,并未發(fā)現(xiàn)任何一款應(yīng)用直接使用了軟中斷指令,因此GrantDroid對(duì)于系統(tǒng)調(diào)用攔截器的實(shí)現(xiàn)并不會(huì)對(duì)現(xiàn)有應(yīng)用造成影響。表1列出了Android平臺(tái)上的所有內(nèi)核權(quán)限。例如,對(duì)于一個(gè)申請(qǐng)了互聯(lián)網(wǎng)訪問權(quán)限的應(yīng)用程序被用戶同意安裝后,Android為該應(yīng)用程序分配一個(gè)唯一的uid,并將該uid與inet用戶組綁定。當(dāng)系統(tǒng)每次啟動(dòng)該應(yīng)用時(shí),將會(huì)指定進(jìn)程的uid和所在的用戶組,這樣應(yīng)用程序就可以順利創(chuàng)建socket并訪問網(wǎng)絡(luò)。由于GrantDroid已經(jīng)確保了第三方應(yīng)用程序無法繞過系統(tǒng)調(diào)用攔截器而直接訪問內(nèi)核資源,因此可以將應(yīng)用程序?qū)?yīng)的uid加入相應(yīng)的用戶組。例如,某應(yīng)用程序申請(qǐng)了INTERNET和CAMERA權(quán)限,則無論用戶是否同意授予,都將在創(chuàng)建應(yīng)用程序進(jìn)程時(shí),添加inet和camera到該進(jìn)程所在的用戶組中,而具體的訪問控制將由系統(tǒng)調(diào)用攔截器重定向至決策器進(jìn)行管理。3.5用戶資源的預(yù)處理生成一個(gè)完整正確的惡意應(yīng)用權(quán)限使用特征集合可以提高系統(tǒng)易用性、減少不必要的用戶交互并保證系統(tǒng)安全性。我們采用安全需求工程的方法來推導(dǎo)惡意應(yīng)用程序所必備的權(quán)限使用特征。首先,通過分析Android平臺(tái)的特征識(shí)別出用戶在Android設(shè)備中所擁有的資源,如手機(jī)短信、位置信息、通訊錄和攝像頭拍攝的影像等。在識(shí)別出所有的用戶資源后,還需進(jìn)一步分析每一種資源是如何被第三方應(yīng)用程序?yàn)E用,進(jìn)而影響系統(tǒng)的私密性、完整性和可用性,從而確定出針對(duì)每一種資源存在的安全威脅。例如,“一個(gè)惡意應(yīng)用可以讀取手機(jī)短信并將其通過互聯(lián)網(wǎng)發(fā)送出去”,隨后推導(dǎo)出制造安全威脅必須具備的權(quán)限特征:“一個(gè)惡意應(yīng)用程序同時(shí)具備READ_SMS和INTERNET的權(quán)限時(shí)可以造成安全威脅”。安全需求工程的推導(dǎo)過程需要一定程度的人工參與,可能會(huì)造成特征集合的不完整。為了驗(yàn)證推導(dǎo)出的特征集合的完整性,我們驗(yàn)證了MalwareGenomeProject由于良性應(yīng)用可能具備與惡意應(yīng)用完全相同的行為,如一個(gè)手機(jī)備份軟件可能會(huì)讀取手機(jī)短信并通過互聯(lián)網(wǎng)同步到服務(wù)器。因此,生成的特征集合不能作為區(qū)分惡意應(yīng)用和良性應(yīng)用的標(biāo)準(zhǔn)。該特征集合只能確保不符合特征的應(yīng)用皆為良性應(yīng)用,而不能保證符合特征的都是惡意應(yīng)用,但這有效減少了用戶不必要的顯式授權(quán)。4實(shí)驗(yàn)與性能的評(píng)估4.1控制惡意應(yīng)用我們采用了由文獻(xiàn)[11]提供的150個(gè)真實(shí)惡意應(yīng)用程序進(jìn)行功能性測(cè)試,驗(yàn)證惡意應(yīng)用程序在GrantDroid上能否獲得完成其惡意行為所必備的所有權(quán)限,以評(píng)估GrantDroid的有效性。實(shí)驗(yàn)使用MonkeyRunner自動(dòng)化隨機(jī)UI測(cè)試并不能覆蓋程序的所有執(zhí)行路徑。為了判斷自動(dòng)化測(cè)試是否促使惡意應(yīng)用做出惡意行為,我們?nèi)斯?biāo)記出這些應(yīng)用程序?yàn)榱俗龀鰫阂庑袨樗仨毷褂玫臋?quán)限,并在實(shí)驗(yàn)過程中監(jiān)視應(yīng)用程序?qū)@些權(quán)限的使用。如果應(yīng)用程序請(qǐng)求使用了所有標(biāo)記的權(quán)限,就認(rèn)為自動(dòng)化測(cè)試已完全覆蓋該應(yīng)用。對(duì)于測(cè)試無法完全覆蓋的應(yīng)用程序需要進(jìn)行人工測(cè)試。實(shí)驗(yàn)中有121個(gè)惡意應(yīng)用的測(cè)試時(shí)完全覆蓋。實(shí)驗(yàn)結(jié)果表明GrantDroid在防止第三方應(yīng)用的惡意行為上十分有效。所有惡意應(yīng)用樣本都無法自動(dòng)獲得完成其惡意行為所必須的權(quán)限。其中147個(gè)應(yīng)用需要顯式的用戶授權(quán),而剩余3個(gè)應(yīng)用程序則是命令與控制型惡意應(yīng)用。命令與控制型惡意應(yīng)用需要從服務(wù)器端接受命令,根據(jù)不同的命令執(zhí)行不同的惡意行為,因此在測(cè)試過程中難以觸發(fā)其惡意行為。通過人工分析這三個(gè)應(yīng)用接收到服務(wù)器端命令后的行為,最終確認(rèn)其在GrantDroid上無法在未經(jīng)用戶顯式授權(quán)的情況下完成惡意行為。4.2即時(shí)授權(quán)頻率GrantDroid發(fā)現(xiàn)存在安全隱患的權(quán)限使用請(qǐng)求時(shí)會(huì)要求用戶即時(shí)授權(quán)。為了評(píng)估用戶參與顯式授權(quán)對(duì)系統(tǒng)可用性的影響,我們測(cè)試了使用過程中用戶顯式授權(quán)的頻率。由于GrantDroid兼容現(xiàn)有Android應(yīng)用,我們從Android官方市場(chǎng)下載了1378個(gè)應(yīng)用程序,并在決策模塊中記錄需要用戶即時(shí)授權(quán)的次數(shù)。實(shí)驗(yàn)針對(duì)每個(gè)應(yīng)用,通過MonkeyRunner在該應(yīng)用范圍內(nèi)觸發(fā)1萬次用戶操作。對(duì)于即時(shí)授權(quán)請(qǐng)求,系統(tǒng)自動(dòng)代表用戶做出決定:隨機(jī)選擇授權(quán)一次或阻止一次中的任意一種,而不是永久授予或永久阻止。從而統(tǒng)計(jì)出最壞情況下產(chǎn)生的即時(shí)授權(quán)頻率。測(cè)試結(jié)果表明GrantDroid需要的用戶顯式授權(quán)頻率非常低,對(duì)系統(tǒng)可用性的影響極小。分屬13個(gè)類別的1378個(gè)應(yīng)用共需要1842次即時(shí)授權(quán),平均每個(gè)應(yīng)用僅需1.33次。平均每7500余次用戶操作才需要一次用戶顯式授權(quán)。而從另一個(gè)角度看,平均每290次權(quán)限使用才需要1次即時(shí)授權(quán)。這說明惡意程序權(quán)限使用特征集合幫助系統(tǒng)減少了99%以上的即時(shí)授權(quán)需求。4.3不同權(quán)限使用差異GrantDroid引入的性能開銷主要來自權(quán)限使用攔截模塊和決策模塊。在GrantDroid中,對(duì)于不同類型的權(quán)限使用請(qǐng)求,決策模塊的處理邏輯完全相同,而攔截模塊的處理方式則不同。對(duì)內(nèi)核權(quán)限的使用,會(huì)被系統(tǒng)調(diào)用攔截器攔截并重定向到處于另一個(gè)進(jìn)程的權(quán)限使用監(jiān)視器,這會(huì)比對(duì)Android權(quán)限的使用帶來更多的性能開銷。測(cè)試通過綜合性能開銷和最差情況性能開銷對(duì)GrantDroid的性能進(jìn)行評(píng)估。(1)ntdrod的綜合性能測(cè)試使用常用的三個(gè)性能測(cè)試集來評(píng)估Gran

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論