999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用單分類SVM算法檢測Android應(yīng)用程序①

2021-06-28 06:27:58毛保磊劉慧英
關(guān)鍵詞:分類特征檢測

管 峻,毛保磊,劉慧英

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

2(鄭州大學(xué),鄭州 450001)

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

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

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

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

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

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

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

1 相關(guān)工作

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

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

2 單分類SVM 算法的基礎(chǔ)知識

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

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

圖1 單分類算法示意圖

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

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

約束于:

3 單分類SVM 算法檢測Android 惡意應(yīng)用的方法

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

圖2 本文單分類SVM 算法檢測應(yīng)用程序流程圖

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.3 單分類SVM 算法檢測應(yīng)用程序

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

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

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

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

4 總結(jié)

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

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

猜你喜歡
分類特征檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
分類算一算
如何表達(dá)“特征”
不忠誠的四個(gè)特征
分類討論求坐標(biāo)
數(shù)據(jù)分析中的分類討論
教你一招:數(shù)的分類
抓住特征巧觀察
主站蜘蛛池模板: 国产va欧美va在线观看| 欧美人与动牲交a欧美精品| 一级香蕉人体视频| 国产精品9| 福利视频一区| 亚洲综合欧美在线一区在线播放| 成人免费一级片| 亚洲成人精品在线| 这里只有精品在线| 成年女人18毛片毛片免费| 久久久久久久久亚洲精品| 国产美女精品人人做人人爽| 日本人真淫视频一区二区三区| jizz国产视频| 九色综合伊人久久富二代| 国产精品短篇二区| 国产自在线拍| 国产亚洲欧美在线专区| 免费A∨中文乱码专区| 国产精品尹人在线观看| 影音先锋丝袜制服| 国产精品 欧美激情 在线播放| 久久无码av三级| 亚洲电影天堂在线国语对白| 在线观看国产网址你懂的| 国产91精品久久| 欧美爱爱网| 免费看美女自慰的网站| 亚洲乱伦视频| 日本三级精品| 色妺妺在线视频喷水| 性视频一区| 久久亚洲国产最新网站| 亚洲国产欧美目韩成人综合| 精品视频在线一区| 欧美精品1区| 五月婷婷精品| 欧美啪啪一区| 国产一区成人| 亚洲一区二区在线无码| 日本亚洲成高清一区二区三区| 在线免费无码视频| 2048国产精品原创综合在线| 精品视频福利| 欧美日韩专区| 制服丝袜亚洲| 中文字幕欧美成人免费| 无码国产偷倩在线播放老年人| 亚洲首页国产精品丝袜| 国产在线视频导航| 在线免费看片a| 99久久成人国产精品免费| 人人91人人澡人人妻人人爽| 综合网久久| 亚洲欧美综合另类图片小说区| 国产精品99一区不卡| 99精品国产高清一区二区| 国产视频久久久久| 大乳丰满人妻中文字幕日本| 久久免费观看视频| 国产流白浆视频| 色九九视频| 亚洲国产精品无码AV| 免费国产高清视频| 91精品情国产情侣高潮对白蜜| 999精品免费视频| 在线a网站| 国产原创演绎剧情有字幕的| 91在线精品麻豆欧美在线| 在线观看亚洲国产| 99热国产这里只有精品无卡顿"| 久久久久久国产精品mv| 国产一区二区三区日韩精品| 成人在线观看一区| 九九九国产| 国产黑丝视频在线观看| 亚洲AⅤ无码日韩AV无码网站| 欧美区一区二区三| 欧美性精品| 18禁高潮出水呻吟娇喘蜜芽| 一级毛片中文字幕| 全部无卡免费的毛片在线看|