国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SNGAN的黑盒惡意軟件對抗樣本生成方法

2023-04-29 14:36:54張宇科王俊峰

張宇科 王俊峰

摘要:目前,為了應(yīng)對數(shù)以百萬計的Android惡意軟件,基于機器學(xué)習(xí)的檢測器被廣泛應(yīng)用,然而其普遍存在防對抗攻擊能力差的問題,對惡意軟件對抗樣本生成方法的研究有助于促進惡意軟件檢測領(lǐng)域相關(guān)研究的發(fā)展.黑盒場景下的對抗樣本生成技術(shù)更加符合現(xiàn)實環(huán)境,但相較于白盒場景效果不佳.針對這一問題,本文提出了一種基于SNGAN的黑盒惡意軟件對抗樣本生成方法,將圖像領(lǐng)域的SNGAN方法遷移到惡意軟件領(lǐng)域,通過生成器網(wǎng)絡(luò)和替代檢測器網(wǎng)絡(luò)的迭代訓(xùn)練生成對抗樣本,并通過譜歸一化來穩(wěn)定訓(xùn)練過程.該方法能夠?qū)σ延械膼阂廛浖砑訑_動,達到欺騙機器學(xué)習(xí)檢測器的效果.實驗結(jié)果證明,該方法對多種機器學(xué)習(xí)分類器均可以有效規(guī)避檢測,驗證了方法的可行性和可遷移性.

關(guān)鍵詞:Android; 惡意軟件; 對抗攻擊; SNGAN

收稿日期: 2022-10-21

基金項目: 基礎(chǔ)加強計劃重點項目(2020-JCJQ-ZD-021)

作者簡介: 張宇科(1997-), 四川成都人, 碩士研究生, 研究方向為網(wǎng)絡(luò)空間安全. E-mail: 2638225602@qq.com

通訊作者: 王俊峰. E-mail: wangjf@scu.edu.cn

Black box malware adversarial examples generation method based on SNGAN

ZHANG Yu-Ke, WANG Jun-Feng

(College of Computer Science, Sichuan University, Chengdu 610065, China)

Currently, machine learning-based detectors are widely used to handle millions of Android malware, but they often suffer from poor anti-adversarial attack abilities. The research on the adversarial examples generation method of malware is helpful to promote the development of the field of malware detection. The adversarial examples generation technology in the black-box scenario is more in line with the real environment, but the effect is not good compared with the white-box scenario. To solve this problem, this paper proposes a black box malware adversarial examples generation method based on SNGAN, migrating the SNGAN approach to the malware domain from the image domain, adversarial examples are generated by the network of generator and replace detector iterative training, the training process is stabilized by spectral normalization. The proposed method can cheat the machine learning detectors by adding disturbance to the existing malware. Experimental results show that our method can avoid detection effectively from a variety of machine learning classifiers, and the feasibility and portability of the method are verified.

Android; Malware; Adversarial attack; SNGAN

1 引 言

Android系統(tǒng)具有開源性、硬件多樣性和應(yīng)用市場多樣性三大顯著的特點[1],這些特點幫助其在市場競爭中占據(jù)了優(yōu)勢,2021年中國手機操作系統(tǒng)行業(yè)研究報告[2]的數(shù)據(jù)顯示Android系統(tǒng)占據(jù)了88.9%的中國移動端市場.然而,Android系統(tǒng)的開源性、流行性和大量第三方應(yīng)用市場反而使得它更容易成為惡意軟件的攻擊目標.目前Android系統(tǒng)雖然存在大量的第三方應(yīng)用市場,但缺乏統(tǒng)一完善的相關(guān)監(jiān)管機制,導(dǎo)致Android設(shè)備可能從未經(jīng)安全檢測驗證的第三方應(yīng)用市場下載應(yīng)用.同時,目前Android系統(tǒng)本身的權(quán)限、資源、通信等方面的控制機制仍然不夠完善,這些問題導(dǎo)致了Android惡意軟件數(shù)不勝數(shù).根據(jù)360公司發(fā)布的2021年度中國手機安全狀況報告[3],2021年移動端共發(fā)現(xiàn)943萬個新增的惡意軟件樣本,與2020年(454.6萬個)相比上漲了107.5%.

目前,惡意軟件檢測方法主要分為基于簽名的檢測方法、基于行為的檢測方法、基于啟發(fā)式的檢測方法和基于機器學(xué)習(xí)的檢測方法[4].基于簽名的檢測方法依賴于對目標軟件提取的唯一簽名,并將其存儲起來與已收集的惡意軟件簽名進行對比,如果相互吻合則判定目標軟件為惡意軟件,這類方法可解釋性強且開銷較小,但在對未知惡意軟件或已知惡意軟件的不同變體的未知簽名進行分類時準確率很低.基于行為的檢測方法在對隔離環(huán)境中的目標軟件進行監(jiān)控并收集顯示的行為后,關(guān)注目標軟件是否出現(xiàn)了特定的惡意或敏感行為,從而進行惡意或良性的分類,其能夠提供目標軟件的惡意行為作為結(jié)果的解釋,同樣具有可解釋性強的特點,但由于其開銷大,因此難以處理大量的軟件樣本.基于啟發(fā)式的方法通過生成分析提取數(shù)據(jù)的通用規(guī)則,通過動態(tài)或靜態(tài)分析給出這些規(guī)則,以支持所提出的檢測惡意意圖的模型,生成的規(guī)則可以使用YARA工具和其他工具自動生成,也可以根據(jù)分析人員的經(jīng)驗和知識手動生成.基于機器學(xué)習(xí)的檢測方法從目標軟件中提取特征,將目標軟件轉(zhuǎn)化為特征向量,然后構(gòu)建分類器對特征向量進行檢測和分類,相較于之前的三類方法,這類方法能夠更有效地應(yīng)對不同的惡意軟件變種,所需的時間成本也相對較少,因此常常被用來應(yīng)對日漸增長且復(fù)雜多變的惡意軟件攻擊.

