91精品人妻互换日韩精品久久影视|又粗又大的网站激情文学制服91|亚州A∨无码片中文字慕鲁丝片区|jizz中国无码91麻豆精品福利|午夜成人AA婷婷五月天精品|素人AV在线国产高清不卡片|尤物精品视频影院91日韩|亚洲精品18国产精品闷骚

您當(dāng)前位置:首頁 > 新聞頻道 > 技術(shù)動態(tài) > 正文
一種安卓平臺下提權(quán)攻擊檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

 張濤,裴蓓,文偉平,陳鐘

 (1北京大學(xué)信息科學(xué)技術(shù)學(xué)院,北京100871;2.信息網(wǎng)絡(luò)安全公安部重點(diǎn)實(shí)驗(yàn)室,上海201204;3北京大學(xué)軟件與微電子學(xué)院,北京102600)

 摘要:隨著安卓系統(tǒng)的盛行,其安全性問題也逐漸成為人們關(guān)注的焦點(diǎn)。在安卓系統(tǒng)中進(jìn)行敏感操作必須向系統(tǒng)申請相應(yīng)的權(quán)限。雖然安卓系統(tǒng)中已經(jīng)設(shè)計(jì)了與權(quán)限控制相關(guān)的系統(tǒng)模塊,但是攻擊者仍然可以借助系統(tǒng)漏洞或第三方程序漏洞進(jìn)行提權(quán)攻擊,進(jìn)而非法使用一些超越其申請權(quán)限的功能。此種攻擊不但對系統(tǒng)安全威脅較大,還具有一定的隱蔽性。文章通過對以往研究進(jìn)行分析和創(chuàng)新,提出了一種新型的基于控制流檢測和安卓敏感權(quán)限詞典匹配的輕量級提權(quán)攻擊檢測方法,并在此基礎(chǔ)上完成了自動化程度高、檢測效率高的檢測軟件的設(shè)計(jì)與實(shí)現(xiàn)。

0引言

 安卓系統(tǒng)是一款基于Linux內(nèi)核并開放源代碼的移動平臺操作系統(tǒng);贚inux內(nèi)核使得安卓系統(tǒng)能夠長期不斷電運(yùn)行,十分穩(wěn)定;而開放源代碼使得任何公司和個人都可以通過修改其源代碼進(jìn)行定制,從而使得安卓系統(tǒng)能夠適應(yīng)不同的硬件平臺。自從安卓初創(chuàng)團(tuán)隊(duì)于2005年被Coogle收購以來,安卓系統(tǒng)借助Google強(qiáng)大的科研、資本和運(yùn)營能力,逐步侵占其他移動平臺操作系統(tǒng)市場占有率,成為近幾年市場占有率第一的移動平臺操作系統(tǒng)。大量開發(fā)者選擇在該平臺上進(jìn)行移動軟件開發(fā),使得安卓系統(tǒng)成為全球應(yīng)用最多的移動平臺。

 但是,由于安卓系統(tǒng)的開放性以及開發(fā)者水平良莠不齊,使得安卓系統(tǒng)存在許多安全問題和漏洞。安卓系統(tǒng)的安全問題和漏洞主要涉及通信系統(tǒng)、應(yīng)用軟件、隱私信息與設(shè)備安全四個方面。通信系統(tǒng)方面的安全風(fēng)險包括攻擊者在用戶不知情的情況下?lián)艽螂娫捇驋鞌嚯娫、發(fā)送垃圾短信等。應(yīng)用軟件方面則主要涉及惡意軟件發(fā)起的攻擊。隱私信息方面則多指用戶隱私信息及敏感信息的泄露。設(shè)備安全方面則主要多指手機(jī)被盜而遭遇的信息泄露以及因此帶來的經(jīng)濟(jì)損失。

1提權(quán)攻擊概念及模型

