• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于權限與敏感API的惡意程序檢測方法

    2017-12-13 09:27:57盛超魏盛娜
    電腦知識與技術 2017年33期

    盛超 魏盛娜

    摘要:由于Android系統(tǒng)開源的特性,基于Android系統(tǒng)的手機很容易成為攻擊對象,給用戶造成不必要的損失。為了解決這一問題,該文提出一種基于權限特征和敏感API的樸素貝葉斯分類檢測方法。該方法克服了樸素貝葉斯分類算法中特征屬性之間是假設相互獨立的前提條件。通過提取Android應用程序配置文件的權限標簽以及源代碼中的敏感API組成混合特征集,然后應用信息增益和卡方檢驗組合算法,減少冗余數(shù)據(jù),得到適合樸素貝葉斯分類算法的樣本集。最后使用樸素貝葉斯分類算法進行分類。實驗結果證明,該方法能較好地提高惡意程序檢測率,降低誤報率。

    關鍵詞:權限特征;敏感API;惡意程序;樸素貝葉斯分類算法

    中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)33-0067-03

    Abstract: As the Android system open source features, the phone Based on Android system is easy to become an object of attack and causes unnecessary losses to the user. In order to solve this problem, a Naive Bayesian classification detection method Based on permission feature and sensitive API is presented by this paper. This method overcomes the precondition that the characteristic attributes are assumed to be independent of each other in the Naive Bayesian classification algorithm. By extracting the permission tag of the Android application configuration file and the sensitive API in the source code, the mixed feature set is composed, and then the information gain and the chi-square test combination algorithm are used to reduce the redundant data and get the sample set suitable for the naive Bayesian classification algorithm. Finally, the Naive Bayesian classification algorithm is used to classify. The experimental results show that this method can improve the detection rate of malware and reduce the false positive rate.

    Key words: permission feature; sensitive API; malware; Naive Bayesian classification algorithm

    1 背景

    Android是一款擁有龐大市場份額的智能移動操作系統(tǒng),其安全性受到了研究者的廣泛關注[1]。Android系統(tǒng)開源的特點,使得Android手機很容易成為攻擊對象,給手機用戶造成不必要的損失。目前,針對Android系統(tǒng)惡意應用程序檢測的研究有很多。文獻[2]中提出了基于權限分析的Android應用程序檢測系統(tǒng),使沒有專業(yè)知識的普通用戶都能夠了解申請權限的作用。但從Android系統(tǒng)安全架構層上考慮,權限機制和涉及敏感數(shù)據(jù)和高危行為的應用接口同樣重要。文獻[3]提出一種靜態(tài)檢測方法,提取權限特征作為特征屬性集,在采用樸素貝葉斯分類模型之前,使用卡方檢驗算法對數(shù)據(jù)樣本集進行預處理。但其特征集較為單一,也沒有考慮到特征屬性間在現(xiàn)實中可能存在的較大關聯(lián)性。文獻[4]提出了一種基于敏感權限及API的靜態(tài)綜合檢測法,但是該方法只對已知惡意應用有較好的檢測效果。

    針對以上情景,本文提出的一種基于樸素貝葉斯分類算法的靜態(tài)檢測方法。通過提取由Android應用中配置文件的權限標簽以及源代碼里的敏感API組成混合特征集[5]。然后應用信息增益和卡方檢驗的組合算法,去除冗余數(shù)據(jù),得到適合算法的樣本集。最后使用此靜態(tài)檢測模型進行檢測。實驗結果證明,該方法較好地提高了惡意程序檢測率并降低誤報率。

    2 基于NBC模型的惡意程序檢測方法

    2.1 特征集提取

    1) 權限特征提取

    Android系統(tǒng)提供的權限機制對于每個訪問系統(tǒng)資源的應用程序都會進行相應的權限檢測,程序是否能訪問,一定程度上保證了用戶的信息安全。以防用戶信息被越權訪問,造成信息泄露[6]??紤]到利用單個權限標簽難以達到威脅目的,而一個惡意程序的惡意行為卻需要多個權限的配合[7]。通過比較良性程序與惡意程序配置文件中權限標簽發(fā)現(xiàn),惡意程序的權限標簽比良性程序的多很多,其申請的權限大多是獲取用戶信息的權限,或是可能威脅到用戶信息安全的權限行為[8]。因此,對權限特征的提取是有必要的[9]。

    本文通過對應用程序分析,獲取程序配置文件AndroidManifest.xml,提取出程序申請的權限標簽。對每個應用程序的權限申請標簽用一個153維的向量表示(Google為Android系統(tǒng)設立了153個權限),每個維度對應一個權限。利用工具逆向分析程序的配置文件,若該文件含有此權限標簽則用1表示,否則用0表示。

    2) 敏感API特征提取

    Android應用程序通過函數(shù)接口調用可以訪問和獲取手機中的一些敏感數(shù)據(jù),或是做出一些敏感行為,本文稱這些敏感數(shù)據(jù)及行為的API為敏感API。通過比較良性程序與惡意程序在敏感API的調用次數(shù),可以發(fā)現(xiàn)惡意程序調用次數(shù)較之更多,因此可以以此作為識別應用程序性質的一個依據(jù)。故設定一些接口為敏感API。

    這里定義了15個敏感API,用一個15維向量表示,當應用源程序使用了該敏感API時,把相應的特征屬性位置用1表示,否則用0表示。利用KMP字符串匹配算法將15個敏感API字符串與程序源代碼進行匹配,判斷應用程序是否使用了敏感API,并記錄,高效提取敏感API特征向量。

    2.2 數(shù)據(jù)預處理

    1) 信息增益

    利用信息增益算法(Information Gain)[10],提取出與類別屬性相關度較大的特征屬性。當特征集中某一個特征屬性對應分類的信息增益值越大,那么該屬性對分類的影響越大。反之,信息增益越小,對正確分類影響越小,但它的存在可能會降低分類器的性能,因此需要去除這些冗余數(shù)據(jù)[11]。計算特征屬性T與分類的信息增益公式,其中[Si]是數(shù)據(jù)樣本中每個相應類別,n是樣本中的類別個數(shù),那么有:

    [Gain(T)=I(S1,S2,...,Sn)-E(T)] (1)

    計算樣本類別的信息熵,[P(Ci)]是該類別在樣本中占有的比重:

    [I(S1,S2,...,Sn)=-i=1nP(Ci)log2P(Ci)] (2)

    計算特征屬性T的熵:

    [E(T)=j=1kSj1+Sj2+...+SjnSI(Sj1+Sj2+...+Sjn)] (3)

    2) 卡方檢驗

    卡方檢驗(Chi-square test)是一種用途較廣的假設檢驗方法。通過假設兩個變量相關,計算兩者之間的卡方值,查找卡方界值表得出其對應概率。如果概率較大,那么說明實際值與理論值差距很小,兩個變量之間的相關性較大。否則,認為兩者之間相互獨立。本文利用四格卡方檢驗公式檢測出兩兩特征屬性間是否相互獨立[12],去除掉特征屬性之間關聯(lián)性較大的兩個特征屬性中的一個,優(yōu)化特征數(shù)據(jù)源。那么有:

    [χ2=(ad-bc)2·N(a+b)(c+d)(a+c)(b+d)] (4)

    其中a,b,c,d代表了兩個構成所形成的四種比較情況,N表示總的頻數(shù),即a,b,c,d頻數(shù)之和。通過把經(jīng)過信息增益處理過的特征樣本集作為輸入數(shù)據(jù),計算兩兩特征屬性間的卡方值,分析兩個特征屬性相關與否。在根據(jù)卡方值查找界值表后得出兩特征屬性之間相關概率,當概率比0.95小時,那么這兩個特征屬性之間被認為是不相關的,否則這兩個特征屬性是相關的,則剔除其中的一個特征屬性。

    2.3 基于樸素貝葉斯算法的惡意程序檢測方法

    樸素貝葉斯算法是貝葉斯分類模型中最簡單的[13],其主要思想基礎是,對于給出的待分類項,求解在此項出現(xiàn)的條件下各個類別出現(xiàn)的概率哪個最大,就認為此待分類項屬于哪個類別。有類別集合[C={C1,C2,...,Cm}],一個[Ci]一個類別。通過對不確定分類的訓練樣本[X={a1,a2,...,an}](待分類項,每個a為[X]的一個特征屬性)計算各個條件概率。已知在[X]條件下,每個類的最大概率值,作為最后被判別類別,依據(jù)貝葉斯定理[14-15],可以得出:

    [P(Ci|X)=P(X|Ci)P(Ci)P(X)] (5)

    由于[P(X)]是訓練樣本[X]的概率,其是先驗概率,在訓練樣本[X]已知的情況下,對每個分類[Ci]的概率比較沒有多大關系,可以考慮去除掉,那么有:

    [P(Ci|X)≈P(X|Ci)P(Ci)] (6)

    因為訓練樣本中各個特征屬性是條件獨立的,故有:

    [P(X|Ci)P(Ci)≈P(Ci)Πj=1nP(aj|Ci)] (7)

    3 實驗分析

    3.1 數(shù)據(jù)收集

    本文共收集了600個樣本數(shù)據(jù),主要包括惡意程序和良性程序兩類。其中500個良性程序來自各類Android應用程序市場,100個惡意程序采集自VirusShare.com[16]。

    3.2 評估策略

    為了測量檢測方法的有效性,使用以下衡量策略:

    1) 檢測率TPR即是被正確分類的惡意程序與惡意程序總數(shù)的比重。其中TP是惡意程序中被正確檢測為惡意程序的數(shù)量,F(xiàn)N是惡意程序中被錯誤檢測為良性程序的數(shù)量。

    [TPR=TPTP+FN] (8)

    2) 誤檢率FPR即是良性程序被錯誤的檢測為惡意程序的數(shù)量與樣本中良性程序總數(shù)的比重。其中,F(xiàn)P是良性程序中被錯誤檢測為惡意程序的數(shù)量,TN是良性程序中被正確檢測為良性程序的數(shù)量。

    [FPR=FPFP+TN] (9)

    3) 分類準確率Acc即是所有被正確分類樣本數(shù)與全部樣本總數(shù)的比值。

    [Acc=TP+TNTP+TN+FP+FN] (10)

    3.3 有效性驗證

    對經(jīng)過處理的數(shù)據(jù)樣本,取出一部分用于分類檢測模型建立的訓練,剩余樣本數(shù)據(jù)用于檢測模型的有效性[17]。通過比較不同特征、不同預處理方式地數(shù)據(jù)源,分析比較檢測結果。

    1) 不同特征集檢測

    本文主要使用了權限特征集以及敏感API特征集,通過實驗比較分別使用單一特征集與組合特征集對分類器性能影響。結果如下表所示:

    表2中可以看到,與單一特征集相比,權限與敏感API的混合特征集檢測性能較好。惡意程序檢測率較高,分類器準確率也比單一特征集的分類器準確率高。

    2) 不同預處理方式檢測

    通過上面不同特征集檢測,組合特征對分類器性能提高較好,這里繼續(xù)使用實驗后的組合特征值進行數(shù)據(jù)預處理,剔除冗余數(shù)據(jù)。比較單一處理方式與組合處理方式下分類器效果。

    從實驗數(shù)據(jù)中看,信息增益與卡方檢驗方法相結合的數(shù)據(jù)預處理方式較好的提高了樸素貝葉斯分類器檢測性能。相比于單一處理方式,分類器性能提高相對較多。

    4 結束語

    本文所設計的基于權限和敏感API的惡意程序檢測方法在實驗中得到的較好的結果,組合特征集以及組合預處理算法,比之單一的特征集和單一預處理算法,相對提高了分類器性能。為了進一步提升分類器性能,也可以考慮在樸素貝葉斯分類算法上進行改進。

    參考文獻:

    [1] ZHANG Y Q, WANG K, YANG H, et al. Survey of Android OS Security[J]. Journal of Computer Research and Development,2014,51(7):1385-1396.

    [2] ZHANG J X, YANG X H. A Detection System of Android Android Application Based on Permission Analysis[J]. Netinfo Security, 2014(7):30-34.

    [3] ZHANG S Q. Android Malware Detection Technology Based on Improved Bayesian Classification[J]. Radio communication technology, 2014, 40(6):73-76.

    [4] ZHU X L, WANG J F, DU Y, et al. Detecting Android malware Based on sensitive permissions and function-call graphs[J]. Journal of Sichuan University:Natural Science Edition, 2016, 53(3):526-533.

    [5] LU W Q, HE J M, ZENG X B, et al. Android Malware Static Detection Based on Hybrid Features[J]. Radio Communications Technology, 2014,40(6):64-68.

    [6] YAN M, PENG X G. Permission detection system Based on android security mechanism[J]. Computer Engineering and Design, 2013, 34(3):854-858.

    [7] ZHANG X M, LIU J, ZHUANG J X, et al. Research on Android malware detection Based on permission and behavior[J]. Chinese Journal of Network and Information Security, 2017, 3(3):1-7.

    [8] ZHOU Y, JIANG X. Dissecting Android malware: characterization and evolution[C]//Proceedings of the 2012 IEEE Symposium on Security and Privacy. Washington, DC: IEEE Computer Society, 2012: 95-109.

    [9] Felt A P, Chin E, Hanna S, et al. Android permissions demystified[C]//Proceedings of the 18th ACM Conference on Computer and Communications Security. New York: ACM, 2011:627-638.

    [10] XU Y P, WU C H, HOU M J, et al. Android Malware Detection Technology Based on Improved Naive Bayesian[J]. Journal of Beijing University of Posts and Telecommunications, 2016, 39(2):43-47.

    [11] FEIZOLLAH A, ANUAR N B, SALLEH R, et al. A review on feature selection in mobile malware detection[J]. Digital Investigation, 2015, 13: 22-37.

    [12] ZHANG R, YANG J Y. Android malware detection Based on permission correlation[J]. Journal of Computer Applications, 2014, 34(5):1322-1325.

    [13] WANG X F, DU T. Improved Weighted Naive Bayes Classification Algorithm Based on Attribute Selection[J]. Computer system applications, 2015, 24(8):149-154.

    [14] 張立民, 劉峰, 張瑞峰. 一種構造系數(shù)的自相關函數(shù)特征提取算法[J]. 無線電通信技術, 2012, 38(5):56-59.

    [15] Mitchell T. Machine learning[M]. Beijing: China Machine Press, 2012: 112-136.

    [16] virusshare. com. Because sharing is caring[EB/OL]. [2013-10-21]. http://virusshare.com/support.

    [17] ZHOU X, LUO K. A weighted naive Bayes algorithm Based on the attribute order reduction[J]. Advanced Materials Research, 2013, 718: 2108-2112.

    陈巴尔虎旗| 怀来县| 巴中市| 武冈市| 安龙县| 惠州市| 上栗县| 千阳县| 石门县| 公主岭市| 彝良县| 浦城县| 互助| 兴义市| 肥城市| 九龙城区| 黄冈市| 上蔡县| 太白县| 微山县| 容城县| 宿州市| 河池市| 琼结县| 科尔| 东方市| 荣昌县| 塘沽区| 寻甸| 巴中市| 肃宁县| 肥东县| 长泰县| 安义县| 于都县| 东至县| 灵宝市| 新安县| 青浦区| 闻喜县| 铁岭县|