lstm中look_back的大小选择_基于机器学习检测僵尸网络中的域名生成算法
0x01 Absert
惡意軟件通常使用域名生成算法(DGA)作為聯(lián)系其C&C服務(wù)器的機制。近年來,基于機器學(xué)習(xí)已經(jīng)提出了不同的方法來自動檢測生成的域名。但也存在一些問題。第一個問題是,由于缺乏獨立標(biāo)準(zhǔn),難以系統(tǒng)地比較這些DGA檢測算法。第二個問題是,當(dāng)這些DGA檢測器的機器學(xué)習(xí)模型已知時,對手繞過這些分類器的難度如何。
本文比較了同一DGA集合上的兩種不同檢測方法:使用人工特征工程的經(jīng)典隨機森林和深度學(xué)習(xí)遞歸神經(jīng)網(wǎng)絡(luò)。獨立進(jìn)行標(biāo)準(zhǔn)測試并比較兩種最新的DGA檢測方法:
(a)FANCI ,這是最近在USENIX Security 上使用人工特征工程的隨機森林分類器
(b)Woodbridge的LSTM ,這是一種基于深度遞歸神經(jīng)網(wǎng)絡(luò)的分類器
0x02 DGA
惡意軟件不知不覺中安裝在計算機上,就可以用于攻擊其他計算機,發(fā)送未經(jīng)請求或網(wǎng)絡(luò)釣魚的電子郵件,竊聽通信,竊取電子郵件地址,加密計算機內(nèi)容,并向用戶請求贖金。解密能力,以及更多惡意方案。存在被感染機器的大型池稱為僵尸網(wǎng)絡(luò),它們由命令和控制(C&C)服務(wù)器進(jìn)行控制。
為了防止這些C&C服務(wù)器被關(guān)閉或無法訪問,惡意軟件通常使用域名生成算法(DGA),以便每隔一定時間創(chuàng)建一組新的偽隨機域名。上圖為肉雞使用DGA連接到C&C服務(wù)器的過程。惡意軟件會生成許多隨機域,然后由惡意軟件進(jìn)行嘗試,只有僵尸網(wǎng)絡(luò)所有者必須注冊其中之一才能使僵尸網(wǎng)絡(luò)能夠成功重新連接到其C&C服務(wù)器。這使得清除僵尸網(wǎng)絡(luò)成為一項艱巨的任務(wù)。
相反,識別算法生成的域名可以幫助檢測受感染的主機,并標(biāo)記旨在控制僵尸網(wǎng)絡(luò)的域名注冊。可以成功地區(qū)分算法生成域名和人工創(chuàng)建域名的分類器對于安全研究人員、執(zhí)法人員和網(wǎng)絡(luò)運營人員都是很有用的。
在安全和隱私領(lǐng)域,與傳統(tǒng)的機器學(xué)習(xí)方法相比,深度神經(jīng)網(wǎng)絡(luò)已經(jīng)證明了其自主查找和提取相關(guān)特征的能力以及改進(jìn)的分類準(zhǔn)確性。同樣對于DGA的檢測,最近有相關(guān)工作提出了基于深度學(xué)習(xí)方法的解決方案。但是,惡意攻擊者也可以利用這些AI分類方法來逃避對其惡意軟件的檢測。這些觀察結(jié)果反映了一種對抗升級。其一涉及進(jìn)一步改進(jìn)高級深度學(xué)習(xí)方法,以提取更好的功能用于進(jìn)攻或防御目的。其二是對手試圖繞過安全專家開發(fā)的新防御措施,而不論使用哪種機器學(xué)習(xí)方法。
0x03 Ground truth
惡意(DGA)和普通(非DGA)域名的數(shù)據(jù)是從不同來源收集的:
惡意數(shù)據(jù)集是從DGArchive 獲得的,DGArchive是Fraunhofer FKIE提供并由Daniel Plohmann維護(hù)的服務(wù)。由于只有有限數(shù)量的頂級域(TLD)可用,并且域生成算法使用的特定TLD對分類準(zhǔn)確性沒有任何影響,因此從DGA域名中刪除了TLD。當(dāng)從域名中忽略TLD后,選中DGArchive中的所有DGA,這些DGA中有100,000個或更多唯一記錄的可用域名。這產(chǎn)生了下表所示的26個DGA的列表。
對于普通數(shù)據(jù)集,許多人選擇了Alexa 訪問量最大的網(wǎng)站的前n個列表。然而事實證明Alexa列表已經(jīng)包含了DGA生成的域名。此外,與注冊域名的平均相比,最受歡迎的域名列表很可能偏向于更短,更容易發(fā)音和更容易記住的域名。因此選擇使用2016年來自知名TLD的前100,000個注冊域名的列表,這些列表根據(jù)以下條件過濾:
?域名未出現(xiàn)在以下任何黑名單中:
Google的安全瀏覽列表,
Spamhaus DBL黑名單,
SURBL黑名單。
?沒有使用國際化域名(因為在撰寫本文時所有DGA都不使用國際化(IDN)域名-這使國際化域名對分類不重要)
?DGArchive中未知域名。
對于每個DGA,構(gòu)建了10萬個普通域名和10萬個惡意域名混合的數(shù)據(jù)集,使用相同的普通域名數(shù)據(jù)對每個DGA進(jìn)行評估。
0x04 DGA Classifiers
Woodbridge LSTM:即伍德布里奇等人提出的長期短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò),STM是一種特定類型的遞歸神經(jīng)網(wǎng)絡(luò)(RNN)。 RNN通常用于識別或預(yù)測順序數(shù)據(jù)中的模式。與前饋神經(jīng)網(wǎng)絡(luò)相反,RNN具有內(nèi)部的短期記憶,可以保留有關(guān)所接收輸入的重要信息。他們通過復(fù)制輸出并將其循環(huán)回到網(wǎng)絡(luò)來實現(xiàn)此目的,如上圖所示。此特性使RNN可以對序列及其上下文有更深入的了解,并預(yù)測接下來會發(fā)生什么。 LSTM通過使此類網(wǎng)絡(luò)能夠在更長的時間內(nèi)記住其輸入來擴展RNN,從而將其存儲容量擴展到兩個時間步之外。 LSTM中的單元具有可通過一組可編程門進(jìn)行讀取,寫入或重置的狀態(tài)。這些門將輸入連接和循環(huán)連接都調(diào)制為0到1之間的值,從而使當(dāng)前狀態(tài)在各時間步之間保持不變。
LSTM非常適合識別DGA,因為LSTM可以學(xué)習(xí)并概括許多DGA的生成過程,而無需基于原始輸入手動進(jìn)行特征工程。LSTM是一個黑盒的,如果沒有相同的訓(xùn)練集,攻擊者很難繞過分類器。
Woodbridge LSTM由以下順序?qū)咏M成:
?嵌入層,可將域名字符的可變長度序列轉(zhuǎn)換為固定長度的零填充要素數(shù)組。
?LSTM層,它從嵌入層接收其尺寸為38(編碼26個字符,10個數(shù)字,破折號和結(jié)束標(biāo)記)的輸入,并生成128的輸出尺寸
?dropout層為0.5,可防止過度擬合
?密集的輸出層,有一個輸出維度,然后是Sigmoid激活函數(shù)
使用5折交叉驗證分別評估每個DGA的分類器的性能:網(wǎng)絡(luò)在10個周期內(nèi)使用4/5的數(shù)據(jù)進(jìn)行訓(xùn)練,批處理大小為128;然后將剩余的1/5數(shù)據(jù)用于測試經(jīng)過訓(xùn)練的網(wǎng)絡(luò)。使用不同的數(shù)據(jù)折疊次數(shù)再重復(fù)4次,丟棄先前訓(xùn)練過的網(wǎng)絡(luò),從而確保測試數(shù)據(jù)從未用于訓(xùn)練。
0x05 FANCI features
根據(jù)FANCI對域名進(jìn)行特征工程,將41個提取的特征送入100棵樹的隨機森林,每棵樹都考慮6個隨機特征,之后使用5折交叉驗證來評估其性能.。FANCI系統(tǒng)不僅通過檢查域名字符序列來檢測DGA生成的域名,還可以查看從NXDomain DNS查詢獲得的其他功能。
FANCI系統(tǒng)使用的許多特征實際上不會在比較測試中使用,特征如上表。例如FANCI的特征5,具有有效TLD是二分類特征,表示該域名具有有效的頂級域。顯然,沒有DGA會輸出帶有無效TLD的域名,因為這些域名將永遠(yuǎn)無法解析,因此毫無用處。但此特性在FANCI系統(tǒng)中非常有用,因為它可以輕松檢測域名TLD部分中的人為輸入錯誤,因此,這些錯誤顯然不是DGA生成的域名。
0x06 DGA CLASSIFICATION RESULT
下表中列出了兩個分類器測試DGA的分類結(jié)果。對于所有測試DGA,LSTM分類器得出的檢測率(TPR),誤報率(FPR),精度和準(zhǔn)確性。平均而言,隨機森林分類器的FPR是LSTM的4倍以上。 LSTM分類器的平均準(zhǔn)確性為98.7%,而隨機森林分類器的平均準(zhǔn)確性為93.7%。
隨機森林分類器的FPR標(biāo)準(zhǔn)差是3倍,隨機森林分類器準(zhǔn)確性的標(biāo)準(zhǔn)差是4倍,這表明LSTM不僅產(chǎn)生了更好的分類結(jié)果,而且獲得了更高的不同DGA的分類結(jié)果一致性。值得注意的是,具有FANCI功能的隨機森林在gozi_dga,locky_dga,nymaim_dga,pushdo_dga和pykspa_dga DGA上的性能要差得多。
LSTM分類器更好的一致性的一種可能解釋是,LSTM網(wǎng)絡(luò)在訓(xùn)練過程中會自動學(xué)習(xí)其使用的分類特征,而隨機森林需要人工特征工程,這可能會更好或更不適合不同的DGA。但是,使用人工特征工程還存在另一個危險:DGA開發(fā)者可以了解到使用的特征并修改域名生成算法以使其變得不易檢測。
0x07 Design a new DGA
接下來利用FANCI分類結(jié)果創(chuàng)建一個新的DGA,將其命名為deception_dga,該DGA考慮了分類器的特征以規(guī)避檢測。攻擊者迭代地改善其DGA(如上圖),直到獲得所需的次優(yōu)分類結(jié)果為止,從而有效地繞過了DGA檢測分類器。在創(chuàng)建deception_dga DGA時僅使用了Alexa列表中的數(shù)據(jù),模仿了DGA作者可用的信息。
下圖顯示了DGA“模擬”不同特征時分類準(zhǔn)確性的影響。通常,隨著DGA模擬更多特征,隨機森林分類器的準(zhǔn)確性開始下降。新的DGA還給LSTM帶來了困難,將其精度降低到0.855,這是LSTM迄今為止記錄的最低水平,與gozi_dga,locky_dga,nymaim_dga,pushdo_dga和pykspa_dga DGA的隨機森林精度相當(dāng)。 LSTM上的回合數(shù)從10增加到15,將精度稍微提高到0.860。將LSTM輸出空間維數(shù)從128更改為256,可以得到0.865的分類精度。同時應(yīng)用較大的輸出空間維數(shù)和將訓(xùn)練時期數(shù)增加到15個組合,仍會產(chǎn)生0.864的分類精度。
0x08 Conclution
在本工作中比較了當(dāng)足夠數(shù)量的DGA生成的域名時,機器學(xué)習(xí)中兩種用于檢測域名生成算法的方法。結(jié)論表示深度學(xué)習(xí)方法始終優(yōu)于具有人工特征工程的隨機森林,其中遞歸神經(jīng)網(wǎng)絡(luò)評均分類精度為98.7%,而隨機森林的分類精度為93.8%。
結(jié)果還表明,人工特征工程的缺陷之一是DGA可以基于用于檢測的特征知識來調(diào)整其策略。為了證明這一點,利用所使用特征集合的知識設(shè)計了一個新的DGA,它使隨機森林分類器分類精度下降到59.9%。深度學(xué)習(xí)分類器也受到影響(盡管影響較小),其準(zhǔn)確性降低到85.5%。
總結(jié)
以上是生活随笔為你收集整理的lstm中look_back的大小选择_基于机器学习检测僵尸网络中的域名生成算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qt double 相减不为0_Qt音视
- 下一篇: python网页版_经典python学习