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

一種基于生物啟發特征優化的Android惡意軟件檢測方法

2022-07-12 14:23:08黃嘯晨封化民王子曄魚海洋
計算機應用與軟件 2022年6期
關鍵詞:分類特征優化

黃嘯晨 封化民 劉 飚 王子曄 魚海洋 葛 鴿

1(西安電子科技大學通信工程學院 陜西 西安 710071) 2(北京電子科技學院 北京 100070)

0 引 言

Android平臺自2007年發布以來,憑借其開源、免費的優勢,迅速成為目前市場占有量最大的智能終端平臺。截至2019年10月,Android平臺在全球移動市場的占有率已經高達76.67%[1],也因此成為惡意犯罪者的首選目標。據360互聯網安全中心統計,2019年上半年Android平臺新增惡意軟件樣本約92.0萬個,平均每天截獲新增手機惡意軟件樣本約0.5萬個[2]。面對Android平臺日益嚴重的安全問題,研究如何快速高效檢測Android惡意軟件具有重要意義。

近年來,許多研究者嘗試通過機器學習的方法,分析軟件的靜態或動態行為特征,對Android惡意軟件進行檢測[3]。相比之下,靜態行為特征的獲取時間開銷較低、代碼覆蓋率較高、易于統計分析,成為目前國內外學者的主要研究方法。

靜態行為特征主要通過對Android軟件安裝包(APK)進行逆向處理,獲得如權限、應用程序編程接口(API)、意圖信息、網絡地址、硬件組件等靜態特征。文獻[4]提出一種基于權限的檢測框架,使用主成分分析(PCA)選擇突出特征并應用SVM進行分類。文獻[5]利用BNS(Bi-normal Separation)文本分類技術和MI(Mutual Information)互信息技術進行權限特征提取,借助數據挖掘工具WEKA進行分類。但是單一的權限特征無法全面反映Android軟件的行為特征,檢測精度不高。文獻[6]使用權限和API作為特征,分別使用卡方校驗(CHI)和信息增益(IG)對特征進行選擇。文獻[7]通過提取權限、意圖、API、組件等8類特征,結合SVM算法設計了Android惡意軟件檢測工具Drebin。然而該工具使用的行為特征數量龐大,導致在檢測過程中時間、計算開銷較高。

針對Android軟件靜態行為特征數量龐大、冗余信息較多,文獻[8]對Drebin軟件樣本集分別采用粒子群算法(PSO)和進化算法(EC)優化選擇分類特征,并采用AdaBoost算法構建Android惡意軟件檢測模型,該研究僅提取了單一的權限特征進行分析,檢測精度較低。文獻[9]對權限和組件特征利用遺傳算法(GA)獲得最優特征子集,使用SVM和神經網絡進行分類,降低了分類器的訓練時間復雜度,然而GA參數較多,嚴重影響了最優解的品質。文獻[10]提出基于鄰域粗糙集與PSO的PSORS-FS方法,使用粗糙集概念作為特征之間依賴性的度量,并利用兩個Android軟件樣本集對該方法進行評估,該方法使用屬性依賴度和特征子集長度構成適應度函數,而未考慮分類器的準確率,降低了計算開銷,但最終檢測精度不高。文獻[11]使用L1正則化與改進的粒子群算法(SVBPSO)進行混合式特征優化選擇,提高了Android惡意軟件檢測精度,但L1選擇的特征數量、SV最佳組合、局部搜索間隔對優化算法影響較大,計算復雜度較高。

本文在已有的研究基礎上,提出一種基于BWOA進行特征優化的Android惡意軟件檢測方法,主要工作如下:

(1) 提取Android軟件的權限、組件、API作為靜態行為特征,以便于全面準確地描述Android軟件。

(2) 提出融合信息增益(IG)和離散二進制鯨魚優化算法(BWOA)的混合特征選擇算法,將無關和冗余特征去除,提高分類器的效率和性能。

(3) 將WOA與SVM分類模型相結合,設計了一種基于分類準確率、特征子集長度、支持向量個數的新適應度函數,利用WOA在最優特征子集選擇的同時,同步優化SVM的關鍵參數。