1.1提權(quán)攻擊概念

 在所有針對安卓系統(tǒng)的攻擊方式中,提權(quán)攻擊是一種危害性較大的攻擊方式。傳統(tǒng)意義上,提權(quán)攻擊指的是低授權(quán)、受限制的用戶或者程序通過非法手段提升自身權(quán)限以實(shí)施控制計(jì)算機(jī)或者其他超出自身權(quán)限的行為。攻擊者一旦攻擊成功,系統(tǒng)原有的安全設(shè)置將無法保護(hù)用戶的隱私和安全,給用戶帶來嚴(yán)重威脅。

 安卓系統(tǒng)中的提權(quán)攻擊有著普通提權(quán)攻擊沒有的特點(diǎn)。安卓系統(tǒng)中的提權(quán)攻擊是指本來低權(quán)限或者不具備權(quán)限的惡意程序通過其他具有權(quán)限的第三方應(yīng)用程序的漏洞而行使了第三方應(yīng)用程序的功能。這種基于安卓系統(tǒng)的攻擊行為由DAVI等人第一次提出,他們在對安卓系統(tǒng)中的提權(quán)攻擊做了如下定義:擁有較低(較少)權(quán)限的應(yīng)用程序訪問擁有較高(較多)權(quán)限的應(yīng)用程序組件(活動、服務(wù)、內(nèi)容提供器和廣播接收器等)而不受到任何限制的攻擊行為稱為安卓系統(tǒng)中的提權(quán)攻擊。這種攻擊具有很強(qiáng)的隱蔽性,且攻擊者常常并不破壞用戶設(shè)備,僅僅盜取用戶信息,因此很難被用戶察覺。此外,這種攻擊行為的前提是用戶系統(tǒng)中存在著擁有較高權(quán)限,但同時也有漏洞的第三方軟件,具有一定的限制性,因此也一直未受到人們的關(guān)注。隨著智能手機(jī)用戶的增加以及人們對移動設(shè)備依賴性的增強(qiáng),越來越多的手機(jī)中保存著用戶越來越多的個人信息,如銀行賬戶信息、個人身份信息等,這大大增加了安卓系統(tǒng)提權(quán)攻擊的危害。

 2009年,ENCK等人首次系統(tǒng)介紹了安卓安全機(jī)制,公布了一款名為Kirin的應(yīng)用安裝工具,并第一次采用靜態(tài)檢測組合策略,即在安裝應(yīng)用的時候就對其申請的所有權(quán)限進(jìn)行審核,如果違背了配置策略,就拒絕對其進(jìn)行安裝。雖然該工具有效阻止了申請敏感權(quán)限的程序的安裝,但是其誤報率較高,原因在于僅依據(jù)已知危險軟件的權(quán)限申請組合并不能夠判斷出申請同樣權(quán)限的其他應(yīng)用也為危險軟件。

 在此之后,F(xiàn)ELTl等人開發(fā)出Stowaway。它的原理是通過反編譯安卓應(yīng)用程序代碼,檢測其調(diào)用的系統(tǒng)API,并與manifest.xml文件中聲明使用的權(quán)限進(jìn)行比較,查看應(yīng)用程序是否為危險程序。該工具誤報率同樣較高,因?yàn)殚_發(fā)人員對系統(tǒng)API所需要的權(quán)限了解不足,常常申請超出必要的權(quán)限,因此在配置文件中申請過高權(quán)限也不能完全證明其為惡意程序。

 隨后,對提權(quán)攻擊的研究擴(kuò)展到多個應(yīng)用之間的串謀攻擊,而不僅僅局限于對單個應(yīng)用的研究。

 FELT等人提出IPC Inspection,其基本方法是當(dāng)應(yīng)用程序接收其他應(yīng)用程序的消息時,它必須減小自己使用的權(quán)限集合,刪去其他應(yīng)用程序沒有的權(quán)限,以防提權(quán)攻擊。

 DIETZ等人在IPC Inspection的基礎(chǔ)上提出Qurie。Qurie是安卓安全機(jī)制的一個擴(kuò)展,它提供了一個輕量級的來源系統(tǒng)以防止所謂的混淆代理人攻擊。其基本思路與IPC Inspection類似,不同點(diǎn)在于,當(dāng)收到低權(quán)限的應(yīng)用程序的消息后,Qurie會讓開發(fā)者自己來決定如何處理。由于開發(fā)者可能并不具有軟件安全的相關(guān)知識,因而無法對復(fù)雜情況做出正確的判斷。

 在國內(nèi),于達(dá)首次提出監(jiān)視代碼函數(shù)里的參數(shù)列表,以查看其是否涉及敏感信息,并以此將代碼函數(shù)分成權(quán)限泄露函數(shù)和隱私泄露函數(shù)兩種。除了監(jiān)視泄露函數(shù)中的參數(shù)列表,于達(dá)還將Intent劫持予以考慮,但其并未就如何構(gòu)建控制流圖進(jìn)行詳細(xì)的說明。

