国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2014-09-10 01:17:48張葉慧彭新光蔡志標
計算機工程與設(shè)計 2014年5期
關(guān)鍵詞:權(quán)值應(yīng)用程序類別

張葉慧,彭新光,蔡志標

(太原理工大學 計算機科學與技術(shù)學院,山西 太原030024)

0 引 言

Android作為一款開放的手機操作系統(tǒng),帶給我們便利的同時其安全問題也漸漸凸顯。用戶可以在Google Play上瀏覽、下載以及購買各式各樣的第三方應(yīng)用程序,但是Google Play的檢測機制并不完善,不能保證第三方應(yīng)用程序的安全性。

通常,惡意軟件會訪問一些敏感的權(quán)限,一旦用戶授權(quán)成功,它們就會濫用這些權(quán)限在后臺進行一些惡意行為,比如發(fā)送用戶的隱私信息,或者通過發(fā)送短信息等方式消耗用戶的資費,給用戶帶來各種危害。針對這些問題,本文提出了一種基于類別以及權(quán)限的Android惡意程序檢測方法,分析應(yīng)用程序所要申請的權(quán)限來判斷該程序是否是惡意的應(yīng)用程序,從而保護手機用戶隱私信息的安全。

1 概 述

1.1 Android安全機制

Android安全機制包括傳統(tǒng)的Linux安全機制,以及Google為Android設(shè)計的特有安全機制。Linux安全機制下,Linux內(nèi)核保證每個應(yīng)用程序在自己的進程和數(shù)據(jù)空間內(nèi)運行,以達到隔離的目的。Android特有的安全機制主要包括:簽名機制,組件封裝以及基于權(quán)限的安全機制。

簽名機制:在Android中所有的應(yīng)用程序必須都是經(jīng)過數(shù)字簽名認證的。只有經(jīng)過數(shù)字簽名的應(yīng)用程序才能進行安裝,并且只有用同一個證書簽名的應(yīng)用程序才能安裝升級的應(yīng)用程序;

組件封裝:Android主要通過組件間的封裝來保護應(yīng)用程序的運行[1]。

權(quán)限機制:權(quán)限是用來描述是否擁有做某事的權(quán)利。默認設(shè)置下,Android應(yīng)用程序都沒有干擾其它應(yīng)用程序、系統(tǒng)或用戶的權(quán)限,除非應(yīng)用程序依據(jù)要實現(xiàn)的功能,提出申請,要求合理的權(quán)限。這樣用戶就可以通過分析應(yīng)用程序申請的權(quán)限來簡單判斷該程序是否安全。權(quán)限機制會在安裝包安裝和升級的時候?qū)?yīng)用包中的權(quán)限信息在基于簽名的基礎(chǔ)上進行抽取、初始化、檢測并授權(quán),建立相應(yīng)的數(shù)據(jù)結(jié)構(gòu)[2]。

1.2 Android權(quán)限

Android權(quán)限大致可以分為3類:①Android手機所有者權(quán)限:用戶具有的安裝使用應(yīng)用程序的權(quán)限。②Android root權(quán)限:Android系統(tǒng)的最高權(quán)限,可以對系統(tǒng)文件進行任意操作。③Android應(yīng)用程序權(quán)限:應(yīng)用程序?qū)ο到y(tǒng)資源的訪問權(quán)限。

Android應(yīng)用程序獲取權(quán)限分兩個步驟,首先在AndroidManifest.xml文件中設(shè)置相應(yīng)的標簽和屬性來申請自己想要的權(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)的標簽有<uses-permission>、<permission>、<permission-group>等。其中,<permission>標簽是用于聲明自定義權(quán)限的,<uses-permission>標簽則是用來聲明應(yīng)用程序申請的系統(tǒng)權(quán)限,這部分權(quán)限是本文中主要用到的權(quán)限。

2 相關(guān)研究