1 信息增益算法

信息增益算法[12]通過計算每個特征對數據集的信息增益,過濾選擇出具有更強分類能力的特征。設Android軟件數據集為D,特征A對D的信息增益為IG(D,A),其計算公式如下:

IG(D,A)=H(D)-H(D|A)

(1)

根據信息論中信息熵的概念,H(D)與H(D|A)的計算公式如下:

(2)

(3)

式中:E為類別集合,|E|為類別數;P(ci)表示ci類在Android軟件數據集D中出現的概率;P(A)為特征A在D中出現的概率,P(A)為未出現的概率;P(ci|A)為Android樣本包含特征A時屬于ci的概率,P(ci|A)為不包含A時屬于ci的概率。

IG(D,A)表示由于特征A而對Android軟件數據集D的分類的不確定性減少的程度。當Android軟件數據集中的某個特征的信息增益越大,說明這個特征越重要,對分類影響越大。反之,信息增益很小的特征對分類影響較小,甚至會影響分類精度,增加計算開銷[13]。

2 離散二進制鯨魚優化算法

2.1 基本鯨魚優化算法

WOA是文獻[14]于2016年提出的一種新型群體智能優化算法。由以下三個階段構成:

(1) 收縮包圍。鯨魚可以識別獵物位置并將其包圍,其數學模型如下:

D=|H·X*(t)-X(t)|

(4)

X(t+1)=X*(t)-A·D

(5)

式中:t為迭代次數,X*(t)目前為止最優鯨魚個體位置向量,X(t)為當前鯨魚個體位置向量。A和H由以下公式得出:

A=2a·r1-a

(6)

H=2r2

(7)

式中:r1和r2為[0,1]之間隨機數,a的值從2到0線性遞減。

(2) 螺旋更新。鯨魚會針對獵物位置以螺旋軌跡更新位置,其數學模型如下:

D′=|X*(t)-X(t)|

(8)

X(t+1)=D′·ebl·cos(2πl)+X*(t)

(9)

式中:b是定義螺旋形狀的常數,l是[-1,1]的隨機數。

(3) 隨機搜索。當|A|>1時,鯨魚個體根據彼此位置進行隨機搜索,其數學模型如下:

D=|H·Xrand(t)-X(t)|

(10)

X(t+1)=Xrand(t)-A·D

(11)

式中:Xrand(t)為隨機選擇的鯨魚個體位置向量。

2.2 WOA的離散二進制化

在WOA中,鯨魚粒子的搜索空間為連續空間。然而在特征選擇問題中,解向量是一條只包含0和1的數值向量,其中每一維的值代表是否選擇該特征。為了解決特征選擇問題,必須將連續空間的值轉換為相應的二進制值。因此提出離散二進制鯨魚優化算法。

為保證鯨魚粒子位置向量的每一維只能取值0或1,引入sigmoid映射函數將連續空間的值轉換到離散空間:

(12)

(13)

2.3 適應度函數設計

適應度函數用于評估WOA中鯨魚粒子的優劣。在以往的特征選擇問題研究中,研究者通常使用分類器的準確率和選取特征的數量來定義適應度函數,用于評估每個特征子集[15]。

在使用群體智能優化算法進行特征選擇時,最常使用的是SVM分類器[16]。因支持向量(Support Vector)的個數對模型的泛化能力有重要影響,故在適應度函數上增加了模型支持向量個數項。新的適應度函數如下:

(14)

式中:Acc是模型準確率;α是其權重;L是特征總數;R是所選特征子集長度;β是特征數量的權重;M是Android樣本總數;Vi表示第i個樣本是否為支持向量,若是取值為1,反之取值為0;ω是支持向量個數項的權重。

3 BWOA-SVM惡意軟件檢測方法

3.1 模型設計

本文提出的基于BWOA-SVM的Android惡意軟件檢測方法的框架如圖1所示。整個過程主要包括三個部分:

(1) 逆向分析Android樣本文件,提取權限、組件、API靜態行為特征構造特征向量集合。

