基于類別以及權(quán)限的android惡意程序檢測方法_第1頁
基于類別以及權(quán)限的android惡意程序檢測方法_第2頁
基于類別以及權(quán)限的android惡意程序檢測方法_第3頁
基于類別以及權(quán)限的android惡意程序檢測方法_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

基于類別以及權(quán)限的android惡意程序檢測方法

0android應(yīng)用程序安全的檢測機(jī)制android作為一個開放的手機(jī)操作系統(tǒng),為我們提供了快樂,但其安全性逐漸突出。用戶可以在GooglePlay上瀏覽、下載以及購買各式各樣的第三方應(yīng)用程序,但是GooglePlay的檢測機(jī)制并不完善,不能保證第三方應(yīng)用程序的安全性。通常,惡意軟件會訪問一些敏感的權(quán)限,一旦用戶授權(quán)成功,它們就會濫用這些權(quán)限在后臺進(jìn)行一些惡意行為,比如發(fā)送用戶的隱私信息,或者通過發(fā)送短信息等方式消耗用戶的資費,給用戶帶來各種危害。針對這些問題,本文提出了一種基于類別以及權(quán)限的Android惡意程序檢測方法,分析應(yīng)用程序所要申請的權(quán)限來判斷該程序是否是惡意的應(yīng)用程序,從而保護(hù)手機(jī)用戶隱私信息的安全。1總結(jié)1.1有的安全機(jī)制Android安全機(jī)制包括傳統(tǒng)的Linux安全機(jī)制,以及Google為Android設(shè)計的特有安全機(jī)制。Linux安全機(jī)制下,Linux內(nèi)核保證每個應(yīng)用程序在自己的進(jìn)程和數(shù)據(jù)空間內(nèi)運行,以達(dá)到隔離的目的。Android特有的安全機(jī)制主要包括:簽名機(jī)制,組件封裝以及基于權(quán)限的安全機(jī)制。簽名機(jī)制:在Android中所有的應(yīng)用程序必須都是經(jīng)過數(shù)字簽名認(rèn)證的。只有經(jīng)過數(shù)字簽名的應(yīng)用程序才能進(jìn)行安裝,并且只有用同一個證書簽名的應(yīng)用程序才能安裝升級的應(yīng)用程序;組件封裝:Android主要通過組件間的封裝來保護(hù)應(yīng)用程序的運行權(quán)限機(jī)制:權(quán)限是用來描述是否擁有做某事的權(quán)利。默認(rèn)設(shè)置下,Android應(yīng)用程序都沒有干擾其它應(yīng)用程序、系統(tǒng)或用戶的權(quán)限,除非應(yīng)用程序依據(jù)要實現(xiàn)的功能,提出申請,要求合理的權(quán)限。這樣用戶就可以通過分析應(yīng)用程序申請的權(quán)限來簡單判斷該程序是否安全。權(quán)限機(jī)制會在安裝包安裝和升級的時候?qū)?yīng)用包中的權(quán)限信息在基于簽名的基礎(chǔ)上進(jìn)行抽取、初始化、檢測并授權(quán),建立相應(yīng)的數(shù)據(jù)結(jié)構(gòu)1.2)獲取權(quán)限Android權(quán)限大致可以分為3類:(1)Android手機(jī)所有者權(quán)限:用戶具有的安裝使用應(yīng)用程序的權(quán)限。(2)Androidroot權(quán)限:Android系統(tǒng)的最高權(quán)限,可以對系統(tǒng)文件進(jìn)行任意操作。(3)Android應(yīng)用程序權(quán)限:應(yīng)用程序?qū)ο到y(tǒng)資源的訪問權(quán)限。Android應(yīng)用程序獲取權(quán)限分兩個步驟,首先在AndroidManifest.xml文件中設(shè)置相應(yīng)的標(biāo)簽和屬性來申請自己想要的權(quán)限,然后在應(yīng)用程序安裝時,用戶授予應(yīng)用程序申請的權(quán)限。權(quán)限的授予只在應(yīng)用程序安裝時發(fā)生,而且是一次性授予,用戶一旦授予成功,在應(yīng)用程序的運行期間就不能更改,所有未經(jīng)申請的權(quán)限系統(tǒng)都會拒絕。系統(tǒng)內(nèi)置100多種可供應(yīng)用程序申請的權(quán)限。AndroidManifest.xml文件中與權(quán)限相關(guān)的標(biāo)簽有<uses-permission>、<permission>、<permission-group>等。其中,<permission>標(biāo)簽是用于聲明自定義權(quán)限的,<uses-permission>標(biāo)簽則是用來聲明應(yīng)用程序申請的系統(tǒng)權(quán)限,這部分權(quán)限是本文中主要用到的權(quán)限。2)提取約束惡意行為近年來,Android惡意程序檢測方法層出不窮,2010年,Enck利用跟蹤的技術(shù),將敏感數(shù)據(jù)標(biāo)記出來,通過跟蹤數(shù)據(jù)的流向,根據(jù)預(yù)先定義好的規(guī)則,來判斷該程序是否是惡意程序,是否要給該程序使用這些數(shù)據(jù),但是用戶必須要修改系統(tǒng)才能應(yīng)用這個機(jī)制以上方法雖然有的從不同方面對應(yīng)用程序的權(quán)限進(jìn)行了分析,但是并沒有以類別和權(quán)限為依據(jù)進(jìn)行研究。某一個特定類別的應(yīng)用程序所實現(xiàn)的功能相似,因此要訪問的權(quán)限類似,文章就利用這一點先將應(yīng)用程序進(jìn)行分類,再對該程序要訪問的權(quán)限進(jìn)行分析研究,根據(jù)該程序所屬的類別給用戶提供建議。3安卓惡意軟件檢測3.1)權(quán)限檢查權(quán)限安全模型是Android設(shè)備最重要的安全防護(hù)措施之一,它可以限制訪問特殊資源,也就是說,可以限制某些惡意行為。如果一個應(yīng)用程序想要完成一些特定的功能,就必須訪問相應(yīng)的權(quán)限,所以一個應(yīng)用程序的權(quán)限列表反映了程序的功能以及行為。GooglePlay把應(yīng)用程序分為26個類別,同一個類別的應(yīng)用程序它所實現(xiàn)的功能相近,因此認(rèn)為所需要的權(quán)限也相似,依照這個結(jié)論,提出了一種基于類別以及權(quán)限的Android惡意應(yīng)用程序檢測方法,方法的流程如圖1所示。3.2類別權(quán)限使用依據(jù)GooglePlay,將所有的應(yīng)用程序分為26個類別,每個類別搜集足夠多的應(yīng)用程序,利用Android資源打包工具(androidassetpackagingtool,aapt)提取搜集程序AndroidManifest.xml文件中的權(quán)限列表。aapt.exe在SDK的platform-tools目錄下,也可以用來查看、添加、刪除壓縮包里的內(nèi)容。使用aaptdumppermissionsABC.apk,作用是提取ABC.apk文件中的權(quán)限列表。再將所有應(yīng)用程序的權(quán)限使用情況統(tǒng)計到一個excel文件中,其中每一行代表一個應(yīng)用程序權(quán)限使用情況,格式如下:(p選取GooglePlay中所有的類別作為依據(jù)來建立資料庫,總共搜集了1027個不同的Android應(yīng)用程序。為了給能給它們正確的分類,并沒有改動應(yīng)用程序原來的名稱,通過獲取應(yīng)用程序的權(quán)限列表以及統(tǒng)計用到的權(quán)限總數(shù),最終獲得了應(yīng)用程序的權(quán)限集合。要想每個類別程序的權(quán)限呈現(xiàn)一定的規(guī)律性,就必須選擇足夠數(shù)量的程序,一旦要搜集的應(yīng)用程序的個數(shù)定了,就從對應(yīng)類別中隨機(jī)選擇應(yīng)用程序。每個類別所搜集的程序個數(shù)見表1。這里統(tǒng)計了126個不同的權(quán)限。把每個程序看作一個向量,每個向量有126個選項來代表有無對應(yīng)項的權(quán)限,然后生成一個.csv格式的文件。收集到的天氣類以及保健與健身類的應(yīng)用程序的權(quán)限分布情況如圖2和圖3所示。圖中橫軸代表對應(yīng)的權(quán)限,順序是權(quán)限按照字母的順序排列,比如圖2代表android.permission.ACCESS_COARSE_LO-CATION,53則代表android.permission.INTERNET。提取不同類別各個應(yīng)用程序的使用權(quán)限,并統(tǒng)計權(quán)限在該類別的使用頻率,根據(jù)使用頻率給不同權(quán)限賦予不同的權(quán)值,這里認(rèn)為使用頻率越大,在該類別的應(yīng)用程序中出現(xiàn)該權(quán)限越合理,設(shè)置權(quán)值越小。定義R(p權(quán)限的使用率越高,則該類別其它程序使用該權(quán)限就越安全,惡意影響就越小。由式(1)也可以看出權(quán)限的使用頻率越高,則其權(quán)值越小,反之越大。由式(2)根據(jù)這些權(quán)限在該類別的權(quán)值計算該類別的惡意閾值,以便進(jìn)行比較。由于不同類別的權(quán)限使用率不同,因此對應(yīng)的權(quán)限權(quán)值也不同,計算出的惡意閾值也不相同。4實驗過程和結(jié)果分析4.1序列最小優(yōu)化算法用戶安裝應(yīng)用程序時,必須選擇該應(yīng)用程序所屬的類別,這里利用數(shù)據(jù)挖掘的方法,根據(jù)搜集到不同類別的權(quán)限使用情況,建立不同類別間的判斷準(zhǔn)則,從而幫助用戶判斷應(yīng)用程序所屬類別。使用支持向量機(jī)(supportvectormachine,SVM)的一種序列最小優(yōu)化算法進(jìn)行判定。序列最小優(yōu)化算法是一種用于解決支持向量機(jī)訓(xùn)練過程中所產(chǎn)生優(yōu)化問題的算法。簡單描述該算法要解決的問題就是用分類超平面將空間中的兩類樣本正確分離,并取得最大邊緣。實驗中給多于兩個類進(jìn)行分類時,依然是每兩個類都會兩兩比較,并正確分離。假設(shè)有數(shù)據(jù)集為:(pBorja發(fā)表了一篇基于權(quán)限的惡意軟件檢測的文章中,論文沒有將應(yīng)用程序進(jìn)行分類,只是根據(jù)應(yīng)用程序的權(quán)限使用情況判定程序是否是惡意程序應(yīng)用程序分類完成后,利用aapt命令提取應(yīng)用程序的訪問權(quán)限,生成對應(yīng)向量。利用式(3)按照該類別對應(yīng)權(quán)限的權(quán)值,計算該應(yīng)用程序的惡意值。再將惡意值與該類別的惡意閾值做比較,若小于或等于惡意閾值,認(rèn)為該應(yīng)用程序是安全的,建議用戶可以安裝。否則,提醒用戶該應(yīng)用程序可能會有異常,通知用戶,讓用戶來選擇是否進(jìn)行安裝。4.2惡意應(yīng)用檢測實驗以類別和權(quán)限使用情況為依據(jù)對應(yīng)用程序進(jìn)行分析,所以驗證包括兩方面的內(nèi)容。一是惡意應(yīng)用程序的檢測,二是正常的應(yīng)用程序在不同類別中的驗證結(jié)果。實驗搜集了37個不同種類的Android惡意應(yīng)用程序做測試,發(fā)現(xiàn)了34個可以檢測被認(rèn)為是惡意應(yīng)用程序。表4所示為一個未被感染病毒的正常的onchat.apk應(yīng)用程序,按照GooglePlay的分類,應(yīng)該將其歸為通訊類,但是如果將其看作是攝影類或是工具類或是游戲類的進(jìn)行驗證,計算其惡意值,就會發(fā)現(xiàn)該惡意值要大于該類的惡意閾值,從而被判定為惡意應(yīng)用程序。所以該方法中應(yīng)用程序所屬的類別是判定該應(yīng)用程序是否有惡意的一個重要依據(jù)。5基于類別和權(quán)限的惡意檢測方法本

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論