中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):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),占有著全世界百分之八十的市場(chǎng)份額,已經(jīng)擁有了成千上萬(wàn)的用戶。同時(shí)Android也是世界上最大的開源碼程序之一,使用者以及開發(fā)者都可以通過(guò)Google提供的原始碼了解整個(gè)系統(tǒng)的運(yùn)作流程。這種開源的作業(yè)系統(tǒng)所帶來(lái)的優(yōu)點(diǎn)即廠商可以根據(jù)自己的需求來(lái)制定自己想要的作業(yè)系統(tǒng)及軟件,但是缺點(diǎn)也很顯而易見,就是各種惡意流氓軟件的橫行。在各大應(yīng)用商店中,充斥了各種類型不同的惡意軟件或者是流氓軟件,這些軟件表面上看過(guò)去和普通的軟件并沒有什么區(qū)別,但是內(nèi)藏了很多惡意的程序和后門,直接或者間接地危害著使用者的手機(jī)安全。本文提出了一種基于集成學(xué)習(xí)的特征提取與檢測(cè)方法,首先采用目前市面上最為成熟的靜態(tài)分析方法提取Android權(quán)限特征,然后訓(xùn)練多個(gè)SVM模型和CNN卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行集成學(xué)習(xí),生成混合模型,通過(guò)混合模型判斷軟件是否存在惡意行為。通過(guò)此方法生成的模型針對(duì)惡意軟件的檢測(cè)準(zhǔn)確率高于市面上普通的檢測(cè)方式,并且后期具有云端部署可能性。
1 Android權(quán)限提取
每一款A(yù)PK檔所有的權(quán)限申請(qǐng)都在一個(gè)名為AndroidManifest.xml檔中,所以我們需要處理XML,目前比較通用的幾種方法如下:第一種使用DOM的方法來(lái)解析xml檔從而分析出其中所需的元素屬性。第二種方法使用SAX的方法來(lái)處理,SAX方法的優(yōu)點(diǎn)在于其用事件驅(qū)動(dòng)的方式完成解析。第三種是使用JDOM的方法。JDOM作為DOM方法的一種改進(jìn)版本,和DOM有共同的缺點(diǎn),就是對(duì)于比較大的XML檔處理速度不是很占優(yōu)勢(shì),所以選用SAX作為提取權(quán)限的方式。
本文采用Python語(yǔ)言編寫了一套全自動(dòng)的權(quán)限提取方法,具體流程如圖1所示。
特別要提到的是,本文在做統(tǒng)計(jì)處理的過(guò)程中,實(shí)際上就是先將所有被提取的權(quán)限全部收集起來(lái),刪除重復(fù)的權(quán)限和無(wú)用的權(quán)限,然后標(biāo)記每一個(gè)txt文檔中結(jié)果保存為最終進(jìn)行訓(xùn)練的資料組如圖2所示。是否具有此項(xiàng)權(quán)限,0表示沒有,1表示含有,將生成的


2改進(jìn)型E-SVM模型
SVM模型可以處理多種不同的問(wèn)題,根據(jù)問(wèn)題的不同,又可以分為線性SVM和非線性 SVM 。根據(jù)Android權(quán)限的離散特點(diǎn),本文使用的是非線性SVM模型,并結(jié)合Android權(quán)限特征的特點(diǎn)進(jìn)行了優(yōu)化設(shè)計(jì)。在判斷惡意軟件這種非典型的分類問(wèn)題中,給定一組訓(xùn)練樣本 (x1,y1),(x2,y2),…,(xm,ym) ,其中 xm 是描述AndroidAPK的權(quán)限請(qǐng)求特征樣本 χi 的 N -維特征矢量, yi∈{-1,1} 為分類目標(biāo)標(biāo)識(shí)(-1表示正常APK,1表示惡意APK)。基于此,構(gòu)建了一個(gè)二分類的分類模型,功能上為non-probabilistic binaryclassifier(非概率二元分類器)。同時(shí),為了更好地處理Android權(quán)限特征的稀疏性和高維特性,在常規(guī)SVM分類模型中引入了以下改進(jìn)。
2.1 權(quán)限權(quán)重的引入
Android的權(quán)限特征具有不同的重要性,例如READ_SMS(讀取短信)就是高重要性權(quán)限,SET_WALLPAPER(設(shè)置壁紙)為低重要性權(quán)限,因此為每個(gè)權(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)致維度過(guò)高。因此,對(duì)組合特征進(jìn)行優(yōu)化,生成與權(quán)限相關(guān)的交互項(xiàng):首先將權(quán)限分為高危權(quán)限(如
READ_SMS,SEND_SMS)和低危權(quán)限(如INTER-NET),接著為組合特征賦予權(quán)重,使模型能夠更關(guān)注重要的組合。權(quán)重定義為2個(gè)權(quán)限的權(quán)重乘積: wij= wi×wj ,最終每個(gè)交互特征項(xiàng)由交互狀態(tài)與權(quán)限權(quán)重共同決定,定義為
Tij=z×wij,
式中: z 表示權(quán)限 i 與權(quán)限 j 是否同時(shí)被請(qǐng)求(1表示請(qǐng)求,0表示未請(qǐng)求),將所有滿足條件的交互特征項(xiàng)按順序拼接,即可構(gòu)成最終的組合特征向量