(2) 利用信息增益和BWOA算法進行特征選擇,同時對SVM參數組合(C,γ)同步優化。

(3) 根據最優特征子集和最佳參數組合(C,γ)對Android軟件進行分類檢測。

圖1 Android惡意軟件檢測方法框架

3.2 特征提取

特征提取部分運用Androguard工具[17]對樣本進行逆向處理,提取權限、組件、API作為特征,通過量化特征構建特征向量并合并為數據集。具體過程如下:

(1) 逆向處理Android軟件樣本,獲取AndroidManifest.xml和smali文件。

(2) 解析AndroidManifest.xml,統計權限、組件信息;解析smali文件,獲取API信息。

(3) 對提取的特征進行去重處理,去除重復特征,構建特征集合FS。

(4) 將特征的有無量化為“1”或“0”,并在特征向量末尾添加標志位“mal”或“ben”,其中“mal”表示惡意軟件,“ben”表示良性軟件。

3.3 BWOA-SVM特征參數同步優化方法

Android軟件靜態行為特征數量龐大,屬性之間相關性強,冗余信息較多。大量的不相干、冗余特征會降低分類器的精度和分類算法運行效率。本節利用信息增益和BWOA進行特征選擇。首先通過信息增益算法過濾掉對分類沒有影響或分類影響不大的特征,以減少后續BWOA的搜索空間,提高BWOA的搜索效率;然后運用BWOA尋找最優特征子集,并對SVM分類模型的關鍵參數(懲罰因子C,核函數參數γ)進行同步優化。

3.3.1粒子編碼方案

種群中每個粒子的位置向量由兩部分組成。粒子的第一部分前n位采用離散編碼,對應特征選擇的一個特征子集,n為數據集特征總數。如果第i位為1,則表示第i個特征被選中;如果為0,則未被選中。粒子的第二部分后2位采用連續編碼,對應SVM分類模型的關鍵參數(C,γ)。粒子編碼方案如圖2所示。

圖2 粒子編碼方案

3.3.2算法流程

基于BWOA-SVM的同步優化算法首先將原始數據集輸入,去掉信息增益小于給定閾值的特征,然后運用BWOA和連續WOA分別對所選特征和參數進行編碼,以SVM模型的準確率、特征子集長度、支持向量個數三種指標作為評價標準,輸出得到使適應度函數最高時的特征子集和SVM參數組合。算法實現過程如下:

輸入:原始數據集D,鯨魚種群規模N,最大迭代次數T。

輸出:最優特征子集M,最優參數組合(C,γ)。

1) 采用式(1)計算數據集D中每個特征的信息增益,去除低于閾值的特征,得到初選特征子集D′。

2) 初始化鯨魚種群,設定相關參數,包括種群規模N、最大迭代次數T、粒子維度n+2(其中n為D′特征數量)。

3) 利用式(14)計算每個鯨魚個體的適應度值,記錄最優個體位置向量X*。

4) 當t≤T時,更新a、A、H、l、p的值。

5) 當p<0.5時,若|A|<1,根據式(5)更新個體位置向量;若|A|≥1,根據式(11)更新個體位置向量。

6) 當p≥0.5時,根據式(9)更新個體位置向量。

7) 利用式(13)對個體前n維進行離散二進制化。

8) 利用式(14)計算新的種群中每個個體的適應度值,更新最優個體位置向量X*。

9) 判斷是否達到最大迭代次數T,若未達到T,使得t=t+1,重復步驟4)至步驟8)。若已達到T,輸出最優特征子集M和最優參數組合(C,γ)。

4 實 驗

4.1 數據集和評判指標

本文實驗所用的Android惡意樣本來源于virusshare[18],良性樣本借助爬蟲從Google Play抓取,去除其中無法逆向分析的無效樣本后,共收集惡意、良性樣本各1 000個。

為評判檢測方案效果,作如下定義:TP表示惡意樣本判為惡意的數量,FP表示良性樣本誤判為惡意的數量,TN表示良性樣本判為良性的數量,FN表示惡意樣本誤判為良性的數量。由此構成評判Android檢測方案的4個常用指標[3]:

