999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于改進(jìn)的樸素貝葉斯算法的Android釣魚網(wǎng)站檢測(cè)方案

2018-08-23 02:58:02朱二周
關(guān)鍵詞:檢測(cè)

馬 剛,劉 鋒,朱二周

(安徽大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230601)

1 引言

根據(jù)數(shù)據(jù)顯示,2015年中國(guó)移動(dòng)互聯(lián)網(wǎng)用戶數(shù)量達(dá)到了8.1億人,較2014年增長(zhǎng)了近8.4%。預(yù)計(jì)到達(dá)2016年,中國(guó)移動(dòng)互聯(lián)網(wǎng)用戶數(shù)量將達(dá)到9.2億人。從智能手機(jī)的用戶數(shù)量可以看出,我國(guó)的移動(dòng)互聯(lián)網(wǎng)規(guī)模巨大,并在迅速發(fā)展中。但是,在移動(dòng)互聯(lián)網(wǎng)快速發(fā)展的同時(shí),針對(duì)移動(dòng)網(wǎng)絡(luò)攻擊和詐騙的現(xiàn)象時(shí)有發(fā)生。

網(wǎng)絡(luò)釣魚攻擊[1]是一種通過(guò)模擬正常網(wǎng)站的界面,誘騙用戶輸入用戶名和密碼等信息,從而達(dá)到盜取用戶賬號(hào)信息的目的。當(dāng)前,對(duì)于PC端的網(wǎng)絡(luò)釣魚攻擊已經(jīng)有了較好的防御和保護(hù)手段,但針對(duì)移動(dòng)端攻擊的檢測(cè)手段和方法還不是很健全。

當(dāng)前,對(duì)網(wǎng)頁(yè)釣魚攻擊檢測(cè)方法的研究主要包括基于黑名單的檢測(cè)、基于機(jī)器學(xué)習(xí)的檢測(cè)、基于啟發(fā)式的檢測(cè)和基于視覺(jué)相似的檢測(cè)[2]等四類。基于黑名單的檢測(cè)[2]技術(shù)主要根據(jù)知名IT企業(yè)提供的釣魚網(wǎng)站黑名單進(jìn)行檢測(cè)?;诤诿麊蔚臋z測(cè)技術(shù)雖然正確率很高,但是沒(méi)辦法檢測(cè)不在黑名單內(nèi)的釣魚網(wǎng)站。與此同時(shí),由于確認(rèn)黑名單需要人工驗(yàn)證,故需花費(fèi)大量的人力和時(shí)間等?;跈C(jī)器學(xué)習(xí)[3,4]的檢測(cè)技術(shù)主要通過(guò)選擇釣魚網(wǎng)站URL的特征,以此來(lái)生成訓(xùn)練數(shù)據(jù),構(gòu)造分類器進(jìn)行檢測(cè)。在這種方法中,URL特征的選取和分類器的構(gòu)建是非常關(guān)鍵的因素?;趩l(fā)式的檢測(cè)[2]技術(shù)主要根據(jù)網(wǎng)站存在的異常特征超出了設(shè)定的閾值和不合乎常規(guī)的訪問(wèn)等方式來(lái)對(duì)釣魚網(wǎng)站進(jìn)行判斷?;谝曈X(jué)相似的檢測(cè)[2,3]技術(shù)利用釣魚網(wǎng)站與真實(shí)網(wǎng)站的視覺(jué)相似超過(guò)設(shè)定的閾值來(lái)進(jìn)行檢測(cè)。然而,由于需要復(fù)雜的圖像處理操作,鑒于現(xiàn)在手機(jī)的性能還不能很好地滿足此類計(jì)算需求,這種方法并不適合移動(dòng)手機(jī)端。

本文通過(guò)結(jié)合URL鏈接和網(wǎng)頁(yè)內(nèi)容,提出一種基于改進(jìn)樸素貝葉斯算法[5]的釣魚網(wǎng)站檢測(cè)方案。樸素貝葉斯算法由于有著堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ)和穩(wěn)定的分類效率,故而在各種分類領(lǐng)域中得到廣泛的應(yīng)用。但是,傳統(tǒng)的樸素貝葉斯算法也存在一些不足。針對(duì)樸素貝葉斯算法的不足,本文做了如下改進(jìn):

(1)在收集樣本數(shù)據(jù)的過(guò)程中,屬性值缺失的情況時(shí)有發(fā)生,其中有些信息是無(wú)法獲取的,有些對(duì)象的某個(gè)屬性是不可用的。也就是說(shuō),對(duì)于這個(gè)對(duì)象,該屬性值是不存在的。本文將采用K-means算法對(duì)缺失的屬性值進(jìn)行填充。

(2)當(dāng)特征屬性的維數(shù)過(guò)多時(shí),樸素貝葉斯算法就會(huì)出現(xiàn)大量條件概率相乘的情況。這些概率值都是小于1的數(shù),而這些趨于零的條件概率相乘,很可能會(huì)出現(xiàn)有偏過(guò)低估計(jì)[6]的情況。本文將概率進(jìn)行適當(dāng)放大,以解決結(jié)果下溢的問(wèn)題。

(3)傳統(tǒng)的樸素貝葉斯算法認(rèn)為屬性之間是相互獨(dú)立的,容易忽略屬性之間的關(guān)聯(lián)性問(wèn)題。但是在現(xiàn)實(shí)數(shù)據(jù)中,屬性與類別之間都存在或多或少的關(guān)聯(lián)。本文根據(jù)屬性重要程度的不同對(duì)屬性進(jìn)行加權(quán)處理,提升樸素貝葉斯算法的分類性能,以此提高釣魚網(wǎng)站檢測(cè)的正確率。