1.2安卓系統(tǒng)下的提權(quán)攻擊模型

 DAVI等人在2011年首次提出安卓系統(tǒng)中的提權(quán)攻擊時給出了如圖l所示的提權(quán)攻擊模型。

 圖1顯示,3個應(yīng)用程序分別運(yùn)行在3個安卓系統(tǒng)提供的Dalvik虛擬機(jī)上。正常情況下,它們只能分別訪問應(yīng)用自身內(nèi)部的信息、圖片等資源,不可以訪問其他應(yīng)用程序的資源。但是當(dāng)有合理的需求需要訪問其他應(yīng)用程序的資源時,就需要應(yīng)用程序之間的合作。圖1中,應(yīng)用程序1啟用不需要任何權(quán)限,自身也不擁有任何權(quán)限;應(yīng)用程序2啟用不需要任何權(quán)限,自身擁有權(quán)限P1;應(yīng)用程序3的組件l啟用需要權(quán)限P1,組件2啟用需要權(quán)限P2。應(yīng)用程序1雖然不能直接訪問應(yīng)用程序3的組件1,但是可以訪問應(yīng)用程序2的組件1。應(yīng)用程序2的組件1擁有訪問應(yīng)用程序3的組件1的權(quán)限,那么以應(yīng)用程序2作為跳板,應(yīng)用程序1就可以訪問應(yīng)用程序3的組件1,從而執(zhí)行自身權(quán)限范圍之外的功能,也就完成了一次提權(quán)攻擊。

 圖1中應(yīng)用程序2是具有漏洞的應(yīng)用程序,起到了跳板的作用,對應(yīng)用程序l的提權(quán)攻擊負(fù)有責(zé)任。如果應(yīng)用程序2強(qiáng)制要求調(diào)用它的內(nèi)部組件時都必須擁有權(quán)限Pl,就可以完全阻止這種攻擊的發(fā)生。開發(fā)人員可以在Manifest.xml中直接靜態(tài)聲明需要的權(quán)限P1或者在代碼里使用checkPermission()等API函數(shù)來動態(tài)審查權(quán)限。但是大多數(shù)開發(fā)者并不是信息安全專家,甚至對于信息安全一無所知,他們沒有意識到或者不在乎這種攻擊的發(fā)生,因?yàn)榧词勾嬖谶@些漏洞,對于應(yīng)用程序本身的運(yùn)行沒有任何影響。但是這種攻擊可能給用戶帶來巨大的安全風(fēng)險,攻擊者可以通過這種攻擊方式獲得用戶的隱私信息、銀行賬戶信息,或者進(jìn)行連接互聯(lián)網(wǎng)、發(fā)送惡意短信、撥打惡意電話等一系列惡意操作。

 提權(quán)攻擊主要包括操作型攻擊(如打電話、發(fā)短信等)以及數(shù)據(jù)型攻擊(獲取敏感數(shù)據(jù))兩種。

 1)操作型攻擊

 攻擊源發(fā)出指令最終導(dǎo)致某種越權(quán)操作。這類攻擊不需要返回?cái)?shù)據(jù)給攻擊源,所以難以追蹤。操作型攻擊模型如圖2所示。

 2)數(shù)據(jù)型攻擊

 攻擊源發(fā)出指令后,從敏感數(shù)據(jù)庫中獲取敏感信息并返回,或者將敏感信息傳回指定泄露點(diǎn)。這類攻擊必須返回敏感數(shù)據(jù),所以容易跟蹤與監(jiān)控。數(shù)據(jù)型攻擊模型如圖3所示。