通過(guò)生成 n 個(gè)交互項(xiàng),本文構(gòu)造了額外的組合特征矢量,作為原始特征的補(bǔ)充。這些特征補(bǔ)充到特征矢量中,增強(qiáng)模型對(duì)復(fù)雜惡意行為的識(shí)別能力。
2.3 自定義核函數(shù)
針對(duì)Android權(quán)限特征的稀疏性和非線性關(guān)系,我們?cè)O(shè)計(jì)了一種自定義核函數(shù),用于在高維空間中更好地捕捉權(quán)限特征之間的復(fù)雜模式,提高SVM模型的分類能力。以下是自定義核函數(shù)

2.3.1 樣本表示
xi 和 xj :分別表示樣本 i 和樣本 j 的特征矢量。 xik 和 xjk :樣本 i 和樣本 j 在第 k 個(gè)權(quán)限上的特征值。
2.3.2 特征方差 Var(k)
其表示第 k 個(gè)權(quán)限的方差,用于對(duì)不同權(quán)限的尺度進(jìn)行歸一化處理,防止某些數(shù)值較大的權(quán)限對(duì)核函數(shù)的影響過(guò)大。
2.3.3 超參數(shù) γ
控制樣本相似性的衰減速度,值越大時(shí),相似性
函數(shù)的變化越敏感。
基于上述改進(jìn)后,本文將優(yōu)化改進(jìn)后的SVM模型命名為E-SVM,目標(biāo)函數(shù)為

約束條件為
yi(w?Φ(xi)+b)≥1-ξi,ξi≥0,
式中: P(xi) 是通過(guò)自定義核函數(shù) K(xi,xj) 映射到高維 空間的特征矢量。
最終決策函數(shù)為

在完成模型改進(jìn)優(yōu)化之后,通過(guò)決策函數(shù)進(jìn)行分類判斷:若 D(x)gt;0 ,則該APK被判定為正常(良性),若 D(x)lt;0 ,則該APK被判定為惡意。改進(jìn)后的SVM模型相比原始SVM模型,可以利用權(quán)重優(yōu)化、自定義核函數(shù)和不平衡處理,能夠更高效、更準(zhǔn)確地對(duì)An-droid惡意軟件進(jìn)行檢測(cè)
3CNN卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在本研究中用于提取AndroidAPK權(quán)限特征或動(dòng)態(tài)行為特征中的深層模式,并進(jìn)行惡意軟件分類。CNN作為一種端到端學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),能夠從數(shù)據(jù)中自動(dòng)學(xué)習(xí)局部模式,減少對(duì)手工特征設(shè)計(jì)的依賴,同時(shí)能夠處理權(quán)限矩陣或動(dòng)態(tài)行為矩陣等二維結(jié)構(gòu)化數(shù)據(jù)。輸人數(shù)據(jù)是經(jīng)過(guò)處理后的權(quán)限矩陣。在網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)中,首先通過(guò)卷積層提取局部特征,利用卷積核檢測(cè)權(quán)限組合或行為序列中的潛在模式,例如高危權(quán)限的聯(lián)合使用或異常調(diào)用行為;然后通過(guò)池化層對(duì)特征進(jìn)行下采樣,降低計(jì)算量的同時(shí)保留關(guān)鍵信息;最終通過(guò)全連接層將提取的特征整合,用于分類任務(wù)。網(wǎng)絡(luò)結(jié)構(gòu)輸出兩類概率值,分別表示正常應(yīng)用和惡意軟件。具體網(wǎng)絡(luò)架構(gòu)如圖3所示。