雖然基于機器學(xué)習(xí)的惡意軟件檢測方法具有許多優(yōu)點,但普遍存在魯棒性不強的問題,容易受到對抗樣本的攻擊.這種通過添加精心設(shè)計的微小擾動來逃避機器學(xué)習(xí)模型檢測的攻擊方式被稱為對抗攻擊,具有白盒、黑盒和灰盒三種攻擊場景[5].在白盒場景中,攻擊者清楚目標系統(tǒng)中的一切細節(jié),包括防御機制,對基于機器學(xué)習(xí)的惡意軟件檢測器的攻擊大部分屬于這一類別.在黑盒場景中,攻擊者并不了解目標檢測器的內(nèi)部細節(jié),但知道輸出的預(yù)測標簽,對殺毒軟件的攻擊基本都屬于這一場景.灰盒場景介于前兩者之間,攻擊者了解目標檢測器的學(xué)習(xí)算法、特征提取方法和數(shù)據(jù)集,但并不了解具體的防御方法和學(xué)習(xí)參數(shù).目前絕大部分的對抗樣本生成研究都是針對白盒和灰盒場景.然而,在現(xiàn)實環(huán)境中,攻擊者很難獲取檢測器模型的具體細節(jié)信息,往往只能得到檢測器最后給軟件打上的良性或惡意標簽,因此黑盒攻擊更加契合現(xiàn)實場景.

目前在惡意軟件領(lǐng)域白盒攻擊的方法更多,且大部分都是基于梯度的方法.文獻[6]將原本用于圖像領(lǐng)域的基于雅各比顯著性圖的攻擊(JSMA)遷移至惡意軟件領(lǐng)域,并將其輸入的特征向量由連續(xù)型特征更改為離散型特征.文獻[7]對惡意樣本基于梯度進行了多輪迭代,每輪對目標惡意樣本增加梯度分量最高的一個特征.文獻[8]提出了一種白盒攻擊方法, 這種方法不會損壞目標軟件原本的代碼,通過在文件的末尾添加了少量字節(jié)來規(guī)避檢測.

在黑盒場景下,也存在一些研究對惡意軟件檢測模型進行對抗攻擊.文獻[9]定義并實現(xiàn)了一系列攻擊方法來評估Drebin檢測器的安全性,證明了基于機器學(xué)習(xí)的檢測器易受到對抗攻擊.文獻[10]針對基于RNN模型的檢測器進行對抗攻擊,訓(xùn)練了一個替代的RNN模型來對目標RNN模型進行近似模擬,從而對惡意樣本添加擾動生成對抗樣本.文獻[11]提出了MalGAN,通過生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)模型對惡意軟件添加擾動,從而生成對抗樣本,其使用一個生成器來向惡意軟件中添加隨機噪聲擾動,使用一個替代鑒別器來模擬目標黑盒檢測器.Chen等人[12]將圖像領(lǐng)域的對抗攻擊方法JSMA和C&W算法使用到惡意軟件領(lǐng)域并相應(yīng)的進行了一些修改,針對兩種機器學(xué)習(xí)檢測器Drebin和Mamadroid生成Android惡意軟件對抗樣本.Renjith等人[13]提出了一種基于GAN的Android惡意軟件對抗樣本生成系統(tǒng)GANG-MAM,根據(jù)惡意軟件生成特征向量添加擾動并使其對檢測器產(chǎn)生規(guī)避性,再對惡意軟件進行相應(yīng)的更改.

惡意軟件檢測對安全性和魯棒性有較高的要求.因此通過研究對抗攻擊,研究者可以挖掘檢測模型的缺陷,發(fā)現(xiàn)惡意軟件可能使用的各種技術(shù),進一步改進惡意軟件檢測器的魯棒性和安全性,從而提高其檢測準確性和可靠性.同時,研究對抗防御方法離不開對抗樣本生成方法提供的理論和數(shù)據(jù)基礎(chǔ).例如對抗訓(xùn)練[14],在這種方法中機器學(xué)習(xí)模型同時使用正常樣本和對抗樣本進行訓(xùn)練,以模擬對抗攻擊的效果,通過將對抗樣本納入訓(xùn)練過程,模型可以識別和抵抗這些類型的攻擊,從而使其更加安全和魯棒.因此,對抗攻擊研究是促進惡意軟件檢測發(fā)展的重要方向.通過研究對抗攻擊,可以發(fā)現(xiàn)惡意軟件檢測器的漏洞并倒逼其進步,同時也可以幫助開發(fā)出新的對抗防御方法,提高惡意軟件檢測器的魯棒性和安全性.

在黑盒場景下,攻擊者無法獲取模型的具體細節(jié),因此無法計算目標樣本相對于模型輸出的梯度信息.在此基礎(chǔ)上,基于GAN的對抗攻擊方式脫穎而出,其可以通過學(xué)習(xí)數(shù)據(jù)分布,快速生成高質(zhì)量的對抗樣本.現(xiàn)有的基于GAN的Android惡意軟件對抗樣本生成方法普遍存在以下問題:

(1)擾動效果不佳.黑盒攻擊方法的一個普遍問題是擾動效果不佳,即生成的對抗樣本與原始樣本之間的差異較小,難以達到有效的欺騙效果.主流的黑盒攻擊方法通過替代模型來擬合目標模型,再針對替代模型生成對抗樣本,其成功率取決于對抗樣本的可轉(zhuǎn)移性,相較于直接針對目標模型生成對抗樣本的白盒攻擊方法,擾動效果往往不甚理想.