2檢測系統(tǒng)總體設(shè)計(jì)

 圖4為本文提權(quán)攻擊檢測系統(tǒng)的基本工作原理圖。由圖4可知,該系統(tǒng)主要包括兩大核心模塊:申請權(quán)限分析模塊和應(yīng)用程序控制流圖構(gòu)建模塊”。

 1)申請權(quán)限分析模塊

 Manifest.xml是整個應(yīng)用程序的配置文件,應(yīng)用程序使用的所有權(quán)限、用戶自定義的權(quán)限以及各個組件需要被哪些權(quán)限保護(hù)等都需要在該文件中進(jìn)行聲明。因此,針對Manifest.xml文件進(jìn)行分析是整個檢測系統(tǒng)最基礎(chǔ)的部分。完成此分析后,我們將得到一個完整的權(quán)限申請列表,并由此映射得到所能使用的函數(shù)列表,從而確定不能訪問的系統(tǒng)函數(shù)。申請權(quán)限分析模塊就是針對Manifest.xml文件進(jìn)行分析。

 2)應(yīng)用程序控制流圖構(gòu)建模塊

 如圖4所示,從提交待檢測APK到APK文件反編譯再到調(diào)用的系統(tǒng)函數(shù)分析主要是基于Smali文件解析來實(shí)現(xiàn)的。

 針對應(yīng)用程序的APK文件進(jìn)行反編澤將得到Smali文件,該文件中保存著應(yīng)用程序反編譯后得到的代碼。分析該文件可以得到應(yīng)用程序使用的函數(shù),調(diào)用的系統(tǒng)函數(shù)、參數(shù)等信息,并以此得到系統(tǒng)函數(shù)調(diào)用列表與調(diào)用順序,也就是控制流圖。

2.1 Manifest.xml文件解析

 1) Manifest.xml文件結(jié)構(gòu)

 Manifest.xml配置文件是每個安卓程序必需的文件。它位于整個安卓應(yīng)用開發(fā)工程項(xiàng)目的根目錄,包含了安卓應(yīng)用程序的每一個組件(活動、服務(wù)、內(nèi)容提供器和廣播接收器等),并使用Intent過濾器和權(quán)限來確定這些組件之間以及這些組件和其他應(yīng)用程序是如何交互的。

 圖5為Manifest.xml文件的粗略結(jié)構(gòu)。

其中涉及權(quán)限的標(biāo)簽分別有:

  (1) <uses-permission>。在安卓系統(tǒng)的安全模型中,應(yīng)用程序在默認(rèn)情況下不可以執(zhí)行任何對其他應(yīng)用程序、系統(tǒng)或者用戶有負(fù)面影響的操作。如果應(yīng)用程序需要執(zhí)行某個操作,就要聲明使用這個操作對應(yīng)的權(quán)限,使用該標(biāo)簽可以完成對權(quán)限的聲明。

 (2) <permission>。應(yīng)用程序也可以自定義屬于自己的permlssion或?qū)儆陂_發(fā)者的用同一個證書簽名的permission。定義一個permlssion就是在Manifest.xml文件中添加一個<permission>標(biāo)簽。

 (3)<android:permission>。如果要將一個應(yīng)用程序或者組件設(shè)置為權(quán)限保護(hù)的,也就是說只有具備要求的權(quán)限時才能訪問該程序或組件,則需要設(shè)置這個標(biāo)簽。

  (4)<android:exported>。如果要將一個組件設(shè)置為私有的,即無論何種權(quán)限都不許訪問此組件,則需要設(shè)置此標(biāo)簽。當(dāng)<android:exported>為false時,組件是私有的。

 (5)<intent-filter>。一個應(yīng)用程序的3個核心組件(活動、服務(wù)和廣播接收器)都是通過Intent消息來激活的。<intent-filter>標(biāo)簽的主要作用就是區(qū)分Intent消息中,哪些隱式Intent消息可以接受響應(yīng),哪些將被拒絕接受響應(yīng)。需要注意的是,<intent-filter>對顯式Intent消息起不到任何區(qū)別和過濾作用,所以該標(biāo)簽也不能完全保證組件的安全。

 2) Manifest.xml分析過程

 系統(tǒng)主要通過分析Manifest.xml文件對APK使用的權(quán)限做一個初步判斷,并根據(jù)所聲明的權(quán)限輸出危險控件列表和聲明的可使用權(quán)限列表兩個列表,用來交叉比對出敏感權(quán)限和安全權(quán)限。分析Manifest.xml文件所使用的決策樹如圖6所示。