4基于改進(jìn)型 SVM+CNN 的集成學(xué)習(xí)
接下來(lái)將強(qiáng)化模型偵測(cè)惡意軟件的準(zhǔn)確率,使用ensemblelearning作為強(qiáng)化工具,簡(jiǎn)單來(lái)說(shuō),即使用機(jī)器學(xué)習(xí)來(lái)尋找到一個(gè)足夠好的函數(shù)完成分類模型,然后將多個(gè)不同參數(shù)訓(xùn)練出來(lái)的模型一起作為前端輸入,后端再使用一個(gè)深度學(xué)習(xí)的模型作為決策的模型。
在前端,使用多個(gè)已經(jīng)訓(xùn)練完成的深度學(xué)習(xí)模型和多個(gè)已經(jīng)訓(xùn)練完成的E-SVM模型,并將每一筆訓(xùn)練資料都匯人到每個(gè)模型進(jìn)行預(yù)測(cè),然后這多個(gè)模型都會(huì)輸出對(duì)于每筆訓(xùn)練資料的判斷結(jié)果,接著將這些模型產(chǎn)生的訓(xùn)練結(jié)果都丟人到一個(gè)3層layer的深度學(xué)習(xí)的模型中。本文使用的layer是全連接層,使用的優(yōu)化器是Adam。
前端使用全是SVM的模型和深度學(xué)習(xí)的模型以及SVM和深度學(xué)習(xí)一起混合使用的模型作為輸入,經(jīng)過(guò)大量的實(shí)驗(yàn)測(cè)試,發(fā)現(xiàn)進(jìn)行集成學(xué)習(xí)的過(guò)程中,使用E-SVM模型和CNN網(wǎng)絡(luò)的模型一起混合使用效果是最好的,這也驗(yàn)證了使用集成學(xué)習(xí)的規(guī)則,即盡可能使用個(gè)體差異比較大的模型進(jìn)行集成學(xué)習(xí),可以達(dá)到最好的效果。
5 實(shí)驗(yàn)環(huán)境
5.1 實(shí)驗(yàn)數(shù)據(jù)
截至2024年6月,一共收集了128532個(gè)安卓軟件APK作為樣本,其中57923個(gè)為正常APK樣本,70609個(gè)為惡意APK,其中大部分為向國(guó)內(nèi)知名網(wǎng)絡(luò)安全實(shí)驗(yàn)室申請(qǐng)?zhí)峁珹PK樣本數(shù)據(jù)包含了2011—2023年能收集到的比較流行的惡意軟件。
5.2 硬件介紹
訓(xùn)練模型采用的平臺(tái)為ubuntu20.04,cpu 為i714700k ,內(nèi)存為
。
5.3 實(shí)驗(yàn)結(jié)果
從圖4中的實(shí)驗(yàn)結(jié)果中訓(xùn)練和驗(yàn)證的損失曲線圖(圖4(a))可以看出,模型的損失值隨著訓(xùn)練進(jìn)行逐步下降,表現(xiàn)出良好的收斂性。訓(xùn)練損失從初始的約0.30迅速下降,在第10個(gè)epoch后趨于平緩,并最終穩(wěn)定在約0.16左右。驗(yàn)證損失從約0.30下降到0.17左右,整體趨勢(shì)與訓(xùn)練損失一致,并且驗(yàn)證損失略高于訓(xùn)練損失,說(shuō)明模型在驗(yàn)證集上的表現(xiàn)較為穩(wěn)定,
未出現(xiàn)明顯的過(guò)擬合。
從訓(xùn)練和驗(yàn)證的準(zhǔn)確率曲線圖(圖4(b))來(lái)看,模型的準(zhǔn)確率隨著訓(xùn)練過(guò)程逐步提高,訓(xùn)練準(zhǔn)確率從0.88快速上升,在第20個(gè)epoch后趨于平穩(wěn),最終穩(wěn)定在 96% 左右。驗(yàn)證準(zhǔn)確率的表現(xiàn)略低于訓(xùn)練準(zhǔn)確率,從0.88開始上升,在第20個(gè)epoch后趨于平緩,并最終穩(wěn)定在 95% 左右。訓(xùn)練和驗(yàn)證準(zhǔn)確率之間的差距較小,表明模型的泛化能力良好。

同時(shí),我們?yōu)榱嗽u(píng)估模型的強(qiáng)固性,使用不同的數(shù)據(jù)集來(lái)對(duì)所訓(xùn)練的模型進(jìn)行實(shí)驗(yàn)。同時(shí),根據(jù)不同的數(shù)據(jù)集所提取出來(lái)的權(quán)限列表數(shù)量也進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖5所示。