檢測率:TPR=TP/(TP+FN),表示惡意樣本中正確分類為惡意軟件的比例。

誤報率:FPR=FP/(FP+TN),表示良性樣本中錯誤分類為惡意軟件的比例。

漏報率:FNR=FN/(TP+FN),表示惡意樣本中錯誤分類為良性軟件的比例。

準確率:ACC=(TP+TN)/(TP+FP+FN+TN),表示所有樣本中正確分類的比例。

4.2 實驗設置

本文提出的BWOA-SVM方法是用Python 3.7語言編程設計實現的,SVM為Sklearn庫[19]中集成,并以徑向基函數(RBF)為核函數,采用十折交叉驗證法對SVM分類器進行評價。BWOA-SVM方法的參數設置如表1所示。

表1 參數設置

4.3 不同優化算法對比實驗

為了驗證本文方法的有效性,本文實現了基于GA、BPSO的同步優化方法,并與本文方法進行比較和分析。GA、BPSO、BWOA三種同步優化算法的適應度函數值迭代曲線如圖3-圖5所示。圖中X軸表示迭代次數,Y軸表示適應度函數值,兩條曲線分別代表最優適應度值和平均適應度值。其中最優適應度值為截止到第t代時最優個體的適應度函數值,平均適應度值為第t代中所有個體的適應度函數的平均值。各算法在Android軟件樣本集上最優適應度值迭代曲線如圖6所示。

圖3 GA-SVM算法適應度函數值迭代曲線

圖4 BPSO-SVM算法適應度函數值迭代曲線

圖5 BWOA-SVM算法適應度函數值迭代曲線

圖6 各算法最優適應度函數值迭代曲線

可以看出,本文提出的BWOA-SVM方法在尋優過程中全局搜索能力更強,相對于GA、BPSO兩種優化算法可以很好地避免陷入局部最優的困境,并且本文算法的收斂速度也明顯快于其他兩種算法,在第16次迭代時便已趨于穩定,趨于穩定之后的適應度函數值高于GA、BPSO優化算法,特征參數同步優化性能較好。

4.4 與其他方法對比實驗

由于Android軟件樣本集多為研究者各自收集整理的樣本集,因此本文通過復現文獻[9]、文獻[10]、文獻[11]的方法進行對比分析。文獻[9]利用遺傳算法將特征數量減少到原始特征集的不到一半,以減少SVM分類器的復雜度,同時保持分類的準確率。文獻[10]提出基于鄰域粗糙集與粒子群算法的PSORS-FS方法,獲得了很好的分類性能。文獻[11]通過改進BPSO算法,使用SVBPSO算法進行特征選擇后的檢測性能得到提高。為使實驗結果更具有說服力,在對比實驗中采用雙層交叉驗證方法進行驗證,首先通過五折交叉驗證法確定最優特征子集以及SVM參數,然后對特征參數同步優化結果通過十折交叉驗證法評價SVM分類器性能,取5次實驗的平均結果。各方法的分類結果如表2所示。

表2 不同方法實驗結果比較

可以看出,文獻[9]僅使用GA進行特征選擇,該算法參數較多,且初始種群對算法的尋優能力影響較大,易陷入局部最優,因此檢測能力較差。文獻[10]提出的PSORS-FS方法使用粗糙集概念中屬性依賴度和特征子集長度構成適應度函數,而未考慮將分類器的準確率作為評判指標,雖然相比于GA的性能得到改善,但仍擁有較高的漏報率。文獻[11]針對BPSO進行改進,在使用S型函數進行離散二進制化的過程中,每隔一定的迭代次數使用V型函數進行離散二進制化,一定程度上改善了BPSO的易早熟收斂的缺點。