(4)在實(shí)際情況中,釣魚網(wǎng)站出現(xiàn)的概率還是比較小的,本文通過(guò)調(diào)整釣魚網(wǎng)站與可信網(wǎng)站間的概率比值P,最終選擇一個(gè)最佳的P值,以此來(lái)進(jìn)一步提高檢測(cè)的正確率。

本文的實(shí)驗(yàn)部署在Android 5.0操作系統(tǒng)上,結(jié)果表明,改進(jìn)后的樸素貝葉斯算法能夠有效地檢測(cè)出手機(jī)端的釣魚攻擊,進(jìn)而可為手機(jī)安全運(yùn)行提供可靠的保護(hù)技術(shù)。

2 樸素貝葉斯算法的基本原理

貝葉斯算法是以英國(guó)數(shù)學(xué)家Thomas Bayes命名的一種基于概率統(tǒng)計(jì)的可能性推理方法[6],即根據(jù)已經(jīng)發(fā)生的事件來(lái)預(yù)測(cè)將來(lái)事件可能發(fā)生的概率。貝葉斯定理的主要思想為:如果事件發(fā)生的可能性不確定,那么量化它的唯一方法就是事件發(fā)生的概率。如果事件出現(xiàn)的概率是已知的,那么可以根據(jù)數(shù)學(xué)方法計(jì)算出未來(lái)事件出現(xiàn)的概率。貝葉斯定理可以用一個(gè)數(shù)學(xué)公式表達(dá),即為貝葉斯定理。具體如式(1)所示:

(1)

其中,P(X)表示事件發(fā)生的概率,P(Bi)表示Bi的先驗(yàn)概率。之所以稱之為先驗(yàn)概率是因?yàn)樗母怕什缓蛣e的事件有關(guān)系。由于P(X|Bi)是根據(jù)Bi的概率得到的,因此被稱為X的后驗(yàn)概率。簡(jiǎn)單地說(shuō),貝葉斯定理提供了一種基于先驗(yàn)概率計(jì)算后驗(yàn)概率的方法。

樸素貝葉斯算法是在貝葉斯算法的基礎(chǔ)上通過(guò)假定各屬性之間不存在任何關(guān)聯(lián),即屬性之間完全獨(dú)立而得到的一種簡(jiǎn)化算法[5]。利用樸素貝葉斯算法進(jìn)行分類的具體過(guò)程如下所示:

(1)數(shù)據(jù)樣本集合由一個(gè)n維的特征向量T={t1,t2,…,tn}表示,ti(i=1,…,n) 表示數(shù)據(jù)集合中的一條數(shù)據(jù)。

(2)實(shí)驗(yàn)E的樣本空間為S,而B(niǎo)1,B2,…,Bn為S的一個(gè)劃分,且P(Bi)>0 (i=1,2,…,n)。對(duì)于給定的一條待檢測(cè)的數(shù)據(jù)項(xiàng)X,分類器將計(jì)算X屬于每個(gè)分類的概率,其中哪個(gè)分類的概率最大就將X歸為那個(gè)分類。P(Bi|X)即為對(duì)應(yīng)類Bi的后驗(yàn)概率。而P(Bi|X)可以根據(jù)式(1)來(lái)確定。由于P(X)為常數(shù),只需要P(X|Bi)P(Bi)最大,即可判斷出數(shù)據(jù)項(xiàng)X屬于哪一個(gè)分類。其中類的先驗(yàn)概率可以用P(Bi)=si/s計(jì)算,si為訓(xùn)練樣本中屬于Bi的個(gè)數(shù),s為訓(xùn)練樣本的總數(shù)。

由于樸素貝葉斯算法假定各個(gè)屬性之間是相互獨(dú)立的,沒(méi)有任何的依賴關(guān)系,所以有:

(2)

其中,概率P(X1|Bi),P(X2|Bi),…,P(Xk|Bi)可由訓(xùn)練樣本計(jì)算得到。P(Xk|Bi)表示待檢測(cè)數(shù)據(jù)項(xiàng)第k個(gè)屬性對(duì)應(yīng)的屬性值為Xk的概率,P(Xk|Bi)=sik/si,其中si表示樣本中類別屬于Bi的樣本數(shù),sik表示樣本中屬于類別Bi,并且第k個(gè)屬性對(duì)應(yīng)的屬性值為Xk的樣本數(shù)。

于是樸素貝葉斯公式可以表述為式(3):

(3)

3 樸素貝葉斯算法的不足及改進(jìn)

3.1 缺失屬性值的填充

3.1.1 缺失數(shù)據(jù)的現(xiàn)有處理方法

在收集樣本數(shù)據(jù)的過(guò)程中,屬性值缺失的情況經(jīng)常會(huì)發(fā)生。對(duì)于缺失數(shù)據(jù)的填充主要有刪除數(shù)據(jù)和補(bǔ)齊數(shù)據(jù)兩種方式。其中刪除數(shù)據(jù)可能會(huì)導(dǎo)致數(shù)據(jù)發(fā)生偏離,從而得出錯(cuò)誤的結(jié)論。當(dāng)前補(bǔ)齊數(shù)據(jù)主要有平均值填充以及使用最可能的值填充等方法。

