深卷積惡意軟件分類器可以僅從原始可執(zhí)行程序和標簽中學(xué)習(xí)

來源:DEEP CONVOLUTIONAL MALWARE CLASSIFIERS CAN LEARN FROM RAW EXECUTABLES AND LABELS ONLY(2018),Workshop track - ICLR 2018,Marek Krcˇal ′,Czech Academy of Sciences

摘要:我們提出并評估一個簡單的卷積深層神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu),通過只學(xué)習(xí)它們的原始字節(jié)序列和標簽來檢測惡意可執(zhí)行文件(Windows可執(zhí)行文件),也就是說,不需要任何領(lǐng)域特定的特征提取或預(yù)處理。這種端到端方法的性能幾乎可以與基于Avast手工設(shè)計的特性的傳統(tǒng)機器學(xué)習(xí)管道媲美。

一 背景

現(xiàn)代深度網(wǎng)絡(luò)的基石之一是端到端學(xué)習(xí)的方法(end-to-end learning),或等效的自動特征提取方法,即只將標簽和原始數(shù)據(jù)呈現(xiàn)給網(wǎng)絡(luò),而不提供手工特征,而且?guī)缀醪贿M行預(yù)處理。

端到端方法尚未在惡意軟件檢測領(lǐng)域占據(jù)主導(dǎo)地位,這一領(lǐng)域的重要性和市場價值都在不斷增長的惡意軟件(惡意軟件)開發(fā)中不斷增長。盡管我們在下面提到了一些有趣的結(jié)果,但是我們還沒有發(fā)現(xiàn)在工業(yè)界,使用干凈和惡意文件數(shù)據(jù)集訓(xùn)練端到端神經(jīng)網(wǎng)絡(luò)分類器的嘗試。在本文中,我們介紹了在2000萬個Windows可執(zhí)行文件(所謂的可執(zhí)行文件)上訓(xùn)練和評估的簡單但成功的卷積網(wǎng)絡(luò),這些文件以簡單的字節(jié)序列表示。這項工作探索了標準(基線)體系結(jié)構(gòu)所能達到的下限:一個嵌入層,然后是四個卷積層,中間是最大池化層,全局平均池和四個完全連接的層。有關(guān)我們的設(shè)計選擇的詳細信息和附加討論,請參見第2節(jié),這些設(shè)計選擇將體系結(jié)構(gòu)調(diào)整為非常小的假陽性率。我們的方法是所謂的靜態(tài)惡意軟件分析的端到端版本:網(wǎng)絡(luò)只提供可執(zhí)行文件所包含的字節(jié)序列。盡管如此,我們期望類似的體系結(jié)構(gòu)能夠在動態(tài)惡意軟件分析的端到端變體上產(chǎn)生良好的結(jié)果,在這種情況下,網(wǎng)絡(luò)將被賦予機器代碼或其他底層表示,模擬器或沙箱將可移植可執(zhí)行文件打開。Huang和Stokes(2016)在這個方向上的結(jié)果結(jié)合了沙箱模擬的一些一般特征提取和深入的表現(xiàn)學(xué)習(xí)。

可移植的可執(zhí)行文件—用于深度學(xué)習(xí)的非傳統(tǒng)數(shù)據(jù)類型??梢浦残钥蓤?zhí)行文件是一種復(fù)雜的格式,只有本地順序性(1-D結(jié)構(gòu)),其字節(jié)符號的含義非常多樣,并且依賴于上下文。在header上下文中,在各種類型、資源或重定位表的部分中。因此,人們自然會問,已經(jīng)建立良好的深度學(xué)習(xí)體系結(jié)構(gòu)能在多大程度上從這種原始輸入中學(xué)習(xí)。此外,我們還選擇了便攜式可執(zhí)行文件,因為它們是迄今為止PC上安全威脅最嚴重的通道。我們認為,在這樣一個相關(guān)且未被充分研究的數(shù)據(jù)領(lǐng)域進行大規(guī)模實驗,可能會引起整個深度學(xué)習(xí)研究領(lǐng)域的關(guān)注。

