張 婷,錢麗萍,汪立東,張 慧
(1.北京建筑大學(xué) 電氣與信息工程學(xué)院,北京 100044;2.國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心,北京 100029)
隨著網(wǎng)絡(luò)服務(wù)日益普及,不法分子利用網(wǎng)絡(luò)進(jìn)行攻擊的行為日漸普遍。攻擊者不斷采用自動(dòng)生成域名及網(wǎng)頁隱匿等新的技術(shù)手段來增強(qiáng)惡意URL的隱蔽性,提高攻擊命中率。其中,一種極為有效的手段就是采用惡意仿冒URL方式,該類URL在主機(jī)名、路徑名、文件名或參數(shù)域中使用一些知名網(wǎng)站的域名,造成用戶混淆,降低防備,誘導(dǎo)用戶點(diǎn)擊,從而完成攻擊。由于仿冒特征對(duì)原始特征的擾動(dòng)幅度較小,一定程度上影響了目前常用的基于字符串特征匹配、基于統(tǒng)計(jì)特性檢測(cè)及基于特征學(xué)習(xí)等檢測(cè)方法的檢測(cè)性能。
惡意仿冒URL是惡意URL中的一種類型,與傳統(tǒng)的惡意URL具有類似的檢測(cè)方法。主要使用的方法包括黑名單、規(guī)則匹配和機(jī)器學(xué)習(xí)等。雖然上述方法能夠在一定程度上實(shí)現(xiàn)對(duì)惡意仿冒URL的檢測(cè),但仍存在一定的局限性。
由于惡意仿冒URL在統(tǒng)計(jì)分布特性上類似于良性URL,往往被當(dāng)前檢測(cè)方法漏檢。本文提出一種基于skip-gram編碼器和卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)相結(jié)合的惡意仿冒URL檢測(cè)方法。該方法首先根據(jù)URL的結(jié)構(gòu)特性,將其切分為協(xié)議、主機(jī)名、路徑名、文件名及參數(shù)域5個(gè)部分,再利用skip-gram模型進(jìn)行編碼,最后使用連續(xù)卷積CNN模型對(duì)編碼后的各部分分別進(jìn)行特征提取,并結(jié)合機(jī)器學(xué)習(xí)方法實(shí)現(xiàn)對(duì)惡意仿冒URL的檢測(cè)。
當(dāng)前主流的惡意URL的檢測(cè)方法主要包括黑名單檢測(cè)、規(guī)則匹配檢測(cè)、基于機(jī)器學(xué)習(xí)檢測(cè)[1]及基于深度學(xué)習(xí)的方法。
黑名單是一份包含已驗(yàn)證為惡意URL的網(wǎng)址列表。Kührer等[2]提出一種基于圖表的方法用于識(shí)別黑名單中的漏洞,并對(duì)15個(gè)公共惡意軟件黑名單和4個(gè)由殺毒軟件供應(yīng)商提供的黑名單進(jìn)行有效性評(píng)估。雖然研究人員對(duì)黑名單列表進(jìn)行擴(kuò)展,但其識(shí)別能力仍依賴原有黑名單集,不僅容易引起漏判,且時(shí)間開銷大。
傳統(tǒng)機(jī)器學(xué)習(xí)方法被廣泛應(yīng)用于惡意URL檢測(cè)領(lǐng)域。Vanhoenshoven等[3]運(yùn)用決策樹、隨機(jī)森林、支持向量機(jī)(SVM)、多層神經(jīng)網(wǎng)絡(luò)(MLP)等方法完成對(duì)惡意URL數(shù)據(jù)集的檢測(cè)。甘宏等[4]提出使用基于RBF核的SVM分類器對(duì)URL進(jìn)行分類檢測(cè),并采用準(zhǔn)確率、召回率、精準(zhǔn)度和F-measure等評(píng)價(jià)指標(biāo)對(duì)結(jié)果進(jìn)行評(píng)估。由于機(jī)器學(xué)習(xí)算法的局限性,導(dǎo)致在特征提取和實(shí)驗(yàn)方面需要消耗大量的時(shí)間精力。
深度學(xué)習(xí)主要使用多層神經(jīng)網(wǎng)絡(luò)對(duì)字符串進(jìn)行特征提取,找出字符串的隱性特征,便于URL的檢測(cè)。Goldberg[5]從自然語言處理研究的角度介紹卷積神經(jīng)網(wǎng)絡(luò),介紹自然語言的輸入輸出、特征提取、優(yōu)化方式和常用函數(shù)(激勵(lì)函數(shù)、損失函數(shù)、正則化、梯度下降、反向傳播等)。陳旭等[6]論述以卷積神經(jīng)網(wǎng)絡(luò)為主體的深度學(xué)習(xí)算法的實(shí)現(xiàn)。潘思晨等[7]使用多層卷積神經(jīng)網(wǎng)絡(luò)對(duì)惡意URL進(jìn)行檢測(cè)。Le等[8]使用多層卷積神經(jīng)網(wǎng)絡(luò)對(duì)惡意URL在字符級(jí)和單詞級(jí)分別進(jìn)行檢測(cè)?;谏疃葘W(xué)習(xí)的檢測(cè),雖然能夠較準(zhǔn)確地檢測(cè)字符級(jí)惡意URL。但其模型的網(wǎng)絡(luò)層數(shù)較多,導(dǎo)致特征提取與檢測(cè)過程的時(shí)間與空間復(fù)雜度較高。
攻擊者常仿冒知名域名構(gòu)造惡意URL,特別是結(jié)合使用域名生成算法(domain generation algorithms,DGA),如suppobox、cryptowall等,快速生成與Alexa Top 1M一元字符分布高度相似的惡意仿冒URL集,傳統(tǒng)規(guī)則匹配或基于簡(jiǎn)單統(tǒng)計(jì)分布的機(jī)器學(xué)習(xí)檢測(cè)方法難以區(qū)分[9,10]。
由于以上方法存在準(zhǔn)確率較低、時(shí)間開銷大、更新困難等不足,因此本文設(shè)計(jì)并實(shí)現(xiàn)了一種連續(xù)多個(gè)卷積層的CNN與多種機(jī)器學(xué)習(xí)算法相結(jié)合的檢測(cè)模型,能夠準(zhǔn)確、高效地抽取惡意仿冒URL的判別特征,檢測(cè)模型具有普適性,可以有效地提升惡意仿冒URL的識(shí)別能力。
統(tǒng)一資源定位符(uniform resource locator,URL)是互聯(lián)網(wǎng)上標(biāo)識(shí)資源的唯一地址,格式為protocol://hostname[:port]/path/[?query](IETF request for comment 1738,RFC1738),其中“[]”表示可選內(nèi)容。本文以超文本傳輸協(xié)議(hypertext transfer protocol,HTTP)的URL為主要研究對(duì)象,該類URL每個(gè)部分具有特殊的意義與構(gòu)造規(guī)則,如圖1 所示。因此,本文根據(jù)URL的結(jié)構(gòu)特性將其劃分為協(xié)議、主機(jī)名、路徑名、文件名及參數(shù)域5個(gè)部分。由于本文主要研究基于HTTP協(xié)議的URL,故協(xié)議部分不作為研究對(duì)象。
圖1 http協(xié)議形式
深度學(xué)習(xí)網(wǎng)絡(luò)模型無法直接處理字符串信息,因此如何在保留URL所包含信息的基礎(chǔ)上對(duì)其進(jìn)行轉(zhuǎn)化是本文研究的重點(diǎn)之一。skip-gram[11]作為基于分布式思想編碼的方法之一,具有強(qiáng)大的表征能力,能夠?qū)⑽谋菊Z料的最小語義單元映射為實(shí)數(shù)向量,并用不同語義單元的空間距離表示語義相似度;同時(shí)可以通過給定目標(biāo)字符預(yù)測(cè)上下文信息,應(yīng)用范圍廣且適用于較大量的數(shù)據(jù)集運(yùn)算。且相較于CBOW模型,能夠更加顯式地表達(dá)字符間的關(guān)系,更加準(zhǔn)確地提取字符特征,為后文URL的特征提取節(jié)省時(shí)間。因此本文設(shè)計(jì)skip-gram對(duì)URL進(jìn)行稠密編碼,完成URL信息轉(zhuǎn)換。
skip-gram模型旨在將字符轉(zhuǎn)換為占用空間更小的稠密向量。本文以URL為處理單位,選擇其最細(xì)粒度——字符,作為最小語義單元,統(tǒng)計(jì)正、負(fù)數(shù)據(jù)集中的最小語義單元的頻次,并按降序排列,結(jié)果如圖2所示。橫坐標(biāo)為字符降序排列的序號(hào),縱坐標(biāo)為1-gram字符出現(xiàn)的頻次。本文將頻次較低字符包括中文字符(’翡’,’語’,’利’,’款’等)、非常用字符(’>’,’π’,’^’,’`’等)及亂碼字符(’す’,’í’,’の’,’й’等)全部置為”UNK”,以減少模型訓(xùn)練的時(shí)間及空間復(fù)雜度,且不會(huì)對(duì)編碼結(jié)果造成影響。故本文以頻次為334次的第79個(gè)字符’!’作為切分點(diǎn),舍去頻次小于300次的字符。并將保留的79個(gè)字符與”UNK”組成skip-gram模型所需的字符表V。
圖2 1-gram字符頻次降序排列折線
在skip-gram模型中,w∈Rd是w∈V的向量表示,其中,d為字符向量的維數(shù),w為字符表V中的字符。如圖3所示,使用滑動(dòng)窗口得到訓(xùn)練數(shù)據(jù) (w,c), 不僅能獲取相鄰字符間的關(guān)系,也能獲取具有一定距離字符間的關(guān)系。相較于普通二元數(shù)據(jù)對(duì)能更加準(zhǔn)確表達(dá)字符的上下文關(guān)系。且本文設(shè)置大小為5的滑動(dòng)窗口,即能保證充分獲取字符間的關(guān)系,又能避免因距離過遠(yuǎn)而獲取的錯(cuò)誤關(guān)系。
圖3 skip-gram模型掃描結(jié)果注:陰影代表當(dāng)前“輸入字符”,方框代表滑動(dòng)窗口。
在目標(biāo)字符w的上下文中觀察到字符c的概率如式(1)所示,在目標(biāo)字符w的上下文中未觀察到字符c的概率如式(2)所示
(1)
(2)
其中,向量w與向量c分別為字符w與字符c的向量表示。
skip-gram模型使用噪聲-對(duì)比估計(jì)(noise-contrastive estimation,NCE)預(yù)測(cè)目標(biāo)字符,并利用負(fù)采樣(negative sampling)技術(shù),盡可能分配高概率給真實(shí)目標(biāo),低概率給其它噪聲。將上文滑動(dòng)窗口掃描得到的實(shí)驗(yàn)數(shù)據(jù)集D, 放入skip-gram字符編碼器中,其隱藏層為無激活函數(shù)的線性神經(jīng)元,輸出層使用softmax激活函數(shù)。并設(shè)置相應(yīng)負(fù)隨機(jī)采用集D′進(jìn)行訓(xùn)練,如式(3)所示。并通過式(4)計(jì)算出字符的稠密編碼向量
(3)
w′=w·Wh
(4)
其中,向量w′是字符w的稠密編碼向量,向量w是字符w的one-hot向量,Wh為skip-gram字符編碼器訓(xùn)練結(jié)束后所得隱藏層權(quán)重矩陣。
綜上所述,利用以上skip-gram字符編碼器模型得到映射表S, 該映射表為字符到向量的一一映射。能充分表達(dá)字符含義與字符間的關(guān)系,降低后文CNN特征提取的復(fù)雜度,減少特征提取時(shí)間。
近年來,CNN不僅在圖像、語音識(shí)別方面取得成功,也在自然語音處理方面取得突破性的進(jìn)展。Saxe等使用多核卷積對(duì)短字符串(惡意URL、文件路徑、注冊(cè)表等)進(jìn)行特征提取并分類,其結(jié)果優(yōu)于手動(dòng)特征提取[12]。Vijayaraghavan等使用卷積神經(jīng)網(wǎng)絡(luò)在字符級(jí)和單詞級(jí)上對(duì)多個(gè)短文本數(shù)據(jù)集進(jìn)行分類檢測(cè),取得較好的結(jié)果[13]。故本文借鑒以上模型優(yōu)點(diǎn),使用連續(xù)多個(gè)卷積層的CNN模型(采用連續(xù)兩、三、四個(gè)卷積層3種模型),分別針對(duì)URL的主機(jī)名、路徑名、文件名及參數(shù)域部分進(jìn)行訓(xùn)練,選取URL各部分的最優(yōu)模型組合為最終模型,對(duì)整個(gè)URL進(jìn)行特征提取。連續(xù)兩個(gè)卷積層的CNN模型如圖4所示,先采用連續(xù)兩個(gè)卷積層進(jìn)行連續(xù)特征提取,再使用平均池化對(duì)特征進(jìn)行優(yōu)化。由于池化作用會(huì)過濾部分相關(guān)特征,故本文采用多次連續(xù)卷積的方式,盡可能充分的提取URL的特征向量。
圖4 連續(xù)兩層卷積CNN模型結(jié)構(gòu)
卷積層是連續(xù)多個(gè)卷積層模型的重要部分,主要作用是對(duì)數(shù)據(jù)進(jìn)行特征提取。本文采用連續(xù)卷積即連續(xù)多次特征提取,相較于普通CNN模型,能夠更充分提取字符間的特征關(guān)系。且首先選擇較大尺寸的卷積核對(duì)URL整體特征進(jìn)行有效提取,再選擇較小尺寸的卷積核對(duì)URL局部特征進(jìn)行詳細(xì)提取。并采用”VALID”方式填充,相較于”SAME”方式能有效降低特征圖的維度,降低運(yùn)算的復(fù)雜度。池化層的主要作用是進(jìn)行特征篩選,去除冗余或不相關(guān)特征,本文采用平均池化對(duì)特征進(jìn)行篩選,相較于其它池化方式,平均池化能夠篩選出URL的最優(yōu)特征表達(dá)。
激活函數(shù)是神經(jīng)網(wǎng)絡(luò)的重要函數(shù)之一,利用它的去線性化功能,使神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)非線性傳播。其中ReLU函數(shù)僅使用一個(gè)閾值就能得到激活值,大大降低了神經(jīng)網(wǎng)絡(luò)的運(yùn)算量,且ReLU函數(shù)適用于較小學(xué)習(xí)率參數(shù)。根據(jù)惡意仿冒URL本身特點(diǎn)、運(yùn)算速度及較小學(xué)習(xí)率的設(shè)置,在卷積層和全連接層ReLU函數(shù)選擇激活函數(shù)。
本文以連續(xù)兩個(gè)卷積層模型為例,輸入為數(shù)據(jù)向量X,Xi∈Rn, 長(zhǎng)度為n的數(shù)據(jù)表示為X1∶n=X1X2…Xn, 兩次卷積后得到特征向量C、C′, 如式(5)、式(6)所示。池化后得到特征向量P,如式(7)所示
Ci=f(W1·Xi*step1∶i*step1+c1-1+b1)
(5)
C′i=f(W2·Ci*step1∶i*step1+c2-1+b2)
(6)
Pi=Average{Ci*step2∶i*step2+c3-1}
(7)
其中,c1、c2為卷積核的尺寸,step1為卷積步長(zhǎng),W1∈R4*c1,W2∈R1*c2為卷積核的權(quán)重矩陣,b1∈R,b2∈R為卷積偏置項(xiàng),c3為池化過濾器的尺寸,step2為池化步長(zhǎng)。
綜上所述,由2.1節(jié)得到的skip-gram字符編碼器與2.2節(jié)得到的連續(xù)多個(gè)卷積層的CNN特征提取模型組成的網(wǎng)絡(luò)模型如圖5所示,且連續(xù)多個(gè)卷積層的CNN模型結(jié)構(gòu)圖如圖4所示。故本文利用該網(wǎng)絡(luò)模型對(duì)URL檢測(cè)特征自動(dòng)提取。
圖5 本文模型結(jié)構(gòu)
Alexa與Phishtank網(wǎng)站全球公認(rèn)的且被大量使用的良性與惡意URL數(shù)據(jù)集。本文從Alexa 網(wǎng)站爬取五萬多條良性真實(shí)URL作為正樣本集。并采用如下方法得到惡意仿冒URL樣本集。
Jaccard系數(shù)(Jaccard similarity coefficient)[14]衡量?jī)蓚€(gè)集合之間相似性的重要方式,如式(8)所示為集合A,B的Jaccard系數(shù)。且惡意仿冒URL一般通過構(gòu)造變換或字符變換模仿知名網(wǎng)站,故本文采用Jaccard系數(shù)來度量?jī)蓚€(gè)URL中特定部分之間的相似性
(8)
將Alexa Top 1M域名集的m條域名去除頂級(jí)域名作為集合U={U1,U2…Um}, 從Phishtank網(wǎng)站爬取的n條惡意URL,按第2章所述方法將其切分。本文數(shù)據(jù)均為基于HTTP協(xié)議的URL,故無需與集合U進(jìn)行相似度對(duì)比。將主機(jī)名域,路徑名域,文件名域,參數(shù)域作為集合H={H1,H2…Hn},P={P1,P2…Pn},F(xiàn)={F1,F2…Fn},Q={Q1,Q2…Qn} 分別與集合U進(jìn)行Jaccard相似系數(shù)計(jì)算,若Ui與Hi,Pi,F(xiàn)i,Qi中任意的Jaccard系數(shù)大于等于0.65,則第i條惡意URL為惡意仿冒URL,即負(fù)樣本集,見表1。某些惡意仿冒URL的提取過程較費(fèi)時(shí),可能導(dǎo)致惡意仿冒URL集的提取過程耗費(fèi)一定時(shí)間,但并不影響后續(xù)實(shí)驗(yàn)的檢測(cè)。
表1 惡意仿冒URL樣例
根據(jù)以上規(guī)則,本文選定實(shí)驗(yàn)所需正負(fù)樣本集,并在其中分別隨機(jī)選取30%的樣本集作為測(cè)試集(正樣本 16 950 條;負(fù)樣本12 065條),剩下各70%的數(shù)據(jù)作為訓(xùn)練集(正樣本39 550條;負(fù)樣本28 151條)。
為體現(xiàn)本研究意義,增強(qiáng)對(duì)比度,提升實(shí)驗(yàn)結(jié)果說服力。本文設(shè)計(jì)以下模型:
1.2 方法 采用自行設(shè)計(jì)的脊髓損傷神經(jīng)源性膀胱功能障礙者排尿方式調(diào)查表和應(yīng)用間歇導(dǎo)尿影響因素的調(diào)查表,內(nèi)容包括脊髓損傷者的基本信息、排尿方式和應(yīng)用間歇導(dǎo)尿的狀況及影響因素等方面。調(diào)查者以問卷為基礎(chǔ),與被調(diào)查者交談,充分講解問卷中各項(xiàng)問題及填表要求,使患者完全理解后填寫,并當(dāng)場(chǎng)回收調(diào)查表。共發(fā)放76份,回收有效問卷76份,回收有效率100%。
模型1:運(yùn)用本文URL數(shù)據(jù)集,調(diào)整已有模型結(jié)構(gòu),完成實(shí)驗(yàn)。本模型將本文skip-gram編碼后的URL使用Saxe等提出的eXpose多核卷積模型進(jìn)行特征提取,根據(jù)本文數(shù)據(jù)集,將卷積核的大小調(diào)整為4×20×8,4×30×8,4×40×8,4×50×8,dropout調(diào)整為0.6,最終得到128維的特征向量。
模型2:根據(jù)第2章提出的網(wǎng)絡(luò)模型進(jìn)行URL檢測(cè)。先分別設(shè)計(jì)連續(xù)二層卷積層(模型2-a)、三層卷積層(模型2-b)、四層卷積層(模型2-c)的CNN模型對(duì)URL的主機(jī)名、路徑名、文件名及參數(shù)域部分進(jìn)行訓(xùn)練。如表2所示,模型2-a的卷積層參數(shù)為卷積c1、卷積c2;模型2-b的卷積層參數(shù)為卷積c1、卷積c2、卷積c3;模型2-c的卷積層參數(shù)為卷積c1、卷積c2、卷積c3、卷積c4。池化層過濾器使用大小為1×2,步長(zhǎng)為2的平均池化。并選擇各部分的最優(yōu)模型組合為模型2的最終優(yōu)選模型。根據(jù)數(shù)據(jù)集與CNN的特點(diǎn),選用交叉熵計(jì)算誤差代價(jià),使用Adam優(yōu)化器進(jìn)行優(yōu)化,設(shè)dropout為0.6,學(xué)習(xí)率為0.0001。
分別訓(xùn)練模型1與模型2,每次隨機(jī)從訓(xùn)練集中選擇100組數(shù)據(jù)訓(xùn)練,數(shù)據(jù)集共迭代60輪(即batch_size=100,epoch=60)。并基于測(cè)試集完成模型的特征提取,且對(duì)提取的特征進(jìn)行評(píng)估與選擇。
表2 URL各部分的3種模型卷積層參數(shù)
3.3.1 skip-gram編碼結(jié)果與分析
為了能夠更直觀地對(duì)skip-gram編碼結(jié)果進(jìn)行分析,本文采用PCA技術(shù)對(duì)2.1節(jié)編碼結(jié)果進(jìn)行PCA降維處理,將高維字符向量降至二維向量,如圖6所示。經(jīng)本文skip-gram字符編碼后,字符按語義相似性聚集,大、小寫字母、數(shù)字分別聚簇。數(shù)據(jù)集中多次出現(xiàn)”http”,”taobao”,”com”,”Www”等字符串,即’h’、’t’、’p’,’a’、’b’、’o’、’t’,’c’、’o’、’m’,’W’、’w’字符之間具有頻繁的上下文關(guān)系,在二維坐標(biāo)中它們之間的空間距離較近。故skip-gram模型能夠?qū)W習(xí)并擴(kuò)大字符間的關(guān)系,使字符間的特征更顯式表達(dá),且與one-hot編碼(80維/字符)相比,skip-Gram編碼(4維/字符)數(shù)據(jù)所占內(nèi)存空間更少,運(yùn)算速度更快。故本文字符編碼模型效果良好,能夠?qū)⒄Z義相似的字符聚類,為后文特征提取與分類提供良好的基礎(chǔ)。
圖6 各字符向量的PCA二維映射
3.3.2 模型優(yōu)選結(jié)果與分析
模型2的優(yōu)選過程中,分別使用模型2-a、模型2-b、模型2-c對(duì)URL的主機(jī)名、路徑名、文件名及參數(shù)域部分的訓(xùn)練結(jié)果如圖7~圖10所示。表3為模型2各部分,全部使用模型2-a的全兩層卷積模型、全部使用模型2-b的全三層卷積模型、全部使用模型2-c的全四層卷積模型及最終優(yōu)選模型對(duì)惡意仿冒URL的分類結(jié)果對(duì)比表。
圖7 主機(jī)名部分3種模型訓(xùn)練結(jié)果對(duì)比
圖8 路徑名部分3種模型訓(xùn)練結(jié)果對(duì)比
如圖7可知,模型2-b與模型2-c的結(jié)果相似,且模型2-b的層數(shù)較少、復(fù)雜性較小,故主機(jī)名域選擇模型2-b為較優(yōu)模型。
如圖8可知,模型2-c的趨勢(shì)較其余兩類模型平穩(wěn),且準(zhǔn)確率高,故選擇模型2-c為路徑名域的較優(yōu)模型。
如圖9可知,模型2-c的結(jié)果均優(yōu)于其余兩類模型,故文件名域選擇模型2-c為較優(yōu)模型。
圖9 文件名部分3種模型訓(xùn)練結(jié)果對(duì)比
圖10 參數(shù)域部分3種模型訓(xùn)練結(jié)果對(duì)比
表3 不同組合模型分類結(jié)果對(duì)比
如圖10可知,模型2-b的結(jié)果均優(yōu)于其余兩類模型,故參數(shù)域選擇模型2-b為較優(yōu)模型。
綜上所述,模型2的最終優(yōu)選模型的組合方式為:主機(jī)名域與參數(shù)域部分使用連續(xù)三層卷積層的模型2-b,路徑名域與文件名域使用連續(xù)四層卷積層的模型2-c。
此外,根據(jù)對(duì)不同模型提取的特征空間評(píng)估,如表3可知,模型的正確率、召回率、F-M、ROC面積均隨著卷積層數(shù)增加而增高,但其上升趨勢(shì)均隨著卷積層數(shù)增加而降低,故僅僅依靠增加卷積層數(shù)并不能達(dá)到最優(yōu)結(jié)果。同時(shí),與最終優(yōu)選模型對(duì)比可知,最終優(yōu)選模型較其它模型更優(yōu),故本文提出將URL切分為5部分分別進(jìn)行特征提取的方法有效,且URL的各部分分別選擇適合該部分?jǐn)?shù)據(jù)特征的模型能夠達(dá)到更優(yōu)結(jié)果。
3.3.3 各模型結(jié)果對(duì)比分析
表4為eXpose模型[14]、模型1、模型2在FPR(假陽率)等于10-4、10-3、10-2時(shí)TPR(真陽率)的結(jié)果對(duì)比表。采用隨機(jī)樹、隨機(jī)森林、貝葉斯、J48多種機(jī)器學(xué)習(xí)算法對(duì)模型1、模型2的結(jié)果進(jìn)行十重交叉驗(yàn)證。并使用正確率、錯(cuò)誤率、召回率、F-Measure、ROC面積評(píng)價(jià)指標(biāo)對(duì)分類結(jié)果進(jìn)行評(píng)估,結(jié)果見表5、表6。
表4 各模型分類效果對(duì)比
表5 模型1的分類結(jié)果評(píng)估
表6 模型2的分類結(jié)果評(píng)估
以表4中模型2的結(jié)果為例,在FPR等于10-4、10-3、10-2時(shí),模型2的TPR的結(jié)果為80%、88%、94%,故TPR的結(jié)果隨著FPR的增大而增大。由表4中FPR等于10-2時(shí),eXpose、模型1、模型2的TPR的結(jié)果可知,模型2的分類結(jié)果優(yōu)于其它模型,故使用模型2的特征提取方式對(duì)本文惡意仿冒URL數(shù)據(jù)集具有較良好效果。由模型1與eXpose的結(jié)果可知,eXpose的分類效果優(yōu)于模型1,故本文對(duì)eXpose多核卷積模型的復(fù)現(xiàn)效果未達(dá)到最優(yōu),或eXpose多核卷積模型對(duì)惡意仿冒URL數(shù)據(jù)集未有最優(yōu)效果。
由表5、表6可知,ROC曲線的評(píng)價(jià)結(jié)果較其它評(píng)價(jià)指標(biāo)結(jié)果良好。并由表5、表6對(duì)比可知,模型2的分類效果均優(yōu)于模型1,故模型2將URL切分為協(xié)議、主機(jī)名、路徑名、文件名及參數(shù)域5個(gè)部分分別訓(xùn)練,更充分地提取了惡意仿冒URL的有效特征,提高了惡意仿冒URL的檢測(cè)準(zhǔn)確率,準(zhǔn)確率最高達(dá)97.7%。
惡意URL識(shí)別是網(wǎng)絡(luò)安全領(lǐng)域保證用戶上網(wǎng)安全的重要檢測(cè)手段之一。針對(duì)惡意URL中較難識(shí)別的類型——惡意仿冒URL,本文提出一種基于連續(xù)多個(gè)卷積層的CNN模型對(duì)惡意仿冒URL進(jìn)行檢測(cè)。實(shí)驗(yàn)結(jié)果表明,skip-gram字符編碼器產(chǎn)生的稠密編碼,能夠充分體現(xiàn)字符上下文關(guān)系,降低后文特征提取的復(fù)雜度。利用URL的結(jié)構(gòu)特性將其切分為5部分,每部分使用不同層數(shù)卷積模型進(jìn)行預(yù)訓(xùn)練,再將各部分模型組合進(jìn)行特征提取的方法有效。且選擇三層卷積層模型處理主機(jī)名域與參數(shù)域、四層卷積層的模型處理路徑名域與文件名域的最終優(yōu)選模型的準(zhǔn)確率最高。故本文提出的惡意仿冒URL檢測(cè)方法能夠有效提高網(wǎng)絡(luò)安全人員對(duì)惡意仿冒URL的檢測(cè)效率與準(zhǔn)確率,在網(wǎng)絡(luò)安全領(lǐng)域具有較好的應(yīng)用前景。