圖1的實(shí)驗(yàn)結(jié)果顯示了使用刪除法(菱形線)和平均值法(方形線)改變樣本數(shù)據(jù)中缺失的屬性數(shù)的正確率。實(shí)驗(yàn)中樣本數(shù)為2 000,釣魚網(wǎng)站數(shù)為500,可信網(wǎng)站數(shù)為1 500。從圖1中可以看出,由于刪除法是直接將缺失數(shù)據(jù)的數(shù)據(jù)項(xiàng)去掉,這樣雖然可以得到完整的數(shù)據(jù)集,但是丟失了大量的有價(jià)值的數(shù)據(jù),導(dǎo)致正確率很低(平均準(zhǔn)確率為74.93%)。平均值填充方法是靠屬性在其他對(duì)象中的取值求平均得到的,但是平均值法只是利用了數(shù)據(jù)樣本中的一個(gè)數(shù)據(jù)項(xiàng),沒(méi)有充分利用其它數(shù)據(jù)項(xiàng)和樣本的類別,因此所得到的平均值并不是非常準(zhǔn)確(平均準(zhǔn)確率為80.52%)。

Figure 1 Accuracy comparison vs. missing attribute by different methods圖1 不同方法關(guān)于缺失屬性正確率的對(duì)比

3.1.2 基于K-means算法的數(shù)據(jù)填充方法

由于刪除法和平均值法都不能得到最符合實(shí)際情況的數(shù)據(jù)值,本文采用K-means算法來(lái)對(duì)缺失的數(shù)據(jù)進(jìn)行填充。

(1)K-means算法基本原理。

K-means算法[7]是劃分聚類方法中一種典型的算法。該算法的目標(biāo)是根據(jù)輸入的參數(shù)K,將給定的數(shù)據(jù)集分為K個(gè)簇,同一個(gè)簇內(nèi)的數(shù)據(jù)具有較高的相似度,而不同簇之間的相似度較低。K-means算法的處理過(guò)程為:

①?gòu)膎個(gè)數(shù)據(jù)對(duì)象中任意選擇K個(gè)對(duì)象作為初始聚類中心;

②根據(jù)每個(gè)聚類對(duì)象的均值(中心位置),計(jì)算每個(gè)對(duì)象與中心位置的距離,將它賦給最近的簇;

③重新計(jì)算每個(gè)聚類的均值(中心位置);

④循環(huán)②~③直到每個(gè)聚類不再發(fā)生變化為止。

屬性對(duì)象間相似度的計(jì)算:若對(duì)象屬性均為區(qū)間標(biāo)度度量,則對(duì)象之間的相似度最常用的度量方法是歐氏距離,如式(4)所示:

sim(i,j)=

(4)

其中,i=(xi1,xi2,…,xin)和j=(xj1,xj2,…,xjn)分別是兩個(gè)n維的數(shù)據(jù)對(duì)象。若對(duì)象的屬性值只有0和1兩個(gè)狀態(tài)。則評(píng)價(jià)兩個(gè)對(duì)象之間的相似度用的是Jaccard系數(shù),如式(5)所示:

(5)

由數(shù)學(xué)知識(shí)可得:

sim(i,j)=(r+s)/(q+r+s)

(6)

其中,r是對(duì)于i的值為1而對(duì)于j的值為0的變量的個(gè)數(shù);s是對(duì)于i的值為0而對(duì)于j的值為1的變量的個(gè)數(shù);q是對(duì)于i和j的值都是1的變量的個(gè)數(shù)。由于本文使用數(shù)據(jù)的屬性值只有兩個(gè)狀態(tài),故使用Jaccard系數(shù)計(jì)算對(duì)象之間的相似度。

(2)使用K-means算法填充缺失數(shù)據(jù)的具體過(guò)程。

針對(duì)傳統(tǒng)算法對(duì)缺失數(shù)據(jù)處理出現(xiàn)準(zhǔn)確率偏低的問(wèn)題,本文使用K-means算法對(duì)缺失數(shù)據(jù)進(jìn)行填充,具體過(guò)程為:

①原始數(shù)據(jù)的分離。將原始數(shù)據(jù)中不完備的數(shù)據(jù)分離出來(lái),這樣原始數(shù)據(jù)分為兩部分:完備數(shù)據(jù)子集和缺失數(shù)據(jù)子集。

②完備數(shù)據(jù)子集聚類。在完備數(shù)據(jù)子集上使用K-means算法進(jìn)行聚類,最終產(chǎn)生K個(gè)簇。K-means中K值表示的是數(shù)據(jù)集聚類中心的個(gè)數(shù)。由于本文的數(shù)據(jù)集在聚類過(guò)程中只有兩種類別,一種是釣魚網(wǎng)站,另外一種是非釣魚網(wǎng)站(可信網(wǎng)站),因此這里的K值取2。

③缺失數(shù)據(jù)填充。計(jì)算缺失數(shù)據(jù)集中的每條記錄與K個(gè)簇中心的相似度,根據(jù)相似度將該條記錄劃分到相似度最高的一個(gè)簇中去,最后用該簇中相應(yīng)屬性出現(xiàn)次數(shù)最多的值來(lái)補(bǔ)齊缺失的屬性值。

④重新計(jì)算均值,循環(huán)②~④直到所有的缺失數(shù)據(jù)都填充完畢。

如圖1所示,使用K-means算法(三角形線)來(lái)對(duì)缺失的數(shù)據(jù)進(jìn)行補(bǔ)齊的正確率比其它兩種方法的正確率都要高(平均準(zhǔn)確率達(dá)到83.79%),這是因?yàn)镵-means方法充分利用了當(dāng)前數(shù)據(jù)樣本中所包含的其它信息,并利用其它屬性的值和屬性類別來(lái)預(yù)測(cè)當(dāng)前所缺失的屬性值,因此本文使用K-means方法對(duì)缺失的屬性值進(jìn)行填充。