(2)訓(xùn)練不穩(wěn)定.由于黑盒攻擊缺乏目標模型的內(nèi)部信息,因此訓(xùn)練過程較為困難,往往存在訓(xùn)練不穩(wěn)定的問題,導(dǎo)致生成的對抗樣本質(zhì)量較差.在基于GAN的對抗攻擊方法中,生成器和判別器網(wǎng)絡(luò)是交替進行訓(xùn)練的.當生成器網(wǎng)絡(luò)生成的對抗樣本無法欺騙判別器網(wǎng)絡(luò)時,生成器網(wǎng)絡(luò)會不斷改進生成的樣本,直到這些對抗樣本能成功規(guī)避判別器網(wǎng)絡(luò)的檢測,判別器模型也會不斷更新自己,以增強對對抗樣本的檢測能力,兩個模型會不斷相互對抗,導(dǎo)致模型振蕩,使得訓(xùn)練過程不穩(wěn)定.另外,當生成器模型無法生成欺騙判別器模型的對抗樣本時,會嘗試通過復(fù)制已有的對抗樣本來生成新的對抗樣本,從而導(dǎo)致模式崩潰,即生成的對抗樣本過于相似,無法提供更多的信息,也就無法欺騙判別器模型.

(3)特征表征性不足.目前基于GAN的Android惡意軟件對抗攻擊研究使用的樣本主要是基于惡意軟件的敏感API調(diào)用特征,這主要是因為這些特征比較容易獲取,且可以較好地表征惡意軟件的行為.但是Android惡意軟件的惡意性不止體現(xiàn)于從classes.dex文件中提取的API調(diào)用,AndroidManifest.xml文件中包含的權(quán)限信息也是判別惡意性的重要依據(jù).

在此基礎(chǔ)上,本文提出了一種基于SNGAN的Android惡意軟件對抗樣本生成技術(shù),主要工作為: (1)將圖像領(lǐng)域的SNGAN技術(shù)遷移到了惡意軟件領(lǐng)域,相較于其他攻擊方法達到了更好的擾動效果,提升了訓(xùn)練的穩(wěn)定性. (2)本文采用了包含配置信息及API調(diào)用信息的Drebin特征和包含API轉(zhuǎn)移概率信息特征,相較于以往單一的敏感API調(diào)用特征能夠更加完善地代表惡意軟件特性.

2 SNGAN

生成對抗網(wǎng)絡(luò)[15]是一種生成模型學(xué)習(xí)方法,最初被使用在圖像領(lǐng)域,分為一個生成器網(wǎng)絡(luò)和一個判別器網(wǎng)絡(luò).在圖像領(lǐng)域,GAN的目標是通過迭代地訓(xùn)練生成器網(wǎng)絡(luò)和判別器網(wǎng)絡(luò),生成能夠以假亂真的對抗樣本.其中生成器網(wǎng)絡(luò)擬合真實分布,通過變換噪聲向量從數(shù)據(jù)分布中生成樣本,其目的是產(chǎn)生假樣本,使網(wǎng)絡(luò)產(chǎn)生錯誤的判斷.而判別器網(wǎng)絡(luò)的目標是判斷輸入的樣本是真實的樣本還是生成的樣本.生成器網(wǎng)絡(luò)的訓(xùn)練信息由判別器網(wǎng)絡(luò)提供.

而在惡意軟件領(lǐng)域中,由于判別器被用來模擬黑盒檢測器,因此也被稱為替代檢測器.替代檢測器被用來區(qū)分惡意樣本和良性樣本,生成器從惡意樣本中生成對抗樣本來逃避替代檢測器的檢測,當生成器輸出的對抗樣本能完全逃避替代檢測器的檢測,GAN就達到了納什均衡.GAN的核心原理可以用如下表達式表示:

其中,z是隨機噪聲向量;G為生成器;G(z)是G生成的對抗樣本;D是判別器;E為分布的期望值;x~Pdata(x)表示真實樣本的分布;z~Pz(z)表示服從均勻分布或正態(tài)分布的隨機噪聲;D(x)為D判斷x是真實樣本的概率;D(G(z))為D判斷G(z)是真實樣本的概率.

生成對抗網(wǎng)絡(luò)面臨的一個重要挑戰(zhàn)是訓(xùn)練的不穩(wěn)定性,在實際訓(xùn)練中GAN會出現(xiàn)梯度消失的問題,如何穩(wěn)定訓(xùn)練過程成為訓(xùn)練GAN的首要問題.多個研究[16-18]指出保證Lipschitz連續(xù)性在確保訓(xùn)練的穩(wěn)定性方面具有重要作用.Wasserstein GAN (WGAN)[19]通過權(quán)值裁剪使鑒別器滿足Lipschitz約束,但限制了網(wǎng)絡(luò)的擬合能力. WGAN-GP[16]使用梯度懲罰來改進WGAN的訓(xùn)練,但梯度懲罰取決于生成器的分布,訓(xùn)練過程中生成器分布的多變性會導(dǎo)致梯度懲罰的不穩(wěn)定.

為了更進一步地提高訓(xùn)練的穩(wěn)定性,Miyato等人[19]提出了譜歸一化生成對抗網(wǎng)絡(luò)(Spectrally Normalized Generative Adversarial Network,SNGAN),通過譜歸一化(一種新的權(quán)重歸一化技術(shù))來使得判別器滿足Lipschitz約束,從而穩(wěn)定判別器的訓(xùn)練.

SNGAN中采用L2范數(shù)形式的Lipschitz連續(xù)函數(shù),具體而言是指對一個連續(xù)函數(shù)f進行了限制,要求存在一個常數(shù)K>=0,使得定義域內(nèi)的任意兩個元素x和x′都滿足一個表達式,滿足這一條件即可稱f的Lipschitz常數(shù)為K,在SNGAN中,K=1.表達式如下所示:

矩陣W的L2范數(shù)也就是譜范數(shù)存在如下式.

矩陣W的譜范數(shù)等于矩陣W的最大奇異值.因此,對于線性層g(h)=wh,存在下式.

當權(quán)重矩陣w的最大奇異值受到限制時,該層可以滿足Lipschitz約束.如果||w||2≤1 ,則函數(shù)g(h)可以滿足1-Lipschitz約束.對于像ReLU和LReLU這樣的激活函數(shù),滿足1-Lipschitz條件.GAN的判別器網(wǎng)絡(luò)是典型的多層神經(jīng)網(wǎng)絡(luò),由多個函數(shù)g(h)和激活函數(shù)組合而成的.因此,對于判別器存在表達式:

Lipschitz約束限制了f(x)和f(x)之間的差異.在損失優(yōu)化后,更新判別器會增加f(x)和f(x′)的差值,更新生成器會增加f(x′).較小的f(x)會導(dǎo)致生成器學(xué)習(xí)的不穩(wěn)定,較大的f(x)會導(dǎo)致判別器學(xué)習(xí)真實數(shù)據(jù)的速度變慢.Lipschitz約束不僅有助于生成器的穩(wěn)定,而且有助于判別器網(wǎng)絡(luò)的學(xué)習(xí).

3 基于SNGAN的對抗樣本生成方法

本文基于SNGAN的對抗樣本生成方法流程如圖1所示.整個方法流程的主要步驟如下,首先輸入一定數(shù)量的良性Android軟件和惡意Android軟件作為輸入數(shù)據(jù)集,對于每個Android軟件使用apktool工具進行拆分,生成反匯編文件,對于其中的AndroidManifest.xml文件和class.dex文件提取特征信息形成特征向量.然后,將良性軟件和惡意軟件分別轉(zhuǎn)化為良性軟件特征向量和惡意軟件特征向量;再將特征向量和隨機噪聲一同輸入到SNGAN模型的生成器網(wǎng)絡(luò)中,輸出得到對抗樣本特征向量.接著將得到的特征向量使用目標黑盒檢測器進行分類,得到良性軟件或惡意軟件的分類;再將包含分類信息的樣本數(shù)據(jù)輸入到SNGAN模型的替代檢測器(判別器)中,使得替代檢測器可以逐步模擬趨近目標黑盒檢測器的結(jié)構(gòu),生成器再從替代檢測器中提取梯度信息,如此使得整個SNGAN模型可以迭代地進化,直到最終收斂到一個穩(wěn)定的狀態(tài).

3.1 特征提取

在Android惡意軟件的檢測中,特征信息根據(jù)來源不同可以分為靜態(tài)特征和動態(tài)特征.其中靜態(tài)特征主要是通過程序分析等技術(shù)從軟件中提取的應(yīng)用配置、API調(diào)用等信息,從apk壓縮包中解壓的AndroidManifest.xml文件和class.dex文件是惡意軟件檢測的主要特征來源.其中AndroidManifest.xml是Android應(yīng)用清單文件,包含了Android軟件的配置信息,在進行代碼執(zhí)行和界面展示時都會使用到;class.dex文件是Android軟件的可執(zhí)行文件,與Android軟件的行為特征息息相關(guān).動態(tài)特征主要是軟件的行為,通過數(shù)據(jù)流分析等方法判斷軟件是否表現(xiàn)出隱私泄露、權(quán)限提升等惡意行為,使用動態(tài)特征的缺點在于提取特征需要在沙盒中實時執(zhí)行程序,時間成本較高,因此難以處理大規(guī)模的數(shù)據(jù)集,因此在本文中采用靜態(tài)特征作為特征提取的目標.

根據(jù)針對的黑盒檢測器的不同,本文主要使用了兩類特征.第一類特征來自于drebin檢測器[20]的特征提取方法,如表1所示.表1中,本文從AndroidManifest.xml文件中提取硬件組件、請求的權(quán)限、App組件、過濾的意圖作為特征信息;從class.dex文件中獲取可疑的API調(diào)用、受限的API調(diào)用、已使用的權(quán)限、網(wǎng)絡(luò)地址作為特征信息,對每一個特征使用一個標志位表示,根據(jù)該特征的存在與否使用1或0表示,(1代表應(yīng)用存在該特征,0代表不存在).本文將得到的特征集表示為了{0,1}矩陣形式,由于此時的矩陣維數(shù)較高且數(shù)據(jù)較為稀疏,在模型中計算速度較慢.因此對得到的矩陣進行特征篩選,將數(shù)據(jù)過于稀疏的特征項進行排除,得到了最終的特征向量.

第二類特征來自于Mamadroid[21]檢測器對API調(diào)用特征的處理提取方案,使用抽象的API調(diào)用序列,而不是特定API的頻率或存在,旨在捕獲移動應(yīng)用程序的行為模型,對class.dex文件進行信息提取,使用Androiguard工具將其中的API調(diào)用信息進行提取并形成API調(diào)用圖.然而由于API數(shù)量過多,直接對API調(diào)用序列進行處理計算成本太大,因此采用API家族之間的調(diào)用關(guān)系作為特征信息,將API調(diào)用圖轉(zhuǎn)化為API家族之間的調(diào)用關(guān)系數(shù)矩陣,再使用馬爾科夫鏈將其轉(zhuǎn)化為API家族轉(zhuǎn)移概率矩陣,最終得到了Android軟件的特征矩陣.

3.2 生成器