數(shù)據(jù)集。在Avast的PE文件存儲庫中,我們選擇了最近16個月收集的所有大小在12到512千字節(jié)之間的文件,不包括帶有一些模糊處理方法的文件,如檢測到的壓縮或加密。訓(xùn)練、驗證和測試集分別由前12個月、后2個月和最后2個月組成,這樣我們就可以衡量模型如何推廣到未來。為了簡單起見,我們只使用二進制標簽clean和惡意軟件,并在整個數(shù)據(jù)集中大致平衡。

阻礙公共研究學(xué)習(xí)惡意軟件分類器(尤其是深層網(wǎng)絡(luò)分類器)的一個巨大障礙是缺乏工業(yè)規(guī)模的公共可用數(shù)據(jù)集。這導(dǎo)致了研究的碎片化,在那里不同的結(jié)果是直接不可比較的,如果完全可以重復(fù)的話。我們的長遠目標是將我們的一些數(shù)據(jù)以某種形式和數(shù)量提供給深度學(xué)習(xí)社區(qū)。

二 體系結(jié)構(gòu)

我們的網(wǎng)絡(luò)方案如圖1所示;以下是幾點備注:


固定的嵌入。輸入序列的每個字節(jié)首先被嵌入到表單的8維向量(±1 /16;.......;±1 /16)根據(jù)其二進制表示常數(shù)1 = 16經(jīng)驗被發(fā)現(xiàn)。我們發(fā)現(xiàn)可學(xué)嵌入和不可學(xué)嵌入之間沒有性能差異。

帶步幅(stride)的卷積減少計算負載。為了減輕計算負擔(dān),我們分別在第一個和第二個卷積塊上使用實驗調(diào)優(yōu)的4和8步長。我們已經(jīng)驗證了在不同的順序中使用3、5、7和9的步長(非2的冪)會導(dǎo)致我們測量的所有指標的相對下降大約6-10個百分點。

訓(xùn)練的細節(jié)。我們根據(jù)Glorot和Bengio(2010)從均勻分布中抽取隨機值初始化卷積層,根據(jù)Klambauer et al.(2017)對全連通層進行初始化。訓(xùn)練損失是通常的交叉熵,每一個干凈樣本造成的損失是每一個惡意樣本的7倍。我們將可執(zhí)行文件分組到128個類似大小的文件中,這些文件都是在末尾的0(右填充)中填充的。該網(wǎng)絡(luò)由Adam優(yōu)化器(Kingma和Ba(2014))使用默認參數(shù)進行訓(xùn)練。根據(jù)驗證集上的分數(shù),我們在第三個周期(epoch)后不久就停止了訓(xùn)練。

由零假陽性目標驅(qū)動的選擇。惡意軟件探測器被調(diào)到較低的假陽性率,這樣它們就不會讓用戶被真實分布下的假惡意軟件檢測所淹沒,而這些惡意軟件在干凈的文件中占據(jù)著巨大的主導(dǎo)地位。我們將目標分數(shù)形式化為受測者曲線下的面積,限制在區(qū)間[0,0.001]假陽性率。為了方便起見,該區(qū)域以最大可能的百分比報告——0:001。我們將把這樣的分數(shù)作為限制AUC。下面我們列出了我們的體系結(jié)構(gòu)可能發(fā)生的變化以及相應(yīng)的受限AUC分數(shù)的估計下降。另一方面,每一種變化都提高了交叉熵和/或準確度:

1、全局最大值(Global Max)而不是全局平均值(Global Average):-20%相對下降。

2、同等權(quán)重的干凈和惡意軟件文件:-10%相對下降。

3、ReLU而不是SELU在全連通層:-4%相對下降。

