黃 炎,張雙全
釣魚(yú)網(wǎng)站常常通過(guò)電子郵件,仿造和偽造正常網(wǎng)址來(lái)對(duì)用戶(hù)進(jìn)行欺詐.釣魚(yú)網(wǎng)站通常偽造用戶(hù)心中可信度較高的品牌網(wǎng)站,在欺詐過(guò)程中竊取用戶(hù)的個(gè)人信息、銀行卡賬戶(hù)及密碼等,釣魚(yú)網(wǎng)站的出現(xiàn)不僅對(duì)用戶(hù)的利益造成了損失,也對(duì)網(wǎng)絡(luò)金融和電子商務(wù)等領(lǐng)域發(fā)展造成了極大影響[1].
目前主要的釣魚(yú)網(wǎng)站檢測(cè)途徑有兩種,一種是“黑白名單”檢測(cè),就是通過(guò)對(duì)待測(cè)URL與釣魚(yú)網(wǎng)站庫(kù)進(jìn)行對(duì)比,如果釣魚(yú)網(wǎng)站庫(kù)存在與待測(cè)URL相同的網(wǎng)址,則將該待測(cè)URL判定為釣魚(yú)網(wǎng)站,這種方法的時(shí)效性極差,釣魚(yú)網(wǎng)站的更新速度極快,且制作成本極低,“黑白名單”檢測(cè)顯然不適合現(xiàn)在的網(wǎng)絡(luò)環(huán)境,另一種就是基于啟發(fā)式的檢測(cè)方法,通過(guò)對(duì)URL進(jìn)行特征分解,并建立合適的檢測(cè)模型,通過(guò)模型的判定函數(shù)來(lái)檢測(cè)待測(cè)URL是否為釣魚(yú)網(wǎng)站[2].
2008年,Daisuke Miyamoto等采用9種機(jī)器學(xué)習(xí)方法對(duì)釣魚(yú)網(wǎng)站進(jìn)行分類(lèi)研究,結(jié)果表明AdaBoost分類(lèi)器在釣魚(yú)網(wǎng)站檢測(cè)中的效果最好,最小錯(cuò)誤率為14.15%.2015年,何禹德等利用決策樹(shù)和隨機(jī)森林方法構(gòu)建釣魚(yú)網(wǎng)站檢測(cè)模型,實(shí)驗(yàn)結(jié)果顯示隨機(jī)森林的準(zhǔn)確率達(dá)到96.5269%[3].本文不僅選取檢測(cè)準(zhǔn)確率和均方根誤差等常見(jiàn)指標(biāo)來(lái)對(duì)模型進(jìn)行評(píng)估,而且為了檢測(cè)模型的泛化能力引入了roc曲線(xiàn),roc曲線(xiàn)是用來(lái)評(píng)估分類(lèi)器泛化性能的工具之一,所謂泛化能力,是指通過(guò)訓(xùn)練樣本得到的分類(lèi)模型能否很好的適用于測(cè)試樣本[4]
機(jī)器學(xué)習(xí)作為人工智能的一大分支,隨著大數(shù)據(jù)研究的興起,機(jī)器學(xué)習(xí)成為了人工智能的核心領(lǐng)域.機(jī)器學(xué)習(xí)是指通過(guò)算法使機(jī)器能夠從大量的歷史數(shù)據(jù)中學(xué)習(xí)到數(shù)據(jù)本身潛在的規(guī)律特征,并能夠建立適當(dāng)?shù)哪P停梢杂脕?lái)對(duì)未來(lái)數(shù)據(jù)進(jìn)行預(yù)測(cè)分析[5].機(jī)器學(xué)習(xí)的這一特點(diǎn),使得它比“黑白名單”法更適用于釣魚(yú)網(wǎng)站的檢測(cè)研究.
K鄰近算法(K-Nearest Neighbor algorithm,KNN)是機(jī)器學(xué)習(xí)經(jīng)典算法之一,Cover和Hart在1968年首次提出,具有精度高和對(duì)離群點(diǎn)不敏感的優(yōu)點(diǎn).KNN算法的主要思想是通過(guò)給定測(cè)試樣本,尋找與待測(cè)樣本距離最近的K個(gè)訓(xùn)練樣本,并根據(jù)這K個(gè)訓(xùn)練樣本的類(lèi)別,采取“投票法”來(lái)決定待測(cè)樣本的類(lèi)別[6].KNN算法中常用的距離計(jì)算公式一般有三種,分別是曼哈頓距離、歐式距離和閔可夫斯基距離,本文采用的距離計(jì)算公式是歐氏距離,假定在n維實(shí)數(shù)空間中,有樣本X個(gè)則樣本之間距離為其中,t為屬性個(gè)數(shù)t=1,2,…,n,本文選取的最近鄰樣本的個(gè)數(shù)K為3.
樸素貝葉斯算法(Naive Bayes algorithm,NB)自20世紀(jì)50年代以來(lái)得到了廣泛的研究,NB算法與KNN算法一樣都是基于樣本集來(lái)構(gòu)造判別模型的,NB算法的基本思想是假設(shè)樣本集中屬性與屬性之間是獨(dú)立同分布的[7].根據(jù)先驗(yàn)概率與待測(cè)樣本屬于各個(gè)類(lèi)別的條件概率來(lái)求得后驗(yàn)概率,選取后驗(yàn)概率最高的類(lèi)別進(jìn)行決策.給定n維樣本空間X,x∈X,由貝葉斯定理我們可以得到:
其中,n為數(shù)據(jù)集中屬性個(gè)數(shù),xi表示樣本x所對(duì)應(yīng)第i個(gè)屬性上的取值,N為所有可能出現(xiàn)的類(lèi)別D={c1,c2,…,cN},P(c)表示先驗(yàn)概率,P(xi|c)表示訓(xùn)練樣本中不同類(lèi)別與各個(gè)屬性組合所出現(xiàn)的概率.對(duì)于給定樣本x,P(x)與類(lèi)別標(biāo)記無(wú)關(guān),計(jì)算類(lèi)別標(biāo)記c的所有可能取值,選擇輸出概率最大的結(jié)果,上述公式可以改寫(xiě)成如下式子
令M表示訓(xùn)練集,Mc表示第c類(lèi)樣本組成的集合,則P(c)的表達(dá)式可以寫(xiě)為P(c)=由于本文采用的數(shù)據(jù)是離散型的,Mc,xi表示Mc中第i個(gè)屬性取值為xi樣本組成的集合,則條件概率P(xi|c)的表達(dá)式可以寫(xiě)為
本文采用的數(shù)據(jù)來(lái)自于UCI中的Phishing Websites數(shù)據(jù)集,該數(shù)據(jù)集由哈德斯菲爾德大學(xué)提供,共有11055個(gè)網(wǎng)站信息,屬性個(gè)數(shù)為30個(gè),其中正常網(wǎng)站6157個(gè),釣魚(yú)網(wǎng)站4898個(gè).
釣魚(yú)網(wǎng)站通常與正常網(wǎng)站的網(wǎng)頁(yè)內(nèi)容極其相似,但是網(wǎng)站地址中往往存在著釣魚(yú)網(wǎng)站中的某些特征,例如:
(1)是否存在外部鏈接指向該網(wǎng)站:正常網(wǎng)站通常有2個(gè)以上的外部鏈接.
(2)網(wǎng)站是否能在Google索引中找到:釣魚(yú)網(wǎng)站往往只能在短時(shí)間內(nèi)訪(fǎng)問(wèn),因此釣魚(yú)網(wǎng)站可能不在Google索引中.
(3)URL地址是否過(guò)長(zhǎng):釣魚(yú)網(wǎng)站制造者通常使用長(zhǎng)URL來(lái)隱藏地址欄中的可疑部分.
(4)網(wǎng)站的重定向次數(shù):正常網(wǎng)站的重定向次數(shù)最多為1次,而釣魚(yú)網(wǎng)站的重定向次數(shù)往往多于一次.
(5)URL地址中是否存在“@”“//”“-”等符號(hào):正常網(wǎng)站的URL中很少出現(xiàn)這些符號(hào).
數(shù)據(jù)集中的主要屬性說(shuō)明及規(guī)約方式如表1所示.
從表1可以看出,即使釣魚(yú)網(wǎng)站和正常網(wǎng)站的網(wǎng)頁(yè)內(nèi)容相似,但釣魚(yú)網(wǎng)站的URL地址與正常網(wǎng)站的地址是有很大區(qū)別的,我們可以利用URL地址的某些特征來(lái)建模,來(lái)對(duì)待測(cè)網(wǎng)站進(jìn)行檢測(cè).
表1 主要屬性說(shuō)明及規(guī)約方式
本文選取90%的數(shù)據(jù)樣本作為訓(xùn)練樣本,10%的數(shù)據(jù)樣本作為測(cè)試樣本,分別使用NB模型和KNN模型進(jìn)行訓(xùn)練和測(cè)試,兩種模型的測(cè)試結(jié)果如表2所示.
表2 兩種模型的測(cè)試結(jié)果
均方根誤差可以用來(lái)衡量數(shù)據(jù)樣本待測(cè)值與真值之間的偏差,檢測(cè)模型對(duì)于異常數(shù)據(jù)樣本的敏感度,從表2可以看出,NB模型的均方根誤差小于KNN模型,NB模型對(duì)于異常數(shù)據(jù)樣本的敏感度要弱于KNN模型.NB模型的準(zhǔn)確率97.19%也高于KNN模型的92.94%.雖然NB模型和KNN模型在釣魚(yú)網(wǎng)站的檢測(cè)準(zhǔn)確率都高于90%,都可以應(yīng)用于釣魚(yú)網(wǎng)站檢測(cè)應(yīng)用中,但NB模型對(duì)于異常數(shù)據(jù)樣本的敏感度要弱于KNN模型,NB模型的準(zhǔn)確率也高于KNN模型,NB模型和KNN模型的roc曲線(xiàn)如圖1所示.
圖1 KNN和NB模型的roc曲線(xiàn)
在機(jī)器學(xué)習(xí)中通常使用roc曲線(xiàn)來(lái)描述模型的泛化性能,所謂泛化性能是指該模型能否適用具有同一規(guī)律的新數(shù)據(jù),曲線(xiàn)與橫軸圍成面積越大說(shuō)明該模型的泛化性能越優(yōu).從圖1可以看出,KNN模型和NB模型的roc曲線(xiàn)與橫軸所圍成的面積都接近于1,都符合優(yōu)秀分類(lèi)器的標(biāo)準(zhǔn),但KNN模型的roc曲線(xiàn)被NB模型roc曲線(xiàn)包裹,這也說(shuō)明了NB模型的泛化能力要優(yōu)于KNN模型,更適合對(duì)未來(lái)釣魚(yú)網(wǎng)站數(shù)據(jù)進(jìn)行檢測(cè).
現(xiàn)今,網(wǎng)絡(luò)的發(fā)展速度日益加快,釣魚(yú)網(wǎng)站的存在影響著金融網(wǎng)絡(luò)的發(fā)展,對(duì)人們的財(cái)產(chǎn)安全造成了極大的威脅,釣魚(yú)網(wǎng)站更新速度快、制作成本極低,每年都有許多人被釣魚(yú)網(wǎng)站竊取個(gè)人信息或個(gè)人賬戶(hù)密碼,“黑白名單”的檢測(cè)方法已經(jīng)不適合現(xiàn)在的網(wǎng)絡(luò)環(huán)境,我們需要時(shí)效性和準(zhǔn)確性更優(yōu)的檢測(cè)方法,本文選取的KNN和NB模型來(lái)對(duì)釣魚(yú)網(wǎng)站進(jìn)行檢測(cè)研究,結(jié)果表明NB模型在釣魚(yú)網(wǎng)站檢測(cè)研究中具有更高的準(zhǔn)確性和泛化能力.
通化師范學(xué)院學(xué)報(bào)2019年4期