在特征提取的基礎(chǔ)上,本文構(gòu)造了生成器模塊,利用隨機噪聲將惡意軟件的特征向量轉(zhuǎn)換為對抗樣本特征向量.由生成器和替代檢測器組成的SNGAN結(jié)構(gòu)如圖2所示.生成器接受隨機噪聲向量(采用高斯分布生成)和惡意軟件的特征向量作為輸入,生成對抗樣本特征向量作為輸出,再將輸出的向量輸入給替代檢測器進行分類.在訓(xùn)練過程中,生成器的權(quán)重和偏置不斷被調(diào)整,從而最大限度地規(guī)避替代檢測器,生成惡意性被隱藏起來的對抗樣本.

生成器的結(jié)構(gòu)是一個多層前饋神經(jīng)網(wǎng)絡(luò),以惡意軟件特征向量x和噪聲向量n進行拼接作為輸入.其中x是一個X維的二進制向量,x的每個元素對應(yīng)一個特征的存在與否,且生成器網(wǎng)絡(luò)的輸出也具有X個神經(jīng)元;噪聲向量n由從[0,1]范圍中隨機采用得到的元素組成,是一個N維向量.其作用是使得生成器可以隨機地根據(jù)惡意樣本生成對抗樣本.在全連接層后使用了激活函數(shù)LeakyReLU,在輸出層前使用了激活函數(shù)tanh,表達式分別如下式所示,且在中間加入了譜歸一化層.

生成器的損失函數(shù)表達式如下所示.

其中,Smal是惡意軟件數(shù)據(jù)集;z是在[-1,1]范圍內(nèi)均勻分布的噪聲向量.LG的最小化過程會降低樣本被識別為惡意的概率,推動替代檢測器將惡意軟件誤判為良性軟件.

當生成作為對抗樣本的特征向量時,刪除或者修改特征可能會導(dǎo)致Android惡意軟件出現(xiàn)錯誤而無法運行,例如刪除AndroidManifest.xml文件中的權(quán)限android. permission.CAMERA會導(dǎo)致軟件無法訪問相機,因此只使用向其中添加特征的方式來進行擾動,表示在特征向量中即是與表示擾動特征的向量做OR運算.

3.3 替代檢測器

在黑盒環(huán)境下,攻擊者并不了解檢測器的內(nèi)部具體構(gòu)造,為了模擬這一場景,本文使用替代檢測器來模擬目標黑盒檢測器.替代檢測器是權(quán)值為θd的多層前饋神經(jīng)網(wǎng)絡(luò),以程序特征向量x為輸入.他將程序分為良性程序和惡意程序.我們將x為惡意軟件的預(yù)測概率表示為Dθd(x).與生成器一樣,替代檢測器也包含了譜歸一化層來提高訓(xùn)練的穩(wěn)定性并加速收斂.

替代檢測器接收樣本輸入,可以是真實的惡意樣本或生成的對抗樣本.在訓(xùn)練過程中,替代檢測器會將輸入數(shù)據(jù)分類為惡意樣本或良性樣本.替代檢測器的目標是盡可能準確地區(qū)分樣本的惡意性,并提供反饋給生成器來幫助其生成更加“良性”的對抗樣本.因此替代檢測器的性能很大程度上影響著SNGAN模型的整體性能.

替代檢測器的訓(xùn)練數(shù)據(jù)包括來自生成器的對抗樣本特征向量以及分別從良性軟件和惡意軟件提取的特征向量.這些特征向量并不直接輸入到替代檢測器中,而是先使用黑盒檢測器對輸入的特征向量進行檢測,得到惡意或良性的分類結(jié)果,再將包含分類信息的數(shù)據(jù)輸入到替代探測器中進行利用.替代檢測器的損失函數(shù)如下式所示.

其中,Bben是黑盒檢測器標注為良性軟件的樣本集合;Bmal是黑盒檢測器標注為惡意軟件的樣本集合,損失函數(shù)體現(xiàn)了惡意樣本和良性樣本之間的 Wasserstein 距離[19]的差值.

3.4 黑盒檢測器

為了與相關(guān)研究對比實驗效果,本文的黑盒檢測器包含了Android惡意軟件對抗樣本生成領(lǐng)域經(jīng)常使用到的機器學(xué)習(xí)檢測器drebin[20]和Mamadroid[21].這兩者都是Android惡意軟件檢測器系統(tǒng),同時都依賴靜態(tài)分析技術(shù)提取特征,并使用機器學(xué)習(xí)算法進行分類.由于這兩種檢測器的高知名度,許多Android惡意軟件對抗攻擊方法以他們?yōu)槟繕耍虼艘运麄冏鳛楹诤袡z測器能夠更加方便與直觀地與相關(guān)研究對比實驗效果.

Drebin是一款輕量級的Android惡意軟件檢測器,通過對AndroidManifest.xml和應(yīng)用程序的smail文件進行掃描提取特征,提取的特征包括權(quán)限、活動和API調(diào)用等八個類別的特征.

Drebin定義了一個|S|維向量空間,通過構(gòu)造特征向量φ(x)將Android軟件映射到該空間,空間每個維度的值為0或1,表示對應(yīng)特征的存在或不存在.例如一個需要發(fā)送高級SMS消息并因此需要請求某些權(quán)限和硬件組件的Android惡意軟件對應(yīng)的特征向量φ(x)如圖3所示.

Drebin訓(xùn)練一個支持向量機(SVM)分類器來區(qū)分良性和惡意軟件.在此基礎(chǔ)上,為了驗證模型生成的對抗樣本是否具有可遷移性,本文使用了幾種不同的算法對drebin提取的特征進行惡意或良性的分類,包括邏輯回歸(LR)、隨機森林(RF)、多層感知器(MLP).

