• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于LSTM模型的APT攻擊信道檢測方法

    2022-04-20 11:15:04魏峰張馴
    微型電腦應(yīng)用 2022年3期
    關(guān)鍵詞:域名攻擊者單詞

    魏峰, 張馴

    (國網(wǎng)甘肅省電力公司, 電力科學(xué)研究院,甘肅, 蘭州 730070)

    0 引言

    高級持續(xù)性威脅(APT)攻擊[1]已經(jīng)對全球范圍內(nèi)的重要企業(yè)和政府機構(gòu)造成了重大危害,盡管企業(yè)在網(wǎng)絡(luò)安全防護領(lǐng)域中的能力有所提高,基于特征碼識別和模式匹配的傳統(tǒng)檢測系統(tǒng)已經(jīng)可以識別大部分的網(wǎng)絡(luò)惡意行為,如端口掃描、分布式拒絕服務(wù)攻擊、木馬蠕蟲等,但是對攻擊技術(shù)高超、持續(xù)時間持久、隱蔽能力極強的APT攻擊的檢測效果卻差強人意,因為黑客往往通過流量加密[2]、DGA生成C&C域名[3]、0day漏洞躲避網(wǎng)絡(luò)安防系統(tǒng)的檢測[4]。

    針對APT攻擊的檢測與防范,一些全球知名安全公司在對APT攻擊展開持續(xù)跟蹤和分析后的報告中指出,雖然在攻擊過程中黑客使用的惡意代碼變化速度快,變異程度高,通過文件特征對其識別十分困難,但是黑客在攻擊成功時操縱受害者與C&C服務(wù)器通信卻存在一定特點,黑客為了躲避安防系統(tǒng)中域名黑名單的識別,往往使用域名生成算法動態(tài)生成C&C域名。本文針對APT攻擊者使用DGA算法生成C&C域名進行通信的特點,利用長短期記憶網(wǎng)絡(luò)對正常域名和惡意域名建模分類,從域名通信這一環(huán)節(jié)實現(xiàn)對APT攻擊的有效檢測。

    1 相關(guān)技術(shù)及方法

    1.1 域名生成算法(DGA)

    在早期僵尸網(wǎng)絡(luò)領(lǐng)域中,受害主機通常會使用輪詢的方式去訪問硬編碼的C&C域名與服務(wù)器建立通信。但是這種方式并不可靠,安全人員可以通過逆向工程得到C&C域名的編碼,并通過域名黑名單有效地屏蔽惡意連接。APT攻擊者為了避免C&C域名被發(fā)現(xiàn),會使用Domain Flux或者IP Flux技術(shù)快速創(chuàng)建大量的域名和地址[5]。Domain Flux通過不斷變換域名,使多個域名指向同一個IP地址;IP Flux不斷變換IP地址,使一個域名使用多個IP地址。域名生成算法是一種利用隨機字符生成C&C域名從而逃避域名黑名單檢測的技術(shù)手段。APT攻擊者為了防止自己與受害主機之間的通信被屏蔽,實現(xiàn)持續(xù)、隱蔽地竊取數(shù)據(jù),也將DGA算法引入進來。

    在攻擊者端,黑客使用種子通過DGA生成大量域名,出于經(jīng)濟利益和偽裝隱蔽的目的,黑客一般會從中隨機選擇少量的域名進行注冊,將注冊的域名指向C&C服務(wù)器。在受害者端,使用與攻擊者端相同的種子通過DGA生成大量域名,植入受害計算機中的惡意代碼將通過域名解析系統(tǒng)遍歷查詢,如果查詢的域名未被注冊,惡意代碼將繼續(xù)查詢其他域名,直到查詢到已經(jīng)注冊的域名,使用該域名與C&C服務(wù)器建立通信。

    DGA可以使用很多類型的數(shù)據(jù)作為生成域名的種子,包括隨機數(shù)、時間、字典、熱門話題字符串等,根據(jù)種子可以生成一系列隨機字符串作為二級域名,再添加相應(yīng)的一級域名就能得到最終的域名。DGA的實現(xiàn)如圖1所示。

    圖1 DGA實現(xiàn)示意圖

    根據(jù)DGA輸入的種子是否依賴于時間,可以將DGA分為2類:依賴于時間的和不依賴于時間的。時間種子可以從受害計算機的系統(tǒng)時間獲取,也可以從網(wǎng)絡(luò)數(shù)據(jù)報文的日期字段中獲取。DGA輸入種子既可以是確定的,也可以是不確定的。大多數(shù)DGA的種子都是確定的。種子被安全人員獲得后,安全人員可以利用該種子產(chǎn)生DGA生成的域名,搶先注冊并通過網(wǎng)絡(luò)沉洞技術(shù)[6]劫持分析APT攻擊的通信。

    1.2 長短期記憶網(wǎng)絡(luò)(LSTM)

    長短期記憶網(wǎng)絡(luò)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)模型,解決了傳統(tǒng)RNN模型中存在的梯度爆炸和消失問題[7]。在傳統(tǒng)的RNN模型中,使用時間反向傳播算法訓(xùn)練模型,當(dāng)訓(xùn)練時間較長時,需要回傳的殘差造成指數(shù)下降,導(dǎo)致網(wǎng)絡(luò)權(quán)重更新緩慢,無法體現(xiàn)RNN的長期記憶的效果,需要一個存儲單元來存儲記憶,因此學(xué)者基于RNN提出了LSTM模型。

    LSTM引入了門控單元和內(nèi)部的自循環(huán)單元(記憶單元)。長短期記憶網(wǎng)絡(luò)單元示意圖如圖2所示,各單元由輸入門、遺忘門和輸出門等3個門控單元以及1個記憶單元組成。LSTM網(wǎng)絡(luò)是由一個又一個的LSTM單元構(gòu)成的,通過門控單元就可以對信息進行添加和刪除。當(dāng)一個信息通過輸入門進入LSTM單元中,符合一定規(guī)則的信息會被留下,反之則通過遺忘門被遺忘,以此來解決傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中長序列的依賴問題??傊?,LSTM網(wǎng)絡(luò)可以“記住”信息中心比較重要的部分,并且讓此“記憶”保存較長時間。

    圖2 LSTM 單元示意圖

    2 模型搭建及結(jié)果驗證

    2.1 實驗數(shù)據(jù)

    本次實驗的數(shù)據(jù)分為惡意域名樣本和正常域名樣本。惡意樣本通過爬蟲程序?qū)Π踩竟嫉膼阂庥蛎M行定期收集,最終得到70萬余條DGA惡意域名,部分安全公司網(wǎng)址見表1。正常樣本來源于Alexa域名信譽排名的前100萬條記錄。

    表1 部分安全公司網(wǎng)址

    2.2 數(shù)據(jù)處理

    通過對收集的域名樣本進行正則化、數(shù)值化、向量化等操作,統(tǒng)計域名長度分布,刪除不適合訓(xùn)練模型的域名,并過濾掉域名中的前綴、后綴,最終得到100萬余條域名樣本。為了訓(xùn)練LSTM模型,需要將域名數(shù)據(jù)轉(zhuǎn)換成向量,將域名中字符以獨熱編碼的方式進行轉(zhuǎn)換。

    通過安全公司發(fā)布的安全報告,可以為數(shù)據(jù)集中的全部樣本匹配攻擊類型并打上標(biāo)簽。經(jīng)過數(shù)據(jù)處理后的樣本分布如圖3所示。

    圖3 域名樣本統(tǒng)計分布

    本文從統(tǒng)計特征、語言特征和結(jié)構(gòu)特征等3個方面來選取了13類特征值,分別為n元模型的1-gram、2-gram、3-gram、4-gram、5-gram的正則化分?jǐn)?shù);有意義的單詞占比;數(shù)字個數(shù)占比;元音個數(shù)占比;不同數(shù)字占比;不同字母占比;域名長度;域名后綴出現(xiàn)的次數(shù)、字符變換次數(shù)。其中,序號為1~5的特征值屬于統(tǒng)計特征,序號6~10屬于語言特征,第11~13屬于結(jié)構(gòu)特征。

    統(tǒng)計特征部分,n-gram的正則化分?jǐn)?shù)計算,是利用文獻[8]中提供的10 000個常用單詞的文件實現(xiàn)的。逐行讀取文件中的單詞,以單詞“security”為例,1-gram將其劃分為s、e、c等8個元組,分別對這8個字母對應(yīng)字典中的值加一,2-gram將字符串劃分為se、ec、cu等元組以相同的方式檢測并統(tǒng)計,以此類推至5-gram,遍歷文件中所有單詞完成統(tǒng)計處理。用單詞劃分后的字符序列在之前求出的統(tǒng)計字典中找到對應(yīng)出現(xiàn)的次數(shù),求和并除以“字符數(shù)-n+1”作為n-gram正則化分?jǐn)?shù)。

    語言特征部分,以域名“123 sport”為例,檢索詞典后發(fā)現(xiàn)域名中有意義的單詞為“sport”,則其有意義單詞的占比為單詞的長度除以域名長度,即0.625;不重復(fù)的數(shù)字有3個,不重復(fù)的字母有5個,則數(shù)字個數(shù)占比與不同數(shù)字占比均為0.375;不同字母占比為0.625;元音字母只有1個,則元音個數(shù)的占比就是0.125。

    結(jié)構(gòu)特征部分,域名長度為8;統(tǒng)計測試集中域名后綴,即頂級域名出現(xiàn)的頻次;域名中字符變換發(fā)生在數(shù)字1與字母s之間,次數(shù)為1。

    2.3 模型搭建

    從數(shù)據(jù)集中隨機抽取九十萬條惡意域名樣本和九十萬條良性域名樣本(來自Alexa)構(gòu)建訓(xùn)練集用來訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,另外再抽取十萬條惡意域名樣本和十萬條良性域名樣本構(gòu)建測試集驗證模型檢測效果,如表2所示。

    表2 實驗樣本分布 單位:條

    利用Keras框架搭建LSTM神經(jīng)網(wǎng)絡(luò)模型,LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。首先構(gòu)建一個基本的LSTM網(wǎng)絡(luò)模型。嵌入層將編碼后的樣本向量轉(zhuǎn)化成固定向量,將輸入的字符轉(zhuǎn)化為128個浮點數(shù)的向量進行輸出。LSTM層是模型訓(xùn)練的核心,可以將其看作是隱式特征提取層,LSTM層的維度大小影響模型對訓(xùn)練集的學(xué)習(xí)效果,維度越大對數(shù)據(jù)的學(xué)習(xí)能力也就更全面,將LSTM層的維度設(shè)置為128。為了防止訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型過擬合,使用Dropout層隨機斷開半數(shù)比例的神經(jīng)元連接。全連接層用來實現(xiàn)特征的非線性組合,并將學(xué)習(xí)到的特征映射到樣本空間。激活層使用S型函數(shù)作為激活函數(shù),將輸入的實數(shù)轉(zhuǎn)化到[0,1]之間,實現(xiàn)將權(quán)值轉(zhuǎn)化為二分類結(jié)果。

    圖4 LSTM模型網(wǎng)絡(luò)結(jié)構(gòu)圖

    2.4 性能評估指標(biāo)及結(jié)果

    選擇機器學(xué)習(xí)常用的精確率、召回率和綜合評價指標(biāo)作為衡量檢測模型性能的評價指標(biāo)。準(zhǔn)確率體現(xiàn)的是預(yù)測正確的數(shù)據(jù)占全部數(shù)據(jù)的比值。召回率體現(xiàn)的是所有預(yù)測為惡意域名的樣本中預(yù)測正確的比率。綜合評價指標(biāo)F1分?jǐn)?shù)則是綜合考慮精確率、召回率后給出的計算結(jié)果,能夠綜合地代表和體現(xiàn)模型性能。具體評價參數(shù)和評價指標(biāo)公式如表3和表4所示。

    表3 評價參數(shù)

    表4 評價指標(biāo)公式

    使用訓(xùn)練好的LSTM模型對測試集中的未知域名進行預(yù)測,對LSTM模型性能進行評估,評估結(jié)果如表5所示。

    表5 模型性能

    通過表5可以看出,本文提出的LSTM模型對惡性域名、良性域名均達到較高的準(zhǔn)確率和召回率,在實驗中訓(xùn)練的LSTM模型對惡意域名的檢測具有較好的效果。

    3 總結(jié)

    根據(jù)國內(nèi)外安全公司對APT攻擊的報告分析,針對APT攻擊中普遍存在與C&C服務(wù)器進行通信的特點[9],本文從對C&C服務(wù)器通信時使用DGA算法生成的惡意域名的識別出發(fā),將LSTM神經(jīng)網(wǎng)絡(luò)模型引入進來,通過機器學(xué)習(xí)對惡意域名進行準(zhǔn)確、快速的識別。通過識別APT攻擊者為了維持通信而使用DGA算法生成的惡意域名,實現(xiàn)對APT攻擊行為的檢測。

    本文的檢測方法也存在許多不足,因為DGA算法生成的惡意域名變化速度很快,本文需要升級爬蟲程序,定期對惡意域名進行收集,不斷對LSTM模型進行更新,才能對不斷變化的APT攻擊實現(xiàn)有效監(jiān)測。

    猜你喜歡
    域名攻擊者單詞
    基于微分博弈的追逃問題最優(yōu)策略設(shè)計
    單詞連一連
    正面迎接批判
    愛你(2018年16期)2018-06-21 03:28:44
    看圖填單詞
    如何購買WordPress網(wǎng)站域名及綁定域名
    看完這些單詞的翻譯,整個人都不好了
    有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
    騰訊八百萬美元收購域名
    頂級域名爭奪戰(zhàn):ICANN放出1930個通用頂級域名,申請者有上千家
    單詞拾趣
    海外英語(2006年8期)2006-09-28 08:49:00
    福清市| 松桃| 高碑店市| 东台市| 玛纳斯县| 马公市| 桃江县| 丰城市| 沈阳市| 辽宁省| 绥德县| 白城市| 威海市| 阿勒泰市| 大宁县| 连州市| 讷河市| 崇明县| 儋州市| 西峡县| 个旧市| 汉中市| 日土县| 潞西市| 陕西省| 泉州市| 龙海市| 桦川县| 鱼台县| 蒙城县| 景宁| 广西| 外汇| 永春县| 黄梅县| 牙克石市| 客服| 克拉玛依市| 叶城县| 克山县| 饶河县|