李 雪
(安徽工貿職業技術學院 計算機信息工程系,安徽 淮南 232001)
互聯網技術快速發展在給國民日常生活帶來便利的同時互聯網安全問題日益凸顯,網絡攻擊、網絡竊密等現象層出不窮。網民的個人信息和隱私被違法竊取,甚至進行買賣交易,這在很大程度上對社會的和諧穩定與經濟的快速發展產生了威脅。有關統計數據表明,2019年的釣魚網站數量是2018年釣魚網站數量的4倍之多,同時網絡技術的快速發展使得釣魚網站和正規網站頁面之間具有極高的相似度,難以辨別[1]。目前的釣魚網站和傳統的釣魚網站有所不同,釣魚網站攻擊者的詐騙技巧呈現多樣化,利用網絡鏈接來盜取公民的個人隱私,消費者的人身和財產安全受到一定程度的威脅。創造和諧穩定的社會環境,確保經濟的快速發展必須嚴厲打擊釣魚網站。因此,采用神經網絡對釣魚網站檢測進行研究,以提高對釣魚網站的識別率,保障網絡安全具有重要現實意義。
人工智能快速發展,機器學習是人工智能的核心,在工程中具有廣泛的應用。神經網絡是機器學習的一個重要分支,具有極強的自學習和高效尋優能力,本文擬采用BP神經網絡對釣魚網站進行檢測。BP網絡是典型的多層前饋網絡,是眾多神經網絡模型中應用最為廣泛的一種,具體結構如圖1所示。

圖1 BP神經網絡典型結構
BP神經網絡訓練的過程包含兩個部分,即信號的正向傳播部分和信號的反向傳播部分。信號的正向傳播為輸入數據經過輸入層到達隱含層,同時從隱含層到達輸出層,正向傳播的過程中網絡的權值保持不變。BP神經網絡在輸入層到隱含層之間產生權值矩陣和偏差矩陣,分別記為w1和b1,在隱含層到輸出層之間產生權值矩陣和偏差矩陣,分別記為w2和b2。隱含層與輸出層之間的神經元傳輸函數記為f1和f2,那么輸出數據Y和輸入數據X之間的關系為:
Y=f2(w2·f1(w1X-b1)-b2)
(1)
信號的反向傳播是根據每一層神經元的值來計算誤差的,在誤差最小化原則下對網絡中的權值進行不斷地修正,確保網絡的輸出值和期望值之間誤差最小。采用數學上的梯度下降法,通過對所建立網絡不斷地進行訓練來調整權值和閾值,使得BP網絡的輸出和期望的輸出之間的均方誤差達到最小,定義目標函數為M,表達式為:
(2)

BP神經網絡在實際中具有十分廣泛的應用,但是由于網絡的輸入層和隱含層、隱含層和輸出層之間的神經元連接初始權值對網絡輸出的結果具有比較大的影響,如果連接初始權值設置不合理將導致收斂速度較慢,同時可能導致網絡陷入局部最優。遺傳算法(GA)具有良好的全局搜索能力,通過選擇、交叉、變異等過程而獲得全局最優解。因此,采用GA對BP神經網絡的初始權值進行優化,從而獲得GA-BP神經網絡[2]。圖2給出了GA-BP神經網絡流程圖。

圖2 GA-BP神經網絡流程圖
種群隨機初始化,同時采用實數編碼的方式對每一個物種進行編碼處理。自然界的每一個物種個體由神經網絡的輸入層與隱含層的連接權值、閾值,隱含層與輸出層的連接權值、閾值所構成。計算適應度函數F,
(3)
從種群中選擇個體作為雙親去繁衍后代,每一個個體被選擇的概率為Pi,
(4)
對于配對的兩個個體以交叉概率Pc來進行基因的交換,從而產生兩個新的個體。k1個體和k2個體在第j位置基因交叉的辦法為:

(5)
對變異概率pv比較小的選擇第i個體的第j位置基因gij進行變異操作,變異操作的方法為:

(6)
gk1,j為第k1個體在第j位置基因,gk2,j為第k2個體在第j位置基因,r為區間[0,1]上的隨機數,gmin為基因gij的最小值,gmax為基因gij的最大值,r、r1、r2為區間[0,1]上的隨機數,s為迭代次數,smax為最大迭代次數。
通過計算適應度函數的值來判斷是否達到全局最優,如果適應度函數值達到最大,那么達到全局最優;如果適應度函數值沒有達到最大,那么繼續進行優化,確保適應度函數值達到最大。采用GA對BP神經網絡的初始化權值和閾值進行優化,從而獲得GA-BP網絡預測模型。
GA-BP網絡識別模型的輸入是網站URL,通過對URL特征的提取來檢測釣魚網站。URL提取的特征包括兩類,一類為顯性的特征向量,另一類為隱性的特征向量。顯性特征向量所反映的是釣魚網站的可能性大小,而隱性特征向量是無法直接判斷的特征向量[3]。通過GA-BP神經網絡對隱性特征向量進行預測,同時預測的結果和顯性特征向量綜合起來進行判斷網站是否為釣魚網站。釣魚網站檢測模型如圖3所示。