MaMaDroid從一個Apk的API調(diào)用圖中提取特征,抽取了API調(diào)用關(guān)系蘊含的隱含信息,這也是許多惡意軟件檢測模型常用的方式[22].它使用抽象的API調(diào)用序列,而不是特定API的頻率或存在,旨在捕獲移動應(yīng)用程序的行為模型.然而由于API數(shù)量過多,直接對API調(diào)用序列進行處理計算成本太大,因此將API調(diào)用抽象為家族級別或包級別.如對API調(diào)用sendTextMessage()的抽象如圖4所示.抽象成家族級別更輕量級,而抽象成包級別粒度更細,為了加快訓(xùn)練過程的收斂速度,此處將API調(diào)用抽象為家族級別.

MaMaDroid首先從每個應(yīng)用程序中提取API調(diào)用,并獲得API調(diào)用序列.然后使用API家族為對API調(diào)用進行抽象.最后構(gòu)造馬爾可夫鏈,以每個家族之間的轉(zhuǎn)移概率作為特征向量,分別使用隨機森林(RF)、鄰近算法(KNN)和支持向量機(SVM)來訓(xùn)練機器學(xué)習(xí)分類器.

3.5 訓(xùn) 練

在訓(xùn)練過程中,同時訓(xùn)練生成器G和替代檢測器D,其中生成器G的目標為輸入的惡意軟件對其添加擾動生成對抗樣本,替代檢測器D嘗試提取目標黑盒檢測器f的信息,并對輸入的樣本模擬黑盒檢測器f的決策進行良性樣本和惡意樣本的分類.

整個訓(xùn)練過程可以分為以下幾個步驟:

(1)初始化生成器和判別器的參數(shù).

(2)使用生成器生成對抗樣本.

(3)將惡意樣本和對抗樣本輸入到替代檢測器中打上標簽.

(4)將標簽樣本輸入到替代檢測器進行訓(xùn)練.

(5)通過替代檢測器反饋的梯度信息訓(xùn)練生成器.

(6)重復(fù)步驟(2)~(5)直到達到預(yù)設(shè)的訓(xùn)練次數(shù)或者損失函數(shù)收斂.

對于訓(xùn)練替代檢測器D,惡意樣本和良性樣本都被集成到數(shù)據(jù)集中.在每次迭代中,從數(shù)據(jù)集中抽取一批同時包含兩者的混合樣本,然后將它們輸入到黑盒檢測器f當中.然后使用黑盒檢測器f輸出的標簽來擬合生成器D,使生成器D的決策邊界盡可能接近黑盒檢測器f.

在訓(xùn)練過程中,生成器G學(xué)習(xí)生成能夠逃避替代檢測器D的樣本.隨著替代檢測器D與目標黑盒檢測器f相似度的提高,生成器G對黑盒檢測器f的逃避檢測能力也會提高.最后,由于對抗攻擊的可轉(zhuǎn)移性,由生成器G生成的對抗樣本也能有效規(guī)避黑盒檢測器f.一旦訓(xùn)練過程完成,即可使用訓(xùn)練好的生成器G在很短的時間內(nèi)只使用輸入的惡意軟件生成對抗樣本.

生成器G的目的是學(xué)習(xí)原始標簽中y=-1的惡意樣本的特征信息,生成相應(yīng)的對抗樣本,從而誤導(dǎo)替代檢測器D將其預(yù)測成標簽為y=1的“良性”樣本.

4 實 驗

4.1 數(shù)據(jù)集

本文使用的數(shù)據(jù)集主要來自知名的Android軟件數(shù)據(jù)集drebin和AndroZoo,從中下載了5000個惡意的和5000個良性的Android軟件構(gòu)成了訓(xùn)練數(shù)據(jù)集.其中drebin數(shù)據(jù)集只包含Android惡意軟件,軟件來源包括GooglePlay商店、中國及俄羅斯的不同應(yīng)用市場、Android網(wǎng)站、惡意軟件論壇和安全博客及Android Malware Genome Project,每個樣本都被發(fā)送到VirusTotal服務(wù),并經(jīng)過其中十個常見的反病毒掃描程序檢測(AntiVir,AVG,Bit-Defender,ClamAV,ESET,F(xiàn)-Secure,Kaspersky,McAfee,Panda,Sophos),對于至少兩個掃描程序檢測到的apk被認定為惡意軟件.AndroZoo [23]是從多個來源收集的不斷增長的 Android 應(yīng)用程序集合,同時包含良性軟件和惡意軟件,包括官方 Google Play 應(yīng)用程序市場.每個 APK 都已(或即將)被數(shù)十種不同的防病毒產(chǎn)品分析,以了解哪些應(yīng)用程序被檢測為惡意軟件.

最后對數(shù)據(jù)集進行了拆分,使用了80%的樣本作為訓(xùn)練集,剩余的20%則作為測試集.本文所使用基于SNGAN的對抗樣本生成方法和黑盒檢測器共用訓(xùn)練集和測試集.

4.2 評價指標

數(shù)據(jù)集中的所有惡意軟件通過模型迭代進行擾動后生成對抗樣本,再輸入到黑盒檢測器中進行檢測,對檢測結(jié)果使用召回率(TPR)進行評價.

其中,F(xiàn)N表示分類器判斷為陰性的陽性樣本數(shù)量,此處表示黑盒檢測器判斷為良性的惡意樣本數(shù)量;TP表示分類器判斷為陽性的陽性樣本數(shù)量,此處表示黑盒檢測器判斷為惡意的惡意樣本數(shù)量.FNR實際含義為所有樣本中被檢測器檢測為惡意軟件的比例,TPR越低代表著越多的對抗樣本成功逃避檢測,也說明模型擾動效果越好.

4.3 實驗結(jié)果