3.2 避免有偏的過(guò)低估計(jì)

對(duì)概率進(jìn)行放大的方法主要有兩種。第一種是給每一個(gè)sik加上一個(gè)比較小的數(shù),這樣使得計(jì)算出來(lái)的概率值較小,也不會(huì)占有絕對(duì)的統(tǒng)治地位,從而提高了分類的精度,如Laplace平滑方法[5]。Laplace平滑方法是直接在si的基礎(chǔ)上加上n(n表示樣本類別的種類數(shù)),在sik的基礎(chǔ)上加上1。這樣可以有效地避免概率為零的情況。第二種方法是基于先驗(yàn)概率估計(jì)的方法,即對(duì)P(Xk|Bi)的計(jì)算先給一個(gè)先驗(yàn)的估計(jì)概率,然后以此概率為基礎(chǔ)對(duì)統(tǒng)計(jì)的樣本數(shù)進(jìn)行放大,如m估計(jì)[5]方法。該方法是一種更一般的貝葉斯概率估計(jì)方法,它將原來(lái)的樣本容量添加m個(gè)等效的樣本,同時(shí)樣本中增加的等效的類別數(shù)量就是樣本數(shù)量m乘以概率估計(jì)E。

圖2的實(shí)驗(yàn)結(jié)果顯示了采用Laplace平滑方法(三角形線)和m估計(jì)(方形線)的方法對(duì)樣本數(shù)據(jù)集進(jìn)行放大,可以有效地提高正確率。其中,m估計(jì)方法由于擴(kuò)大的樣本數(shù)量比Laplace平滑方法要大,因此采用m估計(jì)方法的正確率比Laplace平滑方法要高。特別地,當(dāng)樣本的數(shù)據(jù)集很小的時(shí)候,m估計(jì)方法和其它兩個(gè)方法的正確率的差值就越大,因?yàn)閿?shù)據(jù)集越小,出現(xiàn)零概率事件的概率就越大,從而導(dǎo)致正確率很低。因此,使用m估計(jì)對(duì)樣本數(shù)據(jù)進(jìn)行放大,可以進(jìn)一步提高正確率。

Figure 2 Accuracy comparison among different probability estimation method圖2 不同概率估計(jì)方法的正確率對(duì)比

基于以上分析,本文采取m估計(jì)來(lái)對(duì)樣本數(shù)據(jù)進(jìn)行放大,計(jì)算方法如式(7)所示:

(7)

其中,sik和si與前面的定義相同,E是確定的概率的一個(gè)先驗(yàn)估計(jì)值,而m是一個(gè)放大的樣本容量的大小。最終的結(jié)果是將n個(gè)實(shí)際的觀察樣本進(jìn)行了放大,加大了m個(gè)按E分布的虛擬樣本。在這里,假定E是均勻的先驗(yàn)概率,那么,如果某屬性有k個(gè)可能的值,那么就設(shè)置E=1/k。

3.3 屬性加權(quán)

傳統(tǒng)的樸素貝葉斯算法為了降低算法的復(fù)雜度,直接忽略了屬性之間的關(guān)聯(lián)。但是,在現(xiàn)實(shí)情況中,屬性與類別之間都存在或多或少的關(guān)聯(lián),如果不考慮屬性之間的關(guān)聯(lián),就會(huì)使得分類的效果明顯下降。Tan等人[8]提出了加權(quán)樸素貝葉斯模型,該模型根據(jù)屬性和最終所屬的類別之間的關(guān)系賦予不同的權(quán)重,這種方法簡(jiǎn)單有效。因此,本文使用加權(quán)樸素貝葉斯方法對(duì)屬性與類別之間的相應(yīng)關(guān)系進(jìn)行量化,并以該量化值作為加權(quán)系數(shù)對(duì)該屬性進(jìn)行加權(quán),以此來(lái)提高樸素貝葉斯算法的分類效果。在這種情況下,關(guān)聯(lián)程度較大的屬性將獲得比較大的加權(quán)系數(shù),而關(guān)聯(lián)程度較小的屬性將獲得比較小的加權(quán)系數(shù)。

根據(jù)以上分析,可得加權(quán)后的樸素貝葉斯公式如式(8)所示:

(8)

其中,wi為數(shù)據(jù)中第i個(gè)屬性對(duì)于樣本的權(quán)重,屬性的權(quán)重越大,說(shuō)明該屬性對(duì)分類的影響越大。加權(quán)樸素貝葉斯算法的關(guān)鍵問(wèn)題在于如何確定不同屬性對(duì)于樣本的加權(quán)值。首先定義:

(9)

其中,count(Bi)表示樣本數(shù)據(jù)中類別為Bi的個(gè)數(shù),count(Bi∧Xk)表示數(shù)據(jù)中類別是Bi且第k個(gè)屬性值為Xk的個(gè)數(shù)。根據(jù)數(shù)學(xué)知識(shí)很容易定義權(quán)重wi為:

(10)

由于P(Xk|Bi)為小數(shù),由數(shù)學(xué)知識(shí)可得,需要把權(quán)值wi取倒數(shù)。

3.4 K值估計(jì)

