• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于機器學(xué)習(xí)的惡意域名檢測方法研究

      2021-05-30 10:38:24張建輝孫皓月趙萬旗
      關(guān)鍵詞:馬爾可夫域名字符

      張建輝 孫皓月 趙萬旗

      (河北建筑工程學(xué)院,河北 張家口 075000)

      0 引 言

      域名系統(tǒng)(Domain Name System)為我國現(xiàn)代網(wǎng)絡(luò)業(yè)務(wù)提供了方便[1],增加了用戶的上網(wǎng)體驗.與此同時,域名系統(tǒng)解析也成為僵尸網(wǎng)絡(luò)發(fā)動攻擊的重要依托,為了逃避安全設(shè)施的檢測,僵尸網(wǎng)絡(luò)的攻擊也越來越復(fù)雜,其中一個常見的技術(shù)就是在僵尸網(wǎng)絡(luò)中使用DGA域名生成算法,使攻擊服務(wù)器域名快速變化.在該方式下,控制服務(wù)器與受控機器的通信節(jié)點是動態(tài)變化的,安全人員難以捕捉到控制服務(wù)器的域名和IP地址[2],以至于無法切斷聯(lián)系,阻止攻擊.僵尸網(wǎng)絡(luò)利用DGA域名生成算法進行通信的原理如下:攻擊端和受控主機使用相同DGA算法,從生成的DGA域名中選取少量注冊.由于通信節(jié)點處域名不斷變化,傳統(tǒng)的黑名單防護手段在更新上無法做到及時性,并且開銷較大.因此業(yè)界急需一種有效的DGA惡意域名檢測手段.

      1 相關(guān)研究

      DGA算法通過輸入隨機種子,以偽隨機化算法作為輔助,生成一系列的隨機字符串域名.所以域名表面上看似乎是隨機的,但內(nèi)部結(jié)構(gòu)都是通過偽隨機化算法生成的,其實是有跡可循的,比如對于算法輸入的隨機種子的選擇,往往會選擇當(dāng)前的時間、網(wǎng)絡(luò)熱詞等.

      當(dāng)前學(xué)術(shù)界對于DGA域名的檢測從未停止.文獻[3]使用機器學(xué)習(xí)方法,基于語法特征基礎(chǔ)上加入了N-Gram模型特征,提高了算法的精確率;文獻[4]提出了基于聚類和分類算法的惡意域名檢測方法,使用聚類算法分出DGA域名的類別,再使用分類算法篩選出惡意域名.文獻[5]將域名的語法特征細化,提取出字母和數(shù)字的轉(zhuǎn)換頻率、連續(xù)字母的最大長度等特征.文獻[6]將隱馬爾可夫模型應(yīng)用于域名檢測,實驗結(jié)果相較于隨機森林模型效果更好.

      本文在語法特征、N-Gram模型特征的基礎(chǔ)上,加入了隱馬爾可夫模型特征,并且出于計算復(fù)雜度的考慮,并未將N-Gram本身出現(xiàn)的頻率當(dāng)做特征,而是選用了N-Gram平均排名.

      2 惡意域名檢測流程

      使用機器學(xué)習(xí)工程進行域名檢測流程主要包括收集數(shù)據(jù)、提取特征、模型的選擇和訓(xùn)練、評價函數(shù)和交叉驗證4個部分.

      (1)收集數(shù)據(jù).本次實驗的數(shù)據(jù)包括正常域名和DGA域名.采用Alexa網(wǎng)站中前1萬的域名作為正常域名,而實驗中的DGA域名取自360安全網(wǎng)站,選取1.5萬條DGA家族中的Conficker家族域名.

      (2)提取特征.從域名數(shù)據(jù)集中提取出三類特征.一類是語法特征;一類是N-Gram[7]特征;最后本文在此基礎(chǔ)上加入隱馬爾可夫[8]特征.

      (3)模型選擇和訓(xùn)練.本文選取SVM[9]和決策樹[10]進行對比評估.

      (4)評價函數(shù)和交叉驗證.本文使用精確率和召回率作為模型評價標(biāo)準(zhǔn),將數(shù)據(jù)的4/5用于訓(xùn)練模型,剩下的1/5用于模型預(yù)測,同時將數(shù)據(jù)多次洗牌做10次交叉驗證.

      3 特征分析

      特征工程是惡意域名檢測的關(guān)鍵,特征選擇的好壞直接影響最后的實驗結(jié)果.因此,本文對合法域名和DGA域名特征進行深入了解,反復(fù)試驗,最終得出特征集合.提取的特征有語法特征、N-Gram模型特征、馬爾可夫模型特征.N-Gram特征選取域名的unigram、bigram、trigram的平均排名;隱馬爾可夫模型特征選擇的是域名從Ai到Ai+1轉(zhuǎn)換的概率乘積.

      3.1 語法特征

      (1)域名長度.域名最初就是為了使用戶上網(wǎng)方便,因此合法域名長度不會太長,并且有些具有明確的定義,而DGA域名是以偽隨機算法作為輔助,生成的隨機字符串,再加上域名數(shù)量日益增長,為了防止與正常域名沖突,一般域名較長,并且沒有任何含義.在表1中幾個正常域名與DGA域名長度進行了對比,可以看出正常域名長度一般在10左右,而DGA域名長度在20左右.

      表1 正常域名長度和DGA域名長度

      (2)域名熵值.熵是衡量事物混亂程度的度量指標(biāo).經(jīng)過對大量數(shù)據(jù)的分析比對,正常域名內(nèi)部結(jié)構(gòu)相對整齊有規(guī)律,混亂程度較低;而DGA域名隨機性強,分布混亂,熵值也會更大.本文從數(shù)據(jù)集中選取1萬條正常域名和1萬條DGA域名,如圖1所示,正常域名熵值在1.0-2.0之間,而DGA域名大都集中在2.0-2.5之間,因此,熵值可以作為很好的區(qū)別特征.

      圖1 正常域名和DGA域名熵值直方圖

      (3)元音字母比例.正常域名為了讓人讀起來更加順口會在輔音字母的基礎(chǔ)上加入一些元音字母,來增加域名的可讀性;而DGA域名生成時未考慮這個因素,元音字母會相對較少,因此DGA域名可讀性差.從數(shù)據(jù)集中取1萬正常域名和1萬DGA域名,DGA域名元音占比在0.1-0.3,正常域名元音占比在0.3-0.5.因此,元音字母比例可以作為區(qū)別特征.

      (4)連續(xù)輔音字母比例.經(jīng)過大量數(shù)據(jù)分析比對,DGA域名的連續(xù)輔音字母比例較高.如圖2可以看出正常域名大多在0.2-0.4之間,而DGA域名在0.6-0.8之間的居多,盡管有少數(shù)正常域名和DGA域名比例有重疊,但是整體來說連續(xù)輔音字母比例特征區(qū)分度很大.

      圖2 正常域名和DGA域名連續(xù)輔音比例直方圖

      (5)頂級域名.正常域名的頂級域比較常見,例如.cn和.com等,而DGA惡意域名會選一些審核不嚴(yán)的,不常見的域名如.ru和.ws等.本文選取正常域名常見三個頂級域,取1萬條正常域名和1萬條DGA域名,分別統(tǒng)計正常和惡意域名中各類別的數(shù)量,正常域名中有2872條使用的是常見頂級域,DGA域名有0條.因此頂級域名對于域名檢測的重要性比重很大.

      3.2 N-Gram平均排名

      N-Gram模型是自然語言處理常用的模型,常用于詞語分析,語音識別,詞語分類等.它的基本思想是將文本內(nèi)容進行固定大小的滑動窗口操作,對每個窗口進行頻率統(tǒng)計,以此概率來推斷下一組詞.本文提取正常域名和DGA域名的unigram(一個字符)、bigram(兩個字符)和trigram(三個字符)特征,采用N-Gram函數(shù)對域名字符進行統(tǒng)計,例如將www.goole.com放入unigram函數(shù)中會得到單個的字符數(shù)組[c,e,g,l,m,o,w]以及字符出現(xiàn)的頻率,一般來說,可以將域名字符頻率直接當(dāng)做特征,但是特征維度會很大,會影響訓(xùn)練速度.換個角度思考,正常域名相比于DGA域名更加好念,因此它的頻率排名相對靠前,而DGA域名是隨機生成的,頻率相對靠后,所以本文選用N-Gram模型的平均排名作為域名區(qū)別特征.

      3.3 隱馬爾可夫模型特征

      隱馬爾可夫模型是一種統(tǒng)計模型,大致思想是通過已知去預(yù)測未知,輸入已知序列到轉(zhuǎn)換矩陣,得到未知序列出現(xiàn)的概率,用于詞語分類、語言識別等自然語言處理領(lǐng)域.本文以1萬正常域和1萬DGA域名來訓(xùn)練隱含馬爾可夫鏈,計算從Ai到Ai+1轉(zhuǎn)換的概率,這里所說的Ai為域名的當(dāng)前字符,Ai+1為下一個字符,例如baidu.com,如果Ai為d,那么Ai+1為u.以每個域名字符從Ai到Ai+1轉(zhuǎn)換概率的乘積作為特征,為了防止下溢,對每個域名概率結(jié)果取對數(shù).正常域名的隱馬爾可夫模型數(shù)值大部分在-15和-30之間,而DGA域名的隱馬爾可夫模型數(shù)值在-35和-50之間,正常域名的值是高于DGA域名的,所以隱馬爾可夫模型特征可以作為區(qū)別特征.

      4 實驗與檢測效果分析

      實驗中的正常域名數(shù)據(jù)取自www.Alexa.com網(wǎng)站,在實驗中采用在Alexa網(wǎng)站中前排名前1萬條域名作為實驗過程中的正常域名.而實驗中的DGA域名取自網(wǎng)站data.netlab.360.com/dga/,該網(wǎng)站每天也都會更新DGA域名,在實驗中采用了1.5萬個DGA域名來作為實驗中的樣本,并標(biāo)注類別,選取語法特征、N-Gram模型特征和隱馬爾可夫模型特征作為區(qū)別特征,然后使用SVM算法和決策樹算法進行模型訓(xùn)練,為了實驗的嚴(yán)謹性,進行10次交叉驗證,選擇4/5的數(shù)據(jù)用于訓(xùn)練模型,剩余1/5進行預(yù)測,使用精確率、召回率作為評價指標(biāo).

      4.1 算法概述

      支持向量機是一類按監(jiān)督學(xué)習(xí)方式對數(shù)據(jù)進行二元分類的廣義線性分類器,廣泛應(yīng)用于統(tǒng)計分析、回歸和分類等.它的基本思想是使用核函數(shù)映射到高維空間,在高維空間中找到間隔最大的分類超平面.作為一種新的機器學(xué)習(xí)方法,依據(jù)結(jié)構(gòu)風(fēng)險最小原理,支持向量機表現(xiàn)出獨特的泛化和推廣能力,已逐漸成為國內(nèi)外機器學(xué)習(xí)研究的熱點.決策樹是一種常用的分類算法,它是一種樹形結(jié)構(gòu),基本思想是,通過對數(shù)據(jù)集樣本的學(xué)習(xí)建立決策樹,內(nèi)部節(jié)點代表特征的選擇,最后的葉子節(jié)點代表分類的結(jié)果.

      4.2 特征評估

      本文將兩組特征組合進行評估,特征組合如下:A組為語法特征和N-Gram模型特征組合,B組為語法特征、N-Gram模型特征和馬爾可夫模型特征,為了使實驗更加嚴(yán)謹,進行10次交叉驗證,兩種特征組合下的精確率和召回率如圖3、圖4所示,實驗發(fā)現(xiàn):B組特征組合下的精確率在98%以上,而A組特征組合下的精確率在97%左右.因此,說明分類模型在語法特征、N-Gram模型特征的基礎(chǔ)上添加了隱馬爾可夫模型特征后分類效果有了一定的提高.

      圖3 兩種特征組合的精確率

      4.3 模型評估

      選取語法特征、N-Gram模型特征和隱馬爾可夫模型特征作為區(qū)別特征,對比SVM算法和決策樹算法兩種訓(xùn)練模型,如圖4所示,使用SVM訓(xùn)練模型準(zhǔn)確率可以達到0.98以上,而使用決策樹模型準(zhǔn)確率在0.97左右,因此,可以得出結(jié)論:SVM模型相較于決策樹模型分類效果更好.

      圖4 不同模型的準(zhǔn)確率折線圖

      5 結(jié)束語

      本文的目的是分析域名的語法特性,在語法特征、N-Gram模型特征基礎(chǔ)上加入隱馬爾可夫模型作為區(qū)別特征,以提升DGA域名的檢測率,對于N-Gram模型特征維度太大的問題,本文選取域名的N-Gram平均排名作為特征,減少了計算復(fù)雜度,通過兩種特征組合的精確率、召回率對比,兩種訓(xùn)練模型準(zhǔn)確率對比,印證了上面的結(jié)論.但是本文選取的惡意域名數(shù)據(jù)是DGA家族中的Conficker域名數(shù)據(jù),可能最后訓(xùn)練出的模型對于其他種類的DGA域名檢測率并不太理想,因此,下一步工作是選取的數(shù)據(jù)集更加廣泛化,找出更多區(qū)分特征,使訓(xùn)練模型精確率更高、適應(yīng)性更強.

      猜你喜歡
      馬爾可夫域名字符
      尋找更強的字符映射管理器
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計
      電子制作(2019年19期)2019-11-23 08:41:50
      消失的殖民村莊和神秘字符
      如何購買WordPress網(wǎng)站域名及綁定域名
      保費隨機且?guī)в屑t利支付的復(fù)合馬爾可夫二項模型
      基于SOP的核電廠操縱員監(jiān)視過程馬爾可夫模型
      騰訊八百萬美元收購域名
      應(yīng)用馬爾可夫鏈對品牌手機市場占有率進行預(yù)測
      認知無線網(wǎng)絡(luò)中基于隱馬爾可夫預(yù)測的P-CSMA協(xié)議
      黎川县| 屏东市| 通城县| 广昌县| 海口市| 化州市| 卫辉市| 淮南市| 黎平县| SHOW| 赤水市| 永春县| 济宁市| 黑龙江省| 望谟县| 翁牛特旗| 景宁| 涿鹿县| 咸宁市| 巴里| 广元市| 景谷| 阳泉市| 尉氏县| 卓尼县| 称多县| 尼勒克县| 台中市| 维西| 大新县| 金湖县| 三明市| 太和县| 临沭县| 元氏县| 子洲县| 白沙| 长泰县| 山西省| 于都县| 伊川县|