近年來,Android惡意程序檢測方法層出不窮,2010年,Enck利用跟蹤的技術(shù),將敏感數(shù)據(jù)標記出來,通過跟蹤數(shù)據(jù)的流向,根據(jù)預先定義好的規(guī)則,來判斷該程序是否是惡意程序,是否要給該程序使用這些數(shù)據(jù),但是用戶必須要修改系統(tǒng)才能應(yīng)用這個機制[3]。2011年Shahzad通過分析應(yīng)用程序在執(zhí)行期間所占用的幾個主要的系統(tǒng)資源來判斷該軟件是否為惡意軟件,但是主要依據(jù)還是Linux的惡意程序資料庫[4]。2011年Igor采用了一種分類學習的方法來檢測惡意軟件。文章使用一個已標記的惡意的或是正常的應(yīng)用程序和未標記的程序集合來建立不同的機器學習分類器[5]。也有不少文章通過分析程序使用權(quán)限來判定程序的安全性。Barrera發(fā)表了一篇研究權(quán)限分布的文章,論文中展示了各種權(quán)限分布的不規(guī)則性,指出大多數(shù)的權(quán)限只會出現(xiàn)在特定的幾個類別中[6]。Nauman提出了通過修改系統(tǒng),安裝應(yīng)用程序時,用戶可以動態(tài)選擇是否要開放權(quán)限以降低惡意程序帶來的危害[7]。Batyuk設(shè)計了一個網(wǎng)站,用戶可以上傳應(yīng)用程序,通過反編譯獲得應(yīng)用程序所使用的API調(diào)用以及權(quán)限列表,并將其反饋給用戶,讓用戶判斷是否安裝該應(yīng)用程序[8]。

以上方法雖然有的從不同方面對應(yīng)用程序的權(quán)限進行了分析,但是并沒有以類別和權(quán)限為依據(jù)進行研究。某一個特定類別的應(yīng)用程序所實現(xiàn)的功能相似,因此要訪問的權(quán)限類似,文章就利用這一點先將應(yīng)用程序進行分類,再對該程序要訪問的權(quán)限進行分析研究,根據(jù)該程序所屬的類別給用戶提供建議。

3 Android惡意程序檢測的實現(xiàn)

3.1 Android惡意程序檢測流程

權(quán)限安全模型是Android設(shè)備最重要的安全防護措施之一,它可以限制訪問特殊資源,也就是說,可以限制某些惡意行為。如果一個應(yīng)用程序想要完成一些特定的功能,就必須訪問相應(yīng)的權(quán)限,所以一個應(yīng)用程序的權(quán)限列表反映了程序的功能以及行為。Google Play把應(yīng)用程序分為26個類別,同一個類別的應(yīng)用程序它所實現(xiàn)的功能相近,因此認為所需要的權(quán)限也相似,依照這個結(jié)論,提出了一種基于類別以及權(quán)限的Android惡意應(yīng)用程序檢測方法,方法的流程如圖1所示。

圖1 檢測流程

3.2 類別惡意閾值的計算

依據(jù)Google Play,將所有的應(yīng)用程序分為26個類別,每個類別搜集足夠多的應(yīng)用程序,利用Android資源打包工具 (android asset packaging tool,aapt)提取搜 集程序AndroidManifest.xml文件中的權(quán)限列表。aapt.exe在SDK的platform-tools目錄下,也可以用來查看、添加、刪除壓縮包里的內(nèi)容。使用aapt dump permissions ABC.apk,作用是提取ABC.apk文件中的權(quán)限列表。再將所有應(yīng)用程序的權(quán)限使用情況統(tǒng)計到一個excel文件中,其中每一行代表一個應(yīng)用程序權(quán)限使用情況,格式如下:(p1,p2,p3,…,p126,S127,name),p1-p126是統(tǒng)計的 Android126個權(quán)限,該應(yīng)用程序使用的記為1,未使用的記為0,S127記錄該應(yīng)用程序所使用的權(quán)限總數(shù),name是應(yīng)用程序的名稱。所有這些記錄就構(gòu)成了該類別權(quán)限使用集。

選取Google Play中所有的類別作為依據(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)類別中隨機選擇應(yīng)用程序。每個類別所搜集的程序個數(shù)見表1。

表1 不同種類搜集應(yīng)用程序數(shù)