利用前面的樸素貝葉斯公式(式(3))可以計(jì)算出每一個(gè)待分類網(wǎng)站X屬于釣魚網(wǎng)站和可信網(wǎng)站的概率:P(B1|X)(B1為釣魚網(wǎng)站類別)和P(B2|X)(B2為可信網(wǎng)站類別)。如果按照傳統(tǒng)的方法,當(dāng)P(B1|X)>P(B2|X)時(shí),就判定X屬于釣魚網(wǎng)站,否則就判定為可信網(wǎng)站。但是在實(shí)際的情況中,正常網(wǎng)站的數(shù)量往往比釣魚網(wǎng)站的數(shù)量多很多,傳統(tǒng)的樸素貝葉斯算法就會(huì)產(chǎn)生較高的誤判率,如果直接使用的話,分類的偏差會(huì)比較大。因此,為了能更加準(zhǔn)確地檢測(cè)出釣魚網(wǎng)站,減少檢測(cè)過(guò)程中的誤判率,需要對(duì)樸素貝葉斯算法進(jìn)行改進(jìn)。

改進(jìn)的樸素貝葉斯算法的基本思想是:在比較兩個(gè)分類P(Bi|X)的概率時(shí)設(shè)定一個(gè)閾值P[9]:若第一類除以第二類的結(jié)果大于P時(shí),表明X屬于第一類的概率遠(yuǎn)大于屬于第二類的概率,即將待檢測(cè)的網(wǎng)站歸為第一類;否則將它歸為第二類。其中P值越大,待檢測(cè)網(wǎng)站屬于第一類的可能性也就越大。

我們定義P1表示X屬于釣魚網(wǎng)站的概率,P2表示X屬于可信網(wǎng)站的概率。當(dāng)P(B1|X)/P(B2|X)>P(P>0)時(shí),就判定X為釣魚網(wǎng)站,否則就判定為可信網(wǎng)站。即當(dāng)一個(gè)待檢測(cè)的網(wǎng)站為釣魚網(wǎng)站的概率是可信網(wǎng)站概率的P倍時(shí),就將其判定為釣魚網(wǎng)站。P越大,其為釣魚網(wǎng)站的可能性就越大。P的取值是通過(guò)大量實(shí)驗(yàn)最終確定的。

4 基于改進(jìn)的樸素貝葉斯算法的防釣魚方案

4.1 方案的具體實(shí)現(xiàn)

本文提出的移動(dòng)平臺(tái)釣魚網(wǎng)站檢測(cè)方法的大致流程為:首先,從用戶訪問(wèn)的URL入手,當(dāng)手機(jī)端用戶通過(guò)瀏覽器輸入U(xiǎn)RL加載網(wǎng)頁(yè)的時(shí)候,開(kāi)始提取URL的4個(gè)特性屬性[10],即URL中是否包含IP地址、URL中是否包含‘_’‘@’等異常字符、URL是否具有多級(jí)域名以及URL的字符長(zhǎng)度是否過(guò)長(zhǎng)。其次,通過(guò)URL獲取網(wǎng)頁(yè)內(nèi)容(HTML源碼),同時(shí)提取網(wǎng)頁(yè)內(nèi)容的4個(gè)特性屬性,即否包含‘form’表單、是否包含‘username’關(guān)鍵字、是否包含‘password’關(guān)鍵字以及是否存在外部鏈接。最后,將提取到的8個(gè)特征屬性組成一個(gè)特征向量[5],利用改進(jìn)的樸素貝葉斯方法進(jìn)行檢測(cè),如果是釣魚網(wǎng)站,就向用戶發(fā)出警告。具體的檢測(cè)過(guò)程如圖3所示。

Figure 3 Flow chart of phishing site detection圖3 釣魚網(wǎng)站檢測(cè)流程

4.2 特征向量的構(gòu)建

釣魚網(wǎng)站通常為了迷惑用戶,將網(wǎng)站的URL和網(wǎng)頁(yè)內(nèi)容進(jìn)行了偽裝[7,11]。根據(jù)總結(jié)和歸納釣魚網(wǎng)站的特點(diǎn),本文從中提取了釣魚網(wǎng)站的8個(gè)特性,將這些特性組成特征向量(V)[12 - 14]。特征向量的具體定義為:V=〈v1,v2,v3,v4,v5,v6,v7,v8〉,V中各個(gè)分量的具體含義為:

(1)v1:URL中是否包含IP地址[15,16]。攻擊者經(jīng)常用IP地址作為網(wǎng)站的URL來(lái)迷惑用戶,而這樣的URL極有可能是惡意的釣魚網(wǎng)站。

(2)v2:網(wǎng)站的URL中是否包含‘_’‘@’等異常字符。釣魚網(wǎng)站通常用添加特殊字符的方法來(lái)迷惑用戶。

(3)v3:URL是否具有多級(jí)域名。當(dāng)網(wǎng)站域名過(guò)長(zhǎng)時(shí),大部分用戶往往會(huì)忽視URL后半部分的內(nèi)容,而很多釣魚網(wǎng)站通過(guò)多級(jí)域名來(lái)達(dá)到迷惑用戶的目的。本文通過(guò)檢測(cè)URL中是否含有大于5個(gè)‘.’來(lái)判斷該URL是否包含多級(jí)域名。

(4)v4:URL的字符長(zhǎng)度是否大于30。一般可信網(wǎng)站的長(zhǎng)度都不會(huì)太長(zhǎng),如果URL的長(zhǎng)度過(guò)長(zhǎng),極有可能是釣魚網(wǎng)站。

(5)v5:網(wǎng)頁(yè)內(nèi)容中是否包含‘form’表單?!甪orm’表單是用來(lái)提交用戶信息的,存在‘form’表單,說(shuō)明網(wǎng)頁(yè)需要用戶填寫信息,用戶需要特別注意。

(6)v6:網(wǎng)頁(yè)內(nèi)容中是否包含‘username’關(guān)鍵字?!畊sername’在網(wǎng)頁(yè)源代碼中通常表示用戶的登錄ID,如果存在,極有可能是攻擊者想要獲取用戶的ID。

