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ù)的分類
抓住特征巧觀察
主站蜘蛛池模板: 国产乱人乱偷精品视频a人人澡| 国语少妇高潮| 尤物精品国产福利网站| 色综合久久久久8天国| 在线观看国产小视频| 国产欧美日韩精品第二区| 中国特黄美女一级视频| 欧美日韩在线第一页| 国产午夜人做人免费视频| 国产精品理论片| 九九热免费在线视频| 97狠狠操| 国产精品污污在线观看网站| 香蕉国产精品视频| 午夜国产不卡在线观看视频| 欧美亚洲国产精品久久蜜芽| 欧美精品色视频| 久久久久国产精品免费免费不卡| 欧美一区二区福利视频| 欧美日韩午夜| www成人国产在线观看网站| 国产91丝袜在线播放动漫 | 99热国产这里只有精品无卡顿" | AV不卡在线永久免费观看| 亚洲精品天堂在线观看| www.国产福利| 成人福利在线视频免费观看| 成人免费网站在线观看| 国产在线一区二区视频| 四虎在线高清无码| 色有码无码视频| 亚洲国产91人成在线| 97精品国产高清久久久久蜜芽| 国产香蕉国产精品偷在线观看| 91久久夜色精品国产网站| 国产特级毛片aaaaaaa高清| 97se亚洲综合在线韩国专区福利| 呦视频在线一区二区三区| 亚洲天堂视频在线免费观看| 99免费在线观看视频| 97亚洲色综久久精品| 国产午夜不卡| 青青草91视频| 免费黄色国产视频| www.99在线观看| 一区二区影院| 伦精品一区二区三区视频| 无码一区中文字幕| 亚洲天堂网在线观看视频| 国产激情无码一区二区免费| 久久夜夜视频| 国产99在线观看| 99热这里只有精品2| 国产视频欧美| 久久久久久久久亚洲精品| 国产特级毛片aaaaaa| 亚洲码一区二区三区| 又大又硬又爽免费视频| 国内精品一区二区在线观看| 亚洲精品色AV无码看| 亚洲国产中文综合专区在| 天堂亚洲网| 国产91在线免费视频| 天天色天天操综合网| 97成人在线视频| 免费视频在线2021入口| 久热这里只有精品6| 午夜视频www| 国产精品亚洲精品爽爽| 国产日韩欧美中文| 91精品国产情侣高潮露脸| 在线观看亚洲国产| 伊人AV天堂| 久久久久久尹人网香蕉| 亚洲三级影院| 日韩欧美国产区| 麻豆精品在线视频| 亚洲有无码中文网| 国产99视频免费精品是看6| 好吊色妇女免费视频免费| 国产专区综合另类日韩一区| 国产微拍精品|