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

        ?

        結(jié)合CNN和Catboost算法的惡意安卓應(yīng)用檢測模型

        2021-08-06 08:23:26林華智黃劍鋒林志毅
        計算機工程與應(yīng)用 2021年15期
        關(guān)鍵詞:安卓特征向量遺傳算法

        蘇 慶,林華智,黃劍鋒,林志毅

        廣東工業(yè)大學(xué) 計算機學(xué)院,廣州 510006

        2018 年間,360 互聯(lián)網(wǎng)安全中心記錄了大約1.1 億次惡意安卓應(yīng)用程序感染[1],說明網(wǎng)絡(luò)安全態(tài)勢存在嚴(yán)重威脅,也使得惡意安卓應(yīng)用檢測成為網(wǎng)絡(luò)安全的研究熱點之一。惡意安卓軟件檢測技術(shù)可分為靜態(tài)分析技術(shù)和動態(tài)分析技術(shù)兩大類[2]。其中動態(tài)分析技術(shù)是利用沙盒、虛擬機來仿真應(yīng)用的執(zhí)行過程,通過實時監(jiān)控應(yīng)用執(zhí)行過程中所產(chǎn)生的行為來判斷其是否為惡意軟件,此方法必須在程序運行時才能實施檢測,耗費資源和時間多。靜態(tài)分析法不執(zhí)行程序文件,而是先對程序進(jìn)行反編譯,然后提取特征值進(jìn)行分析和研究,是一類較為簡便的安卓惡意應(yīng)用判定方法。

        近年來,越來越多學(xué)者將機器學(xué)習(xí)或者深度學(xué)習(xí)方法應(yīng)用于惡意安卓應(yīng)用檢測。Zhu等人[3]提出通過提取權(quán)限、敏感的API 監(jiān)控系統(tǒng)事件和許可率等關(guān)鍵特性,采用整體旋轉(zhuǎn)森林(rotation forest)構(gòu)建一個經(jīng)濟(jì)有效的安卓應(yīng)用檢測模型,其檢測效果優(yōu)于支持向量機模型,但所選取的特征較少,檢測準(zhǔn)確率不高。Wang 等人[4]通過提取權(quán)限、硬件功能和接收者動作等122 個特征,使用多種機器學(xué)習(xí)分類器進(jìn)行訓(xùn)練和測試,并使用隨機森林分類器(random forest)獲得較高的分類準(zhǔn)確率,但由于未提取系統(tǒng)調(diào)用函數(shù)特征,導(dǎo)致誤報率比一般防病毒程序高。Suman 等人[5]提出通過提取權(quán)限和API 等特征,使用邏輯回歸(logistic regression)構(gòu)建分類模型,并且通過刪除低方差特征來優(yōu)化特征,獲得較好的分類效果。Wang等人[6]提取了權(quán)限、intent、API和硬件特性等11類共3萬多個特征,然后使用支持向量機(SVM)根據(jù)特征對檢測的重要性對特征進(jìn)行排序,并集成5種機器學(xué)習(xí)分類器進(jìn)行分類,實驗結(jié)果表明該集成方法優(yōu)于單一機器學(xué)習(xí)模型,然而該方法需要提取的特征較多,特征維度較大,檢測效率相對較低。Karbab等人[7]提取應(yīng)用程序API 作為特征,使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)來進(jìn)行檢測,實驗表明該方法在多個數(shù)據(jù)集檢測中具有較高的準(zhǔn)確性。Wang 等人[8]提出基于深度置信網(wǎng)絡(luò)(DBN)的惡意安卓應(yīng)用檢測方法,通過提取安卓應(yīng)用的權(quán)限和API 函數(shù)作為特征,采用DBN 進(jìn)行訓(xùn)練和測試,從而減少學(xué)習(xí)過程中的人工干預(yù)。Wang 等人[9]將卷積神經(jīng)網(wǎng)絡(luò)(CNN)與深度自編碼網(wǎng)絡(luò)(DAE)結(jié)合構(gòu)建CNN-DAE 檢測模型,提取了API、權(quán)限、硬件特性等多種特征來進(jìn)行訓(xùn)練,該方法相比機器學(xué)習(xí)方法提高了檢測精度,也相比CNN 減少了訓(xùn)練時間??傮w而言,深度網(wǎng)絡(luò)檢測方法的檢測效率較低,需要較大的樣本量。

        針對上述文獻(xiàn)中存在的安卓惡意檢測中存在的效率低、特征維度過大和樣本量不足等問題,本文提出一個結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(CNN)和Catboost 算法的混合檢測模型,同時具備了CNN 的局部感知和降維后特征保持不變性的能力,以及Catboost算法對樣本量和特征要求不高,不易過擬合的優(yōu)點。卷積神經(jīng)網(wǎng)絡(luò)的特征提取功能可以增強信號和降低向量維度,可以較好地解決特征篩選和特征維度過大的問題,提高檢測效率;運用魯棒性高和對樣本數(shù)量要求不高的Catboost 模型作為分類層進(jìn)行分類,可以解決樣本量不足而影響分類精度的問題。另外,使用遺傳算法對Catboost進(jìn)行快速的參數(shù)優(yōu)化,進(jìn)一步提高檢測精確度和效率。

        1 相關(guān)技術(shù)介紹

        1.1 CNN神經(jīng)網(wǎng)絡(luò)模型

        卷積神經(jīng)卷網(wǎng)絡(luò)(CNN)是一類包含卷積計算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò)[10],主要包括以下兩層。

        1.1.1 卷積層

        卷積層的功能是使用卷積核對輸入數(shù)據(jù)進(jìn)行特征提取,有規(guī)律地掃過輸入特征,在感受野內(nèi)對輸入特征做矩陣元素乘法求和并疊加偏差量:

        1.1.2 池化層

        池化層是對輸入的對象進(jìn)行抽象和降維,具有保持特征不變性和防過擬合作用。Lp池化是比較常用的一種池化方法,其一般表示形式為:

        其中,p是預(yù)指定參數(shù),當(dāng)p=0 時,Lp池化在池化區(qū)域內(nèi)取均值,被稱為均值池化;當(dāng)p→∞時,Lp池化在區(qū)域內(nèi)取極大值,被稱為極大池化[11]。

        1.2 Catboost模型

        Catboost 是一個基于梯度提升決策樹的機器學(xué)習(xí)框架,它將所有樣品的二進(jìn)制特征存儲于連續(xù)向量B又紅又專中,葉子節(jié)點的值存儲在大小為2d的浮點數(shù)向量中。對于樣本x,建立一個二進(jìn)制向量A:

        其中,B(x,f)從向量B讀取的樣本x上的二進(jìn)制特征f的值,而f(t,j)從深度i上的第t棵樹中的二進(jìn)制特征的數(shù)目。向量以數(shù)據(jù)并行的方式構(gòu)建,可以實現(xiàn)高達(dá)3倍的加速[12]。

        1.3 遺傳算法

        遺傳算法(Genetic Algorithm,GA)是一種通過模擬自然進(jìn)化過程搜索最優(yōu)解的方法[13],具有內(nèi)在的隱并行性和更好的全局尋優(yōu)能力,其基本流程如圖1所示。

        圖1 遺傳算法基本流程Fig.1 Workflow of genetic algorithm

        2 模型設(shè)計與實現(xiàn)

        2.1 CNN-catboost模型的網(wǎng)絡(luò)結(jié)構(gòu)

        本文提出的CNN-catboost混合分類模型,繼承了卷積神經(jīng)網(wǎng)絡(luò)提取局部特征能力強和降維后保留有效信息效果較好的優(yōu)勢,以及catboost 模型無需廣泛數(shù)據(jù)訓(xùn)練就可以產(chǎn)生較好分類效果的特點,并利用遺傳算法的全局尋優(yōu)調(diào)參能力縮減調(diào)參用時。其模型結(jié)構(gòu)如圖2所示。

        圖2 CNN-catboost模型結(jié)構(gòu)圖Fig.2 Structure of CNN-catboost model

        在CNN-catboost 模型中,首先輸入層輸入特征向量,卷積層對輸入的特征向量進(jìn)行提取和局部感知,利用卷積運算增強原始信號特征;然后再利用池化層對提取整合的特征進(jìn)行下采樣,在減少數(shù)據(jù)處理量的同時保留有用信息,減少冗余信息,特征維度降低,能促進(jìn)最后一層分類模型的快速收斂,從而降低模型的訓(xùn)練時間,有效提高分類模型的泛化能力;另外,通過使用遺傳算法對Catboost進(jìn)行參數(shù)優(yōu)化以進(jìn)一步提高Catboost模型的分類準(zhǔn)確率;最后在Catboost層對特征向量進(jìn)行訓(xùn)練和測試。

        安卓應(yīng)用的特征種類和數(shù)量較多,特征的選擇和處理是構(gòu)建泛化性強的安卓惡意應(yīng)用檢測模型的難點。將Catboost應(yīng)用于安卓惡意應(yīng)用檢測時,需要人工進(jìn)行特征選擇和過濾,其結(jié)果對Catboost的最終分類效果有重要影響。而CNN 模型具有自動學(xué)習(xí)特性,可以通過卷積層和池化層進(jìn)行自動地特征優(yōu)化,無需進(jìn)行人工構(gòu)造和過濾特征,可有效彌補Catboost在特征處理方面的不足。但是,將CNN應(yīng)用于分類時,存在對數(shù)據(jù)量要求高、學(xué)習(xí)過程長,訓(xùn)練速度慢的缺陷,而Catboost的優(yōu)勢在于不易過擬合,訓(xùn)練速度快,無需大量數(shù)據(jù)進(jìn)行訓(xùn)練即可獲得高準(zhǔn)確率的分類結(jié)果,正好可以改進(jìn)CNN 模型的上述問題。

        Catboost 的參數(shù)選取會影響其分類結(jié)果的準(zhǔn)確性,而且最優(yōu)化的參數(shù)有助于鞏固其魯棒性。而遺傳算法以多點和并行搜索尋找全局最優(yōu)解,在快速確定最優(yōu)參數(shù)群的同時避免陷入局部最優(yōu)解。因此應(yīng)用遺傳算法對Catboost 進(jìn)行調(diào)參,借助其良好的全局搜索能力,以較少的資源消耗和時間確定最優(yōu)化參數(shù),加快Catboost的收斂速度。

        綜上所述,本文結(jié)合CNN、Catboost 和遺傳算法的各自優(yōu)勢,利用CNN 中卷積層和池化層自動提取和選擇特征,自動抽取安卓應(yīng)用的本質(zhì)特征,將其作為Catboost 模型的輸入向量,并使用遺傳算法快速確定Catboost模型的最優(yōu)化參數(shù),構(gòu)造一個既避免人工選擇過濾特征,又無需較多的數(shù)據(jù)樣本就可以快速生成較好的檢測效果的模型。

        2.2 特征提取

        CNN-catboost模型的第一步是輸入特征向量,因此需要特征提取。本文首先使用androguard 工具提取到安卓應(yīng)用的權(quán)限、API類包、四大組件、intent特征和硬件特性等各種靜態(tài)特征;然后使用apktool 工具將APK 文件解碼得到smali文件,進(jìn)而提取OpCode特征[14]。

        (1)權(quán)限特征:在一般情況下,安卓惡意應(yīng)用申請的敏感權(quán)限比正常應(yīng)用多,正常應(yīng)用所申請的權(quán)限總量比惡意的多。本文選取了Android6.0 版本的25 個敏感權(quán)限和33個正常權(quán)限作為權(quán)限特征。

        (2)API 特征:Android 應(yīng)用的相關(guān)功能需要通過API調(diào)用來實現(xiàn)[15]。由于安卓API函數(shù)數(shù)量眾多且每個API 函數(shù)敏感高低難以統(tǒng)計,本文選取了Android SDK所提供的150個安卓API類作為特征。

        (3)組件數(shù)目:Android系統(tǒng)中的4種實用組件分別是Activity、Service、BroadcastReceiver 和ContentProvider。有些惡意家族應(yīng)用為了保持惡意家族特性,會在同族軟件中使用相同的服務(wù)名,所以本文提取這四種組件的數(shù)目作為特征。

        (4)intent 特征:Intent-Filter 動作action 用于描述意圖要執(zhí)行的行為[16]。比如DIAL撥打電話不需要打電話的權(quán)限,惡意應(yīng)用在用戶不知情的情況下可以越權(quán)撥打電話,因此本文選取了惡意應(yīng)用最常用的10個action來作為特征。

        (5)硬件特征:uses_feature 描述了安卓應(yīng)用所需要硬件特性,例如某惡意應(yīng)用會申請GPS來竊取用戶定位數(shù)據(jù),所以本文提取用戶最常使用的27 個硬件特性作為特征。

        (6)OpCode特征:同族惡意應(yīng)用變種往往具有高度相似的代碼邏輯,并且可以由操作符序列進(jìn)行表征。通過反編譯APK得到smali文件中包含的Dalivk指令[17],從中抽取反映程序語義的七大類核心指令集合V、T、M、G、I、R、P,并去掉操作數(shù),形成OpCode特征,如表1所示。

        表1 OpCode特征核心指令集Table 1 Core instruction set of OpCode feature

        2.3 特征預(yù)處理

        對于安卓權(quán)限特征,將選取的25 個敏感權(quán)限和33個正常權(quán)限依次排列組成一個特征向量,排列方式如圖3所示。若某一位取0則表示該權(quán)限在APK中未出現(xiàn),取1則反之。

        圖3 安卓權(quán)限排列示意圖Fig.3 Schematic diagram of Android permission arrangement

        與敏感行為相關(guān)的安卓API 函數(shù)大部分集中于content、location和net等10 個類包中。首先將140個普通API 類包按照Android 官方API 文檔的順序排列在前,再將10 個敏感類包排在后,構(gòu)成一個API 類包特征向量。一個API 類包在該APK 中出現(xiàn)的次數(shù)為該狀態(tài)的取值,如圖4所示。

        圖4 API類包排列示意圖Fig.4 Schematic diagram of API packages arrangement

        對于Activity、Service、BroadcastReceiver 和Content Provider 這4 種組件,取每種組件的數(shù)量為特征;intent特征中的動作所出現(xiàn)的次數(shù)即該向量值。

        對于27個硬件特性特征,特性相關(guān)聯(lián)的排列相鄰,如Camera/camera.Flash/camera.front這幾個排列在相鄰,某特性若是被引用,則對應(yīng)特征值為1,否則為0。

        對于提取到的OpCode特征,建立一個2-Gram模型,模型中每個子集出現(xiàn)的次數(shù)則為特征向量的該狀態(tài)值。

        將以上6 類共298 個特征映射到向量空間,形成一個安卓應(yīng)用的特征向量,如表2所示。

        表2 特征向量表示Table 2 Representation of feature vectors

        2.4 模型的訓(xùn)練過程

        CNN-catboost 混合模型的訓(xùn)練過程主要分為特征處理、分類與調(diào)參兩個過程,如圖5所示。

        圖5 CNN-catboost模型訓(xùn)練過程Fig.5 Training procedure of CNN-catboost model

        在特征處理過程中,由于特征向量中相似特性的特征相鄰,值為0的元素較多,導(dǎo)致訓(xùn)練模型的時間較長,因此設(shè)置一個卷積層來聚合特征。因為特征向量為一維,所以卷積核的尺寸可以為1×2或者1×3,并且將卷積核的值都設(shè)為整數(shù)。特征向量經(jīng)過卷積層處理后輸入到池化層,池化層為最大池化,池化窗口大小為1×2,步長為2,特征向量經(jīng)過下采樣后,其維度會至少降低為輸入向量的一半。

        在分類與調(diào)參過程中,首先將經(jīng)過處理的特征向量作為Catboost分類層的輸入向量,使用默認(rèn)參數(shù)進(jìn)行訓(xùn)練;然后運用遺傳算法對Catboost 分類層進(jìn)行調(diào)參,首先隨機初始化種群,使用二進(jìn)制編碼將待優(yōu)化參數(shù)轉(zhuǎn)換為染色體;然后計算模型的AUC值作為個體適應(yīng)值,來評定各個體的優(yōu)劣程度;然后采用輪盤賭法選擇出適應(yīng)性強的個體,并對染色體進(jìn)行單點交叉和基本位變異,保留其優(yōu)秀基因和產(chǎn)生有實質(zhì)性差異的新品種;最后更新種群,再次計算適應(yīng)度。重復(fù)上述步驟直至找到最優(yōu)參數(shù)。調(diào)參結(jié)束后再使用最優(yōu)參數(shù)值對特征向量進(jìn)行訓(xùn)練,最后輸出分類結(jié)果。

        3 實驗結(jié)果與分析

        本實驗方案設(shè)計思路如下:首先將應(yīng)用遺傳算法進(jìn)行調(diào)參,得到最優(yōu)參數(shù);然后在相同樣本量和特征維度的前提下,保持卷積層和池化層相同,在分類層分別選取Catboost 算法和其他5 種機器學(xué)習(xí)算法與CNN 進(jìn)行適配,共構(gòu)成6種CNN+機器學(xué)習(xí)算法混合模型,繼而對比這6 種混合模型在分類準(zhǔn)確度方面的效果;之后將CNN-catboost 模型與其他10 種較有代表性的和新出現(xiàn)的模型進(jìn)行比較;然后將CNN-catboost與單一機器學(xué)習(xí)模型、其他混合模型以及單一深度學(xué)習(xí)模型的訓(xùn)練時間進(jìn)行比較討論;緊接著將CNN-catboost與單一機器學(xué)習(xí)模型、其他混合模型以及單一深度學(xué)習(xí)模型在檢測耗時和資源利用率方面進(jìn)行比較和討論;最后在未知類型的安卓應(yīng)用數(shù)據(jù)集上檢測各模型的分類性能。

        3.1 實驗環(huán)境、數(shù)據(jù)集選取和評估指標(biāo)

        在實驗中,物理主機為8 GB 內(nèi)存,處理器為Intel Core i7-8750H,操作系統(tǒng)為64位Windows 10。

        實驗所采集的數(shù)據(jù)樣本源自加拿大網(wǎng)絡(luò)安全研究所(https://www.unb.ca/cic/datasets/android-adware.html)和VirusShare 網(wǎng)站(https://virusshare.com/),共有3 861個,其中良性樣本包括殺毒軟件、瀏覽器、通信軟件、生活常用軟件及管理類軟件等多種良性應(yīng)用,共1 690個;惡意樣本包括2012年至2017年的廣告軟件、勒索軟件、恐嚇軟件、短信惡意軟件及僵尸網(wǎng)絡(luò)軟件等多個家族的惡意應(yīng)用,共2 171個。

        本文使用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall),F(xiàn)1 值、AUC 值和檢測耗時這幾個標(biāo)準(zhǔn)進(jìn)行作為實驗結(jié)果判定指標(biāo),具體定義如下:

        將惡意軟件視為負(fù)例,良性軟件視為正例,其中TP:預(yù)測為正,判斷正確;FP:預(yù)測為正,判斷錯誤;TN:預(yù)測為負(fù),判斷正確;FN:預(yù)測為負(fù),判斷錯誤。AUC被定義為ROC曲線(接收者操作特征)與橫坐標(biāo)所組成的面積,可以直觀地評價分類器的性能,其值越大代表模型分類能力越好。

        3.2 基于遺傳算法的參數(shù)值優(yōu)化實驗

        分類模型的參數(shù)值會直接影響到分類的準(zhǔn)確性和效率。由于Catboost減少了對廣泛超參數(shù)調(diào)優(yōu)的需求,所以主要選取對模型影響比較大的4個參數(shù)進(jìn)行討論:最大樹數(shù)iterations、學(xué)習(xí)率learning_rate、樹深depth 和數(shù)值特征分割數(shù)border_count。其他參數(shù)設(shè)置為默認(rèn)值。根據(jù)遺傳算法的特點,結(jié)合常用的參數(shù)經(jīng)驗來初始化遺傳算法參數(shù)[13],設(shè)置初始群體大小為50,交叉概率為0.6,變異概率為0.01,以此產(chǎn)生新的基因,同時避免陷入單純的隨機搜索。

        在Catboost 算法的默認(rèn)參數(shù)中,最大樹為1 000,學(xué)習(xí)率為0.1,樹深為6,數(shù)值分割數(shù)為256;而本文運用遺傳算法的參數(shù)值進(jìn)行優(yōu)化嘗試,得到以下最優(yōu)參數(shù):最大樹為180,學(xué)習(xí)率為0.242,樹深為8,數(shù)值分割數(shù)為250。分別將上述兩種參數(shù)進(jìn)行檢驗,結(jié)果如圖6所示??梢园l(fā)現(xiàn),最優(yōu)參數(shù)在各項分類評估指標(biāo)中都優(yōu)于默認(rèn)參數(shù)。

        圖6 最優(yōu)參數(shù)與默認(rèn)參數(shù)對比Fig.6 Comparison between optimal parameters and default parameters

        3.3 CNN-catboost與其他CNN+機器學(xué)習(xí)模型對比實驗

        在保持卷積層和池化層相同的前提下,將CNNcatboost 模型與其他5 種CNN+機器學(xué)習(xí)算法混合模型進(jìn)行比。表3 列出了各混合模型中機器學(xué)習(xí)算法的重要參數(shù)。

        表3 混合模型中機器學(xué)習(xí)算法的主要參數(shù)Table 3 Dominating parameters of machine learning algorithm in hybrid model

        實驗結(jié)果如表4所示,可以發(fā)現(xiàn)CNN-catboost模型比其他CNN+機器學(xué)習(xí)算法具有更優(yōu)的分類準(zhǔn)確度。

        表4 CNN-catboost與其他CNN+機器學(xué)習(xí)模型實驗對比Table 4 Comparison between CNN-catboost and other CNN+machine learning models

        以AUC值為評估指標(biāo),將CNN-catboost與catboost、CNN-xgboost 與xgboost、CNN-decisiontree 與decision tree、CNN-randomforest 與random forest、CNN-logisticregression 與logistic regression、CNN-ensemble 與ensemble分別進(jìn)行對比。其中catboost、xgboost,decision tree、random forest、logistic regression 等算法的參數(shù)分別與其相對應(yīng)的CNN+機器學(xué)習(xí)算法混合模型中的機器學(xué)習(xí)算法的參數(shù)一致。在圖7 中,CNN-catboost 與catboost 簡化表述為CNN-/catboost,其余類似。由圖7可發(fā)現(xiàn),CNN+機器學(xué)習(xí)分類器混合模型的分類效果比單一機器學(xué)習(xí)分類器要好,而CNN-catboost 模型的AUC值最高,顯示該模型具有較好的性能。

        圖7 CNN+機器學(xué)習(xí)與單一機器學(xué)習(xí)實驗AUC值對比Fig.7 Comparison of experimental AUC values between CNN+machine learning and single one

        3.4 CNN-catboost模型與其他多種模型對比實驗

        將CNN-catboost模型分別與catboost、xgboost模型、決策樹decision tree、多層感知機MLP[18]、random forest模型[4]、logistic regression 模型[5]、ensemble 模型[6]、CNN模型[7]、DBN模型[8]和CNN-DAE模型[9]等分類模型進(jìn)行比較,實驗結(jié)果如表5 所示,可知CNN-catboost 的分類效果優(yōu)于其他模型。至于CNN等神經(jīng)網(wǎng)絡(luò)模型的分類效果不夠理想,原因在于樣本數(shù)量不夠,造成了過擬合。

        表5 CNN-catboost模型與其他模型實驗對比Table 5 Comparison between CNN-catboost and other models

        3.5 訓(xùn)練時間對比實驗

        由于decision tree模型、random forest模型[4]、logistic regression 模型[5]、ensemble 模型[6]等機器學(xué)習(xí)模型復(fù)雜度低,所以訓(xùn)練耗時比較小,但他們的分類準(zhǔn)確性也比較差,因此在本實驗中不列入訓(xùn)練時間比較范圍。本文將CNN-catboost模型分別與分類準(zhǔn)確率較高的模型,包括混合模型(如CNN-xgboost、CNN-DAE[9]),以及單一機器學(xué)習(xí)模型(如catboost)和單一深度學(xué)習(xí)模型(如CNN[7]、MLP[18]和DBN[8])等進(jìn)行訓(xùn)練時間方面的比較,結(jié)果如表6所示。

        從表6 看出,CNN-catboost 的訓(xùn)練時間與CNNxgboost 相當(dāng),比其他混合模型以及單一機器學(xué)習(xí)和深度學(xué)習(xí)模型的訓(xùn)練時間少。經(jīng)分析,原因如下:一方面,在本文的CNN-catboost模型中,經(jīng)過卷積層和池化層處理的特征向量,在保留了特征的有效信息的同時,也明顯降低了特征維度;另一方面,Catboost 算法對訓(xùn)練次數(shù)要求低,分類預(yù)測速度較快,而神經(jīng)網(wǎng)絡(luò)由于其非線性,梯度噪音等原因?qū)е聝?yōu)化步驟多,導(dǎo)致訓(xùn)練時間較長,因此導(dǎo)致CNN-catboost的訓(xùn)練開銷低于混合模型和單一深度學(xué)習(xí)模型和機器學(xué)習(xí)模型。

        表6 各模型的訓(xùn)練時間Table 6 Training time of each model

        3.6 模型檢測耗時和資源利用率對比實驗

        將CNN-catboost模型應(yīng)用于安卓應(yīng)用檢測,分析其在檢測耗時、CPU使用率和內(nèi)存使用率方面的表現(xiàn)。從3.1 節(jié)所述的數(shù)據(jù)集中選取511 個良性應(yīng)用和649 個惡意應(yīng)用(共1 159個)進(jìn)行實驗。繼續(xù)選取其他分類準(zhǔn)確率較高的模型與CNN-catboost進(jìn)行對比,包括混合模型CNN-xgboost、CNN-DAE[9],單一機器學(xué)習(xí)模型catboost和單一深度學(xué)習(xí)模型CNN[7]、MLP[18]和DBN[8]等,結(jié)果如表7所示。

        表7 檢測耗時和資源利用率對比Table 7 Comparison of detection time and resource utilization

        由表7 可知,CNN-catboost 的檢測時間和內(nèi)存使用率優(yōu)于其他模型,CPU 使用率也優(yōu)于大部分模型,說明將CNN-catboost 應(yīng)用于安卓應(yīng)用檢測時具有檢測耗時短、資源耗費少的優(yōu)點。

        3.7 未知類型應(yīng)用檢測實驗

        在本次實驗中,利用CNN-catboost模型對隨機搜集的未知類型的安卓應(yīng)用進(jìn)行檢測,以檢驗其在實際應(yīng)用中的效果。首先從各大安卓應(yīng)用市場下載1 007個未知類型的安卓APK包,然后上傳至VirusTotal(https://www.virustotal.com/)在線查毒網(wǎng)站進(jìn)行分類檢測,檢測結(jié)果作為本次實驗的檢測基準(zhǔn)。VirusTotal 網(wǎng)站對此1 007個樣本進(jìn)行檢測的結(jié)果為:良性樣本751 個,惡意樣本256 個。繼續(xù)使用3.6 節(jié)中提及的其他模型所得的檢測結(jié)果進(jìn)行對比,實驗結(jié)果如表8 所示,其中Recall1 為良性樣本召回率,Recall2為惡意樣本召回率。

        表8 基于未知類型安卓應(yīng)用數(shù)據(jù)集的各模型對比Table 8 Comparison of models based on unknown Android app dataset

        由表8 可知,在未知類型的應(yīng)用檢測中,相比于其他模型,CNN-catboost 可較好地區(qū)分良性和惡意應(yīng)用,誤判率比較低,切合對各種安卓應(yīng)用進(jìn)行安全檢測的實際需求。

        4 結(jié)語

        本文提出一種有效地將卷積神經(jīng)網(wǎng)絡(luò)特征提取和降維能力以及catboost模型魯棒性強的分類能力結(jié)合的混合模型CNN-catboost,該模型不僅兼具卷積神經(jīng)網(wǎng)絡(luò)可以增強特征信號,減少冗余信息的優(yōu)點,同時還融合了catboost模型的低數(shù)據(jù)量要求即可獲得較好分類結(jié)果的優(yōu)勢,通過運用遺傳算法進(jìn)行調(diào)參進(jìn)一步提升catboost 模型的分類準(zhǔn)確率。經(jīng)過實驗驗證,該模型在提高了惡意安卓應(yīng)用檢測準(zhǔn)確率的同時,也有效地縮短了訓(xùn)練時間,因而具有一定的實踐應(yīng)用價值。

        鑒于深度學(xué)習(xí)方法對安卓惡意軟件檢測具有良好的發(fā)展前景,因此在下一步工作中將繼續(xù)優(yōu)化深度學(xué)習(xí)模型,進(jìn)一步提高惡意安卓應(yīng)用檢測精度和效率。

        猜你喜歡
        安卓特征向量遺傳算法
        二年制職教本科線性代數(shù)課程的幾何化教學(xué)設(shè)計——以特征值和特征向量為例
        克羅內(nèi)克積的特征向量
        文物表情包
        一類特殊矩陣特征向量的求法
        基于自適應(yīng)遺傳算法的CSAMT一維反演
        一種基于遺傳算法的聚類分析方法在DNA序列比較中的應(yīng)用
        EXCEL表格計算判斷矩陣近似特征向量在AHP法檢驗上的應(yīng)用
        基于遺傳算法和LS-SVM的財務(wù)危機預(yù)測
        一種基于安卓系統(tǒng)的手機側(cè)抓包分析方法
        基于改進(jìn)的遺傳算法的模糊聚類算法
        中文字幕乱码免费视频| 91九色极品探花内射| 亚洲视频高清一区二区| 亚洲av综合a色av中文| 国产女合集小岁9三部| 中文字幕有码在线视频| 国产不卡av一区二区三区| 高黄暴h日本在线观看| 久久www色情成人免费观看| 手机看片福利日韩| 精品一区二区三区免费播放| 欧美亚洲高清日韩成人| 久久精品国产亚洲av调教| 精品久久亚洲中文字幕| 国产深夜男女无套内射| 在线视频这里只有精品| 二区三区视频在线观看| 国产精品久久免费中文字幕| 国产莉萝无码av在线播放| 精品视频999| 经典亚洲一区二区三区| va精品人妻一区二区三区| 四虎成人精品在永久免费| 国产专区国产av| 动漫av纯肉无码av在线播放| 日韩女优视频网站一区二区三区| 久久精品无码一区二区日韩av| 无码h黄动漫在线播放网站| 国产亚洲曝欧美不卡精品| 精品国产亚洲第一区二区三区| 狠狠色综合7777久夜色撩人| 亚洲夜夜骑| 手机在线看片在线日韩av| 漂亮人妻洗澡被公强 日日躁| 日本丰满熟妇bbxbbxhd| 成人日韩av不卡在线观看| 亚洲无人区乱码中文字幕动画| 夜夜爽妓女8888888视频| 久久精品国产亚洲av瑜伽| 天堂视频一区二区免费在线观看 | 日本在线观看一区二区视频|