2.2 Smali文件解析

 對于一個未加密的APK,有兩種方式將其轉(zhuǎn)換為可讀代碼:一種是通過APK反編譯工具Apktool將其轉(zhuǎn)換為Smali代碼;另一種是將APK文件解壓縮,使用Java反編譯工具JD-GUI打開其中的classes.dex文件,將其反編譯成Java代碼。

 這里做了一個假設(shè):假設(shè)原始APK總是不透明的,即假設(shè)不知道APK內(nèi)部處理和操作流程。但是,無論使用怎樣的操作流程,如果APK希望采取某些行為(這里特指惡意行為),那么它不可避免地需要調(diào)用系統(tǒng)中的函數(shù),否則僅在APK內(nèi)部操作是無法對系統(tǒng)造成實(shí)質(zhì)上的破壞的。將APK所調(diào)用的所有非該APK中的函數(shù)(也就是系統(tǒng)中的函數(shù))看作是該APK與系統(tǒng)的“接口”,如果能夠掌握該APK所有“接口”的合集,那么我們就可以預(yù)測該APK在系統(tǒng)中的最大接觸范圍,從而對其破壞性活動進(jìn)行預(yù)測。因此,重點(diǎn)應(yīng)放在如何從APK中提取出這些“接口”,而不是放在APK之間函數(shù)的相互調(diào)用。

 本文使用Samli文件進(jìn)行解析,從中獲取以下信息:

 1)該Smali代碼對應(yīng)類的名稱。

 2)該類所包含的所有函數(shù)。

 3)該類所調(diào)用的所有系統(tǒng)函數(shù)。

 類名位于Smali文件第1行,并以.class開頭。對于任何一個單獨(dú)的Smali文件,其所代表的類是唯一確定的。在得到類后,通過分析類中的各個方法(函數(shù)),可以得到類中所有調(diào)用系統(tǒng)函數(shù)的語句。系統(tǒng)函數(shù)的調(diào)用語句均以invoke開頭,所調(diào)用的函數(shù)以虛函數(shù)表中的序號標(biāo)示。

3檢測系統(tǒng)的實(shí)現(xiàn)

