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

        ?

        利用單分類SVM算法檢測Android應用程序①

        2021-06-28 06:27:58毛保磊劉慧英
        計算機系統(tǒng)應用 2021年6期
        關鍵詞:應用程序分類器良性

        管 峻,毛保磊,劉慧英

        1(西北工業(yè)大學 自動化學院,西安 710072)

        2(鄭州大學,鄭州 450001)

        隨著5G 時代的到來,移動智能終端成為必不可少的重要載體.因此,針對移動終端的惡意攻擊層出不窮,尤其是市場占有率第一的Android 系統(tǒng).360 安全大腦發(fā)布的《2019年Android 惡意軟件專題報告》[1]指出,2019年全年,360 安全大腦共截獲移動端新增惡意軟件樣本約180.9 萬個,足以說明惡意應用時刻威脅著移動智能終端用戶的切身利益、不同行業(yè)領域的正常發(fā)展,甚至影響到國家的安全建設.目前,惡意應用的檢測技術(shù)主要分為靜態(tài)檢測和動態(tài)檢測.從效率上講,靜態(tài)檢測的效率高,適用于大規(guī)模的惡意應用檢測.動態(tài)檢測需要實際運行應用程序,在運行期間捕獲惡意行為,效率相對較差,但可以應對代碼混淆等對抗靜態(tài)分析的手段.另外,無論良性應用還是惡意應用出于對自身的保護,越來越多地采取加殼的方式保護自身被反編譯.這也造成惡意應用檢測特征只能來源于應用程序反編譯后得到的AndroidManifest.xml 全局配置文件,該文件提供應用程序申請的權(quán)限、組件等信息.

        雖然過去許多基于權(quán)限、組件信息等作為特征的機器學習算法研究取得了較好的檢測結(jié)果,但實驗選取的惡意應用樣本大多數(shù)是2013年左右的,與同時期及現(xiàn)在下載的良性應用在權(quán)限的使用上存在明顯差異.本文對收集的2013年左右的惡意應用、VirusShare[2]收集的2016年惡意應用和2020年隨機從小米應用市場下載的良性應用申請的權(quán)限信息進行統(tǒng)計,2013年的1200 個惡意應用平均申請權(quán)限13.31 個,2016年VirusShare 收集的惡意應用平均申請權(quán)限為30.41 個,從小米應用市場下載的1500 個應用程序平均申請權(quán)限32.22 個.由此可以看出,惡意應用和良性應用申請的權(quán)限從數(shù)量上來講差異變小,而且進一步分析發(fā)現(xiàn)在具體權(quán)限的使用上也十分接近.

        因此,僅依靠權(quán)限作為機器學習算法特征已經(jīng)很難達到過去的檢測效果,需要更加細粒度的API 作為特征參與檢測,多類的應用程序特征有利于提高檢測的準確率.然而,應用程序的加殼使得研究者無法通過對應用程序反編譯獲取應用程序調(diào)用的API,尤其是來源于正規(guī)的第三方應用市場的應用程序.廣大研究者的惡意應用樣本主要來自于公共的數(shù)據(jù)庫,其中大多數(shù)樣本可以被反編譯.這樣就會出現(xiàn)機器學習正負樣本的嚴重失衡,導致現(xiàn)有基于二分類的惡意應用檢測方法出現(xiàn)欠擬合、過擬合的情況,嚴重影響檢測的效果.

        針對正負樣本數(shù)量嚴重失衡的情況,本文采取單分類SVM 算法檢測應用程序,將11 900 個VirusShare提供的2016年收集的惡意應用分為訓練集和測試集,將前期收集的187 個良性應用作為新穎點,主要作出的貢獻如下:

        (1) 通過對2013年左右收集的惡意應用、2016年惡意應用和良性應用進行反編譯分析,發(fā)現(xiàn)無論是權(quán)限還是API 的調(diào)用,2013年左右的惡意應用與良性應用差異大,2016年的惡意應用則相反,說明本文提出的檢測方法具有現(xiàn)實意義.

        (2)為了提高機器學習檢測的效果,對2016年收集的惡意應用和良性應用進行反編譯,根據(jù)特征使用頻率進行歸一化處理,提取具有差異性的權(quán)限、API 作為機器學習算法的特征,提高了機器學習分類器的性能.

        (3) 本文采取單分類SVM 算法解決了在惡意應用、良性應用樣本數(shù)量嚴重失衡情況下對Android 惡意應用的檢測,解決了欠擬合、過擬合的問題,相比于二分類算法明顯提高了惡意應用檢測的效果,對惡意應用、良性應用的檢測同時有效.

        1 相關工作

        隨著惡意應用指數(shù)級的增長,機器學習算法廣泛應用于惡意應用的檢測.Singh 等[3]將Android 應用程序使用的權(quán)限和調(diào)用的API 作為機器學習的特征,取得了較好的惡意應用分類準確率.Shang 等[4]利用信息增益法提取權(quán)限特征,采用改進后的樸素貝葉斯算法對惡意應用進行檢測.但包括上述研究在內(nèi)的許多研究方法都是采用正負樣本平衡的數(shù)據(jù)集,對正負樣本嚴重失衡的數(shù)據(jù)集檢測效果不理想.

        針對正負樣本嚴重失衡的研究主要集中在樣本采樣上,分為欠采樣技術(shù)和過采樣技術(shù),但無論采取哪種技術(shù)目的都是為了達到正負樣本數(shù)量的平衡[5].文獻[6–8]基于少數(shù)類的現(xiàn)有樣本去構(gòu)建同類樣本,增加少數(shù)類樣本的數(shù)量.文獻[9]采取孤立森林算法(Isolation Forest)非監(jiān)督學習算法,基于多數(shù)類樣本的分布通過輪盤旋轉(zhuǎn)算法選取多數(shù)類樣本,通過K-means 方法形成若干多數(shù)類樣本聚類中心,實現(xiàn)正負樣本數(shù)量的均衡.文獻[10]針對正負數(shù)據(jù)不均衡的問題,提出基于迭代提升欠采樣的集成分類方法,從多數(shù)類中欠采樣,構(gòu)建弱分類器并通過加權(quán)組合方式構(gòu)成一個強分類器,提升在樣本數(shù)據(jù)不平衡情況下的檢測效果.Xu 等[11]采用模糊合成少數(shù)類樣本的方式增加Android 惡意應用樣本數(shù)目達到正負樣本數(shù)量平衡的目的.文獻[12]通過過采樣技術(shù)合成少數(shù)類樣本,并對隨機森林算法進行改進,減少數(shù)據(jù)不平衡對機器學習分類器的影響.

        2 單分類SVM 算法的基礎知識

        機器學習方法分為監(jiān)督學習和無監(jiān)督學習[13].監(jiān)督學習主要是通過對有類別標簽的數(shù)據(jù)進行學習得到檢測模型,再利用這個模型對未知數(shù)據(jù)進行分類.無監(jiān)督學習與監(jiān)督學習最大的區(qū)別就是訓練樣本沒有標簽.另外,根據(jù)分類的類別個數(shù)可以將機器學習分類算法分為單分類、二分類和多分類,其中最常見的是二分類算法.但當二分類的正負樣本數(shù)量嚴重失衡時,檢測效果較差.例如,10 000 個應用程序樣本中有9900 個良性應用,100 個惡意應用,那么當良性應用全部檢測正確時,即使惡意應用全部檢測失敗,準確率也達到99%,但是這個檢測模型卻沒有實際的意義.針對上述情況,本文采取單分類算法檢測Android 惡意應用.

        單分類算法屬于異常檢測,主要分為新穎點檢測(novelty detection)和異常值檢測(outlier detection).新穎點檢測屬于半監(jiān)督學習的方法,異常值檢測屬于無監(jiān)督學習[14].本文采用新穎點檢測方法,以Android 惡意應用檢測來說明單分類算法,如圖1所示,將多數(shù)類的惡意應用作為一類樣本,即在圓圈里面的樣本;而良性應用作為新穎點分布在圓圈的外面,其中,圓圈就是決策邊界[15].

        圖1 單分類算法示意圖

        目前,主要的單分類算法有單分類SVM 算法和單分類孤立森林算法.由于本文采用新穎點檢測的方法,在訓練集中不摻雜任何異常點,所以選取單分類SVM算法更適用,而孤立森林算法適用于訓練集中包含異常點的檢測.

        單分類SVM 算法也是基于SVM 算法的,將數(shù)據(jù)通過核函數(shù)映射到高維的特征空間,利用超平面將多數(shù)數(shù)據(jù)與新穎數(shù)據(jù)隔開,應用較多的是高斯核函數(shù),也稱為RBF (Radial Basis Function)核[16].單分類SVM算法解決的同樣是目標函數(shù)最優(yōu)化的問題,即式(1).式中 ω為系數(shù),‖ ω‖為ω的二階范數(shù),c為懲罰系數(shù),ξi為松弛變量.

        約束于:

        3 單分類SVM 算法檢測Android 惡意應用的方法

        本文收集的可用于反編譯的惡意應用數(shù)量遠超于良性應用,所以選擇惡意應用作為多數(shù)類樣本進行訓練建模,良性應用作為新穎點進行檢測.首先通過apktool 工具反編譯惡意應用獲取AndroidManifest.xml全局配置文件和應用程序Smali 代碼,使用Python 編寫的程序分別從上述兩個文件中通過搜索關鍵字的方法提取所需的特征,基于AndroidManifest.xml 文件搜索“uses-permission android:name="android.permission.”可以獲取應用程序申請的權(quán)限、搜索“action android:name”可以獲取組件的Intent Filter 特征;遍歷反編譯后得到的應用程序Smali 文件夾,搜索含有關鍵字“invoke”的語句,獲取應用程序調(diào)用的API 特征,將這些特征輸入單分類SVM 分類器進行訓練構(gòu)建檢測模型,需要注意的是惡意應用樣本的90%作為訓練集,剩下的作為測試集;再使用同樣的方法提取良性應用的權(quán)限、Intent Filter和API 特征,輸入至惡意應用訓練好的檢測模型,檢測良性應用作為新穎點的分類結(jié)果.Android應用程序使用單分類SVM 檢測方法如圖2所示.

        圖2 本文單分類SVM 算法檢測應用程序流程圖

        本文收集的惡意應用樣本庫來源于兩部分,一部分是2013年左右通過AndroMalShare[17]和Malgenomeproject[18]收集的1200 個惡意應用,另一部分是向VirusShare 申請后下載該網(wǎng)站收集的2016年的11 900個惡意應用,其中絕大部分惡意應用可以反編譯成功.良性應用也來源于兩部分,一部分是2020年從正規(guī)應用商城[19]隨機下載的1500 個無法成功被反編譯但可以獲取AndroidManifest.xml 配置文件的應用程序.另另一部分是2016年左右從小米應用市場下載的可以被反編譯的良性應用187 個,即可以通過對應用程序反編譯獲取更加細粒度的API 特征.

        本節(jié)二分類算法均使用WEKA 工具完成,單分類SVM 算法利用Python Sklearn 完成.分類算法的評價指標主要選取Accuracy、Precision、Recall、F-measure和AUC,其中AUC 指標是指ROC 曲線下的面積,面積越大說明分類器的性能越好.另外,下列式(2)–式(4)中的True Positive (TP)即真正類,False Negative (FN)即假負類,False Positive (FP)即假正類,True Negative (TN)即真負類[16].

        3.1 權(quán)限與Intent Filter為特征的二分類檢測

        無論應用程序是否進行加固,通過反編譯都是可以獲取AndroidManifest.xml 全局配置文件,所以基于該文件提供的特征進行機器學習的研究很多[20–22].研究內(nèi)容的重點大多是如何選擇有效的特征,減少特征維度,提高檢測性能.

        本節(jié)通過信息增益法選擇信息增益值靠前的58 個權(quán)限和Intent Filter 信息作為分類算法的特征,采用常見的、有差異性的SVM、NB (Na?ve Beyesian)、J48(決策樹)、KNN (K-Nearest Neighbor)作為分類器對樣本進行訓練、測試.實驗采用十折交叉法,分別選取不同的實驗樣本和相同的特征,刪除特征提取后重復的樣本,檢測結(jié)果如表1、表2所示.

        表1 2013年收集的惡意應用和良性應用分類結(jié)果

        表2 2016年收集的惡意應用和良性應用分類結(jié)果

        表1為2013 收集的1200 個惡意應用和從1500個良性應用中隨機選取1200 個作為良性樣本的分類結(jié)果.其中,SVM 分類器的準確率最高,達到0.973;NB分類器性能指標相對較差,準確率為0.937.表2為隨機從2016年VirusShare 惡意樣本庫中選取的1500 個惡意應用和上述1500 個良性應用作為樣本的分類結(jié)果.通過表1、表2的對比,可以看出表2中分類器的各項性能指標都遠低于表1,反映了針對2013年收集的惡意應用檢測效果較好的特征及其分類算法不適用于2016年收集的惡意應用檢測,這與惡意應用與良性應用在權(quán)限上差異性越來越小有直接的關系.另外,良性樣本是2020年下載的,與2013年良性應用申請的權(quán)限可能也存在不小的差異,間接導致表1的檢測結(jié)果要明顯優(yōu)于表2.

        3.2 權(quán)限、Intent Filter和API為特征的二分類檢測

        本節(jié)從2016年VirusShare 樣本庫中選取11 900個惡意應用和上述可反編譯成功的187 個良性應用作為樣本進行研究.實驗中刪除了提取特征后重復的樣本避免過擬合和欠擬合的發(fā)生.最終正負樣本比為42.7:1.

        為了檢測取得較好的效果,根據(jù)API 函數(shù)在惡意應用和良性應用中的使用頻率選取有差異性的289 個API 函數(shù)和3.1 節(jié)選取的權(quán)限、Intent Filter 一起作為機器學習分類器的特征,采用十折交叉法進行檢測.實驗分為兩部分,第一部分是將全部應用程序都作為樣本,正負樣本數(shù)量差異較大,分類結(jié)果如表3、表4所示.表3是對應用程序的檢測結(jié)果,表4是針對少數(shù)類良性應用的檢測結(jié)果.實驗中,SVM 分類算法完全偏向于樣本集多數(shù)類(惡意應用),無法檢測良性應用,所以未采用該算法.NB 算法對應用程序與良性應用的分類性能指標相對接近且較好,但檢測效果仍欠佳.

        表3 應用程序樣本分類結(jié)果

        表4 良性應用樣本分類結(jié)果

        第二部分實驗是隨機選取與良性應用等數(shù)量的惡意應用作為樣本,分類結(jié)果如表5、表6所示.表5中J48 分類器的檢測準確率最高,為0.854.但所有分類器的性能指標相比于表3要差,主要是因為表3的檢測結(jié)果與分類算法完全偏向多數(shù)類(惡意應用)有關.同時,表5、表6檢測結(jié)果也說明了惡意應用和良性應用在API 調(diào)用上的差異也在縮小.

        表5 應用程序樣本分類結(jié)果

        表6 良性應用樣本分類結(jié)果

        3.3 單分類SVM 算法檢測應用程序

        本節(jié)采取單分類SVM 算法對應用程序進行檢測,將多數(shù)類的惡意應用作為正常值(即+1),將數(shù)量較少的良性應用作為新穎點(?1).將惡意應用分為訓練集和測試集兩部分,當惡意應用被判斷為新穎點(?1)時,即為惡意應用分類錯誤;同理,當良性應用被判斷為惡意應用(+1)時,即為良性應用作為新穎點分類錯誤.

        實驗選取與3.2 節(jié)相同的特征,采用表3中選取的樣本集,將惡意應用的90%作為訓練集,剩下的10%作為測試集,將全部良性應用作為新穎點.單分類SVM算法的主要參數(shù)設置為nu=0.16,kernel=“rbf”,gamma=“auto”.檢測結(jié)果如表7所示.

        表7 單分類SVM 算法分類結(jié)果

        通過表4、表6和表7的對比可以發(fā)現(xiàn),采用單分類SVM 算法在正負樣本嚴重失衡的情況下,可以有效地檢測出83.5%的良性應用,而表6中良性應用分類指標最好的J48 分類器的準確率為85%,需要注意的是單分類SVM 算法對惡意應用訓練集和測試集的檢測準確率與均衡樣本接近.綜上所述,單分類SVM 算法適用于當正負樣本嚴重失衡情況下的應用程序檢測.

        4 總結(jié)

        本文研究的重點是當Android 惡意應用與良性應用因為加固等原因造成正負樣本數(shù)量失衡時如何有效地進行應用程序分類,研究內(nèi)容具有現(xiàn)實意義.從研究的結(jié)果可以看出,隨著惡意應用的不斷升級,與良性應用的差異越來越小,對檢測方法提出了更高的要求.傳統(tǒng)的基于權(quán)限等特征的二分類監(jiān)督學習的檢測手段無法應對這一變化.而本文提出的使用單分類SVM 分類算法檢測Android 應用程序的方法很好地解決了上述的問題.

        在后續(xù)的研究中,還需要重點研究Android 應用程序特征的選取,盡量選取惡意應用與良性應用存在差異的特征,進一步提高應用程序分類的準確率.另外單分類SVM 算法的參數(shù)配置也是后期研究的重點內(nèi)容.

        猜你喜歡
        應用程序分類器良性
        走出睡眠認知誤區(qū),建立良性睡眠條件反射
        中老年保健(2022年6期)2022-08-19 01:41:22
        呼倫貝爾沙地實現(xiàn)良性逆轉(zhuǎn)
        刪除Win10中自帶的應用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        BP-GA光照分類器在車道線識別中的應用
        電子測試(2018年1期)2018-04-18 11:52:35
        基層良性發(fā)展從何入手
        加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
        結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
        甲狀腺良性病變行甲狀腺全切除術(shù)治療的效果分析
        基于LLE降維和BP_Adaboost分類器的GIS局部放電模式識別
        關閉應用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        亚州少妇无套内射激情视频| 亚洲一区二区三区综合免费在线| 丰满少妇作爱视频免费观看| 女人扒开下面无遮挡| 精品久久综合一区二区| 综合久久加勒比天然素人| 久久综合伊人77777麻豆| 日韩少妇内射免费播放| 免费中文熟妇在线影片| 亚洲一区二区三区精品久久 | 成人片黄网站a毛片免费| 亚洲av永久无码精品一区二区| 国产免费久久精品99re丫y| 精品一区二区三区老熟女少妇| 狠狠躁日日躁夜夜躁2022麻豆| 国产成人精品一区二区三区免费| 国产精品久久久久孕妇| 偷偷夜夜精品一区二区三区蜜桃 | 99久久久精品免费香蕉| 国内国外日产一区二区| 国产特级毛片aaaaaa高潮流水| 男人扒开女人下面狂躁小视频| 国产乱人伦真实精品视频| 日本精品少妇一区二区| 日本在线 | 中文| 又污又黄又无遮挡的网站| 国产午夜av一区二区三区| 在线观看国产视频你懂得| 国产精品亚洲欧美大片在线看| 精品人妻无码中文字幕在线| 久久久国产精品首页免费| 亚洲精品成人无限看| 天天躁日日躁狠狠躁av中文| 国内精品九九久久精品小草| 少妇免费av一区二区三区久久| 国产特级毛片aaaaaa| 亚洲国产成人手机在线电影| 隔壁的日本人妻bd高清中字| av色欲无码人妻中文字幕| 亚洲免费观看| 蜜桃一区二区三区在线视频|