圖3 釣魚網站檢測模型
1.顯性特征。URL的顯性特征主要包括三個方面,分別為是否為IP形式、地址長度、域名年齡和有效時間。對于釣魚網站的攻擊者來講,將IP地址表示為釣魚網站的URL域名是比較常見的,這樣就可以使得使用者的注意力被分散,使用者會點擊URL。為了使得釣魚網站的真實域名被隱藏,釣魚網站的攻擊者往往是采用增加地址長度的形式,這樣使得使用者難以辨別是否為釣魚網站。對于釣魚網站的攻擊者而言,其網站域名更新比較頻繁,同時為了應對安全檢查,必須不斷地更換域名服務器,因此釣魚網站的域名年齡比較短。將釣魚網站的顯性特征分為三組,分別記為D1、D2和D3,那么顯性特征向量為D=(D1,D2,D3)。
2.隱性特征。URL的隱性特征主要包括三個方面,分別為主域名、子域名和路徑名。記待檢測的URL主域名和其在谷歌搜索引擎拼寫建議結果之間的距離為V1。如果V1=0,那么主域名的值R1=1,為合法的網址;如果V1≠0,那么R1=1-1/V1。記待檢測的URL子域名和其在谷歌搜索引擎拼寫建議結果之間的距離為V2。如果V2=0,那么子域名的值R2=1,為合法的網址;如果V2≠0,那么R2=1-1/V2。記待檢測的URL路徑名和其在谷歌搜索引擎拼寫建議結果之間的距離為V3。如果V3=0,那么路徑名的值R3=1,為合法的網址;如果V3≠0,那么R3=1-1/V3。將釣魚網站的隱性特征分為三組,分別記為R1、R2和R3,那么隱性特征向量為R=(R1,R2,R3)。
將釣魚網站的顯性特征和隱性特征結合起來進行評價,即分別賦予顯性特征和隱性特征一定的權重,這樣對釣魚網站的評價預測準確率更高[4]。采用百分制將顯性特征的權重記為60,隱性特征的權重記為40。由于顯性特征值共有3個,因此每一個特征值的權重為20;由于隱性特征值共有3個,因此每一個特征值的權重為13.3。綜合評價公式為:
(7)
如果計算所得Z值大于等于60,那么該網站為釣魚網站;如果計算所得Z值小于60,那么該網站為正規網站。
實驗數據來自國際反釣魚組織[5],其中包含有正向樣本(釣魚網站)5000個和反向樣本(合法網站)3000個。將樣本分為訓練集數據和測試集數據,具體如表1所示。
一般來講,正規合法網站的數量要遠大于釣魚網站的數量,國民所訪問的網站中釣魚網站所占比的比例也不是太高的。本文選擇3500個正向樣本和1500個反向樣本采用GA-BP神經網絡進行訓練。訓練結束之后需要對GA-BP網絡進行測試,選擇正向樣本1500個和反向樣本1500個進行測試。采用總體識別率(Accuracy)、正向樣本識別率(PA)和總體漏報率(MR)來判斷識別的效果。
(8)
(9)
(10)
W=TP+FP+TN+FN
(11)
其中,TP為正向樣本識別為釣魚網站的個數;TN為反向樣本識別為正規網站的個數;W為樣本總數;FP為正向樣本識別為正規網站的個數;FN為反向樣本識別為釣魚網站的個數。
采用GA-BP網絡對正向樣本1500個和反向樣本1500個進行測試,測試的結果如表2所示。
由表2可見,采用GA-BP網絡總體的漏報率為0.19%,維持在比較低的水平,同時正向樣本的識別率為98.87%,識別率比較高,因此提出的GA-BP神經網絡對整體樣本的識別效果良好,具有較好的應用前景。
為了更好地對釣魚網站進行檢測,采用將釣魚網站的顯性特征和隱性特征結合起來進行評價的辦法,評價的結果如表3所示。

表3 釣魚網站檢測結果
對比表2和表3,采用將釣魚網站的顯性特征和隱性特征結合起來進行評價的辦法使得對釣魚網站的總體識別率、正向樣本識別率和總體漏報率都有了明顯的提高。
針對BP網絡神經元連接初始權值對網絡輸出結果影響比較大的問題,采用GA算法對BP神經網絡初始權值進行優化,得到優化后的GA-BP神經網絡。將優化后的GA-BP神經網絡應用于釣魚網站監測中,實例仿真結果表明GA-BP網絡對整體樣本的識別效果良好,總體識別率高達98.21%,正向樣本識別率為98.87%,總體漏報率為0.19%,同時綜合評價方法使得釣魚網站的總體識別率為98.36%、正向樣本識別率為99.21%和總體漏報率為0.11%。