3.1系統(tǒng)概述

  本系統(tǒng)是一款基于安卓系統(tǒng)的針對提權(quán)攻擊的靜態(tài)檢測工具,主要分為服務(wù)器端和客戶端兩部分,其總體框架如圖7所示。

 1)服務(wù)器端

 服務(wù)器端在系統(tǒng)中起數(shù)據(jù)存儲、更新和查詢的作用。服務(wù)器端運(yùn)營于新浪云計(jì)算平臺SAE上,負(fù)責(zé)為客戶端提供所需的數(shù)據(jù),并根據(jù)客戶端返回的結(jié)果更新數(shù)據(jù)。服務(wù)器端運(yùn)行和維護(hù)了兩張關(guān)于安卓系統(tǒng)權(quán)限函數(shù)的數(shù)據(jù)庫表map_lib和permlssion_map。map_lib包含90848條數(shù)據(jù),主要包括每一個函數(shù)的下一步映射函數(shù),如果映射函數(shù)為權(quán)限敏感函數(shù),則還要包括其涉及的全部敏感感染路徑。permlssion_map為權(quán)限映射表,主要負(fù)責(zé)將每一個通過查找敏感權(quán)限詞典得到的敏感權(quán)限項(xiàng)映射成為相應(yīng)的權(quán)限操作函數(shù),涉及到757條數(shù)據(jù)。

 對于map_lib的維護(hù),客戶端首先會詢問服務(wù)器端某個函數(shù)是否為安全函數(shù),即查看map_lib的相應(yīng)father_id對應(yīng)的danger字段數(shù)據(jù)是false(安全)、true(敏感)還是null(未曾進(jìn)行映射運(yùn)算)。如果返回前兩種結(jié)果,那么客戶端可以立刻得到函數(shù)狀態(tài);如果返回null,客戶端需要計(jì)算該函數(shù)的映射范圍,并將結(jié)果返回服務(wù)器端,更新danger字段和path字段(由于我們只關(guān)心敏感函數(shù)路徑,且一般函數(shù)的映射范圍都非常巨大,為減輕數(shù)據(jù)庫壓力,我們只關(guān)心danger字段為true的path字段的值)。

 對于permlssion_map的維護(hù),客戶端首先將所有757個敏感函數(shù)id(即permission_map的id字段)存儲到內(nèi)存中,供映射計(jì)算使用。在分析Manifest.xml時,將所有permlssion權(quán)限映射成函數(shù)id并返回給客戶端。在權(quán)限映射這一步中,會有一個permlssion對應(yīng)多個函數(shù)id的情況,這里我們將所有的id都返回給客戶端。

  2)客戶端

  客戶端可以運(yùn)行在Windows vista/7/8系統(tǒng)上,主要有兩個功能模塊:Manifest.xml文件分析模塊和Smali文件解析模塊。Smali文件解析模塊負(fù)責(zé)從輸入的Smali文件夾中區(qū)分出Smali文件與Manifest.xml文件;通過分析Smali文件得到函數(shù)調(diào)用列表,將調(diào)用的函數(shù)與服務(wù)器端進(jìn)行數(shù)據(jù)交互,區(qū)分出安全函數(shù)與敏感函數(shù),如果為敏感函數(shù),則向服務(wù)器端查詢其敏感感染路徑;分析Manifest.xml文件得到安卓應(yīng)用申請的權(quán)限,如果未在Manifest.xml中顯式地聲明申請此權(quán)限,但在Smali文件中卻調(diào)用了涉及該權(quán)限的函數(shù),那么系統(tǒng)將認(rèn)為遭到了提權(quán)攻擊,提出警告。

 客戶端分析流程如圖8所示。

3.2詳細(xì)設(shè)計(jì)

 1) Manifest.xml解析

 系統(tǒng)對Manifest.xml進(jìn)行分析并將讀取的數(shù)據(jù)存儲到以下數(shù)據(jù)結(jié)構(gòu)中:

 MainfestHead主要用于存儲Manifest.xml的基礎(chǔ)信息,UsesPermission用于存儲用戶申請的權(quán)限列表。

  2)函數(shù)映射計(jì)算函數(shù)映射計(jì)算十分困難,函數(shù)量大,調(diào)用關(guān)系復(fù)雜,通

過建立包含多級緩存的機(jī)器學(xué)習(xí)方法可以大大降低計(jì)算時間。一般認(rèn)為,一個函數(shù)只需要遍歷一次即可確定其是否安全。通過機(jī)器學(xué)習(xí),能夠避免函數(shù)的重復(fù)遍歷,從而加決函數(shù)映射的計(jì)算速度。測試表明,一般APP分析時間約為3分鐘。

4檢測系統(tǒng)的測試

 運(yùn)用本文檢測系統(tǒng)對Google Play平臺中的1179個應(yīng)用程序進(jìn)行了檢測,并抽樣進(jìn)行了手工分析,以此測試提權(quán)攻擊檢測系統(tǒng)的實(shí)際運(yùn)行效果,重點(diǎn)測試運(yùn)行效率和誤報率。

4.1誤報率

 經(jīng)過系統(tǒng)檢測,有613個應(yīng)用程序在Manifest.xml文件分析過程中被檢測出含有漏洞,申請了敏感權(quán)限。系統(tǒng)對這些應(yīng)用程序做了更進(jìn)一步的檢測,最終有123個應(yīng)用程序被檢測出含有過多的權(quán)限,這些權(quán)限可以被攻擊者利用發(fā)動提權(quán)攻擊。從123個報警的應(yīng)用程序中隨機(jī)選取20個應(yīng)用程序進(jìn)行人工分析,主要是對報警的路徑進(jìn)行分析,以驗(yàn)證系統(tǒng)檢測的準(zhǔn)確性。結(jié)果在這20個報警的應(yīng)用程序中,9個真正存在提權(quán)攻擊漏洞,具有安全威脅,其他