本文提出的BWOA-SVM算法實現簡單,相比于傳統的基于梯度的優化算法而言可以通過粒子二進制編碼有效解決特征選擇這類離散優化問題,完成特征與參數的同步優化,擁有較好的自適應性,而且群體內個體的故障不影響整體優化問題的求解,保證了較好的魯棒性。BWOA需要設置的參數較少,僅需要設置種群規模和最大迭代次數便可進行尋優,而且三個尋優階段使得該算法相比于其他優化算法全局搜索能力更強,保證了種群的多樣性,對隨機生成的初始種群依賴度較低,更易找到最優解,避免陷入局部最優解。將SVM分類器的準確率、特征子集長度、支持向量個數作為適應度函數,保證在最小的特征數量、最少的支持向量個數的同時,獲得最高的準確率,降低了計算開銷,避免過擬合,提高了模型的泛化能力。通過實驗表明,對Android軟件數據集的檢測準確率和檢測率分別達到97.88%和97.85%,相對于其他方法有明顯的提高,誤報率和漏報率也有一定程度的降低,證明了本文提出方法的可行性和有效性。

5 結 語

面對日益嚴重的Android惡意軟件泛濫問題,本文提出了一種基于生物啟發BWOA進行特征優化的Android惡意軟件檢測方法。該方法提取權限、組件、API等作為特征屬性,利用BWOA實現在選擇最優特征子集的同時,同步優化SVM關鍵參數,其中適應度函數采用分類準確率、特征子集長度、支持向量個數作為評判標準。實驗結果表明,該方法能夠達到97.88%的準確率,擁有很好的自適應性,在Android惡意軟件檢測方面具有較好的性能。

猜你喜歡
分類特征優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
分類算一算
一道優化題的幾何解法
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
主站蜘蛛池模板: 五月天香蕉视频国产亚| 欧洲成人在线观看| 九九这里只有精品视频| 2020精品极品国产色在线观看| 国产女同自拍视频| 国产国产人成免费视频77777| 国产成人啪视频一区二区三区| 久久亚洲精少妇毛片午夜无码| 国产熟女一级毛片| 91视频区| 欧美精品黑人粗大| 5388国产亚洲欧美在线观看| 一区二区影院| 精品少妇人妻无码久久| 宅男噜噜噜66国产在线观看| 亚洲三级影院| 在线看AV天堂| 1024国产在线| 成人午夜网址| 色婷婷亚洲综合五月| 午夜丁香婷婷| 午夜色综合| 欧美精品亚洲精品日韩专| 日韩a级片视频| 99er这里只有精品| 日本AⅤ精品一区二区三区日| 一级毛片在线播放| 中文字幕无线码一区| 久久久久久久97| 久久6免费视频| 日本日韩欧美| 欧美乱妇高清无乱码免费| 尤物午夜福利视频| 小说 亚洲 无码 精品| 操国产美女| 国产欧美日韩另类精彩视频| 一级成人欧美一区在线观看| 国产亚洲欧美日本一二三本道| 色综合五月婷婷| 国内精品视频| 免费视频在线2021入口| 五月天福利视频| 欧美啪啪精品| 99热这里只有精品在线观看| 国产精品视频久| 日本不卡在线播放| 伊人无码视屏| 日韩精品亚洲精品第一页| 被公侵犯人妻少妇一区二区三区| 婷婷色一二三区波多野衣| 国产精品久久久久鬼色| 一本大道香蕉久中文在线播放| 精品国产中文一级毛片在线看| 国产精品蜜臀| 农村乱人伦一区二区| 久久久久88色偷偷| 青青青视频免费一区二区| 91视频日本| 日韩欧美高清视频| 极品国产一区二区三区| 97av视频在线观看| 国产97色在线| 国产精品成| AV无码国产在线看岛国岛| av性天堂网| 日韩在线网址| 日本高清免费一本在线观看| 国产极品粉嫩小泬免费看| 青青青草国产| 久久国产热| 欧美乱妇高清无乱码免费| 91精品国产丝袜| 这里只有精品在线| 亚洲综合久久成人AV| 成人精品视频一区二区在线| 91精品aⅴ无码中文字字幕蜜桃| 伊人久久大线影院首页| 视频二区中文无码| 91精品国产91久无码网站| 亚洲va欧美ⅴa国产va影院| 亚洲无线视频| 岛国精品一区免费视频在线观看|