通過(guò)圖5(a)中可以看出,在相同的APK樣本數(shù)量下,提取出來(lái)的權(quán)限數(shù)量越多,經(jīng)過(guò)訓(xùn)練得出的模型對(duì)于惡意APK的檢測(cè)識(shí)別準(zhǔn)確率越高。同樣,從圖5(b)可以看出,在提取相同的權(quán)限數(shù)量的情況下,APK樣本數(shù)量越多,可以獲得更高的檢測(cè)準(zhǔn)確率。因此,想要提升模型的準(zhǔn)確率,需要更多的APK作為樣本來(lái)不斷地對(duì)模型進(jìn)行重新訓(xùn)練,從而增加模型對(duì)于惡意APK的識(shí)別準(zhǔn)確率。
5.4 集成學(xué)習(xí)效果
本文使用了集成學(xué)習(xí)來(lái)進(jìn)一步加強(qiáng)分類器的準(zhǔn)確度,以下是分別使用全部是svm模型,以及全部使用CNN神經(jīng)網(wǎng)絡(luò)模型與混合使用的實(shí)驗(yàn)結(jié)果,如圖6所示。
可以看到,只使用最基礎(chǔ)的SVM模型來(lái)進(jìn)行檢測(cè)與測(cè)試,最終得到的準(zhǔn)確率在 65%~76% ;使用改進(jìn)的E-SVM模型相比于單個(gè)SVM的模型準(zhǔn)確率提升了 15% 左右;而只使用CNN神經(jīng)網(wǎng)絡(luò)模型進(jìn)行測(cè)試,準(zhǔn)確率幾乎和E-SVM模型的準(zhǔn)確率差不多。但是,當(dāng)我們使用SVM模型和深度學(xué)習(xí)模型一起進(jìn)行集成學(xué)習(xí)的時(shí)候,準(zhǔn)確率達(dá)到了 91%~96% 。
6結(jié)論
本研究針對(duì)Android平臺(tái)惡意軟件檢測(cè)提出了一種基于集成學(xué)習(xí)的特征提取與檢測(cè)方法。通過(guò)結(jié)合靜態(tài)分析和機(jī)器學(xué)習(xí)技術(shù),從AndroidAPK中提取權(quán)限特征,構(gòu)建了基于SVM改進(jìn)的E-SVM模型和卷積神經(jīng)網(wǎng)絡(luò)(CNN)的混合模型。實(shí)驗(yàn)結(jié)果表明,該模型在準(zhǔn)確率和檢測(cè)性能上均優(yōu)于傳統(tǒng)方法,最終實(shí)現(xiàn)了96% 以上的檢測(cè)準(zhǔn)確率。研究中,通過(guò)引入權(quán)限權(quán)重、自定義核函數(shù)和權(quán)限組合特征優(yōu)化了SVM模型,同時(shí)利用CNN從權(quán)限矩陣中挖掘深層次特征,提高了對(duì)復(fù)雜惡意行為的識(shí)別能力。模型驗(yàn)證結(jié)果顯示,改進(jìn)后的方法不僅具有較高的檢測(cè)率,同時(shí)在訓(xùn)練效率和泛化能力方面也表現(xiàn)出色??傮w而言,該方法為Android惡意軟件檢測(cè)提供了一種高效、準(zhǔn)確的解決方案,具有一定的實(shí)際應(yīng)用潛力。未來(lái)工作中,將進(jìn)一步優(yōu)化模型結(jié)構(gòu),并嘗試融合更多動(dòng)態(tài)行為特征,以提升對(duì)未知惡意軟件的檢測(cè)能力。
參考文獻(xiàn):
[1]孫才俊,白冰,王偉忠,等.基于指令序列嵌入的安卓惡意應(yīng)用檢測(cè)框架[J].信息安全研究,2022,8(8):777-785.
[2]岳子巍,方勇,張磊.基于圖注意力網(wǎng)絡(luò)的安卓惡意軟件檢測(cè)[J].四川大學(xué)學(xué)報(bào)(自然科學(xué)版),2022,59(5):88-95.
[3]楊一波.安卓移動(dòng)應(yīng)用程序(APP)違法違規(guī)收集個(gè)人信息自動(dòng)化檢測(cè)研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2024(12):77-79.
[4]田娟,徐釗.基于混合特征和深度學(xué)習(xí)的安卓惡意軟件動(dòng)態(tài)檢測(cè)研究[J].自動(dòng)化與儀器儀表,2024(6):257-260.
[5]洪智學(xué),姚日煌,鹿洵.基于卷積神經(jīng)網(wǎng)絡(luò)的安卓惡意軟件檢測(cè)框架[J].電子產(chǎn)品可靠性與環(huán)境試驗(yàn),2023,41(6):49-53.
[6]吳月明,齊蒙,鄒德清,等.圖卷積網(wǎng)絡(luò)的抗混淆安卓惡意軟件檢測(cè)[J].軟件學(xué)報(bào),2023,34(6):2526-2542.