亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于DGA域名檢測方法的選優(yōu)方案研究

        2021-07-30 13:37:20羅海波陳星池董建虎
        新一代信息技術(shù) 2021年8期
        關(guān)鍵詞:域名字符貝葉斯

        羅海波,陳星池,董建虎

        (廣東東軟學(xué)院 計(jì)算機(jī)學(xué)院,廣東 佛山 528225)

        0 引言

        動(dòng)態(tài)域名生成算法(Domain Generate Algorithm,DGA)能夠有效地生成偽隨機(jī)域名。攻擊者常常會(huì)使用域名將惡意程序連接至命令控制服務(wù)(Command and Control Server,CC服務(wù)器),從而達(dá)到操控受害者機(jī)器的目的[1]。攻擊者可以輕松更改這些域名和IP,即使CC服務(wù)器地址部分失效或者變更也能保持連接,而且這些域名往往與惡意程序中的編碼混合在一起,具有很強(qiáng)的隱蔽性。

        截至2019年12月,網(wǎng)上公開的基于DGA算法變種就已經(jīng)達(dá)到44種[2]。惡名昭彰的惡意軟件Zeus和Conficker就是使用了該算法。DGA算法是實(shí)現(xiàn)惡意程序的重要技術(shù),分析、復(fù)現(xiàn)、檢測偽隨機(jī)域名,進(jìn)而有效地檢測惡意程序,對(duì)于國家、企事業(yè)、軍民網(wǎng)絡(luò)空間安全有其現(xiàn)實(shí)意義。

        用于應(yīng)對(duì) DGA算法生成惡意域名的傳統(tǒng)方法有黑名單過濾和通過逆向惡意樣本中的 DGA算法,提前搶注域名來奪取CC服務(wù)器的控制權(quán)。據(jù)研究表明,前者無法對(duì)動(dòng)態(tài)生成的 DGA域名實(shí)時(shí)更新,準(zhǔn)確率不高;后者雖然可以通過逆向樣本深入理解該樣本的 DGA算法和生成惡意域名機(jī)制,但是需要消耗大量的時(shí)間和精力,效率不高[3]。因此,人們的研究方向主要放在對(duì)DGA域名的實(shí)時(shí)檢測,主流技術(shù)包括利用機(jī)器學(xué)習(xí)的方法構(gòu)建 DGA域名分類器、使用深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行檢測。

        首先介紹了 DGA域名的研究背景和價(jià)值,DGA域名的特點(diǎn)、分類和基本定義。然后介紹了人工智能中幾種流行的智能算法,例如XGBoost、樸素貝葉斯、多層感知器和循環(huán)神經(jīng)網(wǎng)絡(luò)。接著介紹了幾種特征提取方法,包括 N-Gram模型、統(tǒng)計(jì)域名特征模型和字符序列模型。最后對(duì)算法和特征提取進(jìn)行實(shí)驗(yàn),并對(duì)結(jié)果進(jìn)行對(duì)比分析,獲取較優(yōu)的特征提取和算法組合。

        1 準(zhǔn)備工作

        使用人工智能構(gòu)建模型,通過該模型對(duì)DGA域名的實(shí)時(shí)檢測,這里需要涉及到分類(Classify)。分類指的是基于某種定義好的規(guī)則,將需要處理的數(shù)據(jù)集劃分類別。常見的分類任務(wù)包括二分類、多分類和多標(biāo)簽分類,對(duì) DGA域名的實(shí)時(shí)檢測只需要判斷域名是否正常,所以采用的是二分類。機(jī)器學(xué)習(xí)種常見的二分類算法有:貝葉斯分類、XGBoost算法等。而多層感知機(jī)和循環(huán)神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)中的重要算法,除了可以用來做復(fù)雜的圖像識(shí)別,應(yīng)用在文本的二分類方面也有不錯(cuò)的效果。

        下面將在特定的特征為基礎(chǔ)上,分別實(shí)現(xiàn)貝葉斯分類、XGBoost算法、多層感知機(jī)算法和循環(huán)神經(jīng)網(wǎng)絡(luò)算法在DGA域名檢測中的具體應(yīng)用。

        1.1 樸素貝葉斯

        樸素貝葉斯分類器(Naive Bayes Classifier,NBC)是貝葉斯決策理論的一部分,可以也被應(yīng)用于解決諸如某行業(yè)是否值得投資、個(gè)人信用等級(jí)評(píng)定、網(wǎng)絡(luò)態(tài)勢感知、醫(yī)療診斷等統(tǒng)計(jì)分析與預(yù)測領(lǐng)域[4]。該算法有點(diǎn)在于簡單易懂、學(xué)習(xí)效率高、在某些領(lǐng)域的分類問題中的效果與決策樹神經(jīng)網(wǎng)絡(luò)相媲美[5]。

        假設(shè)類別為C,信息的特征值為W,則貝葉斯決策的基本公式為:

        若在特定的條件前提下,假設(shè)信息體有n個(gè)特征W,即Wn={W1,W2,W3, ...,Wn},每個(gè)特征相互獨(dú)立且互不影響[6]。則有樸素貝葉斯的公式為:

        在樸素貝葉斯模型中,P(C)代表每個(gè)信息體類別的概率,也即被測信息體類別數(shù)除以總信息數(shù)量;P(W1,W2,W3,...,Wn)代表被測信息體的n個(gè)特征值集合,即是每個(gè)特征出現(xiàn)的概率相乘;P(W1,W2,W3, ...,Wn/C)代表指定類別下某個(gè)信息體的n個(gè)特征值集合,即是被測信息體中出現(xiàn)所有詞的概率相乘。

        1.2 XGBoost

        XGBoost(Extreme Gradient Boosting,XGBoost),也被稱為梯度提升決策樹。近年來比較熱門,經(jīng)常被應(yīng)用于一些機(jī)器學(xué)習(xí)的競賽中,其中在Kaggle數(shù)據(jù)挖掘挑戰(zhàn)賽中,29個(gè)冠軍有17個(gè)使用了XGBoost算法[7]。其算法學(xué)習(xí)速度很快,效果也很好,性能比另一個(gè)機(jī)器學(xué)習(xí)庫 scikit-learn庫的增強(qiáng)梯度算法要好上不止10倍[8],而且可以應(yīng)用與Python、R、C++等多個(gè)平臺(tái),有很強(qiáng)的擴(kuò)展性和移植性。

        XGBoost所應(yīng)用的算法就是GBDT(Gradient Boosting Decision T ree)的改進(jìn),屬于 Boosting集成學(xué)習(xí),也即采用集成學(xué)習(xí)的方法,由多個(gè)相關(guān)聯(lián)的決策樹聯(lián)合決策,目的使組合后的模型具有更強(qiáng)的泛化能力。XGBoost既可以用于分類也可以用于回歸問題。

        對(duì)于樣本i=1,2,3,...,m,XGBoost的計(jì)算公式為:

        其中L(yi,ft-1(xi))為XGBoost原始目標(biāo)損失函數(shù),而是為防止訓(xùn)練中數(shù)據(jù)過擬合的正則項(xiàng)。

        其中GL,HL,GR,HR分別是當(dāng)前節(jié)點(diǎn)左右子樹的一階二階導(dǎo)數(shù)和。

        XGBoost算法的主算流程如下:

        Part.1首先向分類器輸入訓(xùn)練樣本數(shù)據(jù)集合I,I={(x1, y1) ,(x2, y2) ,(x3, y3)...(xm, ym)},初始化訓(xùn)練參數(shù):迭代數(shù)T,損失函數(shù)L,正則化系數(shù)λ,γ;

        Part.2迭代T輪訓(xùn)練數(shù)據(jù);

        Setp.1計(jì)算i個(gè)樣本(1,2,3,…,m)在當(dāng)前輪損失函數(shù)L基于ft-1(xi)的一階導(dǎo)數(shù)g和二階導(dǎo)數(shù)h,并分別對(duì)所有樣本的一階導(dǎo)數(shù)和二階導(dǎo)數(shù)求和;

        Setp.2基于當(dāng)前節(jié)點(diǎn)嘗試分裂決策樹并更新分?jǐn)?shù)score值,默認(rèn)分?jǐn)?shù)score為0;

        Setp.3基于最大的score對(duì)應(yīng)的劃分特征和特征值分裂子樹;

        Setp.4若最大score值為0,則當(dāng)前決策樹建立完畢,計(jì)算所有葉子區(qū)域的ωtj,得到弱學(xué)習(xí)器ht(x),更新強(qiáng)學(xué)習(xí)器ft(x),進(jìn)入下一輪弱學(xué)習(xí)器迭代。如果最大score不是0,則會(huì)轉(zhuǎn)到Setp.2繼續(xù)嘗試分裂決策樹;

        Part.3輸出強(qiáng)學(xué)習(xí)器f(x);

        1.3 多層感知器

        多層感知器(Multi-Layer Perceptron,MLP)也稱為人工神經(jīng)網(wǎng)絡(luò)。它類似與于人類的神經(jīng)元結(jié)構(gòu):樹突、細(xì)胞體和軸突[9]。最簡單的MLP只有三層結(jié)構(gòu),最底層是輸入層,中間是隱藏層,最上層是輸出層,層與層之間是全連接。多層感知器作為深度學(xué)習(xí)常用的一種算法,常常被用于處理非線性可分離的問題,分類的準(zhǔn)確度高,并行分布處理能力強(qiáng),分布存儲(chǔ)及學(xué)習(xí)能力強(qiáng),對(duì)噪聲神經(jīng)有較強(qiáng)的魯棒性和容錯(cuò)能力,能充分逼近復(fù)雜的非線性關(guān)系,具備聯(lián)想記憶的功能等。

        假設(shè)輸入為x,最簡單的多層感知器公式為:

        其中H(b1+W1x)表示輸入層與隱藏層連接的激活函數(shù),常用函數(shù)有sigmoid、anh和relu。求解出來的值作為下一層輸出層函數(shù)G(b2+W2x)的輸入,常用的函數(shù)有softmax。而b1、W1、b2和W2都是層與層之間連接的權(quán)重和偏置參數(shù)。

        1.4 循環(huán)神經(jīng)網(wǎng)絡(luò)

        循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)在 21世紀(jì)初被列入深度學(xué)習(xí)算法中[10]。因?yàn)檠h(huán)神經(jīng)網(wǎng)絡(luò)參數(shù)共享,具有記憶性,被用于處理諸如文字、時(shí)間等序列數(shù)據(jù)。

        但循環(huán)神經(jīng)網(wǎng)絡(luò)不具備長期依賴信息的學(xué)習(xí)能力,在長鏈中若相隔時(shí)間太長容易產(chǎn)生梯度消失的問題。后來LSTM(Long Short-Term Memory)的出現(xiàn),通過精妙的門控制將長短期記憶結(jié)合起來很好的解決了這一問題[11],讓網(wǎng)絡(luò)非常擅長長時(shí)間學(xué)習(xí)文本和言語處理,因此被廣泛應(yīng)用。

        2 檢測方法

        2.1 模型描述

        DGA域名識(shí)別采用如圖1所示框架。

        圖1 DGA 域標(biāo)識(shí)框架Fig.1 DGA domain identification frame

        Setp.1加載Alexa前100萬域名數(shù)據(jù)作為白樣本,360netlab開放的DGA域名為黑樣本,并且對(duì)黑白樣本進(jìn)行數(shù)據(jù)合并;

        Setp.2特征提取。方式1,使用N-Gram模型;方式2,使用統(tǒng)計(jì)域名特征模型;方式3,使用字符序列模型;

        Setp.3將合并后的數(shù)據(jù)集的數(shù)據(jù)分為兩份部分,其中一部分是測試集占40%,另一部分是訓(xùn)練集占60%;

        Setp.4利用分類算法對(duì)訓(xùn)練集進(jìn)行訓(xùn)練,得到模型數(shù)據(jù),算法 1:樸素貝葉斯,算法 2:XGBoost,算法3:多層感知器,算法4:循環(huán)神經(jīng)網(wǎng)絡(luò);

        Setp.5使用模型數(shù)據(jù)進(jìn)行預(yù)測,進(jìn)行分類;

        Setp.6效果進(jìn)行驗(yàn)證。

        2.2 DGA 域名特征提取

        用于識(shí)別 DGA域名的特征提取方法有:N-Gram模型、統(tǒng)計(jì)域名特征模型以及字符序列模型等。

        特征提取(Feature Extraction)無論是在文本處理、圖像識(shí)別等都有著廣泛的應(yīng)用。特征提取的方法主要是通過屬性間的關(guān)系,組合不同的屬性得到新的屬性,這樣做改變了原來的特征空間。目的就是試圖去減少特征數(shù)據(jù)集中的屬性,對(duì)原來特征數(shù)據(jù)進(jìn)行降維,必須保證描述原特征數(shù)據(jù)的精確性和完整性的同時(shí),更加方便模型學(xué)習(xí)。

        2.3 N-Gram 模型

        N-Gram是一種基于統(tǒng)計(jì)語言的算法模型。其核心思想是將文本內(nèi)容按照字節(jié)進(jìn)行大小為N的滑動(dòng)窗口操作,最終形成長度為N的字節(jié)片段序列。

        在該模型構(gòu)成的文本向量特征空間中,列表的每一個(gè)字節(jié)片被稱為gram,并且按照事先設(shè)定好的闊值進(jìn)行過濾和對(duì)所有的gram出現(xiàn)頻率進(jìn)行統(tǒng)計(jì)。N-Gram模型常被用于評(píng)估語句是否合理[12]、搜索引擎或者輸入法的猜想提示[13],N值越大,

        對(duì)下一個(gè)備選提示詞的選擇就更多,但更加稀疏;而N值越小,對(duì)下一個(gè)備選提示詞的約束信息更少,但更加精確。文章使用的是2-Gram的特征提取模型。例如域名[‘baidu.com’]經(jīng)過該模型的處理之后,會(huì)變成詞匯表[‘ba’,’ai’,’id’,’du’,’uc’,’co’,’om’]。

        2-Gram模型的處理過程如表1所示。

        表1 2-Gram 模型處理流程Tab.1 2-Gram processing flow

        2.4 統(tǒng)計(jì)域名特征模型

        域名統(tǒng)計(jì)特征模型(Domain Statistics),域名最初的誕生就是為了解決用戶請(qǐng)求更方便請(qǐng)求資源的問題,為了更好的體驗(yàn)正常域名長度一般不會(huì)存在過長的狀況。而 DGA域名僅僅是為了保持被惡意軟件主機(jī)和 CC服務(wù)器通信,為了盡可能避免 DGA生成的域名與正常域名產(chǎn)生沖突,一般 DGA域名長度會(huì)比正常域名長。但這不是絕對(duì)的,有些 DGA域名為了躲避打擊和檢測,生成 DGA域名長度也會(huì)使用較短,所以只憑借域名長度這個(gè)特征判斷是不夠的。

        從域名的內(nèi)容方面研究,正常人通常在取域名的時(shí)候,會(huì)偏好選取容易記憶與理解的幾個(gè)字母組合,也即是元音字母比例會(huì)比較高。而DGA算法生成的是隨機(jī)域名,所以元音字方面的特征不明顯;除了元音字母出現(xiàn)的比例不同,文獻(xiàn)[14]也指出唯一字符數(shù)分布區(qū)間也有差異。

        本次實(shí)驗(yàn)通過統(tǒng)計(jì)每個(gè)域名的元音字母個(gè)數(shù)、不重復(fù)字符個(gè)數(shù)、數(shù)字個(gè)數(shù)和域名長度,可以有效的將正常域名和DGA域名進(jìn)行區(qū)分。

        統(tǒng)計(jì)域名特征模型的處理過程如表2所示。

        表2 域統(tǒng)計(jì)處理流程Tab.2 Domain statistics processing flow

        2.5 字符序列模型

        字符序列統(tǒng)計(jì)模型(Character Sequence),每個(gè)域名都是由字符組成的序列,將對(duì)應(yīng)的字符直接轉(zhuǎn)換成對(duì)應(yīng)的ASCII值。相比一些諸如聚類等復(fù)雜的特征提取方法,該方法只需要對(duì)域名進(jìn)行簡單的編碼,可令分類模型能夠直接學(xué)習(xí)數(shù)據(jù)的原始特性。

        字符序列模型的處理過程如表3所示。

        表3 字符序列處理流程Tab.3 Character sequence processing flow

        3 仿真實(shí)驗(yàn)

        3.1 實(shí)驗(yàn)數(shù)據(jù)

        Alexa是一家著名的發(fā)布世界網(wǎng)站排名的網(wǎng)站,當(dāng)前擁有最權(quán)威、詳細(xì)的網(wǎng)站排名信息。而360netlab則記錄著目前公開的所有DGA家族域名數(shù)據(jù)。本次實(shí)驗(yàn)采取Alexa全球前100萬個(gè)的網(wǎng)站域名作為白樣本和 360netlab的開放數(shù)據(jù)作為黑樣本。

        3.2 評(píng)價(jià)指標(biāo)

        在混淆矩陣中,TP代表真正例,TN代表真負(fù)例,F(xiàn)P代表假正例,F(xiàn)N代表假負(fù)例。

        精確率(Precision)是指預(yù)測正確的樣本占真實(shí)樣本比例,常常被作為二分類模型的評(píng)估指標(biāo)。計(jì)算精確率的公式為:

        召回率(Recall)能反映出一個(gè)模型對(duì)樣本的覆蓋能力,也被稱為靈敏度(Sensitivity)。計(jì)算靈敏度的公式為:

        F1-Score是精確率和召回率的一個(gè)均衡評(píng)價(jià),國內(nèi)外很多機(jī)器學(xué)習(xí)競賽都關(guān)注這個(gè) F1-Score值。F1-Score的計(jì)算公式為:

        ROC(Receiver Operating Characteristic Curve)也被稱為受試者工作特征曲線。數(shù)十年前在分析無線電、醫(yī)學(xué)等領(lǐng)域都有應(yīng)用,而最近在機(jī)器學(xué)習(xí)領(lǐng)域中也得到了良好的發(fā)展。ROC曲線相對(duì)于準(zhǔn)確率、召回率等這類指標(biāo)評(píng)估標(biāo)準(zhǔn),它減少了對(duì)預(yù)測概率設(shè)分類闊值步驟,大大提高了模型的泛化能力。ROC是以假正率(False Positive Rate,F(xiàn)PR)為橫坐標(biāo),真正率(True Positive Rate,TPR)為縱坐標(biāo)繪制的曲線。而真正率與召回率的計(jì)算公式相同。假正率的計(jì)算公式為:

        ROC曲線能反映其模型的靈敏性和特效性連續(xù)變量的綜合指標(biāo),一般曲線越光滑就表示模型與數(shù)據(jù)的過擬合度越低,曲線越靠左上角就表示該模型的準(zhǔn)確性越高。AUC(Area Under the Receiver Operating Characteristic Curve)物理上的含義就是代表ROC曲線下的面積,其值越大也表示模型準(zhǔn)確性越高[15]。

        3.3 實(shí)驗(yàn)結(jié)果與分析

        圖2展示了基于域統(tǒng)計(jì)/字符序列的不同分類器的評(píng)價(jià)指標(biāo)實(shí)驗(yàn)結(jié)果。從圖上可以看出,在相同的數(shù)據(jù)集下,基于字符序列特征模型的RNN效果明顯優(yōu)于其他分類器,并且AUC的檢測準(zhǔn)確概率值達(dá)到0.93。圖3展示了基于2-Gram特征模型不同分類器的評(píng)價(jià)指標(biāo)實(shí)驗(yàn)結(jié)果。從圖上可以看出,MLP對(duì)DGA域名檢測的準(zhǔn)確率最佳,AUC的值可以達(dá)到0.94。

        圖2 基于域統(tǒng)計(jì)/字符序列的分類器指標(biāo)Fig.2 Classifier comparison based on domain statistics/character sequence

        圖3 基于2-Gram的分類器比較Fig.3 Classifier comparison based on 2-Gram

        對(duì)比圖2和圖3可以看出,基于2-Gram特征模型的F1、靈敏度、精確率等指標(biāo)均優(yōu)于基于域統(tǒng)計(jì)/字符序列模型。

        4 結(jié)論

        文章簡要闡述了 DGA域名課題的研究背景和價(jià)值,DGA域名的特點(diǎn)、分類和基本定義。本文介紹了機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中幾種流行的XGBoost、樸素貝葉斯、多層感知器和循環(huán)神經(jīng)網(wǎng)絡(luò)算法。介紹了幾種特征提取的方法,包括NGram模型、統(tǒng)計(jì)域名特征模型和字符序列模型。經(jīng)過對(duì)比發(fā)現(xiàn),基于2-gram特征模型的多層感知器在 DGA域名檢測中的得到較高的評(píng)價(jià),未來研究得主要方向?qū)⒎旁谌绾芜M(jìn)一步提升該組合的DGA域名檢測能力,而在實(shí)踐工程中往往也有其他特征提取模型和分類算法,接下來也會(huì)嘗試新的可能性,組合不同的特征模型分類算法對(duì)DGA域名檢測進(jìn)行改進(jìn)。

        猜你喜歡
        域名字符貝葉斯
        尋找更強(qiáng)的字符映射管理器
        字符代表幾
        一種USB接口字符液晶控制器設(shè)計(jì)
        電子制作(2019年19期)2019-11-23 08:41:50
        消失的殖民村莊和神秘字符
        如何購買WordPress網(wǎng)站域名及綁定域名
        貝葉斯公式及其應(yīng)用
        基于貝葉斯估計(jì)的軌道占用識(shí)別方法
        一種基于貝葉斯壓縮感知的說話人識(shí)別方法
        電子器件(2015年5期)2015-12-29 08:43:15
        騰訊八百萬美元收購域名
        IIRCT下負(fù)二項(xiàng)分布參數(shù)多變點(diǎn)的貝葉斯估計(jì)
        在线观看免费人成视频国产| 色老头在线一区二区三区| 国产成人无码aⅴ片在线观看| 少妇bbwbbw高潮| 中文字幕中文字幕777| 国产精品日本一区二区在线播放| 扒开双腿疯狂进出爽爽爽视频| 在线观看亚洲精品国产| 中文无字幕一本码专区| 久久亚洲av无码精品色午夜 | 欧美乱人伦中文字幕在线不卡| 日韩精品自拍一区二区| 手机在线看片| 欧产日产国产精品精品| 婷婷五月亚洲综合图区| 日本韩国三级在线观看| 亚洲乱码中文字幕久久孕妇黑人| 蜜臀aⅴ国产精品久久久国产老师 国产精品久久婷婷六月丁香 | 国产一区二区三区视频地址| 激烈的性高湖波多野结衣| 亚洲成a人片在线观看久| 国产熟女乱综合一区二区三区| 亚洲人不卡另类日韩精品| 高潮迭起av乳颜射后入| 麻豆变态另类视频在线观看| 精品人妻av区二区三区| 久久午夜福利无码1000合集 | 精品国产免费Av无码久久久| 一区二区三区夜夜久久| 亚洲国产亚综合在线区| 国产午夜精品久久久久免费视| 天天中文字幕av天天爽| 亚洲第一区二区精品三区在线| 人妻夜夜爽天天爽三区 | 国内视频一区| 亚洲中文字幕乱码一二三| 国产高跟黑色丝袜在线| 日韩成人免费一级毛片| 国产又色又爽的视频在线观看91| 无码中文字幕人妻在线一区| 国产成人精品无码播放|