(7)v7:網(wǎng)頁(yè)內(nèi)容中是否包含‘password’關(guān)鍵字?!畃assword’在網(wǎng)頁(yè)源代碼中通常代表用戶的登錄密碼,如果存在,很有可能是攻擊者想要竊取用戶的登錄密碼。

(8)v8:是否存在外部鏈接。網(wǎng)頁(yè)中存在外部鏈接是正常的,但是如果網(wǎng)頁(yè)中外部鏈接的數(shù)量過(guò)多(這里指外部鏈接的數(shù)量超過(guò)20個(gè)),這個(gè)網(wǎng)頁(yè)很有可能是可疑的,用戶需要特別注意。

5 實(shí)驗(yàn)

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

由于釣魚網(wǎng)站的存活周期短,實(shí)驗(yàn)以實(shí)時(shí)收集的網(wǎng)站信息作為測(cè)試用例。實(shí)驗(yàn)所用的釣魚網(wǎng)站是從安全聯(lián)盟網(wǎng)[17]上獲取的,可信網(wǎng)站是從Alexa[18]網(wǎng)站上獲取的。實(shí)驗(yàn)隨機(jī)抽取了數(shù)據(jù)集的1/2用作訓(xùn)練,余下1/2用作測(cè)試。

5.2 實(shí)驗(yàn)平臺(tái)

實(shí)驗(yàn)部署在Android平臺(tái)(基于Android 5.0的系統(tǒng)),手機(jī)的內(nèi)存為2 GB,編程環(huán)境為Eclipse,JDK版本為1.7.0_79。測(cè)試算法性能的實(shí)驗(yàn)環(huán)境是一臺(tái)擁有4 GB內(nèi)存和雙核i3處理器的PC機(jī),運(yùn)行Windows 7操作系統(tǒng)和Eclipse,JDK版本為1.7.0_79。

5.3 實(shí)驗(yàn)結(jié)果評(píng)估標(biāo)準(zhǔn)

實(shí)驗(yàn)通過(guò)驗(yàn)證結(jié)果的正確率(Y)、精確率(Q)和召回率(R)[12]等幾個(gè)方面來(lái)分析改進(jìn)后算法的性能。正確率、精確率和召回率是廣泛用于信息檢索和統(tǒng)計(jì)學(xué)分類領(lǐng)域的三個(gè)度量值,用于評(píng)價(jià)結(jié)果的質(zhì)量。其中,正確率反映的是被分類器判定為正確的檢查結(jié)果占所有樣本的比重;精確率反映的是被分類器判定為正例中真正的正例樣本的比重;召回率反映的是正例中被分類器判斷為正例的比重。Y、Q、R的具體定義如下:

Y=(A+D) / (A+B+C+D)

(11)

Q=A/ (A+B)

(12)

R=A/ (A+C)

(13)

其中A、B、C、D的含義和關(guān)系如表1所示。

Table 1 Definition of parameter A,B,C and D

5.4 實(shí)驗(yàn)結(jié)果及分析

(1)P值的確定。

實(shí)驗(yàn)首先需要尋找一個(gè)固定的概率比值P。實(shí)際應(yīng)用中需要通過(guò)大量的實(shí)驗(yàn)才能確定較為合適的P值。在實(shí)驗(yàn)過(guò)程中往往要根據(jù)所研究的具體問(wèn)題,適當(dāng)估算P的取值范圍。

本文實(shí)驗(yàn)中設(shè)定比值P的初始值為0.1,并按步長(zhǎng)為0.1逐步增加。從測(cè)試數(shù)據(jù)集中選取了500個(gè)URL,其中包括300個(gè)可信網(wǎng)站和200個(gè)釣魚網(wǎng)站。圖4顯示了隨著比值P的增加,實(shí)驗(yàn)正確率的變化情況。

Figure 4 Relationship between P and Y圖4 正確率Y隨著P值的變化

經(jīng)過(guò)大量的實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)P=1.5時(shí),可信網(wǎng)站被誤判為釣魚網(wǎng)站的概率最低。同時(shí),釣魚網(wǎng)站被誤判成可信網(wǎng)站的數(shù)量也是最少的。由此可見(jiàn),當(dāng)P=1.5時(shí),系統(tǒng)的正確率是最高的。在此,只列出當(dāng)P=1.5時(shí)的實(shí)驗(yàn)數(shù)據(jù),如表2所示。

Table 2 Experiment results when P=1.5

(2)實(shí)驗(yàn)結(jié)果。

為了測(cè)試改進(jìn)后的算法在不同數(shù)據(jù)集中的性能,實(shí)驗(yàn)對(duì)數(shù)據(jù)集進(jìn)行采樣,測(cè)試不同大小數(shù)據(jù)集在相同環(huán)境下的正確率、精確率和召回率。

實(shí)驗(yàn)從測(cè)試數(shù)據(jù)集中選取了8組數(shù)據(jù)作為樣本。第1組實(shí)驗(yàn)總共選取了500個(gè)URL,其中可信URL數(shù)量為300個(gè),釣魚URL為200個(gè);第2組實(shí)驗(yàn)總共選取了1 000個(gè)URL,其中可信URL為600個(gè),釣魚URL為400個(gè);第3組實(shí)驗(yàn)總共選取了1 500個(gè)URL,其中可信URL為1 000個(gè),釣魚URL為500個(gè);第4組實(shí)驗(yàn)總共選取了2 000個(gè)URL,其中可信URL為1 200個(gè),釣魚URL為800個(gè);第5組實(shí)驗(yàn)總共選取了2 500個(gè)URL,其中可信URL為1 500個(gè),釣魚URL為1 000個(gè);第6組實(shí)驗(yàn)總共選取了3 000個(gè)URL,其中可信URL為2 000個(gè),釣魚URL為1 000個(gè);第7組實(shí)驗(yàn)總共選取了3 500個(gè)URL,其中可信URL為2 500個(gè),釣魚URL為1 000個(gè);第8組實(shí)驗(yàn)總共選取了4 000個(gè)URL,其中可信URL為2 500個(gè),釣魚URL為1 500個(gè)。