11個應(yīng)用程序都是系統(tǒng)誤報。

 表l給出了3種檢測工具的實(shí)驗(yàn)結(jié)果對比。從表1可以看出,本文檢測方法( CoChec:ker)的誤報率相較于其他兩種主流檢測軟件有了一定的提升,處于中等水平。

 通過分析得出,造成系統(tǒng)誤報的主要原因包含以下幾點(diǎn):

 1) -些安卓系統(tǒng)的API函數(shù)的敏感性不能被唯一確定。例如,函數(shù)print()被認(rèn)為是一個可能泄露用戶隱私數(shù)據(jù)的函數(shù),但它大多數(shù)情況下還是進(jìn)行正常顯示,只有極少數(shù)情況下被攻擊者利用。

 2)安卓敏感權(quán)限詞典是查詢安卓官方文檔得到,在它的基礎(chǔ)上又映射得到敏感函數(shù)列表。由于工作量的關(guān)系,第1版的敏感權(quán)限只有403個,其中也有一定的提升空間。

4.2效率

 本文系統(tǒng)在36秒內(nèi)完成了4M大小的應(yīng)用程序的分析,讀取536個類13249個函數(shù),包含3583個調(diào)用函數(shù),其中有1096個函數(shù)在敏感權(quán)限詞典中需要進(jìn)行分析,所有函數(shù)在58秒內(nèi)完成分析。在分析的1096個函數(shù)中,共有1078個安全函數(shù),18個敏感函數(shù),并得出泄露路徑。

 測試結(jié)果表明,本文系統(tǒng)的檢測效率較高,能夠在可以容忍的時間范圍內(nèi)完成對較大程序的檢測。

5結(jié)束語

 本文首先對安卓系統(tǒng)的整體架構(gòu)以及安全機(jī)制進(jìn)行了詳細(xì)分析,通過對安卓系統(tǒng)各組件的安全機(jī)制及其局限性進(jìn)行闡述,引出安卓系統(tǒng)存在的諸多安全漏洞及安全風(fēng)險。

 結(jié)合大量調(diào)研和相關(guān)實(shí)踐工作,文章提出了一種新型的基于控制流檢測與安卓敏感權(quán)限詞典匹配的輕量級提權(quán)攻擊檢測方法,首次給出詳盡的控制流圖構(gòu)建方法,并在此基礎(chǔ)上實(shí)現(xiàn)了一款自動化程度較高、檢測效率高的檢測軟件。

最后,通過對1179個安卓應(yīng)用檢測結(jié)果進(jìn)行分析進(jìn)而驗(yàn)證該軟件設(shè)計(jì)指標(biāo)的合規(guī)性。實(shí)驗(yàn)證明,該提權(quán)攻擊檢測系統(tǒng)無論在降低誤報率上還是自動化程度上,較傳統(tǒng)的安卓應(yīng)用提權(quán)攻擊檢測工具都有一定的提升。本文仍有進(jìn)一步的工作要做:應(yīng)用程序控制流圖的構(gòu)造準(zhǔn)確性及敏感權(quán)限函數(shù)的范圍還可以繼續(xù)提升,從而進(jìn)一步提升該提權(quán)攻擊檢測系統(tǒng)的命中率。

關(guān)鍵字:
About Us - 關(guān)于我們 - 服務(wù)列表 - 付費(fèi)指導(dǎo) - 媒體合作 - 廣告服務(wù) - 版權(quán)聲明 - 聯(lián)系我們 - 網(wǎng)站地圖 - 常見問題 - 友情鏈接
Copyright©2014安裝信息網(wǎng) m.78375555.com. All rights reserved.
服務(wù)熱線:4000-293-296 聯(lián)系電話:0371-61311617 傳真:0371-55611201 QQ: 郵箱:zgazxxw@126.com 豫ICP備18030500號-4
未經(jīng)過本站允許,請勿將本站內(nèi)容傳播或復(fù)制
安全聯(lián)盟認(rèn)證