• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Android應(yīng)用程序權(quán)限組重要性分析

      2018-09-06 01:54:12白君澤楊紅麗
      計算機(jī)與現(xiàn)代化 2018年8期
      關(guān)鍵詞:有向圖應(yīng)用程序重要性

      白君澤,楊紅麗,張 標(biāo)

      (北京工業(yè)大學(xué)信息學(xué)部,北京 100124)

      0 引 言

      Android是一款基于Linux平臺的開源手機(jī)操作系統(tǒng),使用Android操作系統(tǒng)的手機(jī)占據(jù)了智能手機(jī)的主要市場,其應(yīng)用程序變得日益豐富。數(shù)據(jù)公司Gartner[1]顯示,使用Android操作系統(tǒng)的智能手機(jī)在2016年第一季度占據(jù)了84.1%的市場份額,而2017年第一季度市場份額更是提升到了86.1%。與此同時,應(yīng)用程序過度申請Android權(quán)限,可能造成用戶隱私數(shù)據(jù)的泄露,是當(dāng)前Android系統(tǒng)手機(jī)的一大問題。Android系統(tǒng)更新到6.0版本之后,使用運行時權(quán)限機(jī)制(Runtime Permissions)將敏感權(quán)限分為9組,每一個權(quán)限組(Permission Groups)對應(yīng)一類隱私信息,用戶可以對權(quán)限按組進(jìn)行設(shè)置,而不再對單獨權(quán)限進(jìn)行設(shè)置。設(shè)置過多的權(quán)限組,不利于用戶對應(yīng)用程序進(jìn)行把控,應(yīng)用程序可以在不通知用戶的情況下使用隱私信息,威脅用戶的安全和隱私;設(shè)置過少的權(quán)限組,會帶來復(fù)雜的操作,影響用戶體驗。權(quán)限系統(tǒng)的升級,需要用戶鑒別權(quán)限組的重要程度,對權(quán)限組進(jìn)行正確的設(shè)置,這成為了用戶面臨的新問題。

      目前研究中,學(xué)者們提出了大量Android靜態(tài)分析方法。文獻(xiàn)[2-6]詳細(xì)分析了應(yīng)用程序的結(jié)構(gòu),但是沒有詳細(xì)分析權(quán)限的使用情況。文獻(xiàn)[7]通過收集應(yīng)用程序使用的隱私信息和隱私信息對應(yīng)的權(quán)限,分析隱私信息的傳播方式,向用戶發(fā)送隱私信息報告,提示用戶應(yīng)用程序?qū)﹄[私數(shù)據(jù)的使用情況,但沒有對權(quán)限重要性進(jìn)行分析;文獻(xiàn)[8]通過記錄用戶對應(yīng)用程序的權(quán)限設(shè)置,分析用戶的行為習(xí)慣,構(gòu)建決策支持系統(tǒng),推薦給用戶權(quán)限的設(shè)置策略,但沒有分析客觀的程序結(jié)構(gòu),并且推薦對象為單獨權(quán)限而沒有按照權(quán)限組進(jìn)行整體推薦;文獻(xiàn)[9]將應(yīng)用程序中函數(shù)調(diào)用圖構(gòu)建為網(wǎng)絡(luò),通過計算節(jié)點的權(quán)值并進(jìn)行機(jī)器學(xué)習(xí)分類檢測應(yīng)用程序是否為惡意程序,但沒有解決權(quán)限設(shè)置問題。綜上,現(xiàn)有文獻(xiàn)分析了應(yīng)用程序靜態(tài)結(jié)構(gòu)以及應(yīng)用程序中權(quán)限的使用,并從經(jīng)驗上推薦用戶設(shè)置權(quán)限,但沒有從程序結(jié)構(gòu)分析的角度分析權(quán)限重要性以及推薦權(quán)限設(shè)置,且研究對象為單獨權(quán)限而非權(quán)限組。

      在Android系統(tǒng)的運行時權(quán)限機(jī)制下,用戶需要了解應(yīng)用程序中權(quán)限組的重要程度,確定如何設(shè)置權(quán)限組。為此,本文提出權(quán)限組重要程度分析方法:1)對應(yīng)用程序文件進(jìn)行逆向工程分析程序代碼;2)利用排序算法計算權(quán)限組的重要性評分;3)利用機(jī)器學(xué)習(xí)方法進(jìn)行實驗認(rèn)定。本文根據(jù)權(quán)限組的重要性評分,將權(quán)限組按照重要程度劃分為關(guān)鍵和不關(guān)鍵2個部分,以此推薦權(quán)限組的設(shè)置策略。本文的主要工作有:

      1)針對Android系統(tǒng)權(quán)限機(jī)制改變后新出現(xiàn)的權(quán)限組進(jìn)行研究,分析應(yīng)用程序中權(quán)限組的使用情況。

      2)將排序算法引入Android應(yīng)用程序靜態(tài)分析,評價Android應(yīng)用程序中權(quán)限組的重要程度,推薦權(quán)限組的設(shè)置策略。

      3)通過機(jī)器學(xué)習(xí)方法分析應(yīng)用程序中的權(quán)限組,提供新的應(yīng)用程序分析方法和分類思路。

      1 相關(guān)知識

      本章描述Android系統(tǒng)權(quán)限機(jī)制的改變帶來的新的權(quán)限組問題,需要使用新的分析方法用以分析權(quán)限組內(nèi)容,引入排序算法對權(quán)限組的重要性進(jìn)行評價。

      1.1 Android權(quán)限機(jī)制

      權(quán)限機(jī)制是Android系統(tǒng)保護(hù)用戶安全和隱私的重要機(jī)制。應(yīng)用程序訪問用戶隱私信息時,需要調(diào)用特定接口,應(yīng)用程序需先向用戶申請權(quán)限,獲得用戶允許才可以調(diào)用此權(quán)限下屬的接口。Android 6.0版本之前的權(quán)限機(jī)制中,用戶需要在安裝應(yīng)用程序時授予應(yīng)用程序所有的權(quán)限,這一設(shè)定明顯是不友好的,使得用戶不僅在設(shè)置權(quán)限時容易出現(xiàn)問題,在對應(yīng)用程序進(jìn)行更新升級時也會受到影響。Android 6.0版本帶來了新的運行時權(quán)限機(jī)制,用戶可以實時對應(yīng)用程序授予權(quán)限。系統(tǒng)設(shè)定了9個權(quán)限組,每個權(quán)限組包含一到多個權(quán)限,如表1所示。在應(yīng)用程序運行階段,當(dāng)需要某個權(quán)限組的權(quán)限時,應(yīng)用程序動態(tài)向用戶進(jìn)行彈框申請,如果用戶同意,則權(quán)限組包含的所有權(quán)限被打包賦予給應(yīng)用程序;如果用戶不同意,則不授予權(quán)限。用戶也可以在系統(tǒng)設(shè)置中對權(quán)限組進(jìn)行設(shè)置,系統(tǒng)將應(yīng)用程序使用的權(quán)限組全部列出,用戶可以逐一對權(quán)限組的設(shè)置選項選擇打開或者關(guān)閉,設(shè)置打開,則將權(quán)限組的權(quán)限賦予應(yīng)用程序,應(yīng)用程序可以隨時使用這些權(quán)限組而不需要申請;選擇關(guān)閉,則應(yīng)用程序需要用到這些權(quán)限組的權(quán)限時,需要向用戶動態(tài)申請。

      表1 權(quán)限組對照表

      在應(yīng)用程序中,程序?qū)δ硞€權(quán)限組的使用越頻繁,則說明應(yīng)用程序?qū)@個權(quán)限組對應(yīng)的隱私信息處理越多,有關(guān)這類隱私信息的功能在應(yīng)用程序中越重要,越需要對此權(quán)限組進(jìn)行重點分析。Android系統(tǒng)對權(quán)限組的使用,體現(xiàn)方式為調(diào)用權(quán)限組所包含權(quán)限對應(yīng)的接口。接口包含URI和API這2類,URI是系統(tǒng)消息提供器(Content Provider)提供的標(biāo)識符,應(yīng)用程序可以通過訪問特定URI獲取隱私信息,如:content://contacts是獲取聯(lián)系人的URI,對應(yīng)權(quán)限READ_CONTACTS;API是系統(tǒng)封裝好的方法,應(yīng)用程序可以通過調(diào)用特定API訪問隱私信息,如:Camera.takePicture()是使用攝像頭的方法,對應(yīng)權(quán)限CAMERA。目前已有對權(quán)限與接口映射關(guān)系的研究,PScout[10]使用靜態(tài)分析的方法,將接口與其需要用到的權(quán)限進(jìn)行分析,獲得接口與權(quán)限的映射關(guān)系;Susi[11]使用機(jī)器學(xué)習(xí)的方法,總結(jié)接口與權(quán)限的映射關(guān)系。PScout和Susi各自提供了成果文檔,為研究人員提供重要的分析資料。

      1.2 排序算法

      PageRank算法[12]是一種針對網(wǎng)頁重要程度排序的算法。算法的思想是:一個網(wǎng)頁的重要程度由所有可以超鏈接到這個網(wǎng)頁的源網(wǎng)頁重要程度來決定。算法將具有超鏈接關(guān)系的網(wǎng)頁按照超鏈接關(guān)系構(gòu)建一個有向圖關(guān)系G=(V,E),其中V是節(jié)點集合,每個節(jié)點代表一個網(wǎng)頁;E是2個節(jié)點之間的指向關(guān)系集合,每條指向關(guān)系代表這2個節(jié)點對應(yīng)的網(wǎng)頁具有超鏈接關(guān)系。算法計算有向圖中每個節(jié)點的重要評分(PR),根據(jù)節(jié)點的重要性評分,將節(jié)點對應(yīng)的網(wǎng)頁進(jìn)行重要程度排序。在有向圖中,每個節(jié)點都有一個初始PR值(一般情況下,所有節(jié)點初始PR值相等),然后每個節(jié)點將自己的PR值平均分配給指向的節(jié)點,經(jīng)過迭代計算,每個節(jié)點的PR值趨于穩(wěn)定,穩(wěn)定后的PR值即為這個節(jié)點的最終PR值,定義如下:

      其中,p、q代表節(jié)點,R代表節(jié)點指向關(guān)系,o代表節(jié)點的出度。最后網(wǎng)頁按照PR值進(jìn)行排序。

      PageRank算法用于進(jìn)行網(wǎng)頁的重要程度排序,也被用來分析程序結(jié)構(gòu)。Component Rank[13]算法將一個程序的組件作為節(jié)點,組件的調(diào)用關(guān)系作為指向關(guān)系,構(gòu)建有向圖,借用PageRank算法,計算組件的重要性評分,推薦程序中的關(guān)鍵組件。VertexRank[14]參考了Component Rank的工作,并且考慮了應(yīng)用程序具有入口點這一特性,將初始PR值僅分配給入口節(jié)點,再計算組件的重要性評分,定義如下:

      其中,EPR代表節(jié)點的初始重要評分值,e代表節(jié)點,E代表入口節(jié)點集合,n代表入口節(jié)點總數(shù)。根據(jù)計算所得的重要性評分,上述工作對程序組件進(jìn)行重要程度排名,推薦程序中排名靠前的組件。

      2 權(quán)限組重要性分析

      本文利用第1章介紹的相關(guān)知識,設(shè)計了一種新的權(quán)限組重要性分析方法,如圖1所示,包含3個步驟:

      1)程序分析。對Android應(yīng)用程序文件進(jìn)行逆向工程分析,獲得程序代碼,構(gòu)建程序函數(shù)調(diào)用圖,分析程序結(jié)構(gòu)。

      2)權(quán)限組重要性評分。根據(jù)函數(shù)調(diào)用圖以及函數(shù)使用權(quán)限組的信息,通過排序算法計算權(quán)限組的重要性評分。

      3)實驗驗證。進(jìn)行實驗驗證方法的準(zhǔn)確性,借助實驗結(jié)果將權(quán)限組根據(jù)重要性評分劃分為關(guān)鍵權(quán)限組和不關(guān)鍵權(quán)限組2類。

      本文根據(jù)以上信息,展示應(yīng)用程序中權(quán)限組的重要性評分,并推薦用戶將關(guān)鍵權(quán)限組的設(shè)置打開,不關(guān)鍵權(quán)限組的設(shè)置關(guān)閉。

      圖1 Android應(yīng)用程序權(quán)限組重要性分析架構(gòu)圖

      2.1 程序分析

      目前,市場上絕大多數(shù)的應(yīng)用程序都沒有開源,無法直接對源代碼進(jìn)行分析,因此本文采用逆向工程技術(shù)對應(yīng)用程序進(jìn)行反匯編獲得字節(jié)碼,對字節(jié)碼進(jìn)行靜態(tài)程序分析。本文的程序分析工作基于Relda[15]工具進(jìn)行實現(xiàn),Relda工具是一款基于Python的輕量級靜態(tài)Android分析工具,工具對應(yīng)用程序文件進(jìn)行逆向工程分析,獲得字節(jié)碼,從程序入口點開始逐層分析代碼結(jié)構(gòu),構(gòu)建程序調(diào)用圖。Relda工具具有輕量級和結(jié)構(gòu)簡潔這2個特性,輕量級特性降低了工作的時間復(fù)雜度,為工具的實際應(yīng)用提供便利;結(jié)構(gòu)簡潔特性方便進(jìn)行二次開發(fā),易于進(jìn)行細(xì)節(jié)調(diào)整和實驗檢測。

      圖2 函數(shù)調(diào)用圖

      在函數(shù)調(diào)用圖中,每個函數(shù)都可能調(diào)用接口,形成對權(quán)限組的使用。為在函數(shù)調(diào)用圖中添加權(quán)限組的使用信息,需要分析每個函數(shù)調(diào)用的接口。為此,本文整理了1.1節(jié)中PScout和Susi總結(jié)的權(quán)限與接口對應(yīng)關(guān)系,并查閱官方文檔[16](API Document)補(bǔ)充上述2個工作沒有提及的權(quán)限與接口的對應(yīng)關(guān)系,再根據(jù)表1所提供的權(quán)限組與權(quán)限的對應(yīng)關(guān)系,總結(jié)出接口映射表,獲得接口與權(quán)限組的映射關(guān)系。

      將接口映射表的信息嵌入到函數(shù)調(diào)用圖當(dāng)中,如圖2所示,構(gòu)建出了新的函數(shù)調(diào)用圖,函數(shù)對接口的調(diào)用信息即可轉(zhuǎn)化為函數(shù)對權(quán)限組的使用信息。

      2.2 權(quán)限組重要性評分

      函數(shù)調(diào)用圖是有向圖,與PageRank算法契合,本文1.2節(jié)中提出的研究也驗證了PageRank算法對于程序分析的有效性。本文以2.1節(jié)中函數(shù)調(diào)用圖的函數(shù)構(gòu)建為節(jié)點,調(diào)用關(guān)系構(gòu)建為指向關(guān)系,構(gòu)建有向圖,如圖3所示,利用PageRank算法計算權(quán)限組的重要性評分。本文的PageRank算法是借助軟件包NetworkX[17]實現(xiàn)的。

      圖3 有向圖示例

      本文借鑒PageRank算法,定義節(jié)點的重要性評分算法SourceRank,計算節(jié)點的重要性評分(SR)定義如下:

      其中,p、q代表節(jié)點,R代表函數(shù)調(diào)用關(guān)系,o代表函數(shù)的出度(調(diào)用其他函數(shù)的數(shù)目)。由于接口本質(zhì)上是系統(tǒng)封裝的函數(shù),在有向圖中,如何定義接口的性質(zhì)成為算法的一大問題。在舊的函數(shù)調(diào)用圖中,接口看作函數(shù)的附加屬性,權(quán)限組的重要性評分由調(diào)用這個權(quán)限組接口的函數(shù)節(jié)點分配而來;如果將接口看作函數(shù),需要在有向圖中添加新的函數(shù)節(jié)點,此時出現(xiàn)2種添加方式:1)每個接口看作單獨函數(shù)進(jìn)行添加;2)接口看作權(quán)限組的下屬函數(shù)進(jìn)行添加。不同的有向圖中計算的權(quán)限組重要性評分不同,影響最終分析結(jié)果,本文希望構(gòu)建最合理的有向圖,對權(quán)限組進(jìn)行最準(zhǔn)確的分析。為此本文提出4種有向圖構(gòu)建方法,通過實驗驗證,選取最合理的構(gòu)建方法構(gòu)建有向圖。4種有向圖構(gòu)建方法如下:

      1)入度法(DL)。

      在入度法中,不進(jìn)行有向圖的構(gòu)建。此時,每個權(quán)限組的入度,即使用這個權(quán)限組的函數(shù)數(shù)目,視為這個權(quán)限組的SR值,定義如下:

      SR(pgi)=n(pgi)

      其中,pgi代表某個權(quán)限組,n代表入度。如圖3中,SR(權(quán)限組2)=2。

      2)不添加法(NL)。

      在不添加法中,接口視為函數(shù)的附屬,在此方法中,不添加新的節(jié)點,有向圖如圖3所示。此時,每個權(quán)限組的SR值,由所有調(diào)用這個權(quán)限組接口的函數(shù)節(jié)點SR值相加得出,定義如下:

      其中,pgi代表某個權(quán)限組,n代表原函數(shù)節(jié)點,pg(n)代表節(jié)點n的權(quán)限組集合。如圖3中,SR(權(quán)限組2)=SR(節(jié)點2)+SR(節(jié)點3)。

      3)單獨添加法(SL)。

      在單獨添加法中,接口被看作為單獨函數(shù),在此方法中,對每一個函數(shù),如果調(diào)用了屬于新權(quán)限組的接口,則將這個新的權(quán)限組添加為節(jié)點,圖3有向圖添加節(jié)點后如圖4所示。

      圖4 SL方法構(gòu)建有向圖

      此時,每個權(quán)限組的SR值,由所有根據(jù)這個權(quán)限組添加的函數(shù)節(jié)點SR值相加得出,定義如下:

      其中,pgi代表某個權(quán)限組,n代表新添加的節(jié)點,pg(n)代表節(jié)點n對應(yīng)的權(quán)限組。如圖4中,SR(權(quán)限組2)=SR(節(jié)點7)+SR(節(jié)點8)。

      4)分組添加法(GL)。

      在分組添加法中,接口被看作為權(quán)限組的下屬函數(shù),在此方法中,將應(yīng)用程序使用到的權(quán)限組添加為節(jié)點,圖3有向圖添加節(jié)點后如圖5所示。

      圖5 GL方法構(gòu)建有向圖

      此時,每個權(quán)限組的SR值,由根據(jù)這個權(quán)限組添加的函數(shù)節(jié)點SR值確定。如圖5中,SR(權(quán)限組2)=SR(節(jié)點7)。

      Android應(yīng)用程序具有特殊的入口點,這些入口點是具有固定名稱的函數(shù),如函數(shù)OnCreate()、OnClick()等,系統(tǒng)通過調(diào)用這些入口函數(shù)開始執(zhí)行程序。在為有向圖賦予初始SR時,本文參考了VertexRank提出的策略,根據(jù)應(yīng)用程序具有入口函數(shù)的特性,將初始SR僅賦予入口函數(shù)對應(yīng)節(jié)點,如圖3中所示的節(jié)點1為入口節(jié)點。

      2.3 實驗驗證方案

      對2.2節(jié)提出的4種有向圖構(gòu)建方法,分別可以計算出應(yīng)用程序中每個權(quán)限組的SR值。應(yīng)用程序中權(quán)限組的重要程度難以具體量化,且權(quán)限組的SR值跟隨程序代碼規(guī)模增大而增大,為確定哪種方法的結(jié)果更加合理,本文作如下假設(shè):相同種類的應(yīng)用程序,對權(quán)限組的使用情況應(yīng)當(dāng)有相似性,即同一種類的應(yīng)用程序中各個權(quán)限組的SR值占比應(yīng)當(dāng)相似。為此,本文按照應(yīng)用市場的應(yīng)用程序種類劃分,分別下載不同種類應(yīng)用程序,計算應(yīng)用程序中每個權(quán)限組SR對權(quán)限組合集SR的占比(SP),定義如下:

      其中,pgi、pgj代表某個權(quán)限組,S代表權(quán)限組合集。本文使用機(jī)器學(xué)習(xí)分類方法,以應(yīng)用程序各個權(quán)限組的SP作為特征進(jìn)行分類,每種應(yīng)用程序選取一部分作為訓(xùn)練集,其余應(yīng)用程序作為測試集,分別計算4種有向圖構(gòu)建方法下應(yīng)用程序分類的準(zhǔn)確率。分類準(zhǔn)確率越高,說明此種有向圖構(gòu)建方法下權(quán)限組區(qū)分度越高,方法更加合理。

      選定有向圖構(gòu)建方法后,可以確定每個權(quán)限組的SP值,進(jìn)行重要程度排序。在有序的權(quán)限組中,需要確定一個閾值將權(quán)限組劃分為關(guān)鍵權(quán)限組和不關(guān)鍵權(quán)限組2類,為確定這個閾值,本文設(shè)計實驗如下:當(dāng)過濾掉小于某個值的SP值后,分類的準(zhǔn)確度不受影響,則確定這個值為需要的閾值。此時,SP值小于閾值的權(quán)限組,存在與否不影響應(yīng)用程序分類,可以認(rèn)定其為不關(guān)鍵的權(quán)限組。本文據(jù)此推薦權(quán)限組的設(shè)置策略:將SP值大于閾值的權(quán)限組的設(shè)置打開,SP值小于閾值的權(quán)限組的設(shè)置關(guān)閉。

      3 實驗結(jié)果及分析

      根據(jù)Android應(yīng)用市場豌豆莢的應(yīng)用程序種類劃分和下載量信息,本文對7個種類應(yīng)用程序下載量過萬的全部個體進(jìn)行分析。分析樣本共計261個應(yīng)用程序,去除分析失敗和應(yīng)用程序未使用權(quán)限組的程序,共計188個應(yīng)用程序。本文整理分析結(jié)果,得到應(yīng)用程序中各個權(quán)限組的SP值,以GL方法為例,每個種類應(yīng)用程序各個權(quán)限組的平均SP值如表2所示,可以看到不同種類的應(yīng)用程序權(quán)限組SP值有較大區(qū)別。

      為評價2.2節(jié)中DL、NL、SL、GL這4種有向圖構(gòu)建方法的優(yōu)劣,本文使用機(jī)器學(xué)習(xí)的方法將SP作為特征進(jìn)行分類。因為以權(quán)限組作為特征分類,分類結(jié)果沒有明顯邊界,目的是判斷應(yīng)用程序最可能的分類結(jié)果,所以本文選取KNN算法計算分類的準(zhǔn)確率。sk-learn[18]模塊實現(xiàn)了各種機(jī)器學(xué)習(xí)算法,本文利用sk-learn模塊實現(xiàn)KNN算法的分類,按照1:1的比例構(gòu)建訓(xùn)練集和測試集,計算4種有向圖構(gòu)建方法下分類的準(zhǔn)確率。為確定本文方法對應(yīng)用程序分類的幫助,本文將每種構(gòu)建方法下分析方法分類準(zhǔn)確率與隨機(jī)事件概率14.3%(1/7)作比較,計算分類準(zhǔn)確率的提升率,結(jié)果如表3所示。實驗結(jié)果顯示,使用GL方法構(gòu)建有向圖分類準(zhǔn)確率的提升率最高,由此方法計算SP更加合理。本文分析方法意在分析應(yīng)用程序中權(quán)限組的重要性,所以將權(quán)限組作為對象進(jìn)行節(jié)點構(gòu)建和評分更加貼合本文方法的設(shè)計初衷,實驗顯示結(jié)果也與設(shè)計初衷相符合。

      表2 應(yīng)用程序權(quán)限組平均SP

      表3 應(yīng)用程序分類的準(zhǔn)確率提升 單位:%

      在構(gòu)建有向圖分配初始SR值時,本文采用VertexRank的策略,將初始SR僅分配給函數(shù)入口節(jié)點。為判斷此方法的優(yōu)劣,本文比較了是否采用VertexRank的策略分類的準(zhǔn)確率,結(jié)果如表4所示。實驗表明,VertexRank的策略能夠提升分類準(zhǔn)確率,適合本文的方法。

      表4 VertexRank的策略對分類準(zhǔn)確率影響 單位:%

      為確定劃分權(quán)限組關(guān)鍵與否的閾值,本文在GL法和采納VertexRank策略基礎(chǔ)上,對數(shù)據(jù)集進(jìn)行篩選,分析選取不同閾值后分類準(zhǔn)確度的變化,結(jié)果如圖6所示。實驗結(jié)果顯示,過濾掉小于0.048的SP后分類結(jié)果不受影響,因此閾值設(shè)定為0.048。

      圖6 閾值對分類準(zhǔn)確率影響

      本文整理以上信息作為Android應(yīng)用程序權(quán)限組重要性分析的分析結(jié)果,展示各個權(quán)限組的重要性評分,并推薦權(quán)限組的設(shè)置策略。

      4 結(jié)束語

      本文針對Android應(yīng)用程序權(quán)限組重要性分析問題,通過逆向工程分析應(yīng)用程序中的函數(shù)調(diào)用和接口調(diào)用,通過權(quán)限組與接口的映射關(guān)系確定函數(shù)對應(yīng)用程序權(quán)限組的使用情況,利用PageRank算法為權(quán)限組進(jìn)行重要性評分,根據(jù)重要性評分界定權(quán)限組是否應(yīng)當(dāng)設(shè)置打開。整理以上信息,展示權(quán)限組的重要性評價和設(shè)置推薦,既可以幫助用戶了解應(yīng)用程序,也能幫助應(yīng)用商店完善應(yīng)用程序的權(quán)限組描述信息。

      本文研究受限于當(dāng)前技術(shù)影響,存在一定局限性:1)由于沒有完備的接口數(shù)據(jù)庫,本文僅能通過整理現(xiàn)有工作和人工收集盡量保證映射表的全面性;2)應(yīng)用程序的字節(jié)碼可能出現(xiàn)重復(fù)片段影響重要性評分的計算,因此函數(shù)使用權(quán)限組均按使用一次計算;3)應(yīng)用市場沒有明確的應(yīng)用程序分類標(biāo)準(zhǔn),新的應(yīng)用程序為了擴(kuò)展功能也可能用到新的權(quán)限組,應(yīng)用程序分類難以準(zhǔn)確實現(xiàn),僅作為實驗評價標(biāo)準(zhǔn);4)本文以新的權(quán)限組為對象提出新的分析方法,缺乏類似工作進(jìn)行對比,結(jié)果較為單調(diào)。未來,隨著Android接口映射表的日益完備以及靜態(tài)分析工具準(zhǔn)確性和性能的提升,更多的分析方法被提出,本文提出的Android應(yīng)用程序權(quán)限組重要性分析方法可以成為新的Android應(yīng)用程序分析方式,研究人員可以通過本文的方法進(jìn)行進(jìn)一步研究。

      猜你喜歡
      有向圖應(yīng)用程序重要性
      有向圖的Roman k-控制
      “0”的重要性
      論七分飽之重要性
      幼兒教育中閱讀的重要性
      甘肅教育(2020年21期)2020-04-13 08:09:24
      刪除Win10中自帶的應(yīng)用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      超歐拉和雙有向跡的強(qiáng)積有向圖
      關(guān)于超歐拉的冪有向圖
      讀《邊疆的重要性》有感
      有向圖的同構(gòu)判定算法:出入度序列法
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      眉山市| 天长市| 汾阳市| 临夏市| 成武县| 武功县| 桦甸市| 乡城县| 垦利县| 永德县| 岳阳县| 孝感市| 平湖市| 静海县| 乌苏市| 东丰县| 泽州县| 泾川县| 梧州市| 遂川县| 开封市| 玉龙| 噶尔县| 鄱阳县| 张家港市| 金堂县| 张家界市| 社会| 施秉县| 紫云| 惠州市| 天台县| 庆元县| 黄大仙区| 石柱| 柘城县| 嘉鱼县| 繁峙县| 乐平市| 南丹县| 静海县|