亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于API頻繁模式挖掘算法的Android惡意應(yīng)用檢測方法

        2016-10-10 05:16:09梁俊鵬
        關(guān)鍵詞:項集應(yīng)用程序準確率

        梁俊鵬

        (成都信息工程大學(xué)信息安全工程學(xué)院, 四川 成都 610225)

        ?

        基于API頻繁模式挖掘算法的Android惡意應(yīng)用檢測方法

        梁俊鵬

        (成都信息工程大學(xué)信息安全工程學(xué)院, 四川成都610225)

        文章提出一種基于API頻繁模式挖掘算法的Android惡意應(yīng)用檢測方法,通過挖掘API調(diào)用之間的關(guān)聯(lián),發(fā)現(xiàn)惡意軟件中具有的頻繁模式,采用一定去冗余操作提高檢測的準確率檢測未知的Android軟件,并通過實驗驗證方法的可行性和有效性.結(jié)果顯示,該方法對檢測未知的Android軟件可以達到83﹪的檢測準確率,具有一定實用價值,可為進一步研究提供參考.

        Android;惡意軟件;靜態(tài)檢測;機器學(xué)習(xí)

        市場調(diào)研機構(gòu)高德納咨詢公司發(fā)布的最新報告顯示,在2015年第二季度的統(tǒng)計中,全球智能手機中82.2﹪采用Android系統(tǒng)產(chǎn)品,占據(jù)智能手機市場的主導(dǎo)地位,遠超iOS、Windows、BlackBerry等操作系統(tǒng)[1].由于Android系統(tǒng)具有較高的開放性,運行該系統(tǒng)的智能手機越來越多地成為惡意攻擊者和惡意軟件的攻擊目標(biāo),出現(xiàn)了大量基于Android系統(tǒng)開發(fā)的軟件,其中也包含了大量惡意程序.這些惡意軟件對用戶的信息安全構(gòu)成了嚴重威脅,包括隱私泄漏、財產(chǎn)損失、商業(yè)機密泄露等.大量普通用戶由于缺乏基本的信息安全意識,軟件程序的來源渠道不正規(guī)等,導(dǎo)致惡意軟件快速傳播,造成較大危害.根據(jù)360公司發(fā)布的最新消息,2015年第三季度,360互聯(lián)網(wǎng)安全中心共截獲Android平臺新增惡意程序樣本558萬個,平均每天截獲新增手機惡意程序樣本近6.07萬個,累計監(jiān)測到移動端用戶感染惡意程序7 722萬人次,平均每天惡意程序感染量達到83.9萬人次.新增惡意程序主要是資費或流量消耗,占53.1﹪;其次為惡意扣費(41.5﹪)和隱私竊取(3.6﹪).這三類惡意程序占總量的98.3﹪,其余類型的惡意程序新增量只占1.7﹪.

        不同于別的移動操作系統(tǒng)平臺,Android系統(tǒng)允許安裝來自未受認證的軟件源的應(yīng)用安裝包,如第三方市場、論壇等.隨著Android市場份額的急劇擴張,目前網(wǎng)絡(luò)上有大量為Android系統(tǒng)提供軟件下載服務(wù)的網(wǎng)站,此類網(wǎng)站每天都會收到大量的軟件開發(fā)者提交的發(fā)布軟件的申請,并對這些軟件進行審核后提供給公眾下載.由于發(fā)布申請的數(shù)量非常龐大,多數(shù)網(wǎng)站無法做到對每一個軟件進行詳細審查和安全檢測,導(dǎo)致部分具有惡意代碼的軟件被公開發(fā)布出來,繼而被用戶下載.這一過程對網(wǎng)站的信譽和用戶的信息安全都造成了損失.

        1 相關(guān)工作

        為應(yīng)對Android平臺上的惡意軟件,國內(nèi)外研究人員進行了一系列研究[2-5].目前,移動平臺的惡意代碼檢測技術(shù)主要分為2種:靜態(tài)檢測和動態(tài)檢測.靜態(tài)檢測多為基于特征碼,如哈希值、指令序列等檢測方法,大部分安全軟件都采用這種檢測方法,基于已有的特征庫進行檢測,誤報率較低,但也導(dǎo)致對未知惡意應(yīng)用的防范較為乏力,具有一定的滯后性.動態(tài)檢測為軟件運行時收集其產(chǎn)生的行為信息,包括API調(diào)用、系統(tǒng)調(diào)用、內(nèi)存存取、電源消耗等信息,結(jié)合已有的異常特征判定是否為惡意軟件,但需要較長的時間來收集動態(tài)數(shù)據(jù),比靜態(tài)分析更復(fù)雜.文獻[6]提出一種基于權(quán)限頻繁模式挖掘算法的Android惡意應(yīng)用檢測方法,需要對已知的惡意軟件家族進行靜態(tài)分析和權(quán)限特征提取,對最新的惡意應(yīng)用樣本檢測率較低,僅為50﹪.文獻[7]提出一種基于機器學(xué)習(xí)的Android惡意軟件檢測模型,訓(xùn)練靜態(tài)指紋匹配庫和動態(tài)行為簽名庫,能在一定程度上檢測未知惡意程序,但訓(xùn)練數(shù)據(jù)量太少,樣本說服力不夠.文獻[8]提出一種基于改進貝葉斯分類的Android惡意軟件檢測方法,利用移動設(shè)備應(yīng)用程序獲取多種行為特征值,應(yīng)用機器學(xué)習(xí)技術(shù)檢測Android惡意軟件.該方法只選取了短信、GPS、撥打電話等6種行為特征集合,不能較完整地表現(xiàn)惡意軟件的行為,有較大片面性,而且惡意與非惡意的判別標(biāo)準不完善,還有改進的空間.文獻[9]提出一種利用APK文件解壓得到classes.dex可執(zhí)行文件中類與函數(shù)名信息,利用機器學(xué)習(xí)進行分類的方法.

        以上基于權(quán)限方面的研究存在對過度申請權(quán)限造成的干擾處理不到位的問題.為了解決原始權(quán)限存在過度申請造成的干擾,本文使用基于關(guān)聯(lián)權(quán)限特征的靜態(tài)分析方法,結(jié)合Apriori挖掘算法挖掘惡意行為涉及的關(guān)聯(lián)API特征,然后進行特征的去冗余等計算,選擇出最適合進行惡意軟件檢測的特征集.在Android系統(tǒng)上,一個應(yīng)用程序需要實現(xiàn)某項功能,比如獲取敏感信息、系統(tǒng)資源、使用和修改設(shè)備狀態(tài)等,需要通過調(diào)用系統(tǒng)提供的API來完成,不同的代碼范圍和API使用層級反映了對應(yīng)模塊的代碼功能,能夠推測出模塊在運行過程中可能具有的行為屬性和表現(xiàn)形式.由于完成一項惡意行為通常需要多個API的結(jié)合使用才能實現(xiàn),所以我們需要對API使用情況的關(guān)聯(lián)性進行挖掘分析.然而,由于部分在惡意軟件中出現(xiàn)的關(guān)聯(lián)組合也會出現(xiàn)在正常程序中,所以需要對此類關(guān)聯(lián)組合進行判斷,以提取出最能反映惡意軟件和正常軟件區(qū)別的關(guān)聯(lián)組合.以往的研究多數(shù)基于權(quán)限相關(guān)性特征,由于目前國內(nèi)的Android應(yīng)用程序存在權(quán)限申請過度的情況,本文基于API的靜態(tài)分析方法,結(jié)合Apriori頻繁項集挖掘算法[10]挖掘惡意軟件中包含的API頻繁項集特征,然后進行特征的去冗余操作,選擇出適應(yīng)于惡意軟件檢測的特征集,最后基于生成的特征數(shù)據(jù)庫對未知的惡意軟件進行檢測.

        2 基于API頻繁模式的挖掘算法

        2.1特征提取及預(yù)處理

        為了便于后續(xù)算法的運行,在此對Android應(yīng)用程序樣本進行特征提取及預(yù)處理操作,如圖1所示.

        圖1 特征提取及預(yù)處理流程

        步驟1確定需要提取的敏感API,并形成敏感API數(shù)據(jù)庫,便于后續(xù)使用.敏感API來源于對已知惡意軟件分析的經(jīng)驗,以及對已知惡意軟件和已知正常軟件API統(tǒng)計的差異.最終選定了可以用來完成發(fā)送短信、刪除短信、撥打電話、刪除通話記錄、修改聯(lián)系人、執(zhí)行shell腳本等功能的API;

        步驟2利用Apktool對Android應(yīng)用程序樣本進行反編譯;

        步驟3對上一步反編譯得到的smali文件夾中的smali文件進行掃描,查找其中存在的敏感API;

        步驟4統(tǒng)計該應(yīng)用程序使用的API的序號,形成該應(yīng)用程序的API調(diào)用序列,并寫入數(shù)據(jù)庫保存.

        2.2算法描述

        頻繁模式是頻繁地出現(xiàn)在數(shù)據(jù)集中的模式,如項集、子序列、子結(jié)構(gòu)等[10].Apriori算法是Agrawal和Srikant R于1994年提出的,為布爾關(guān)聯(lián)規(guī)則挖掘頻繁項集的原創(chuàng)性算法.頻繁模式挖掘搜索給定數(shù)據(jù)集中反復(fù)出現(xiàn)的聯(lián)系,以發(fā)現(xiàn)惡意軟件API使用情況的關(guān)聯(lián)性.

        2.2.1Apriori算法挖掘關(guān)聯(lián)特征

        本文采用一個改進的基于規(guī)則挖掘的Apriori算法來進行特征選擇和自動篩選,從而進行有效樣本分類.為了解決對高頻率事件的有效性挖掘,減少對數(shù)據(jù)庫的掃描次數(shù)和候選數(shù)據(jù)集的數(shù)量,在經(jīng)典的Apriori算法基礎(chǔ)上提出一個改進的Apriori算法.Apriori算法的基本思想是用迭代的方法產(chǎn)生頻繁集,為產(chǎn)生可以滿足最小置信度規(guī)則的規(guī)則集和輸出.本文中用到的Apriori算法是建立在Android權(quán)限這一相關(guān)概念的基礎(chǔ)之上的.Apriori算法就是為了挖掘權(quán)限頻繁項集,挖掘Android應(yīng)用采用的API之間的關(guān)聯(lián)性,以構(gòu)建API關(guān)聯(lián)特征庫.

        本文通過預(yù)處理分別得到正常軟件和惡意軟件的API數(shù)據(jù)庫.每一個Android軟件均可以映射為一個包含所有敏感API調(diào)用的事務(wù),每個API為一個項,API項的集合為項集,最小支持度為min_support,從2個數(shù)據(jù)庫中分別發(fā)現(xiàn)滿足最小支持度的頻繁項集,并建立特征庫.

        Apriori算法有兩個主要步驟:連接和剪枝.這也是產(chǎn)生頻繁項集的兩個步驟.

        連接:如果一個項集不是頻繁集,那么它的超集也一定不是頻繁項集.

        剪枝:如果一個項集是頻繁集,那么它的真子集一定是頻繁項集.

        輸入:

        Di: 所選擇樣本的集合

        min_support:最小支持度閾值

        輸出:

        頻繁API項集數(shù)據(jù)庫Dataset

        偽代碼描述:

        //找出所有頻繁1項集

        L1=find_frequent_1_itemsets(D);

        For(k=2;Lk-1!=null;k++){

        //產(chǎn)生候選,并剪枝

        Ck=apriori_gen(Lk-1);

        //掃描D進行候選計數(shù)

        For each事務(wù)t∈D{

        //得到t的子集

        Ct= subset(Ck,t);

        For each候選c∈Ct

        c.count++;

        }

        Lk={c∈Ck| c.count>=min_sup}

        }

        return L=所有的頻繁集

        2.2.2檢測特征庫生成步驟

        步驟1API頻繁項集挖掘:利用Apriori算法選擇合適的最小支持度min_support,分別對正常和惡意兩類軟件的API調(diào)用情況進行頻繁項集挖掘,并將結(jié)果記錄到數(shù)據(jù)庫中.結(jié)果形式如下:

        item: (68, 212, 390, 1037) , support:0.457

        其中,item代表頻繁項集,support代表該頻繁項集的支持度.

        步驟2去冗余:由于根據(jù)以往的大量實驗發(fā)現(xiàn),比對正常軟件和惡意軟件的頻繁項集,部分頻繁項集會同時出現(xiàn)于正常軟件和惡意軟件,會造成檢測準確率大幅度降低,故從惡意軟件的頻繁項集數(shù)據(jù)庫中刪除此類數(shù)據(jù).

        步驟3計算惡意軟件的API調(diào)用頻繁項集在正常軟件中出現(xiàn)的次數(shù),升序排列后,記錄到惡意特征庫中.

        步驟4評分:選取上述惡意特征庫的前N項頻繁項集,判斷是否存在于當(dāng)前的Android應(yīng)用程序的API序列中.如果存在,則根據(jù)一定的機制對其評分.當(dāng)評分達到一定的閾值時判為惡意程序.

        3 實驗與分析

        3.1實驗樣本

        從VirusShare和Android應(yīng)用市場獲得15 000個樣本,14 200個惡意樣本(其中10 000個樣本用于訓(xùn)練,其余4 200個樣本用于驗證本算法的檢測效果)和800個正常樣本(其中500個樣本用于訓(xùn)練,其余300個用于驗證檢測效果).

        圖2 檢測系統(tǒng)特征庫生成及未知樣本檢測

        3.2評估標(biāo)準

        為了便于評估實驗結(jié)果,定義以下指標(biāo):

        1)設(shè)TP(True Positive)表示正常軟件預(yù)測準確數(shù)量;

        2)設(shè)FP(False Positive)表示正常軟件預(yù)測錯誤數(shù)量;

        3)設(shè)TN(True Negative)表示惡意軟件預(yù)測準確數(shù)量;

        4)設(shè)FN(False Negative)表示惡意軟件預(yù)測錯誤數(shù)量;

        5)定義所有軟件檢測準確的比例為:

        ACC=(TP+TN)/(TP+TN+FP+FN)

        本文依據(jù)以上指標(biāo)對檢測結(jié)果進行驗證和評估.

        3.3實驗結(jié)果

        本文選擇不同的最小支持度min_support值進行頻繁項集挖掘,并對相應(yīng)的檢測效果進行比較,結(jié)果如表1所示.

        表1 檢測結(jié)果 /﹪

        對比以上結(jié)果可以發(fā)現(xiàn),在最小支持度為0.35時,總體檢測準確率達到83﹪,此時系統(tǒng)具有較好的檢測效果.對于惡意軟件的漏報情況,主要出現(xiàn)在部分采用本地代碼編寫的惡意應(yīng)用上,較少采用Android 框架層的API.本文檢測方法無法正確反映其惡意行為,故導(dǎo)致存在一定的漏報情況.在檢測效率方面,對4 200個惡意軟件樣本和300個正常軟件樣本進行檢測,除去預(yù)處理過程只花費了11 min,平均每個樣本花費時間為0.15 s.

        3.4實驗分析

        本文基于大量的樣本進行挖掘和分析,經(jīng)過多次實驗得出較合理的算法參數(shù)值,并據(jù)此對未知樣本的檢測準確率達83﹪.與文獻[6]相比,其對90個惡意應(yīng)用的檢測率為50﹪,對新出現(xiàn)的惡意軟件的適應(yīng)性較差.本文是針對未知應(yīng)用進行檢測,且相對其檢測準確率有較大提高.文獻[7]僅對200個惡意軟件樣本進行檢測,檢測準確率最高為76﹪.本文獲取了數(shù)量更多的樣本,結(jié)果更可靠,且檢測準確率也有一定提高.雖然本方法依然存在誤判,但其結(jié)果可以作為自動檢測手段使用,為后續(xù)采用其他檢測手段和手動檢測提供依據(jù).

        4 結(jié)語

        本文基于機器學(xué)習(xí),利用Android平臺應(yīng)用程序所使用的API之間的相關(guān)性結(jié)合頻繁項集挖掘算法,提出一種惡意軟件檢測的方法,并通過去冗余操作提高了檢測準確性.本方法對于檢測惡意軟件具有一定效果,并可與其他檢測手段結(jié)合,以提高檢測準確率.雖然本方法在對Android惡意軟件檢測中取得了一定效果,但仍然存在不足,需要在以后研究中收集更多惡意樣本并修改算法參數(shù)等,以提高檢測的準確率和算法運行效率.

        [1]Gartner. Worldwide Smartphone Sales to End Users by Operating System in 2015[EB/OL].(2015-08-20)[2015-11-12].https://www.gartner.com/newsroom/id/3115517.

        [2]ZHOU Y J, JIANG X X. Dissecting android malware: Characterization and evolution[C]. Security and Privacy (SP), IEEE Symposium on IEEE, 2012.

        [3]劉華婷,郭仁祥,姜浩. 關(guān)聯(lián)規(guī)則挖掘Apriori算法的研究與改進[J]. 計算機應(yīng)用與軟件,2009(1):146-149.

        [4]張銳,楊吉云. 基于權(quán)限相關(guān)性的Android惡意軟件檢測[J]. 計算機應(yīng)用,2014(5):1322-1325.

        [5]馮博,戴航,慕德俊. Android惡意軟件檢測方法研究[J]. 計算機技術(shù)與發(fā)展,2014(2):149-152.

        [6]楊歡,張玉清,胡予濮,等. 基于權(quán)限頻繁模式挖掘算法的Android惡意應(yīng)用檢測方法[J]. 通信學(xué)報,2013(S1):106-115.

        [7]蔡澤廷. 基于機器學(xué)習(xí)的Android惡意軟件檢測模型研究[D].青島:青島理工大學(xué),2013.

        [8]張思琪. 基于改進貝葉斯分類的Android惡意軟件檢測[J]. 無線電通信技術(shù),2014(6):73-76.

        [9]童振飛. Android惡意軟件靜態(tài)檢測方案的研究[D].南京:南京郵電大學(xué),2012.

        [10]MICHELINE K. 數(shù)據(jù)挖掘概念與技術(shù)[M]. 北京:機械工業(yè)出版社,2012:157-165.

        (責(zé)任編輯穆剛)

        An android malware detection method based on API frequent pattern mining algorithm

        LIANG Junpeng

        (College of Information Security Engineering,Chengdu University of Information Technology,Chengdu Sichuan 610225,China)

        An android malware detection method based on API frequent pattern mining algorithm was proposed in the paper, in which through the digging the relationship of transferring API, the frequent mode in the malware was detected. Using a certain redundancy removal operation to improve the accuracy of detection, the unknown Android software was detected. The possibility and efficiency of the method was tested by the experimental methods. The results show that the method can reach 83﹪ accuracy, so the method has certain value and provides

        for the further study.

        Android; malware; static detection; machine learning

        2016-01-19

        梁俊鵬(1990—),男,江蘇南京人,碩士研究生,主要從事信息安全方面的研究.

        TP309.5

        A

        1673-8004(2016)05-0093-05

        猜你喜歡
        項集應(yīng)用程序準確率
        乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
        健康之家(2021年19期)2021-05-23 11:17:39
        不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
        2015—2017 年寧夏各天氣預(yù)報參考產(chǎn)品質(zhì)量檢驗分析
        刪除Win10中自帶的應(yīng)用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        高速公路車牌識別標(biāo)識站準確率驗證法
        關(guān)聯(lián)規(guī)則中經(jīng)典的Apriori算法研究
        卷宗(2014年5期)2014-07-15 07:47:08
        一種頻繁核心項集的快速挖掘算法
        計算機工程(2014年6期)2014-02-28 01:26:12
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        一種新的改進Apriori算法*
        分布式數(shù)據(jù)庫的精簡頻繁模式集及其挖掘算法*
        日韩Va亚洲va欧美Ⅴa久久| 桃色一区一区三区蜜桃视频| 一区二区三区高清在线观看视频| 成人影院yy111111在线| 亚洲综合一区无码精品| 中文字幕有码在线视频| 水蜜桃视频在线观看入口| 久久综合香蕉国产蜜臀av| 国产乱子伦在线观看| 亚洲电影一区二区| 精品国产三区在线观看| 亚洲av无码乱码在线观看富二代| 亚洲∧v久久久无码精品| 午夜福利视频男同女同| 视频一区视频二区自拍偷拍 | 日本动态120秒免费| 中文字幕日本熟妇少妇| 国产白浆一区二区在线| 天天躁日日躁狠狠躁欧美老妇| 911精品国产91久久久久| 国产精品不卡在线视频| 日本一级特黄aa大片| 欧美成人秋霞久久aa片| 久久久www成人免费无遮挡大片| 在线a人片免费观看国产| 中文字幕一区二区人妻性色av| 久久亚洲色一区二区三区| 亚洲暴爽av人人爽日日碰| 无码伊人久久大香线蕉| 一区二区在线视频免费蜜桃| 色综合久久久久久久久久| 香蕉视频毛片| 邻居少妇张开腿让我爽视频| 国产精品亚洲精品日韩已方| 97久久天天综合色天天综合色hd| 人妻系列无码专区久久五月天| 日本亚洲系列中文字幕| 凹凸在线无码免费视频| 亚洲精品亚洲人成在线下载| 精品熟女av中文字幕| 麻豆av一区二区三区|