android智能手機應(yīng)用的安全問題_第1頁
android智能手機應(yīng)用的安全問題_第2頁
android智能手機應(yīng)用的安全問題_第3頁
android智能手機應(yīng)用的安全問題_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

android智能手機應(yīng)用的安全問題

0android系統(tǒng)惡意程序檢測現(xiàn)在智能手機用戶的數(shù)量正在增加。根據(jù)分析機構(gòu)stryanalysis提供的最新統(tǒng)計數(shù)據(jù),2012年第三季度全球智能手機數(shù)量超過10億,達到10.38億。Google的Android智能操作系統(tǒng)得到廣大應(yīng)用程序開發(fā)者的追捧,成為目前主流的智能手機系統(tǒng)。然而Android市場上的應(yīng)用程序管理混亂,這導(dǎo)致了Android系統(tǒng)上的惡意應(yīng)用程序頻發(fā),使用戶能夠放心安全的使用應(yīng)用程序成為亟待解決的問題。為此,學(xué)者們進行了深入的研究,文獻[2]對Android后臺監(jiān)聽實現(xiàn)機制進行了較為深入的研究,便于對Android系統(tǒng)的機制進行了解。文獻[3]對Rootkit攻擊進行了深入研究,并給出了解決方法。TaintDroid本文提出一種基于程序分析的方法,對應(yīng)用程序進行惡意行為檢測,進而分析應(yīng)用程序的安全性。首先,對需要分析的應(yīng)用程序進行預(yù)處理,可以快速的識別出不存在惡意行為的應(yīng)用程序;然后,對通過預(yù)處理的應(yīng)用程序構(gòu)建函數(shù)摘要,即針對應(yīng)用程序中函數(shù)本身的特征,構(gòu)建與之相對應(yīng)的函數(shù)摘要;最后,在已構(gòu)建函數(shù)摘要的基礎(chǔ)上,使用污點傳播方法,分析出應(yīng)用程序中存在的惡意行為,并將檢測出的惡意行為輸出。本文對該方法進行了詳細介紹,實驗表明,該方法可以有效檢測出應(yīng)用程序當(dāng)中存在的惡意行為,具有較高的實用價值。1反匯編和惡意行為檢測模塊設(shè)計檢測方法總體框架如圖1所示,通過預(yù)處理、反匯編、函數(shù)摘要構(gòu)建以及惡意行為檢測等步驟,最終給出檢測結(jié)果。對Android應(yīng)用程序惡意行為檢測主要包含以下五個過程:1)預(yù)處理模塊通過分析APK文件中的AndroidManifest.xml文件中的權(quán)限2)反匯編模塊對classes.dex文件進行反匯編,收集分析時需要的程序信息,例如,指令結(jié)構(gòu),函數(shù)結(jié)構(gòu)以及函數(shù)中的基本塊結(jié)構(gòu),控制流圖以及函數(shù)調(diào)用圖等構(gòu)建函數(shù)摘要必需的結(jié)構(gòu)。3)函數(shù)摘要構(gòu)建模塊是本方法中非常關(guān)鍵模塊,函數(shù)摘要是對應(yīng)用程序中的函數(shù)體的一種抽象解釋4)惡意行為檢測模塊是在函數(shù)摘要基礎(chǔ)上,使用污點傳播方法,檢測設(shè)置的污點信息(例如,訪問通訊錄返回的數(shù)據(jù)即可認為是有污點的)能否傳播危險函數(shù)(例如,發(fā)送短信的函數(shù)、連接網(wǎng)絡(luò)的函數(shù)等)調(diào)用點。5)根據(jù)檢測結(jié)果生成惡意行為的詳細說明,詳細描述當(dāng)前惡意行為的觸發(fā)流程、關(guān)鍵參數(shù)含有的常量值及帶來的危害等信息。提供圖形化顯示,方便查看。2關(guān)鍵模塊的設(shè)計(1)androidmanifet.rss文件解析預(yù)處理是本方法的基礎(chǔ),確定應(yīng)用程序是否需要進行進一步分析。預(yù)處理的檢查時相當(dāng)嚴格的,所以還是有相當(dāng)?shù)膽?yīng)用程序需要進一步分析。主要步驟如下:1)解壓APK文件,從中獲取AndroidManifest.xml文件和classes.dex文件,其中AndroidManifest.xml文件中包含了該應(yīng)用程序中所使用到的權(quán)限,監(jiān)聽器以及服務(wù)等必要的組件。2)解析AndroidManifest.xml文件,從中獲取申請的權(quán)限列表、監(jiān)聽器列表以及服務(wù)列表。通過將上述列表與經(jīng)驗庫(通過分析大量的惡意應(yīng)用程序獲得)中的模式進行匹配,若匹配成功,則說明應(yīng)用程序中可能存在惡意行為,需要進一步分析;若匹配不成功,則說明應(yīng)用程序中不存在危險行為。例如,惡意應(yīng)用程序一般都需要訪問網(wǎng)絡(luò)的權(quán)限,要獲取這個權(quán)限只有兩種方法:一種是通過申請訪問網(wǎng)絡(luò)的權(quán)限(INTERNET),另一種是使用已具有網(wǎng)絡(luò)權(quán)限的服務(wù)。只需匹配上述兩種情況,只有具有網(wǎng)絡(luò)權(quán)限的應(yīng)用程序需要進一步分析。(2)指令3:函數(shù)型指令函數(shù)摘要是基于格程序分析技術(shù)的,是對函數(shù)的一種抽象解釋。抽象解釋只對被分析代碼抽取出感興趣的程序?qū)傩?并對這些屬性進行解釋分析。對代碼的抽象解釋通過對需檢測的程序?qū)傩詷?gòu)建程序?qū)傩约?再定義一種偏序關(guān)系,由此構(gòu)成該程序?qū)傩缘囊粋€完全格。格為每條指令指定一種抽象的解釋。在程序模擬執(zhí)行時,遍歷函數(shù)的每條指令,并將其傳遞給格進行解釋,隨著程序的模擬執(zhí)行,格將更新分析關(guān)注的程序?qū)傩孕畔?直至函數(shù)執(zhí)行結(jié)束,得到一個最終的程序?qū)傩孕畔?。函?shù)摘要是在Android字節(jié)碼指令上構(gòu)建的,對函數(shù)體中的指令進行模擬執(zhí)行的過程。根據(jù)Dalvik字節(jié)碼的語義,對每條指令進行模擬。例如指令new-instancev6,<t:Sms>,是新建一個Sms對象,將該對象放入v6中。在模擬執(zhí)行過程中,則會構(gòu)建一個與Sms相對應(yīng)的對象,保存Sms的信息。根據(jù)函數(shù)的運行邏輯,對函數(shù)體內(nèi)每條指令進行模擬執(zhí)行,在模擬執(zhí)行過程遇到INVOKE_XXX指令時,則對當(dāng)前所有與被調(diào)函數(shù)相關(guān)的實參信息保存到函數(shù)摘要中,本文中所構(gòu)建的函數(shù)摘要主要是在函數(shù)調(diào)用點所有變量的信息。(3)android數(shù)據(jù)處理惡意行為檢測使用污點傳播分析方法,圖2為污點傳播分析對應(yīng)的格結(jié)構(gòu),含有Top、Untainted、Tainted和Bottom這4種狀態(tài),任何2種狀態(tài)都存在偏序關(guān)系。污染格分析關(guān)注程序變量的污染狀態(tài),每個變量關(guān)聯(lián)一個污染狀態(tài),分析時將變量解釋為其污染狀態(tài),指令操作解釋為污染狀態(tài)間的操作,得到一個結(jié)果污染狀態(tài)并更新相關(guān)變量的污染狀態(tài)。通過污染格的抽象解釋方法,可確定代碼中每個位置的每個變量的污染狀態(tài)。本文對Android開發(fā)文檔惡意行為檢測模塊包括以下四個步驟:1)可疑行為識別。在函數(shù)摘要模擬函數(shù)調(diào)用,匹配函數(shù)調(diào)用路徑上存在的源函數(shù),標記相應(yīng)變量為污染,并將標記的污染信息通過函數(shù)間的調(diào)用進行傳播。在污染信息傳播過程中,若污染信息傳播到與危險函數(shù)模式庫中相同的函數(shù)時,則識別出一條可疑行為。2)危險行為匹配。對步驟1)識別出的可疑行為進行危險確認,通過詳細分析當(dāng)前函數(shù)調(diào)用點處的參數(shù)個數(shù)、類型以及常量值信息,并根據(jù)惡意行為模式庫中的詳細配置信息進行危險行為識別。3)危險等級確定。對步驟2)匹配成功的危險行為確定其危險等級。先根據(jù)當(dāng)前惡意行為對應(yīng)的函數(shù)名制定一個初步的危險等級,再根據(jù)關(guān)鍵參數(shù)的值信息對當(dāng)前危險等級進一步調(diào)整,以確定最終的危險等級。4)檢測結(jié)果保存。保存檢測出的惡意行為的詳細信息,給后面的結(jié)果顯示提供豐富的輸入。3惡意行為檢測根據(jù)上述方法設(shè)計實現(xiàn)了一個原型系統(tǒng),可以惡意扣費、隱私竊取、資費消耗、本地代碼、廣告鏈接等五種類型的惡意行為,惡意行為的分類和描述如表1所示。為了更好的描述不同惡意行為的危害程度,將不同類型的惡意行為分為高中低三個等級。為了驗證所述方法的有效性,對文獻[12]中惡意應(yīng)用程序樣本庫中1260個惡意應(yīng)用程序樣本進行檢測。危險等級檢測結(jié)果如圖3所示。由于數(shù)據(jù)庫中樣本的DEX文件存在相同的MD5值,最終檢測了865個應(yīng)用程序,存在不同等級的惡意行為。其中檢測到含有高危險行為的應(yīng)用程序393個(45.4%),不含高危險而含有中危險行為的應(yīng)用有400個(46.2%),不含高危險和中危險只含有低危險行為的應(yīng)用有46個(5.3%)。由于只關(guān)心以上五種類型的惡意行為,且沒有對惡意樣本進行實際執(zhí)行,分析過程中存在一定程度的檢測誤差,有27個應(yīng)用(3.1%)未檢測到任何惡意行為。樣本中惡意行為檢測的結(jié)果如圖4所示,可以發(fā)現(xiàn)惡意應(yīng)用程序中存在大量的廣告鏈接,這與Android手機收費模式相關(guān),一般應(yīng)用程序開發(fā)者都是通過廣告獲取利潤的,所以講廣告鏈接設(shè)為低危險行為。本地代碼出現(xiàn)的頻率僅次于廣告鏈接,Java程序通過逆向工具較容易提升到源碼,代碼的保護較難,開發(fā)者越來越傾向于本地庫的使用,故也將其設(shè)置為低危險。惡意程序主要通過惡意扣費、隱私竊取以及資費消耗獲取利潤,他們各占檢測樣本總數(shù)的4.97%、43.35%和37.35%。此外,使用原型系統(tǒng)對一些比較常用的應(yīng)用程序進行檢測,發(fā)現(xiàn)酷6播放器(v2.5.8)中存在惡意扣費的行為,向1065502180988和10690882兩個SP服務(wù)商發(fā)送短信。通過進一步的手工分析確認了這個惡意行為,而且該惡意行為也被用戶舉報過。4)應(yīng)用程序檢測本文提出了一種基于程序分析的Android應(yīng)用程序惡

溫馨提示

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

最新文檔

評論

0/150

提交評論