相關(guān)的工作基線。Raff等人(2017)最近開發(fā)了一種叫做MalConv的復(fù)雜架構(gòu),用于同樣的任務(wù),但使用的是比我們小的數(shù)據(jù)集排序。所提出的體系結(jié)構(gòu)已經(jīng)完全獨立開發(fā),我們發(fā)現(xiàn)使用MalConv的元素沒有任何改進。相反,我們通過使用兩步法的步幅(stride)、SELU激活和刪除DeCov正則化,稍微提高了MalConv在數(shù)據(jù)集上的性能,見圖2。盡管如此,考慮到用于開發(fā)的有限數(shù)據(jù)集,MalConv的性能非常好,請參見表1。



三、評估

學(xué)會的和手工制作的表征。我們將學(xué)到的卷積特性與Avast的惡意軟件分析人員針對快速特征原型設(shè)計的機器學(xué)習(xí)系統(tǒng)中的538個靜態(tài)特性進行了比較。為此,我們訓(xùn)練和評估使用形狀為538–512–256–192–168–128–2 且?guī)ELU的前饋網(wǎng)絡(luò)(FNN)。最后,為了衡量學(xué)習(xí)到的表示與手工設(shè)計的表示之間的互補性,我們將我們的convet輸出的192位特征添加到手工構(gòu)造的特征中,形成富特征,然后再運行前饋神經(jīng)網(wǎng)絡(luò)。結(jié)果見表1。集成方法的最佳結(jié)果表明,從原始可執(zhí)行文件中學(xué)習(xí)是一個有價值的新特性工程過程。值得注意的是,從原始可執(zhí)行文件和手工設(shè)計的特性中共同學(xué)習(xí)可能會產(chǎn)生更好的結(jié)果。

集成方法的最佳結(jié)果表明,從原始可執(zhí)行文件中學(xué)習(xí)是一個有價值的新特性工程過程。值得注意的是,從原始可執(zhí)行文件和手工設(shè)計的特性中共同學(xué)習(xí)可能會產(chǎn)生更好的結(jié)果。

使用grad-CAM定位。我們使用梯度加權(quán)類激活映射(grad-CAM) (Selvaraju等人(2017))來查找文件中對卷積網(wǎng)絡(luò)惡意軟件預(yù)測貢獻最大的塊。我們讓惡意軟件分析人員判斷在幾個選定的可執(zhí)行文件中突出顯示的塊的相關(guān)性。并非總是如此,但他們經(jīng)常發(fā)現(xiàn)一些可疑的東西:可移植可執(zhí)行文件的頭嵌在可移植可執(zhí)行文件中,或者“版本信息”部分,在Xindl病毒中帶有假供應(yīng)商和軟件名稱,或者在ransomware Locky中非常不常見的導(dǎo)入API函數(shù)列表。


結(jié)論。一方面,對原始可執(zhí)行文件和標簽的端到端學(xué)習(xí)仍然只略微落后于引用ML管道,即使是在為卷積網(wǎng)絡(luò)選擇的數(shù)據(jù)集上也是如此。另一方面,從深度學(xué)習(xí)模型在計算機視覺、機器翻譯或語音識別等領(lǐng)域的長期改進速度來看,我們預(yù)計新體系結(jié)構(gòu)以及從更大、更精細的數(shù)據(jù)集中學(xué)習(xí)可以顯著提高性能。在為深入的表示學(xué)習(xí)留出空間的同時,插入一些領(lǐng)域知識有一個面向生產(chǎn)的正交方向:使用惡意軟件家族作為細化的標簽(Huang和Stokes(2016))),通過熵速率(Saxe和Berlin(2015)))等其他信號豐富字節(jié)序列,或者針對可移植可執(zhí)行文件調(diào)整體系結(jié)構(gòu)。加速訓(xùn)練將是進一步改進和生產(chǎn)適用性的重要催化劑:在這里,諸如Chollet(2017)的深度可分離卷積或Shazeer等人(2017)的稀疏門控混合專家可能會有所幫助。最后,但同樣重要的是,我們相信深度學(xué)習(xí)最終會通過觀察和鎖定惡意軟件和干凈文件中的不為人所見的模式來對其人類有益。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容