分別對(duì)改進(jìn)前的樸素貝葉斯方法、改進(jìn)后的樸素貝葉斯方法以及主流的基于決策樹(shù)的分類方法[4]在召回率、精確率和正確率等方面進(jìn)行對(duì)比。

如圖5~圖7所示,改進(jìn)后的樸素貝葉斯方法在正確率、精確率和召回率等方面的指標(biāo)比未改進(jìn)的方法有大約10%的提高。和主流的基于決策樹(shù)分類器相比,改進(jìn)后的樸素貝葉斯方法的精確率、召回率都比基于決策樹(shù)的分類器要高。在正確率方面,只有當(dāng)樣本數(shù)據(jù)為1 000時(shí),基于決策樹(shù)的分類方法才高于改進(jìn)后的樸素貝葉斯方法;在其余樣本點(diǎn)數(shù)情況下,改進(jìn)后的樸素貝葉斯方法的正確率都要比基于決策樹(shù)的分類方法的正確率高;以此同時(shí),隨著樣本數(shù)據(jù)的增大,兩者正確率的差值也會(huì)越來(lái)越大,這是因?yàn)闃闼刎惾~斯方法非常依賴于樣本數(shù)據(jù)集,樣本數(shù)據(jù)集越大,它在計(jì)算概率的時(shí)候就越準(zhǔn)確。當(dāng)測(cè)試數(shù)據(jù)達(dá)到3 000時(shí),系統(tǒng)檢測(cè)的正確率達(dá)到了97.32%。因此,當(dāng)用戶使用瀏覽器進(jìn)行網(wǎng)絡(luò)訪問(wèn)時(shí),可以對(duì)手機(jī)的安全性進(jìn)行很好的保護(hù)。

Figure 5 Comparison of Y圖5 正確率對(duì)比

Figure 6 Comparison of Q圖6 精確率對(duì)比

Figure 7 Comparison of R圖7 召回率對(duì)比

方案的運(yùn)行結(jié)果如圖8所示。當(dāng)用戶輸入釣魚網(wǎng)站的URL時(shí),系統(tǒng)會(huì)很快檢測(cè)出來(lái),并用提示框的形式提醒用戶。

Figure 8 Experiment of phishing site detection圖8 釣魚網(wǎng)站檢測(cè)實(shí)驗(yàn)

以下實(shí)驗(yàn)比較不同方案之間檢測(cè)效果的差異。實(shí)驗(yàn)的樣本數(shù)為2 000,其中釣魚網(wǎng)站數(shù)為500,可信網(wǎng)站數(shù)為1 500。其中,基于決策樹(shù)的方案[4]是根據(jù)使用樹(shù)形結(jié)構(gòu)對(duì)網(wǎng)站的特征屬性進(jìn)行分類的?;趯傩约訖?quán)的分類器是對(duì)數(shù)據(jù)樣本的屬性進(jìn)行加權(quán)處理來(lái)對(duì)釣魚網(wǎng)站進(jìn)行檢測(cè)[8]?;谪惾~斯和支持向量機(jī)的分類器是將URL和網(wǎng)頁(yè)內(nèi)容分別用貝葉斯和支持向量機(jī)進(jìn)行分類[19]。表3展示了不同方案檢測(cè)釣魚網(wǎng)站正確率的對(duì)比。

從表3的對(duì)照結(jié)果可以看出:(1)在正確率上,本文提出的改進(jìn)的樸素貝葉斯方案相比其它三個(gè)方案都有不同程度的提高;(2)本文方案的方差也稍低于其它三種方案,說(shuō)明本文方案的穩(wěn)定性要好于其它三種方案。與此同時(shí),由于貝葉斯算法在分類消耗時(shí)間上有著自身的優(yōu)勢(shì),綜合比較可知,本文的方案要優(yōu)于其它三個(gè)方案。

Table 3 Accuracy comparison of different schemes

5.5 檢測(cè)時(shí)間

當(dāng)用戶輸入U(xiǎn)RL開(kāi)始連接網(wǎng)絡(luò)時(shí),系統(tǒng)必須在極短的時(shí)間內(nèi)對(duì)用戶輸入的URL做出判斷,如果是釣魚網(wǎng)站,需要及時(shí)提醒用戶。

反釣魚方案的檢測(cè)過(guò)程大致可以分為三個(gè)階段:(1)提取URL特征屬性;(2)通過(guò)URL加載HTML源代碼,并提取網(wǎng)頁(yè)內(nèi)容的特征屬性;(3)通過(guò)樣本數(shù)據(jù)得出結(jié)果。每個(gè)階段的檢測(cè)時(shí)間如表4所示。從表4可以看出,三個(gè)階段的平均執(zhí)行時(shí)間[20]分別是0.013 s,1.3 s和0.085 s。其中,通過(guò)URL加載網(wǎng)頁(yè)內(nèi)容并提取特征屬性階段占據(jù)了整個(gè)檢測(cè)階段93%的時(shí)間。

