论文详读:LEMNA: Explaining Deep Learning based Security Applications
我以我ppt的內(nèi)容順序介紹一下這篇論文,希望有錯誤的地方大家可以幫我指出嘻嘻
1、論文出處
論文名:LEMNA: Explaining Deep Learning based Security Applications
作者:Wenbo Guo, Dongliang Mu, Jun Xu, Purui Su, Gang Wang, Xinyu Xing(Wenbo Guo是賓夕法尼亞大學(xué)計算機系博士,并且在京東安全研發(fā)中心研究時發(fā)表了此篇論文)
論文發(fā)表:Proceedings of The 25th ACM Conference on Computer and Communications Security ?CCS2018年優(yōu)秀論文(CCS是安全領(lǐng)域四大頂會之一)
發(fā)表時間:2018年10月
?
2、概述
2.1主要內(nèi)容
? ?本文介紹了一種新的方法——LEMNA,可以為基于深度學(xué)習(xí)的安全應(yīng)用提出高精度的解釋,該方法提出了基于fused lasso增強的混合回歸模型,解決了現(xiàn)有的解釋技術(shù)無法處理特征依賴和非線性局部邊界問題。LEMNA可以幫助安全分析人員用來理解分類器行為,排除分類錯誤等。總的來說LEMNA本質(zhì)上是一種解釋技術(shù)。
2.2研究背景
? ? ?目前深度神經(jīng)網(wǎng)絡(luò)在網(wǎng)絡(luò)安全應(yīng)用上展現(xiàn)了強大的潛力,并且在惡意軟件分類,逆向工程等都取得了很好的效果。逆向工程指的是將二進制代碼轉(zhuǎn)化為匯編語言或其他語言代碼,實現(xiàn)二次開發(fā)。其作用包括檢測惡意軟件、易受攻擊的代碼片段,挖掘漏洞,生成安全補丁等。深度學(xué)習(xí)在二進制逆向工程的應(yīng)用主要包括使用RNN識別函數(shù)邊界,定位函數(shù)類型特征等等。惡意軟件分類指的是判斷軟件/文件是惡性的還是良性的,深度學(xué)習(xí)在這上面的應(yīng)用主要是使用MLP模型進行大規(guī)模的惡意軟件分類。
? ? ? 但是由于神經(jīng)網(wǎng)絡(luò)的不透明特性,很難知道深度神經(jīng)網(wǎng)絡(luò)是依據(jù)什么如何做出分類決策的,因此提出了一種解釋技術(shù)來解釋深度神經(jīng)網(wǎng)絡(luò)是如何做出決策的,解釋技術(shù)實際上就是用來找到對分類結(jié)果做出關(guān)鍵貢獻(xiàn)的特征。
2.3研究動機
? ? ?由于我們關(guān)心的安全領(lǐng)域(如二進制逆向工程)使用的深度學(xué)習(xí)模型,深度學(xué)習(xí)模型包含多層網(wǎng)絡(luò),復(fù)雜度高,很難知道深層神經(jīng)網(wǎng)絡(luò)是如何做出某些決定的,安全從業(yè)人員難以信任深度學(xué)習(xí)模型,并且現(xiàn)有的解釋技術(shù)在安全領(lǐng)域應(yīng)用得非常少,并且效果不好,因此為了改進現(xiàn)有解釋技術(shù)存在的問題,我們提出一種解釋技術(shù)——LEMNA
2.4要解決的問題
? ? ? ?安全領(lǐng)域例如二進制逆向工程、惡意軟件分類領(lǐng)域沒有適用的高精度的解釋技術(shù),以及現(xiàn)有的解釋技術(shù)存在的:無法處理特征依賴和非線性局部邊界問題。
2.5遇到的挑戰(zhàn)
? ? ? ?安全領(lǐng)域?qū)τ诮忉尩木?#xff08;準(zhǔn)確度)要求非常高,如果安全從業(yè)人員不能排除分類錯誤,那么這些錯誤會在實踐中被方法,容易是受到攻擊。因此如何提高解釋技術(shù)的解釋精度非常重要
2.6主要解決思路
? ? ? 主要思路是將目標(biāo)深度學(xué)習(xí)分類器視為一個黑箱,并通過模型近似推導(dǎo)出解釋,首先引入了fusion lasso來處理特征依賴問題,接著,將融合lasso集成到混合回歸模型中,逼近局部非線性決策邊界,最后求解集成混合回歸模型參數(shù),最后應(yīng)求解得到的模型來作出解釋。
?
3、詳細(xì)介紹
3.1研究現(xiàn)狀
近年來,深層神經(jīng)網(wǎng)絡(luò)在構(gòu)建安全應(yīng)用方面顯示出巨大的潛力。到目前為止,研究人員已經(jīng)成功地應(yīng)用深度神經(jīng)網(wǎng)絡(luò)對二進制逆向工程、惡意軟件分類器進行了訓(xùn)練均取得了極高的準(zhǔn)確率。
深度學(xué)習(xí)雖然在各個領(lǐng)域顯示出巨大的潛力,但缺乏透明度限制了它在安全或安全關(guān)鍵領(lǐng)域的應(yīng)用,然而網(wǎng)絡(luò)的高度復(fù)雜性也導(dǎo)致了模型的低可解釋性,很難理解深層神經(jīng)網(wǎng)絡(luò)是如何做出某些決定的。缺乏透明度為建立對模型的信任或有效地排除分類錯誤造成了關(guān)鍵障礙。
由于我們關(guān)心的安全領(lǐng)域,例如二進制逆向工程,使用的深度學(xué)習(xí)模型,深度學(xué)習(xí)模型包含多層網(wǎng)絡(luò),復(fù)雜度高,很難知道深層神經(jīng)網(wǎng)絡(luò)是如何做出某些決定的,因此提高安全從業(yè)人員對深度學(xué)習(xí)模型的信任度,并且從分類決策中學(xué)到知識,排除深度學(xué)習(xí)分類時出現(xiàn)的錯誤,提高準(zhǔn)確率,需要應(yīng)用解釋技術(shù)來解釋安全領(lǐng)域的深度學(xué)習(xí)問題。
目前常用的解釋技術(shù)包括白盒解釋技術(shù)和黑盒解釋技術(shù),白盒解釋計算指的是在已知的模型結(jié)構(gòu),模型參數(shù)和訓(xùn)練數(shù)據(jù)下分析推斷特征的重要性,主要為CNN設(shè)計的,主要用在圖像領(lǐng)域。而黑盒解釋技術(shù)指的是將分類器視為一個黑箱,并通過發(fā)送輸入和觀察輸出來分析特征的重要性,黑盒技術(shù)的代表性模型有LIME。
?
3.2問題引入
現(xiàn)有的解釋技術(shù)研究大多集中在圖像分析或自然語言處理(NLP)等非安全應(yīng)用領(lǐng)域,這些方法通常用卷積神經(jīng)網(wǎng)絡(luò) (CNN),然而二進制反向工程和惡意軟件分析等安全應(yīng)用程序都具有高級特性依賴關(guān)系,因此,遞歸神經(jīng)網(wǎng)絡(luò)(RNN)或多層感知器模型(MLP)用得更多。
目前,RNN上還沒有很好的解釋方法,并且現(xiàn)有的方法仍然存在解釋精度很低的,另一方面,現(xiàn)有的方法通常有較低的解釋精度。對于圖像識別等應(yīng)用而言,相對較低的解釋精度是可以接受的。但是對于安全應(yīng)用,比如二進制分析而言,即使對于一個字節(jié)的解釋偏差也會導(dǎo)致嚴(yán)重的錯誤。
除此之外,LIME模型雖然表現(xiàn)的很好,但是LIME模型無法解決特征依賴問題以及不支持局部非線性決策邊界。因此提出一種可以應(yīng)用于安全領(lǐng)域,并且可以解決特征依賴問題和支持局部非線性決策邊界的高精度的解釋技術(shù)是非常必要的。
?
3.3模型提出
針對LIME模型存在的無法解決特征依賴問題以及不支持局部非線性決策邊界的問題提出了fused Lasso和混合回歸模型
- fused lasso
Fused lasso是一種懲罰因子,可以用來約束參數(shù),也就是說可以用來捕獲特征依賴項,首先我們假設(shè)線性回歸模型為:f(x)= βx+? ???????
1)根據(jù)模型定義損失函數(shù)L(f(x),y),這里𝑥𝑖為訓(xùn)練樣本, 𝑦𝑖為樣本真實標(biāo)簽,f(𝑥_𝑖)=βxi + ?為對樣本𝑥_𝑖的預(yù)測標(biāo)簽?????
2)將懲罰項fused lasso引入到損失函數(shù)
其中N表示總的樣本個數(shù),M表示總的特征維數(shù),S 表示自己設(shè)置的閾值參數(shù),將閾值設(shè)置為非常小的值,就可以實現(xiàn)將相鄰的特征的系數(shù)設(shè)為相同。
3)最后期望得到的線性回歸模型為:
可以看到特征x2,x3分配了相同的系數(shù),因此利用這個線性回歸模型就可以解決特征依賴問題
- 混合回歸模型
K表示混合模型中線性回歸模型分量的個數(shù),πk表示每個線性回歸分量分配的權(quán)重,
因此給定足夠的樣本,混合回歸模型都可以得到非常準(zhǔn)確的決策邊界
??????
- LEMNA模型——混合回歸模型集成fused lasso
其中𝑁k表示第k個線性回歸分量的樣本數(shù),βkj表示第k個線性回歸分量的第j個參數(shù),𝜷𝒌表示第k個線性回歸分量的參數(shù)向量。將模型最小化,求得參數(shù)𝜷𝒌 ,就可以得到最終的混合回歸模型。
?
3.4模型求解 ?解決方案—理論、方法、算法、公式等的分析、推導(dǎo)和討論
對于LEMNA模型的求解與標(biāo)準(zhǔn)線性回歸不同,我們的優(yōu)化目標(biāo)很難實現(xiàn),不能簡單地利用MLE來實現(xiàn)最小化。為了有效地估計混合回歸模型的參數(shù),我們使用了另一種方法
1)為了有效的估計混合回歸模型,用概率的形式表示混合回歸模型,由K個高斯分布函數(shù)的線性組合(高斯混合模型)
其中𝜎_k^2表示第k個高斯分布的方差,𝜋_𝑘表示第k個線性回歸分量的權(quán)重
2)然后對于參數(shù)𝜷_𝒌,𝜎_k^2, 𝜋_𝑘這三個參數(shù),利用EM算法(期望最大化算法)進行參數(shù)估計
基本思路:首先對這三個參數(shù)進行初始化,然后將所有樣本都分配給對應(yīng)高斯分布。然后再使用MLE重新計算三個參數(shù),并且在計算𝜷_𝒌的時候加入lasso約束,重復(fù)執(zhí)行這兩個步驟,直到高斯分布穩(wěn)定下來。
???
3.5具體實驗和結(jié)果
我們將LEMNA應(yīng)用于兩個安全應(yīng)用:利用RNN檢測逆向工程二進制代碼的函數(shù)開始位置、基于MLP對PDF惡意軟件進行分類。
- 分類器參數(shù)設(shè)置
函數(shù)開始位置檢測:使用包含2200二進制的數(shù)據(jù)集的RNN,訓(xùn)練4個不同的分類器。數(shù)據(jù)集中的每個二進制文件都表示為十六進制代碼序列,將序列中的每個元素視為一個特性。
PDF惡意軟件分類器:基于廣泛使用的數(shù)據(jù)集(4999個惡意PDF文件和5000個良性文件)構(gòu)建一個基于mlp的惡意軟件分類器,為每個文件提取135個特性,隨機選取70%的數(shù)據(jù)集(惡意軟件和良性1:1)作為訓(xùn)練數(shù)據(jù),剩下的30%作為測試數(shù)據(jù)。
- LEMNA模型實驗步驟
1)給出一個輸入實例x(一段二進制序列樣本)首先利用分類器RNN找到了函數(shù)開始的位置
2)構(gòu)建基于x的合成樣本(思想是隨機地使x的一個特征子集無效)
3)設(shè)置模型參數(shù):N = 500 , K = 6 , S = e^(?4)
4)利用LEMNA模型求解得到混合回歸模型,其中權(quán)重最大的線性分量是最終線性模型
5)根據(jù)最終線性模型的系數(shù)來對特征的重要性進行排序
- 分類器分類結(jié)果
可以明顯的發(fā)現(xiàn),兩個深度學(xué)習(xí)分類器分類效果都非常好
- LEMNA模型解釋結(jié)果
給定一個輸入十六進制序列和檢測到的函數(shù)開始,即83, LEMNA在序列中標(biāo)記出一組貢獻(xiàn)最大的十六進制編碼。這里,83是函數(shù)的開始,LEMNA指出,函數(shù)開始前的十六進制編碼90是最重要的檢測原因。
?
3.6結(jié)論
為了驗證解釋的正確性,進行了兩個階段的實驗。
- 局部近似精度
1)對于每個樣本x_i,首先使用分類器得到預(yù)測概率 𝑝𝑖? (𝑖=1,2……𝑛)
2)針對樣本x_i,使用LEMNA模型得到最佳的線性模型
3)利用這個線性模型計算近似預(yù)測概率 (𝑝𝑖 )?
4)最后使用均方根誤差(RMSE)來測量近似的決策邊界和原始的決策邊界的誤差,并和LIME模型進行對比
結(jié)果表明,LEMNA模型的RMSE比LIME模型小一個數(shù)量級,LEMNA模型得到的局部線性模型更精確,LEMNA模型解釋效果更好
??????
- 端到端評價
假設(shè)特征Fx為解釋模型選中的一小部分重要特征,這里定義了PCR作為評價指標(biāo),表示的是樣本分類為原始標(biāo)簽的概率
1)特征推理測試:對分類正確的樣本x中的Fx進行空化,構(gòu)造一個新樣本,并計算PCR
2)特征增強測試:對于一個分類錯誤的樣本x,用解釋模型找到的特征Fx替換中的對應(yīng)特征
3)特征生成測試:保留Fx,同時為其余特征隨機分配值,構(gòu)建新樣本
?
?
在所有三個測試中,我們的LEMNA都比LIME和隨機基線表現(xiàn)出色得多。有趣的是,對于惡意軟件分類器,LIME的性能和隨機特征選擇一樣差。這是因為特征向量稀疏,不利于決策邊界的平滑。LIME很難準(zhǔn)確地逼近非光滑邊界,這再次驗證了LEMNA更適合于安全應(yīng)用,因為與圖像分析任務(wù)相比,安全應(yīng)用需要更高的解釋精度
?
4.總結(jié)——文章的主要貢獻(xiàn):
- 論文提出了可以應(yīng)用在特定安全領(lǐng)域(二進制逆向工程和惡意軟件分類等)上的解釋模型——LEMNA,在二進制逆向工程和惡意軟件分類中有很好的應(yīng)用。
- 提出了一系列評價方法來量化解釋結(jié)果的準(zhǔn)確性,實驗表明,LENMA解釋效果很好。
- 對于二進制逆向分析,LEMNA解釋了為什么分類器會做出錯誤的決定,并且針對這種錯誤提出了修補方法,提高了分類準(zhǔn)確率
- 建立對安全領(lǐng)域的深度學(xué)習(xí)模型的信任
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的论文详读:LEMNA: Explaining Deep Learning based Security Applications的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 【矩阵论笔记】零化多项式
- 下一篇: stm32驱动sd卡(1)
