• 
    

    
    

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

      ?

      釣魚網(wǎng)站分類檢測算法的比較性研究

      2019-05-16 01:30:10王文騰王傳濤
      北京建筑大學(xué)學(xué)報 2019年1期
      關(guān)鍵詞:貝葉斯釣魚分類器

      王文騰, 王傳濤, 襲 薇, 佟 暉

      (1.北京建筑大學(xué) 機(jī)電與車輛工程學(xué)院, 北京 100044; 2.北京市公安局, 北京 100740;3.上海市信息安全綜合管理技術(shù)研究重點實驗室, 上海 200240)

      “釣魚網(wǎng)站”就是指釣魚者利用帶有欺騙性的電子郵件和偽造的非常相似的網(wǎng)站對受害者進(jìn)行欺騙[1]. 攻擊者會仿制一個和目標(biāo)網(wǎng)站十分相似的網(wǎng)站作為釣魚網(wǎng)站,或者制作成虛假信息的網(wǎng)站. 當(dāng)受害者訪問該網(wǎng)站并提交個人信息時,攻擊者就可能從中獲取受害者提交的敏感信息,如各類賬號、密碼等,或者是直接造成受害者財產(chǎn)損失. 由于這類攻擊的隱蔽性很好,造成危害較大,所以屬于嚴(yán)重的互聯(lián)網(wǎng)犯罪.

      1 相關(guān)研究

      目前關(guān)于釣魚網(wǎng)站研究主要分以下幾類:一是基于黑白名單過濾[2]的瀏覽器插件. 這些檢測插件大多采用URL(統(tǒng)一資源定位符)黑名單技術(shù),將待測網(wǎng)站的URL在黑名單數(shù)據(jù)庫中進(jìn)行匹配. 但釣魚網(wǎng)站更新快存活時間短,所以無法檢測最新釣魚網(wǎng)站. 第二類是分析釣魚網(wǎng)站URL地址[3]. 這種方法對于部分釣魚網(wǎng)站的識別效果很顯著,但URL特征并不能完全鑒別釣魚網(wǎng)站, 這種方式可能會伴隨漏判和誤判的概率. 第三種方式是根據(jù)頁面內(nèi)容特征來識別釣魚網(wǎng)站[4]. 這種方式會比第二種方式的查全率和準(zhǔn)確率更高,但面臨的問題就是獲取頁面內(nèi)容會降低識別的效率,在提取頁面特征時也會比URL特征提取要復(fù)雜.

      針對檢測方式,很多學(xué)者都采用機(jī)器學(xué)習(xí)的分類算法進(jìn)行分類檢測. 顧曉清等[5]提出,針對URL特征,通過比較閾值改進(jìn)貝葉斯算法. 趙加林[6]提出對針對網(wǎng)頁的K-Means與SVM結(jié)合算法. 可以看出,機(jī)器學(xué)習(xí)中的監(jiān)督式的分類方法[7]在釣魚網(wǎng)站識別研究中應(yīng)用較多.

      上述研究通常是側(cè)重釣魚網(wǎng)站檢測的某一方面,使用一種分類算法作為模型建立的算法. 本文著重通過實驗比較常見的3種分類算法(KNN[8],SVM[9],樸素貝葉斯[10])分別通過URL特征和頁面文本特征,對釣魚網(wǎng)站進(jìn)行檢測,區(qū)分其性能差異.

      2 網(wǎng)站URL特征

      釣魚網(wǎng)站的主要欺騙方式之一是通過URL地址的相似性加以偽裝. 但是部分釣魚網(wǎng)站的URL與被模仿網(wǎng)站的URL還是有很多區(qū)別的. 根據(jù)參考資料,將已有釣魚網(wǎng)站URL與正常網(wǎng)站URL做比對得到的特征組成特征集合.

      通過相關(guān)文獻(xiàn)研究的基礎(chǔ)和對已有的釣魚網(wǎng)站URL分析,本文選取出由11個特征組成的特征向量FV:

      FV=〈F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11〉

      F1:在URL的域名部分含有特殊符號“-”,這個符號通常放置于被模仿網(wǎng)站域名中間或者用某些詞和被模仿網(wǎng)站域名連接,這種方式在URL的域名處迷惑用戶.

      F2:在URL的查詢部分含有“@”“·”,有些釣魚網(wǎng)站在查詢部分以郵箱賬號的形式作為查詢參數(shù).

      F3:在URL路徑中包含“·”“\”,這兩種符號經(jīng)常用于在URL的路徑中添加了被模仿URL的真實域名,然后再用這兩種符號連接.

      F4:URL的長度,在沒有查詢參數(shù)的URL長度定義的最大閾值為85,如果有查詢參數(shù),最大閾值為115.

      F5:URL域名的長度,定義域名長度的最大閾值為39.

      F6:URL域名級數(shù),有些釣魚網(wǎng)站通過多級域名,在中間添加了真實域名的字符串,導(dǎo)致用戶被迷惑. 定義級數(shù)的最大閾值為4.

      F7:URL路徑級數(shù),與URL域名級數(shù)類似,通過多級路徑,將被模仿的域名添加到路徑中. 定義級數(shù)的最大閾值為6.

      F8:URL以IP地址替換域名,這種方式會阻止用戶從域名中了解網(wǎng)站,從而迷惑用戶.

      F9:URL路徑中出現(xiàn)某些品牌,在路徑中包含品牌以此迷惑用戶. 從PishingTank上收集了99個品牌作為一個品牌集合.

      F10:URL域名的長度,定義域名長度的最小閾值為7.

      F11:URL中包含敏感詞. 有些釣魚者為了迷惑用戶,在URL刻意添加“account”“banking”這些詞. 由8個敏感詞組成的集合:

      (1)

      i∈{1,2,3,4,5,6,7,8,9,10,11}

      (2)

      3 網(wǎng)站頁面特征

      用戶通過釣魚網(wǎng)站的URL訪問該網(wǎng)站,但要使用戶相信該釣魚網(wǎng)站的內(nèi)容,還需對其頁面結(jié)構(gòu)或頁面內(nèi)容進(jìn)行處理. 釣魚網(wǎng)站通常仿冒相關(guān)網(wǎng)站的結(jié)構(gòu)和文本內(nèi)容,但由于它的目的性與正常網(wǎng)站不同,所以其內(nèi)容又與被仿網(wǎng)站有一定的區(qū)別,因此利用這一特點便可以通過網(wǎng)頁的文本內(nèi)容或頁面結(jié)構(gòu)進(jìn)行判斷區(qū)分.

      根據(jù)網(wǎng)頁內(nèi)容進(jìn)行提取特征. 詳細(xì)步驟如下:

      1) 首先請求可以正常訪問的釣魚網(wǎng)站,然后提取網(wǎng)頁中所有的字符串.

      2) 對提取的整段字符串進(jìn)行清洗,去除整段字符串中的特殊字符和轉(zhuǎn)義字符. 然后利用NLTK[11]進(jìn)行分詞、去除停用詞,得到每一個詞組成的字符串集合.

      例如:{facebook help center facebook update your security…}

      3) 接下來利用TF-IDF方法對每個詞加權(quán). TF-IDF是一種統(tǒng)計方法[12],它就是為了克服詞頻統(tǒng)計技術(shù)的缺陷而產(chǎn)生的. 它引入了“逆文檔頻率”概念,衡量了一個詞的常見程度. TF-IDF的假設(shè)是:如果某個詞或短語在一篇文章中出現(xiàn)的頻率高,并且在其他文章中很少出,那么它很可能就反映了這篇文章的特性,因此要提高它的權(quán)值. 在網(wǎng)頁內(nèi)容上有很多出現(xiàn)頻率很高的詞,但并不能凸顯出這個文本的特性,要適當(dāng)降低這類詞的尋找.

      假設(shè)Xi為某個詞,Number(j,Xi)為在j文件中出現(xiàn)Xi詞的次數(shù),Number(j,Xmax)表示j文件中出現(xiàn)最多的詞的個數(shù). 那么Xi的詞頻TF為:

      (3)

      假設(shè)ContainFile(Xi)為出現(xiàn)Xi的文件數(shù),SumFile為文件的總數(shù),那么逆文檔頻率IDF為:

      (4)

      所以結(jié)合式(1)和式(2)Xi的TF-IDF值為:

      TF-IDF(Xi)=TF(Xi)IDF(Xi)

      (5)

      4) 將每個文本按權(quán)重由大到小選取前n個的詞,再將所有選取的詞整合在一起組成特征詞集合.

      4 分類算法

      本文主要涉及3種常見分類算法:最近鄰算法(KNN),支持向量機(jī)算法(SVM)和樸素貝葉斯算法(Naive Bayes).

      4.1 KNN算法

      KNN算法是通過測量不同特征值之間的距離進(jìn)行分類. 它的思路是:一個樣本在特征空間中的K個最臨近的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別. KNN算法中,所選擇的鄰居都是已經(jīng)正確分類的對象. 該方法在決策上只依據(jù)最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別.

      在KNN算法中,通過計算對象間的距離作為對象之間的非相似性指標(biāo),一般使用歐式距離公式計算:

      (6)

      其算法描述為:

      1)計算測試數(shù)據(jù)與各個訓(xùn)練數(shù)據(jù)之間的距離;

      2)按照距離的遞增關(guān)系進(jìn)行排序;

      3)選取距離最小的K個點;

      4)確定前K個點所在的類別的出現(xiàn)頻率;

      5)返回前K個點中出現(xiàn)頻率最高的類別作為測試數(shù)據(jù)的預(yù)測分類.

      4.2 SVM算法

      SVM(Support Vector Machines)在分類算法中應(yīng)用廣泛,它在處理高緯度數(shù)據(jù)集時有很好的分類效果. SVM的目的是尋找一個超平面,使樣本分成兩類,并且間隔最大.

      對于二類分類問題,假設(shè)訓(xùn)練集為:

      T={(x1,y1),(x2,y2),…,(xn,yn)}

      其中xi為相應(yīng)樣本,yi為樣本類標(biāo)記,且yi∈{0,1}.

      分類平面形式為:

      g(x)=wtx+b

      (7)

      其中w是分類權(quán)重向量,b是分類閾值. 若使式(5)對兩類樣本都滿足|g(x)|≥1, 即:

      yi(wtx+b)-1≥0,i=1,2,…,n

      (8)

      (9)

      s.t.yi(wtx+b)-1≥0

      (10)

      考慮異常點的情況,可以加入松弛變量ε來處理:

      yi(wtx+b)-1≥1-ε

      (11)

      則把目標(biāo)函數(shù)變?yōu)椋?/p>

      (12)

      其中,C為懲罰函數(shù),通過構(gòu)造拉格朗日函數(shù)并求解偏導(dǎo)數(shù)可以得到等價對偶問題:

      (13)

      (14)

      如果是非線性問題,一般采用低維空間映射到高維空間x→(x)后實現(xiàn)線性可分. 在SVM的等價對偶問題中目標(biāo)函數(shù)中有樣本點的內(nèi)積,在空間變換后,由于維度增加導(dǎo)致內(nèi)積計算成本增加,這時核函數(shù)(kernel function)便派上用場了,將映射后的高維空間內(nèi)積轉(zhuǎn)換成低維空間的函數(shù):

      K(x,z)=φ(x)φ(z)

      (15)

      將其代入式(11)可得非線性SVM的最優(yōu)化問題:

      (16)

      (17)

      4.3 樸素貝葉斯算法

      樸素貝葉斯(Naive Bayes)屬于監(jiān)督學(xué)習(xí)的生成模型,實現(xiàn)簡單,沒有迭代,學(xué)習(xí)效率高,在大樣本量下會有較好的表現(xiàn).

      樸素貝葉斯的主要思路是:通過聯(lián)合概率P(x,y)=P(x|y)P(y)建立模型后,通過運(yùn)用貝葉斯定理求解后驗概率P(y|x),將后驗概率最大者對應(yīng)的類別作為預(yù)測分類.

      假設(shè)訓(xùn)練集為:T={(x1,y1),(x2,y2),…,(xn,yn)},其類別為yi∈{c1,c2,…,ck},由貝葉斯定理可知:

      (18)

      其中對于ck而言,p(x)是恒等的,所以可以舍棄. 先驗概率p(y=ck)可以通過計算頻率得到,而條件概率p(x|y=ck)通過樸素貝葉斯對條件概率做了條件獨立性的假設(shè),即條件相互獨立的為前提,則:

      (19)

      可得預(yù)測類別:

      (20)

      5 實驗結(jié)果與分析

      5.1 實驗評估方法

      采用準(zhǔn)確率(precision)、召回率(recall)和綜合的準(zhǔn)確率和召回率的分類率(F1)作為本次實驗的分類型評價指標(biāo). 其中準(zhǔn)確率是指模型判為正的所有樣本中有多少是真正的正樣本;召回率是指所有正樣本有多少被模型判為正樣本;而F1是準(zhǔn)確率和召回率的結(jié)合.

      假設(shè)模型輸出正樣本集合(模型檢測出的釣魚網(wǎng)站集合)為A,真正的正樣本集合(釣魚網(wǎng)站總體集合)為B,則:

      (21)

      (22)

      (23)

      5.2 實驗數(shù)據(jù)準(zhǔn)備

      本次實驗所用的釣魚網(wǎng)站(正類)來自PhishTank[13]上提供的黑名單數(shù)據(jù). 實驗總共提取兩次,第一次是2017年8月8日提取了3 123條釣魚網(wǎng)站用于URL檢測部分;由于釣魚網(wǎng)站存活期較短,所以第二次是從2018年2月18日和2018年2月23日兩天中提取有效2 000釣魚網(wǎng)站用于網(wǎng)站頁面檢測部分. 實驗中用到的可信網(wǎng)站(負(fù)類)來自Alexa[14]上排名前500,在這500個網(wǎng)站中,每個網(wǎng)站以深度為1進(jìn)行遍歷,總共得到38 019個網(wǎng)站,從中提取有效可信網(wǎng)站1 307條用于URL檢測部分,提取2 000條用于網(wǎng)站頁面檢測部分. 對于訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)采用的分配方式,如表1所示.

      表1 訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)

      5.3 不同分類器測試結(jié)果比較

      首先通過實驗確定KNN算法中的最優(yōu)k值,從圖1中可以看出,隨著k值的增加,KNN分類器的F1值呈遞減趨勢,在頁面內(nèi)容檢測的折線圖更為明顯. 當(dāng)k值為5時KNN分類器的效果最佳,對于URL檢測和頁面內(nèi)容檢測的F1分別為89.18%和94.69%. 因此后續(xù)采用k值為5的KNN分類器進(jìn)行實驗.

      圖1 不同k值下的KNN分類器的F1值Fig.1 F1 value of KNN classifier under different k values

      4種分類方法在URL檢測中的性能比較,支持向量機(jī)(SVM)分類器. 本實驗分別選擇線性SVM和徑向基核函數(shù)的SVM作為非線性SVM. 徑向基核函數(shù)的形式為:

      表2是4種分類方法在URL檢測方面的性能比較. 其中URL特征數(shù)為11個. 在表中可以看出,除樸素貝葉斯方法外的其他三種方法的準(zhǔn)確率和召回率相差都不大,準(zhǔn)確率達(dá)到85%左右. 由于訓(xùn)練和測試的數(shù)據(jù)集不大,而且特征數(shù)也不多,所以訓(xùn)練和測試的時間比較短.

      表2 4種分類方法在URL檢測方面的性能比較

      表3是4種分類方法在頁面內(nèi)容方面的性能比較,其中頁面特征為2 000個釣魚網(wǎng)站頁面的權(quán)重由大到小排名前5的特征組成,所得的頁面特征數(shù)為1 165個. 可以從表中很明顯看出線性SVM分類器的準(zhǔn)確率和召回率都是最高,都近似96.88%,而采用徑向基核函數(shù)的SVM分類器的準(zhǔn)確率和召回率都是最低的,所以在選用SVM算法的時候,對于線性和非線性SVM算法的選擇很重要.

      綜合表2和表3可以看出,對于頁面內(nèi)容檢測的準(zhǔn)確率和召回率都要高于針對URL特征檢測. 筆者認(rèn)為出現(xiàn)這種現(xiàn)象有以下幾個原因:

      表3 4種分類方法在頁面內(nèi)容方面的性能比較

      1)網(wǎng)站URL沒有進(jìn)行黑白名單的過濾,導(dǎo)致很多正規(guī)網(wǎng)站由于也存在敏感詞匯而被認(rèn)為存在了釣魚網(wǎng)站URL的特征;

      2)有一部分釣魚網(wǎng)站并沒有出現(xiàn)釣魚網(wǎng)站的URL特征,而正常網(wǎng)站卻有部分存在,導(dǎo)致分類器誤判;

      3)頁面內(nèi)容檢測中,很多釣魚網(wǎng)站針對的目標(biāo)網(wǎng)站比較集中,導(dǎo)致很多釣魚網(wǎng)站的制作與目標(biāo)網(wǎng)站比較類似,所以特征也較為相似,因此分類器分類比較準(zhǔn)確;

      4)還有一個原因是頁面內(nèi)容特征的特征維度遠(yuǎn)遠(yuǎn)高于URL特征,這個方面也導(dǎo)致部分分類器的訓(xùn)練和測試時間都大大增加.

      圖2 對于4種分類器在不同頁面特征數(shù)下的F1值比較Fig.2 Comparison of F1 values for four classifiers with different page feature numbers

      圖2是對于在頁面內(nèi)容檢測部分,對于不同特征數(shù)的情況,4種分類器的F1比較. 通過以每篇文檔中權(quán)重由大到小排名前2、5、10、15、20的詞為基準(zhǔn)提取特征,可以得到圖中橫軸的4個特征數(shù). 從圖中可以明顯觀察出線性SVM分類器的F1最高,并且當(dāng)特征數(shù)為1 893個時效果最佳. 當(dāng)特征數(shù)從1 893個繼續(xù)增加分類器的效果都會相對降低. 筆者認(rèn)為,特征個數(shù)的選取不能無限制的增加,而應(yīng)該以實際情況選取. 本次實驗樣本總數(shù)為4 000個,而當(dāng)特征個數(shù)逐漸增加的過程中,樣本總量卻沒變,造成維度較高,分類器訓(xùn)練和測試不能達(dá)到很好的效果.

      6 結(jié)論

      本文通過實驗對比樸素貝葉斯、KNN和SVM算法針對釣魚網(wǎng)站的分類效果. 對于以URL特征的實驗中,樸素貝葉斯分類器的效果相對較差,而其他分類器相差不大;而對于特征維度較高的頁面內(nèi)容特征的實驗中,線性SVM分類器表現(xiàn)出了不錯的效果,準(zhǔn)確率和召回率都高于其他分類器. 對于英文類頁面內(nèi)容,通過實驗對比選取最佳特征數(shù)量,改良后的線性SVM分類器檢測準(zhǔn)確率可以達(dá)到96%. 針對研究存在的不足,后續(xù)研究工作主要對兩方面進(jìn)改進(jìn):

      1)對特征優(yōu)化,在特征提取前可以加入黑白名單過濾;

      2)SVM方法中核函數(shù)及其參數(shù)的選取,SVM核函數(shù)還可以選擇多項式核函數(shù)進(jìn)行比較. 模型完善后創(chuàng)建web應(yīng)用,可以部署到線上服務(wù)器,為用戶提供釣魚網(wǎng)站檢測的一項應(yīng)用服務(wù).

      猜你喜歡
      貝葉斯釣魚分類器
      BP-GA光照分類器在車道線識別中的應(yīng)用
      電子測試(2018年1期)2018-04-18 11:52:35
      貝葉斯公式及其應(yīng)用
      加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
      結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機(jī)的TSK分類器
      釣魚
      基于貝葉斯估計的軌道占用識別方法
      一種基于貝葉斯壓縮感知的說話人識別方法
      電子器件(2015年5期)2015-12-29 08:43:15
      第七章 去泥盆紀(jì)釣魚
      第七章 去泥盆紀(jì)釣魚
      第七章去泥盆紀(jì)釣魚
      祁门县| 七台河市| 仙游县| 右玉县| 上杭县| 修文县| 祁东县| 南岸区| 安康市| 赤城县| 友谊县| 仪陇县| 镇安县| 丰镇市| 鹤峰县| 富川| 济宁市| 雅安市| 南宁市| 定西市| 三江| 潜山县| 永州市| 红原县| 新安县| 叶城县| 井研县| 望城县| 射洪县| 上饶县| 金门县| 扬州市| 桓台县| 永定县| 云安县| 弥渡县| 定南县| 丹东市| 甘德县| 和龙市| 阳原县|