三個(gè)階段執(zhí)行時(shí)間的實(shí)驗(yàn)結(jié)果是取100次結(jié)果的平均值,最終檢測(cè)一次所花費(fèi)的平均時(shí)間為1.398 s。當(dāng)檢測(cè)開(kāi)始時(shí),如果檢測(cè)的結(jié)果是釣魚網(wǎng)站,系統(tǒng)會(huì)用提示框的形式提醒用戶。在大多數(shù)情況下,在用戶輸入隱私信息之前,檢測(cè)的結(jié)果就會(huì)出來(lái),這對(duì)于用戶來(lái)說(shuō)是可以接受的。

Table 4 Execution time

6 結(jié)束語(yǔ)

本文針對(duì)移動(dòng)平臺(tái)釣魚網(wǎng)站頻發(fā)的現(xiàn)象,提出了一種基于改進(jìn)樸素貝葉斯算法的方案來(lái)檢測(cè)針對(duì)移動(dòng)端的釣魚網(wǎng)站。在檢測(cè)過(guò)程中,對(duì)于缺失屬性值的數(shù)據(jù),本文用K-means算法對(duì)缺失的值進(jìn)行填充;針對(duì)樸素貝葉斯算法計(jì)算概率時(shí)會(huì)出現(xiàn)過(guò)低估計(jì)的問(wèn)題,本文將概率進(jìn)行放大,解決了結(jié)果下溢的問(wèn)題;針對(duì)樸素貝葉斯算法容易忽略屬性之間的關(guān)聯(lián)性問(wèn)題,本文對(duì)不同的屬性值進(jìn)行了加權(quán)處理,進(jìn)而提高了檢測(cè)的正確率;根據(jù)實(shí)際情況中釣魚網(wǎng)站出現(xiàn)概率較小的情況,本文通過(guò)調(diào)整釣魚網(wǎng)站與可信網(wǎng)站的概率比值,從而進(jìn)一步提高了檢測(cè)的正確率。本文實(shí)驗(yàn)部署在基于Android 5.0操作系統(tǒng)的手機(jī)上,結(jié)果表明改進(jìn)后的算法能夠在較短的時(shí)間內(nèi)有效判斷出用戶需要連接的網(wǎng)站是否是釣魚網(wǎng)站。

雖然本方案可以有效地判別用戶連接的網(wǎng)站是否是釣魚網(wǎng)站,但是釣魚網(wǎng)站的更新速度很快,本文所選取的特征屬性只有8個(gè),涉及的范圍不夠全面,所以需要做進(jìn)一步的改進(jìn),以擴(kuò)大本方案的適用范圍。

猜你喜歡
檢測(cè)
QC 檢測(cè)
“不等式”檢測(cè)題
“一元一次不等式”檢測(cè)題
“一元一次不等式組”檢測(cè)題
“幾何圖形”檢測(cè)題
“角”檢測(cè)題
“有理數(shù)的乘除法”檢測(cè)題
“有理數(shù)”檢測(cè)題
“角”檢測(cè)題
“幾何圖形”檢測(cè)題
主站蜘蛛池模板: 强乱中文字幕在线播放不卡| 国产粉嫩粉嫩的18在线播放91| 亚洲男人天堂久久| 四虎亚洲精品| 国产成人综合久久| 亚洲Aⅴ无码专区在线观看q| 国产玖玖玖精品视频| 高清无码手机在线观看| 免费在线一区| 午夜日b视频| 久久鸭综合久久国产| 亚洲成人福利网站| 一本视频精品中文字幕| 欧美中文字幕无线码视频| 在线不卡免费视频| 91娇喘视频| 一本大道香蕉久中文在线播放| 欧美日韩va| 一级毛片基地| 成人在线观看不卡| 亚洲色图另类| 国产免费精彩视频| 亚洲水蜜桃久久综合网站| 狠狠色噜噜狠狠狠狠色综合久| 污网站在线观看视频| 欧洲欧美人成免费全部视频| 自拍偷拍欧美| 午夜视频免费一区二区在线看| 91精品视频在线播放| 色婷婷成人网| 免费Aⅴ片在线观看蜜芽Tⅴ | 玖玖免费视频在线观看| 欧美日韩导航| 日韩精品一区二区深田咏美| 黄色一及毛片| 久久国产精品电影| 国产免费久久精品44| 亚洲国产AV无码综合原创| 国内精品手机在线观看视频| 色婷婷色丁香| 五月六月伊人狠狠丁香网| 91福利在线观看视频| 色香蕉影院| 免费激情网站| 欧美成一级| 全午夜免费一级毛片| 无码一区中文字幕| 三区在线视频| 91青青草视频在线观看的| jizz国产在线| 国产无吗一区二区三区在线欢| 日韩成人在线视频| 一区二区偷拍美女撒尿视频| 国产91透明丝袜美腿在线| 好久久免费视频高清| 亚洲精品中文字幕午夜| 国产微拍一区| 999在线免费视频| 欧类av怡春院| 99re视频在线| 99视频精品全国免费品| 一级毛片免费观看久| 亚洲成年网站在线观看| 亚洲国产黄色| 天天摸夜夜操| 日韩在线第三页| 亚洲成人网在线播放| 国产白浆视频| 在线观看免费黄色网址| 婷婷六月综合| 欧美国产日韩在线播放| 国产视频 第一页| 福利姬国产精品一区在线| 久久久久国产精品免费免费不卡| 久久女人网| 国产国拍精品视频免费看| 亚洲91精品视频| 在线中文字幕网| 亚洲成人动漫在线观看| 中文字幕日韩丝袜一区| 在线播放91| 国产久草视频|