中圖分類號:TP311.5 文獻標(biāo)志碼:A 文章編號:2095-2945(2025)18-0045-05
Abstract:Android,asthemostpopularoperatingsystemtodayofersconvenience tousersthroughitsopennessandwide application.However,thissameopennessalsoprovidesopportunitiesformalwaredevelopment,posingsignificantthreatstousers personalprivacyanddatasecurity.Toaddressthisisue,thisstudyproposesanintegratedlearning-basedmethodforfeature extractionanddetectionofAndroidmalware.TheauthorizationrequestofAndroidAPKisextractedasfeaturepointsthrough automatedscripts,combinedwithanenhancedsupportvector machine(E-SVM)modelandaconvolutionalneuralnetwork (CNN)modelforintegratedlearningtraining,generatedahybridmodel,andusedtoimprovethedetectionrateofAndroid malware.Final experimental data shows that the detection accuracy rate for malware reaches more than 96%
Keywords:malware;machinelearning;deep learning;inheritancelearning;feature extractionand detection
現(xiàn)如今,Android作為全世界最為流行的作業(yè)系統(tǒng),占有著全世界百分之八十的市場份額,已經(jīng)擁有了成千上萬的用戶。同時Android也是世界上最大的開源碼程序之一,使用者以及開發(fā)者都可以通過Google提供的原始碼了解整個系統(tǒng)的運作流程。這種開源的作業(yè)系統(tǒng)所帶來的優(yōu)點即廠商可以根據(jù)自己的需求來制定自己想要的作業(yè)系統(tǒng)及軟件,但是缺點也很顯而易見,就是各種惡意流氓軟件的橫行。在各大應(yīng)用商店中,充斥了各種類型不同的惡意軟件或者是流氓軟件,這些軟件表面上看過去和普通的軟件并沒有什么區(qū)別,但是內(nèi)藏了很多惡意的程序和后門,直接或者間接地危害著使用者的手機安全。本文提出了一種基于集成學(xué)習(xí)的特征提取與檢測方法,首先采用目前市面上最為成熟的靜態(tài)分析方法提取Android權(quán)限特征,然后訓(xùn)練多個SVM模型和CNN卷積神經(jīng)網(wǎng)絡(luò)模型進行集成學(xué)習(xí),生成混合模型,通過混合模型判斷軟件是否存在惡意行為。通過此方法生成的模型針對惡意軟件的檢測準(zhǔn)確率高于市面上普通的檢測方式,并且后期具有云端部署可能性。
1 Android權(quán)限提取
每一款A(yù)PK檔所有的權(quán)限申請都在一個名為AndroidManifest.xml檔中,所以我們需要處理XML,目前比較通用的幾種方法如下:第一種使用DOM的方法來解析xml檔從而分析出其中所需的元素屬性。第二種方法使用SAX的方法來處理,SAX方法的優(yōu)點在于其用事件驅(qū)動的方式完成解析。第三種是使用JDOM的方法。JDOM作為DOM方法的一種改進版本,和DOM有共同的缺點,就是對于比較大的XML檔處理速度不是很占優(yōu)勢,所以選用SAX作為提取權(quán)限的方式。
本文采用Python語言編寫了一套全自動的權(quán)限提取方法,具體流程如圖1所示。
特別要提到的是,本文在做統(tǒng)計處理的過程中,實際上就是先將所有被提取的權(quán)限全部收集起來,刪除重復(fù)的權(quán)限和無用的權(quán)限,然后標(biāo)記每一個txt文檔中結(jié)果保存為最終進行訓(xùn)練的資料組如圖2所示。是否具有此項權(quán)限,0表示沒有,1表示含有,將生成的
2改進型E-SVM模型
SVM模型可以處理多種不同的問題,根據(jù)問題的不同,又可以分為線性SVM和非線性 SVM 。根據(jù)Android權(quán)限的離散特點,本文使用的是非線性SVM模型,并結(jié)合Android權(quán)限特征的特點進行了優(yōu)化設(shè)計。在判斷惡意軟件這種非典型的分類問題中,給定一組訓(xùn)練樣本 (x1,y1),(x2,y2),…,(xm,ym) ,其中 xm 是描述AndroidAPK的權(quán)限請求特征樣本 χi 的 N -維特征矢量, yi∈{-1,1} 為分類目標(biāo)標(biāo)識(-1表示正常APK,1表示惡意APK)?;诖?,構(gòu)建了一個二分類的分類模型,功能上為non-probabilistic binaryclassifier(非概率二元分類器)。同時,為了更好地處理Android權(quán)限特征的稀疏性和高維特性,在常規(guī)SVM分類模型中引入了以下改進。
2.1 權(quán)限權(quán)重的引入
Android的權(quán)限特征具有不同的重要性,例如READ_SMS(讀取短信)就是高重要性權(quán)限,SET_WALLPAPER(設(shè)置壁紙)為低重要性權(quán)限,因此為每個權(quán)限特征賦予權(quán)重 wi,wi 為惡意樣本中權(quán)限 i 出現(xiàn)的概率與正常樣本中權(quán)限 i 出現(xiàn)的概率的比值
式中::Pnaliagri)=惡意樣本中權(quán)限i的出現(xiàn)次數(shù) Pbenign 惡意樣本總數(shù)
(i)=正常樣本中權(quán)限i的出現(xiàn)次數(shù) 正常樣本總數(shù)
2.2 特征組合的生成
由于權(quán)限數(shù)量較多,組合特征的生成可能導(dǎo)致維度過高。因此,對組合特征進行優(yōu)化,生成與權(quán)限相關(guān)的交互項:首先將權(quán)限分為高危權(quán)限(如
READ_SMS,SEND_SMS)和低危權(quán)限(如INTER-NET),接著為組合特征賦予權(quán)重,使模型能夠更關(guān)注重要的組合。權(quán)重定義為2個權(quán)限的權(quán)重乘積: wij= wi×wj ,最終每個交互特征項由交互狀態(tài)與權(quán)限權(quán)重共同決定,定義為
Tij=z×wij,
式中: z 表示權(quán)限 i 與權(quán)限 j 是否同時被請求(1表示請求,0表示未請求),將所有滿足條件的交互特征項按順序拼接,即可構(gòu)成最終的組合特征向量
通過生成 n 個交互項,本文構(gòu)造了額外的組合特征矢量,作為原始特征的補充。這些特征補充到特征矢量中,增強模型對復(fù)雜惡意行為的識別能力。
2.3 自定義核函數(shù)
針對Android權(quán)限特征的稀疏性和非線性關(guān)系,我們設(shè)計了一種自定義核函數(shù),用于在高維空間中更好地捕捉權(quán)限特征之間的復(fù)雜模式,提高SVM模型的分類能力。以下是自定義核函數(shù)
2.3.1 樣本表示
xi 和 xj :分別表示樣本 i 和樣本 j 的特征矢量。 xik 和 xjk :樣本 i 和樣本 j 在第 k 個權(quán)限上的特征值。
2.3.2 特征方差 Var(k)
其表示第 k 個權(quán)限的方差,用于對不同權(quán)限的尺度進行歸一化處理,防止某些數(shù)值較大的權(quán)限對核函數(shù)的影響過大。
2.3.3 超參數(shù) γ
控制樣本相似性的衰減速度,值越大時,相似性
函數(shù)的變化越敏感。
基于上述改進后,本文將優(yōu)化改進后的SVM模型命名為E-SVM,目標(biāo)函數(shù)為
約束條件為
yi(w?Φ(xi)+b)≥1-ξi,ξi≥0,
式中: P(xi) 是通過自定義核函數(shù) K(xi,xj) 映射到高維 空間的特征矢量。
最終決策函數(shù)為
在完成模型改進優(yōu)化之后,通過決策函數(shù)進行分類判斷:若 D(x)gt;0 ,則該APK被判定為正常(良性),若 D(x)lt;0 ,則該APK被判定為惡意。改進后的SVM模型相比原始SVM模型,可以利用權(quán)重優(yōu)化、自定義核函數(shù)和不平衡處理,能夠更高效、更準(zhǔn)確地對An-droid惡意軟件進行檢測
3CNN卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在本研究中用于提取AndroidAPK權(quán)限特征或動態(tài)行為特征中的深層模式,并進行惡意軟件分類。CNN作為一種端到端學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),能夠從數(shù)據(jù)中自動學(xué)習(xí)局部模式,減少對手工特征設(shè)計的依賴,同時能夠處理權(quán)限矩陣或動態(tài)行為矩陣等二維結(jié)構(gòu)化數(shù)據(jù)。輸人數(shù)據(jù)是經(jīng)過處理后的權(quán)限矩陣。在網(wǎng)絡(luò)架構(gòu)設(shè)計中,首先通過卷積層提取局部特征,利用卷積核檢測權(quán)限組合或行為序列中的潛在模式,例如高危權(quán)限的聯(lián)合使用或異常調(diào)用行為;然后通過池化層對特征進行下采樣,降低計算量的同時保留關(guān)鍵信息;最終通過全連接層將提取的特征整合,用于分類任務(wù)。網(wǎng)絡(luò)結(jié)構(gòu)輸出兩類概率值,分別表示正常應(yīng)用和惡意軟件。具體網(wǎng)絡(luò)架構(gòu)如圖3所示。
4基于改進型 SVM+CNN 的集成學(xué)習(xí)
接下來將強化模型偵測惡意軟件的準(zhǔn)確率,使用ensemblelearning作為強化工具,簡單來說,即使用機器學(xué)習(xí)來尋找到一個足夠好的函數(shù)完成分類模型,然后將多個不同參數(shù)訓(xùn)練出來的模型一起作為前端輸入,后端再使用一個深度學(xué)習(xí)的模型作為決策的模型。
在前端,使用多個已經(jīng)訓(xùn)練完成的深度學(xué)習(xí)模型和多個已經(jīng)訓(xùn)練完成的E-SVM模型,并將每一筆訓(xùn)練資料都匯人到每個模型進行預(yù)測,然后這多個模型都會輸出對于每筆訓(xùn)練資料的判斷結(jié)果,接著將這些模型產(chǎn)生的訓(xùn)練結(jié)果都丟人到一個3層layer的深度學(xué)習(xí)的模型中。本文使用的layer是全連接層,使用的優(yōu)化器是Adam。
前端使用全是SVM的模型和深度學(xué)習(xí)的模型以及SVM和深度學(xué)習(xí)一起混合使用的模型作為輸入,經(jīng)過大量的實驗測試,發(fā)現(xiàn)進行集成學(xué)習(xí)的過程中,使用E-SVM模型和CNN網(wǎng)絡(luò)的模型一起混合使用效果是最好的,這也驗證了使用集成學(xué)習(xí)的規(guī)則,即盡可能使用個體差異比較大的模型進行集成學(xué)習(xí),可以達(dá)到最好的效果。
5 實驗環(huán)境
5.1 實驗數(shù)據(jù)
截至2024年6月,一共收集了128532個安卓軟件APK作為樣本,其中57923個為正常APK樣本,70609個為惡意APK,其中大部分為向國內(nèi)知名網(wǎng)絡(luò)安全實驗室申請?zhí)峁珹PK樣本數(shù)據(jù)包含了2011—2023年能收集到的比較流行的惡意軟件。
5.2 硬件介紹
訓(xùn)練模型采用的平臺為ubuntu20.04,cpu 為i714700k ,內(nèi)存為 。
5.3 實驗結(jié)果
從圖4中的實驗結(jié)果中訓(xùn)練和驗證的損失曲線圖(圖4(a))可以看出,模型的損失值隨著訓(xùn)練進行逐步下降,表現(xiàn)出良好的收斂性。訓(xùn)練損失從初始的約0.30迅速下降,在第10個epoch后趨于平緩,并最終穩(wěn)定在約0.16左右。驗證損失從約0.30下降到0.17左右,整體趨勢與訓(xùn)練損失一致,并且驗證損失略高于訓(xùn)練損失,說明模型在驗證集上的表現(xiàn)較為穩(wěn)定,
未出現(xiàn)明顯的過擬合。
從訓(xùn)練和驗證的準(zhǔn)確率曲線圖(圖4(b))來看,模型的準(zhǔn)確率隨著訓(xùn)練過程逐步提高,訓(xùn)練準(zhǔn)確率從0.88快速上升,在第20個epoch后趨于平穩(wěn),最終穩(wěn)定在 96% 左右。驗證準(zhǔn)確率的表現(xiàn)略低于訓(xùn)練準(zhǔn)確率,從0.88開始上升,在第20個epoch后趨于平緩,并最終穩(wěn)定在 95% 左右。訓(xùn)練和驗證準(zhǔn)確率之間的差距較小,表明模型的泛化能力良好。
同時,我們?yōu)榱嗽u估模型的強固性,使用不同的數(shù)據(jù)集來對所訓(xùn)練的模型進行實驗。同時,根據(jù)不同的數(shù)據(jù)集所提取出來的權(quán)限列表數(shù)量也進行實驗,實驗結(jié)果如圖5所示。
通過圖5(a)中可以看出,在相同的APK樣本數(shù)量下,提取出來的權(quán)限數(shù)量越多,經(jīng)過訓(xùn)練得出的模型對于惡意APK的檢測識別準(zhǔn)確率越高。同樣,從圖5(b)可以看出,在提取相同的權(quán)限數(shù)量的情況下,APK樣本數(shù)量越多,可以獲得更高的檢測準(zhǔn)確率。因此,想要提升模型的準(zhǔn)確率,需要更多的APK作為樣本來不斷地對模型進行重新訓(xùn)練,從而增加模型對于惡意APK的識別準(zhǔn)確率。
5.4 集成學(xué)習(xí)效果
本文使用了集成學(xué)習(xí)來進一步加強分類器的準(zhǔn)確度,以下是分別使用全部是svm模型,以及全部使用CNN神經(jīng)網(wǎng)絡(luò)模型與混合使用的實驗結(jié)果,如圖6所示。
可以看到,只使用最基礎(chǔ)的SVM模型來進行檢測與測試,最終得到的準(zhǔn)確率在 65%~76% ;使用改進的E-SVM模型相比于單個SVM的模型準(zhǔn)確率提升了 15% 左右;而只使用CNN神經(jīng)網(wǎng)絡(luò)模型進行測試,準(zhǔn)確率幾乎和E-SVM模型的準(zhǔn)確率差不多。但是,當(dāng)我們使用SVM模型和深度學(xué)習(xí)模型一起進行集成學(xué)習(xí)的時候,準(zhǔn)確率達(dá)到了 91%~96% 。
6結(jié)論
本研究針對Android平臺惡意軟件檢測提出了一種基于集成學(xué)習(xí)的特征提取與檢測方法。通過結(jié)合靜態(tài)分析和機器學(xué)習(xí)技術(shù),從AndroidAPK中提取權(quán)限特征,構(gòu)建了基于SVM改進的E-SVM模型和卷積神經(jīng)網(wǎng)絡(luò)(CNN)的混合模型。實驗結(jié)果表明,該模型在準(zhǔn)確率和檢測性能上均優(yōu)于傳統(tǒng)方法,最終實現(xiàn)了96% 以上的檢測準(zhǔn)確率。研究中,通過引入權(quán)限權(quán)重、自定義核函數(shù)和權(quán)限組合特征優(yōu)化了SVM模型,同時利用CNN從權(quán)限矩陣中挖掘深層次特征,提高了對復(fù)雜惡意行為的識別能力。模型驗證結(jié)果顯示,改進后的方法不僅具有較高的檢測率,同時在訓(xùn)練效率和泛化能力方面也表現(xiàn)出色??傮w而言,該方法為Android惡意軟件檢測提供了一種高效、準(zhǔn)確的解決方案,具有一定的實際應(yīng)用潛力。未來工作中,將進一步優(yōu)化模型結(jié)構(gòu),并嘗試融合更多動態(tài)行為特征,以提升對未知惡意軟件的檢測能力。
參考文獻:
[1]孫才俊,白冰,王偉忠,等.基于指令序列嵌入的安卓惡意應(yīng)用檢測框架[J].信息安全研究,2022,8(8):777-785.
[2]岳子巍,方勇,張磊.基于圖注意力網(wǎng)絡(luò)的安卓惡意軟件檢測[J].四川大學(xué)學(xué)報(自然科學(xué)版),2022,59(5):88-95.
[3]楊一波.安卓移動應(yīng)用程序(APP)違法違規(guī)收集個人信息自動化檢測研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2024(12):77-79.
[4]田娟,徐釗.基于混合特征和深度學(xué)習(xí)的安卓惡意軟件動態(tài)檢測研究[J].自動化與儀器儀表,2024(6):257-260.
[5]洪智學(xué),姚日煌,鹿洵.基于卷積神經(jīng)網(wǎng)絡(luò)的安卓惡意軟件檢測框架[J].電子產(chǎn)品可靠性與環(huán)境試驗,2023,41(6):49-53.
[6]吳月明,齊蒙,鄒德清,等.圖卷積網(wǎng)絡(luò)的抗混淆安卓惡意軟件檢測[J].軟件學(xué)報,2023,34(6):2526-2542.