對于數(shù)據(jù)集中的惡意軟件樣本,根據(jù)Drebin檢測器和Mamadroid檢測器的特征提取方法,提取特征形成惡意軟件特征向量輸入到模型中,迭代地進行擾動后得到對抗樣本特征向量,最初的惡意軟件特征向量和最后的對抗樣本特征向量使用黑盒檢測器進行檢測得到實驗結(jié)果.

為了更好地體現(xiàn)本文提出方法的可遷移性,此處使用的黑盒檢測器有兩個類別:第一類為drebin檢測器及其變種,其使用支持向量機(SVM)、邏輯回歸(LR)、隨機森林(RF)、多層感知器(MLP)來訓(xùn)練分類器,對應(yīng)的實驗結(jié)果如表2所示;第二類為Mamadroid檢測器,其使用的分類器隨機森林(RF)、鄰近算法(KNN)和支持支持向量機(SVM)來訓(xùn)練分類器,對應(yīng)的實驗結(jié)果如表3所示.

在本文使用的SNGAN模型中,使用了RMSprop作為優(yōu)化器,學(xué)習(xí)率為0.0005,使用wasserstein loss[19]作為損失函數(shù).目標黑盒檢測器為Drebin檢測器及其變種時,噪聲維數(shù)為100,生成器網(wǎng)絡(luò)的層次大小分別為706、512、256、128、64、606,替代檢測器中的層次大小分別為606、700、1;而當目標黑盒檢測器更換為Mamadroid檢測器后,則相應(yīng)的將噪聲維數(shù)改為20,將生成器網(wǎng)絡(luò)的層次大小改為141、128、64、121,將替代檢測器網(wǎng)絡(luò)的層次大小改為121、242、1.在生成器網(wǎng)絡(luò)中每兩層間使用了激活函數(shù)LeakyReLU,在最后加上譜歸一層并使用tanh作為激活函數(shù).樣本被輸入到在SNGAN模型中進行了200次迭代訓(xùn)練,每次迭代中又循環(huán)地隨機從訓(xùn)練集中選擇64個樣本作為小批量地訓(xùn)練樣本,直到訓(xùn)練樣本總數(shù)達到訓(xùn)練集的樣本數(shù).最后選擇規(guī)避效果最好的一次迭代生成的對抗樣本與最初的惡意樣本輸入到黑盒檢測器中對比檢測結(jié)果.

相比于原始樣本TPR的降低可以解釋為當模型被訓(xùn)練時惡意軟件樣本的轉(zhuǎn)換,這樣的轉(zhuǎn)換可以將惡意軟件的特征向量變成更趨近于良性樣本的特征向量,進而逃避黑盒檢測器的檢測.

可以觀察到,對于Drebin檢測器及其變種,使用MLP和LR作為分類器時,對于原始的惡意樣本能夠達到96%以上的檢測率(即TPR),相對于使用SVM和RF作為分類器達到了更好的檢測效果.同時Drebin檢測器及其變種相較于Mamadroid檢測器對原始樣本71%~79%的檢測率,檢測效果更好.原因是Drebin的特征提取方式同時使用了Manifest特征和Dexcode特征,與Mamadroid的特征提取方式使用的API調(diào)用相比較,能夠更加完善地表征惡意軟件的特征信息.

同時,為了突出本文方法相較于同類方法的優(yōu)勢,將本文實驗結(jié)果與一些同樣以Drebin和Mamadroid檢測器為攻擊目標的對抗攻擊方法[6,9,12,24]進行了對比,對比結(jié)果如表4所示.其中檢測率指對抗攻擊方法生成的對抗樣本在Drebin或Mamadroid檢測器中被判定為惡意軟件的比率,值越低則擾動效果越好,基于SNGAN的攻擊代指本文方法.不難看出,相較于其他Android惡意軟件對抗樣本生成方法,本文方法使得檢測器對惡意軟件的檢測率達到了更低的水準,也即是本文方法能夠?qū)z測器產(chǎn)生更好的擾動效果.

在對惡意軟件樣本使用模型添加擾動后,本文方法最后檢測結(jié)果的TPR都可以達到或者接近0%,證明訓(xùn)練后的生成器網(wǎng)絡(luò)已經(jīng)學(xué)習(xí)到如何有效地繞過黑盒檢測器.對于測試的惡意軟件來說,在使用本文的方法添加擾動后可以有效規(guī)避黑盒檢測器的檢測.但需要說明的是,使用不同的黑盒檢測器在實際的實驗過程中收斂難度并不相同,表現(xiàn)到數(shù)據(jù)上就是模型達到收斂狀態(tài)(也就是迭代過程中黑盒檢測器檢測結(jié)果的FNR達到穩(wěn)定狀態(tài))需要的迭代次數(shù)并不相同.

5 結(jié) 論

本文提出了一種基于SNGAN模型的惡意軟件對抗樣本生成方法,對惡意軟件添加擾動生成對抗樣本,并在黑盒場景下針對機器學(xué)習(xí)檢測器Drebin和Mamadroid進行對抗攻擊,驗證了方法的可行性.相較于其他將GAN模型用于惡意軟件對抗樣本生成的研究,本文使用了更加完備的特征提取方式,改善了將GAN模型運用在惡意軟件領(lǐng)域存在的訓(xùn)練不穩(wěn)定的問題.同時對多個分類算法進行實驗,驗證了本文方法的可遷移性.進一步探究了基于機器學(xué)習(xí)的惡意軟件檢測器的漏洞,提出了一種惡意軟件可能使用到的對抗樣本生成技術(shù),為促進惡意軟件檢測技術(shù)的發(fā)展提供了理論和數(shù)據(jù)基礎(chǔ).

參考文獻:

[1]王思遠, 張仰森, 曾健榮, 等.Android惡意軟件檢測方法綜述[J].計算機應(yīng)用與軟件, 2021, 38: 1.