這里統(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_LOCATION,53則代表android.permission.INTERNET。

提取不同類別各個應(yīng)用程序的使用權(quán)限,并統(tǒng)計權(quán)限在該類別的使用頻率,根據(jù)使用頻率給不同權(quán)限賦予不同的權(quán)值,這里認為使用頻率越大,在該類別的應(yīng)用程序中出現(xiàn)該權(quán)限越合理,設(shè)置權(quán)值越小。

圖2 天氣類權(quán)限分布

圖3 保健與健身類權(quán)限分布

定義R(pi,c):權(quán)限pi在該類別c出現(xiàn)的頻率;W(pi,c):權(quán)限pi在類別c中的權(quán)值;T(c):類別惡意閾值;T(a):應(yīng)用程序惡意值。其中

權(quán)限的使用率越高,則該類別其它程序使用該權(quán)限就越安全,惡意影響就越小。由式 (1)也可以看出權(quán)限的使用頻率越高,則其權(quán)值越小,反之越大。由式 (2)根據(jù)這些權(quán)限在該類別的權(quán)值計算該類別的惡意閾值,以便進行比較。由于不同類別的權(quán)限使用率不同,因此對應(yīng)的權(quán)限權(quán)值也不同,計算出的惡意閾值也不相同。

4 實驗過程及結(jié)果分析

4.1 實驗過程

用戶安裝應(yīng)用程序時,必須選擇該應(yīng)用程序所屬的類別,這里利用數(shù)據(jù)挖掘的方法,根據(jù)搜集到不同類別的權(quán)限使用情況,建立不同類別間的判斷準則,從而幫助用戶判斷應(yīng)用程序所屬類別。使用支持向量機 (support vector machine,SVM)的一種序列最小優(yōu)化算法進行判定。序列最小優(yōu)化算法是一種用于解決支持向量機訓練過程中所產(chǎn)生優(yōu)化問題的算法。簡單描述該算法要解決的問題就是用分類超平面將空間中的兩類樣本正確分離,并取得最大邊緣。實驗中給多于兩個類進行分類時,依然是每兩個類都會兩兩比較,并正確分離。假設(shè)有數(shù)據(jù)集為: (p1,C1),…,(pn,Cn),要將其分為兩類,其中pi是代表應(yīng)用程序的權(quán)限的情況 (例如p1= (1,0,1,0)代表app1使用了第1個以及第3個權(quán)限),Ci∈{-1,1}是類別標簽,只允許取兩個值。1代表一類,-1代表另一類。而且,兩類之間的距離越大越好。距離越大,代表分類越明確,證明分類越成功。分類完成后天氣、通訊、游戲以及健康與保健四類的分類結(jié)果的精確率,召回率,以及ROC(receiver operating characteristic)曲線下面積值 AUC (area under the ROC curve)見表2。

表2 分類結(jié)果

Borja發(fā)表了一篇基于權(quán)限的惡意軟件檢測的文章中,論文沒有將應(yīng)用程序進行分類,只是根據(jù)應(yīng)用程序的權(quán)限使用情況判定程序是否是惡意程序[9]。論文中使用SMO算法分類器分類后的結(jié)果見表3。

表3 SMO算法惡意程序檢測結(jié)果

應(yīng)用程序分類完成后,利用aapt命令提取應(yīng)用程序的訪問權(quán)限,生成對應(yīng)向量。利用式 (3)按照該類別對應(yīng)權(quán)限的權(quán)值,計算該應(yīng)用程序的惡意值。再將惡意值與該類別的惡意閾值做比較,若小于或等于惡意閾值,認為該應(yīng)用程序是安全的,建議用戶可以安裝。否則,提醒用戶該應(yīng)用程序可能會有異常,通知用戶,讓用戶來選擇是否進行安裝。

4.2 實驗結(jié)果與分析

實驗以類別和權(quán)限使用情況為依據(jù)對應(yīng)用程序進行分析,所以驗證包括兩方面的內(nèi)容。一是惡意應(yīng)用程序的檢測,二是正常的應(yīng)用程序在不同類別中的驗證結(jié)果。實驗搜集了37個不同種類的Android惡意應(yīng)用程序做測試,發(fā)現(xiàn)了34個可以檢測被認為是惡意應(yīng)用程序。表4所示為一個未被感染病毒的正常的onchat.apk應(yīng)用程序,按照Google Play的分類,應(yīng)該將其歸為通訊類,但是如果將其看作是攝影類或是工具類或是游戲類的進行驗證,計算其惡意值,就會發(fā)現(xiàn)該惡意值要大于該類的惡意閾值,從而被判定為惡意應(yīng)用程序。所以該方法中應(yīng)用程序所屬的類別是判定該應(yīng)用程序是否有惡意的一個重要依據(jù)。

表4 onchat.apk檢測結(jié)果

5 結(jié)束語

本文通過對Android安全機制的研究,提出了一種新的基于類別以及權(quán)限使用情況的Android惡意程序檢測方法。不同類別建立不同的數(shù)據(jù)集,在此基礎(chǔ)上進行權(quán)限分析,大大提高了分析的準確度。本文在解決實用問題的同時也是對以類別和權(quán)限為依據(jù)進行惡意應(yīng)用程序檢測領(lǐng)域進行的嘗試。下一步將繼續(xù)搜集應(yīng)用程序以擴大數(shù)據(jù)集,在數(shù)據(jù)集擴大的基礎(chǔ)上再提出更加優(yōu)化的檢測方法,以提高檢測的準確率。

[1]Enck W,OngTang M,McDaniel P.Understanding Android security [J].IEEE Security and Privacy,2009,7 (1):50-57.

[2]Felt A P,Greenwood K,Wagner D.The effectiveness of application permission [C]//Proceedings of the 2nd USENIX Conference on Web Application Development.USA:USENIX Association,2011:7-7.

[3]Enck W,Gilbert P,Chun B,et al.An information-flow tracking system for realtime privacy monitoring on smartphones[C]//Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation.USA:USENIX Association,2010:255-270.

[4]Shahzad F,Bhatti S,Shahzad M,et al.Inexecution malware detection using task structures of Linux processes [C]//USA:Proceedings of the IEEE International Conference on Communication,2011:1-6.

[5]Santos I,Laorden C,Bringas P G.Collective Classification for unknown malware detection [C]//USA:SECRYPT,2011:251-256.

[6]Barrera D,Kayacik H G,Van Oorschot P C,et al.A methodology for empirical analysis of permission-based security models and its application to android [C]//Proceedings of the 17th ACM Conference on Computer and Communications Security.USA:ACM,2010:73-84.

[7]Nauman M,Khan S,Zhang X.Extending android permission model and enforcement with user defined runtime constraints [C]//Proceedings of the 5th ACM Symposium on Information,Computer and Communications Security.USA:ACM,2010:328-332.

[8]Batyuk L,Herpich M,Camtepe S A,et al.Using static analysis for automatic assessment and mitigation of unwanted and malicious activities within Android applications [C]//Malicious and Unwanted Software (MALWARE),USA:IEEE,2011:66-72.

[9]Sanz B,Santos I,Laorden C,et al.Permission usage to detect Malware in android [C]//International Joint Conference CISIS’12-ICEUTE’12-SOCO’12Special Seesions,2013:289-298.

猜你喜歡
權(quán)值應(yīng)用程序類別
一種融合時間權(quán)值和用戶行為序列的電影推薦模型
CONTENTS
CONTENTS
刪除Win10中自帶的應(yīng)用程序
電腦報(2019年12期)2019-09-10 05:08:20
基于權(quán)值動量的RBM加速學習算法研究
自動化學報(2017年7期)2017-04-18 13:41:02
服務(wù)類別
新校長(2016年8期)2016-01-10 06:43:59
論類別股東會
商事法論集(2014年1期)2014-06-27 01:20:42
中醫(yī)類別全科醫(yī)師培養(yǎng)模式的探討
聚合酶鏈式反應(yīng)快速鑒別5種常見肉類別
食品科學(2013年8期)2013-03-11 18:21:31
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
凤阳县| 台湾省| 波密县| 阿荣旗| 乾安县| 蒲江县| 连州市| 绥滨县| 白朗县| 舟山市| 尼玛县| 杭州市| 唐河县| 双桥区| 和平区| 浏阳市| 林芝县| 亚东县| 巩义市| 舞钢市| 沙洋县| 宁津县| 上犹县| 黔西县| 左云县| 阳原县| 当雄县| 明溪县| 民和| 海原县| 柘城县| 游戏| 浦县| 辽阳市| 吴忠市| 嘉荫县| 涟源市| 洛阳市| 石首市| 洪湖市| 海阳市|