[2]孫彥博. 2021 年中國手機操作系統(tǒng)行業(yè)研究報告[EB/OL]. [2022-05-22]. https://pdf.dfcfw.com/pdf/H3_AP202105261494050963_1.pdf?162203 5238000.pdf.

[3]360 互聯(lián)網(wǎng)安全中心. 2022 年度中國手機安全狀況報告[EB/OL]. [2022-05-23]. https://pop.shouji.#/safe_report/Mobile-Security-

Report-202212.pdf.

[4]Aboaoja F A, Zainal A, Ghaleb F A, et al. Malware detection issues, challenges, and future directions: a survey [J]. Appl Sci, 2022, 12: 8482.

[5]Li D, Li Q. Adversarial deep ensemble: evasion attacks and defenses for malware detection [J]. IEEE T Inf Foren Sec, 2020, 15: 3886.

[6]Grosse K, Papernot N, Manoharan P, et al. Adversarial perturbations against deep neural networks for malware classification [EB/OL]. [2022-05-25]. https://arxiv.org/pdf/1606.04435.pdf.

[7]Al-Dujaili A, Huang A, Hemberg E, et al. Adversarial deep learning for robust detection of binary encoded malware [C]//Proceedings of the 2018 IEEE Security and Privacy Workshops (SPW). [S.l]: IEEE, 2018: 76.

[8]Kolosnjaji B, Demontis A, Biggio B, et al. Adversarial malware binaries: evading deep learning for malware detection in executables[C]//Proceedings of the 2018 26th European Signal Processing Conference (EUSIPCO). [S.l]: IEEE, 2018: 533.

[9]Demontis A, Melis M, Biggio B, et al. Yes, machine learning can be more secure! a case study on android malware detection [J]. IEEE T Depend Secure, 2017, 16: 711.

[10]Hu W, Tan Y. Black-box attacks against RNN based malware detection algorithms [C]//National Conference on Artificial Intelligence. San Francisco: OpenReview.net, 2017.

[11]Hu W, Tan Y. Generating adversarial malware examples for black-box attacks based on GAN[C]// Proceedings of the Data Mining and Big Data: 7th International Conference(DMBD).Singapore: Springer Nature Singapore, 2023: 409.

[12]Chen X, Li C, Wang D, et al. Android HIV: a study of repackaging malware for evading machine-learning detection [J]. IEEE T Inf Foren Sec, 2019, 15: 987.

[13]Renjith G, Laudanna S, Aji S, et al. GANG-MAM: GAN based enGine for modifying android malware [J]. SoftwareX, 2022, 18: 100977.

[14]Chen S, Xue M, Fan L, et al. Automated poisoning attacks and defenses in malware detection systems: an adversarial machine learning approach [J]. Comput Secur, 2018, 73: 326.

[15]Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets [C]//Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal: OpenReview.net, 2014.

[16]Gulrajani I, Ahmed F, Arjovsky M, et al. Improved training of wasserstein gans [C]// Proceedings of the 31th International Conference on Neural Information Processing Systems. Massachusetts: MIT Press, 2017.

[17]Arjovsky M, Bottou L. Towards principled methods for training generative adversarial networks[C]//International Conference on Learning Representations. Toulon: OpenReview.net, 2017.

[18]Qi G J. Loss-sensitive generative adversarial networks on lipschitz densities [J]. Int J Comput Vision, 2020, 128: 1118.

[19]Miyato T, Kataoka T, Koyama M, et al. Spectral normalization for generative adversarial networks[C]//Proceedings of the 6th International Conference on Learning Representations. Canada: OpenReview.net, 2018.

[20]Arp D, Spreitzenbarth M, Hubner M, et al. Drebin: effective and explainable detection of android malware in your pocket [C]//21st Annual Network and Distributed SystemSecurity Symposium. Rosten: OpenReview.net, 2014.

[21]Onwuzurike L, Mariconti E, Andriotis P, et al. Mamadroid: detecting android malware by building markov chains of behavioral models (extended version)[J]. ACM T Priv Secur, 2019, 22: 1.

[22]岳子巍, 方勇, 張磊. 基于圖注意力網(wǎng)絡(luò)的安卓惡意軟件檢測[J].四川大學(xué)學(xué)報:自然科學(xué)版, 2022, 59: 053002.

[23]Allix K, Bissyandé T F, Klein J, et al. Androzoo: collecting millions of android apps for the research community [C]//2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR). Austin: IEEE, 2016: 468.

[24]Goodfellow I J, Shlens J, Szegedy C. Explaining and harnessing adversarial examples[C]//ICLR 2015: 3rd International Conference on Learning Representations. San Diego: OpenReview.net, 2015.

引用本文格式:

中 文: 張宇科, 王俊峰.基于SNGAN的黑盒惡意軟件對抗樣本生成方法[J]. 四川大學(xué)學(xué)報: 自然科學(xué)版, 2023, 60: 062003.

英 文: Zhang Y K, Wang J F. Black box malware adversarial examples generation method based on SNGAN [J]. J Sichuan Univ: Nat Sci Ed, 2023, 60: 062003.

即墨市| 青海省| 京山县| 禄丰县| 泸西县| 左贡县| 应城市| 浮山县| 灵石县| 扎鲁特旗| 江城| 天台县| 阿坝县| 湘西| 增城市| 吉木萨尔县| 团风县| 洛浦县| 怀远县| 武城县| 墨竹工卡县| 荃湾区| 廉江市| 册亨县| 新龙县| 全州县| 赣州市| 永安市| 曲沃县| 南郑县| 蓝山县| 永康市| 紫阳县| 洛宁县| 定南县| 开江县| 上栗县| 汶川县| 观塘区| 永仁县| 淮滨县|