連遠博,盛蒙蒙,袁瑩,周勝利
(浙江警察學院計算機與信息安全系,杭州 310000)
由于互聯(lián)網金融業(yè)的快速發(fā)展,涉網新型犯罪正逐漸取代傳統(tǒng)的犯罪模式成為當前犯罪的主要形式,嚴重危害了廣大人民的生命財產安全。當前盡管國家有關部門從互聯(lián)網空間治理的角度,采用嚴防、嚴打的方式,對涉網新型犯罪的遏制初有成效,但缺少從流量端口對詐騙網站進行動態(tài)的檢測和預防,對電信網絡詐騙犯罪的打擊與防范態(tài)勢依然嚴峻。開展基于網絡行為分析的詐騙網站識別模型研究,能夠從涉網新型犯罪的源頭出發(fā),打擊詐騙活動,預測用戶的被害性風險,從而更好地進行預防詐騙等犯罪活動,更好地保護廣大人民群眾的生命財產安全。
國內外對電信網絡詐騙犯罪識別、防控、預測等已有較多研究。
在對用戶網絡行為的分析研究上,傳統(tǒng)的網絡行為分析方法主要有基于協(xié)同過濾的方法[1-2]、基于矩陣分解的方法[3-4]、基于知識圖譜[5]等方法。這些方法大多將單獨的網絡行為作為訓練的目標,較為可靠理想,但此類模型缺少考慮連續(xù)行為間內在的關聯(lián)性、結構性信息,難以反映一段時間內用戶的連續(xù)性、動態(tài)性的行為變化,存在局限。近年來隨著機器學習尤其是深度學習技術的快速發(fā)展,針對連續(xù)時間段內的網絡行為序列建模問題,較多研究人員建立了基于神經網絡的模型來求解。Cheng等[6]提出Wide&Deep模型,將線性模型和深度神經網絡(deep neural network,DNN)結合起來,兼顧了模型的泛化能力和記憶性,具有可解釋性強、泛化能力強、記憶能力優(yōu)秀的特點。
Wang等[7]提出基于會話的全局上下文增強的圖神經網絡推薦模型,在全局層面更好地表征網絡行為的特征,并將圖論結合進去。此類方法大大提高了模型的準確性和可靠性,能夠提取到深層次的網絡行為特征,對后續(xù)的發(fā)展具有重要的借鑒意義。
綜上所述,針對傳統(tǒng)詐騙網站黑白名單檢測方法難以時間滯后性大、檢測精確度不足等問題,本文擬提取用戶網絡數(shù)據(jù)流中的顯性數(shù)據(jù)特征以及隱性用戶網絡行為特征,并在BP神經網絡模型的基礎上,通過結合遺傳算法優(yōu)化參數(shù),建立基于改進BP神經網絡的詐騙網站識別模型,最終實現(xiàn)對詐騙網站的動態(tài)識別分析。
本文建立基于遺傳算法改進的BP神經網絡模型,結構如圖1所示。收集用戶上網時產生的流量數(shù)據(jù)作為數(shù)據(jù)樣本,通過編程手段提取流量包中的顯性流量特征編碼以及隱性網絡行為編碼作為數(shù)據(jù)集。使用訓練數(shù)據(jù)集訓練BP神經網絡并使用遺傳算法優(yōu)化神經網絡的相關參數(shù),最終得到最優(yōu)模型,并投入測試數(shù)據(jù)集評估模型整體性能。
圖1 總體結構圖
本文基本思路框架如下:
(1)以抓取的流量數(shù)據(jù)包作為樣本數(shù)據(jù),并從中提取出顯性流量特征編碼集以及隱性網絡行為編碼集,將兩者以及網站的詐騙屬性人工標定結果匯總,作為訓練數(shù)據(jù)集和測試數(shù)據(jù)集。
(2)建立BP神經網絡模型,投入訓練數(shù)據(jù)集進行訓練的同時,結合遺傳算法迭代優(yōu)化參模型參數(shù)。
(3)輸入測試數(shù)據(jù)集,測試模型。
(1)流量數(shù)據(jù)獲取。采用Wireshark軟件動態(tài)抓取用戶在訪問目標網站時產生的各種HTTP數(shù)據(jù)包,并保存為pcapng文件。
(2)用戶網絡行為分類。對采集到的pcapng流量數(shù)據(jù),分類出數(shù)據(jù)包中用戶存在過的網絡行為。網絡行為分類主要有:登錄、注冊、借款、充值、投資等。
(3)數(shù)據(jù)初始特征挖掘。顯性流量特征編碼參數(shù)如表1所示。
表1 顯性流量特征編碼參數(shù)總表
對獲取的流量數(shù)據(jù),采用Python的pyshark模塊進行解析,提取表1中的初始特征,作為顯性流量特征編碼集。
(4)網絡行為特征挖掘。隱性網絡行為編碼參數(shù)表如表2所示。
表2 隱性網絡行為編碼參數(shù)總表
設計網絡行為字典,通過對比字典,標注流量數(shù)據(jù)中存在的隱性網絡行為,最終形成隱性網絡行為編碼集。
(5)數(shù)據(jù)集構建。將顯性流量特征編碼集與隱性網絡行為編碼集混合,并標注相關網站的詐騙屬性,作為樣本數(shù)據(jù)集。并以總樣本數(shù)的0.7作為訓練部分數(shù)據(jù)來訓練模型、優(yōu)化參數(shù);并以總樣本數(shù)的0.3作為測試部分數(shù)據(jù)。
BP神經網絡(back propagation neural network,反向傳播神經網絡)是一種經典、高效、精度較為理想的神經網絡模型,其模型構造主要由輸入層、隱藏層、輸出層三層組合而成。圖2為該模型的拓撲結構:
圖2 BP神經網絡拓撲結構
BP神經網絡主要有存在前向傳播和誤差反向傳播等過程組成,其焦點是利用梯度搜索技術,優(yōu)化網絡中各層級的權重參數(shù),使得實際輸出值與預期輸出值之間的偏差最小化。設定義實際上的輸出層的值與預期中輸出層的值之間的誤差值為字母E,則E的公式如公式(1)所示。
其中f(x)為傳遞函數(shù)Sigmod。圖3為該函數(shù)的曲線圖。w jk、v ij為各層的權值。
圖3 傳遞函數(shù)Sigmod曲線圖
觀察誤差E的公式易知,如果想調整并盡可能的縮小誤差E,則需要調整輸入層、隱藏層、輸出層各層的權值,相關公式如公式(2)、(3)所示。
在模型一開始時設置初始權值,并將權值輸入遺傳算法當中,初始化遺傳算法。建立BP神經網絡,用訓練數(shù)據(jù)集訓練模型,并計算誤差值E,調整權值,更新當前最優(yōu)解。當?shù)V怪?,從中將最?yōu)權值參數(shù)輸出,獲得整體最佳模型,并投入測試數(shù)據(jù)集評估模型。
遺傳算法結構如圖4所示。
圖4 遺傳算法結構圖
本實驗使用搜集到的用戶網絡數(shù)據(jù)流作為樣本數(shù)據(jù),并從中進行顯性流量特征編碼,分析并提取隱性網絡行為編碼,將兩個編碼集以及手動標注的網站詐騙屬性編碼集合并,作為總的數(shù)據(jù)集??傆?676條數(shù)據(jù)。訓練數(shù)據(jù)集有6073條數(shù)據(jù),其中網站的詐騙屬性為“TRUE”的有3036條,網站的詐騙屬性為“FALSE”的有3037條;測試數(shù)據(jù)集有2603條數(shù)據(jù),其中網站的詐騙屬性為“TRUE”的有1301條,網站的詐騙屬性為“FALSE”的有1302條。表3為本次實驗的具體數(shù)據(jù)情況。
表3 實驗數(shù)據(jù)情況總表
數(shù)據(jù)庫類型與版本:MySQL 5.7.26。
系統(tǒng)環(huán)境:8 GB內存,處理器8個。
操作系統(tǒng)版本:Kali Linux 2021.1。
編程語言環(huán)境:Python 3.7.9,g++。
3.3.1 精確率與召回率
公式(4)為精確率P(Precision)的計算公式。其中TP含義是將正類預測為正類的情況,TP含義是將負類預測為正類的情況,F(xiàn)N含義是將正類預測為負類的情況。
召回率R(Recall)計算公式如公式(5)所示。
3.3.2 ROC曲線
ROC曲線是指以虛報概率P1=y/N為橫坐標,以擊中概率P2=y/SN為縱坐標,繪制而成的曲線圖。若繪制得到的曲線離對角線越近,則說明該模型的識別分類能力比較差,反之,若繪制得到的曲線里對角線比較遠,則說明該模型的識別分類能力比較優(yōu)。
(1)通過抓包手段獲取用戶流量數(shù)據(jù)包,作為樣本數(shù)據(jù),并將其保存在數(shù)據(jù)庫中。數(shù)據(jù)情況如圖5所示。
圖5 流量數(shù)據(jù)包
(2)編寫Python腳本,解析數(shù)據(jù)包文件,提取顯性流量特征編碼,如圖6所示。
圖6 顯性流量特征編碼圖
(3)設計用戶網絡行為字典,分析并提取隱性網絡行為編碼,并合并得到訓練數(shù)據(jù)集和測試數(shù)據(jù)集。隱性網絡行為編碼情況如圖7所示。
圖7 隱性網絡行為編碼圖
(4)設置初始閾值,使用訓練數(shù)據(jù)集訓練BP神經網絡。
(5)初始化遺傳算法,并開始迭代更新最優(yōu)參數(shù)。
(6)結束迭代,輸出最優(yōu)模型,并使用測試數(shù)據(jù)集測試模型。
訓練BP神經網絡模型并采用遺傳算法對參數(shù)進行不斷優(yōu)化,最終模型的整體精確度為0.954,召回率為0.963。圖8為擬合回歸的情況,圖中擬合優(yōu)度R=0.97848,說明回歸直線的擬合情況整體良好,符合預期。
圖8 擬合回歸圖
正態(tài)概率圖如圖9所示。圖中藍色點為樣本數(shù)據(jù)的分布情況。
圖9 正態(tài)概率圖
誤差變化如圖10所示。從圖中可知,訓練測試過程中誤差總體可控,大部分情況下誤差變化不大。
圖10 誤差變化圖
誤差相關圖、頻數(shù)直方圖、樣本偏相關函數(shù)如圖11~圖13所示。
圖11 誤差相關圖
圖12 頻數(shù)直方圖
本文針對傳統(tǒng)詐騙網站識別與預防技術存在的時間滯后性嚴重、精確度不足、模型開銷過大的問題,提出基于網絡行為的詐騙網站識別模型,從流量數(shù)據(jù)中分析并挖掘顯隱性網絡行為編碼,建立了遺傳算法優(yōu)化的BP神經網絡模型,實現(xiàn)了識別、分析網站詐騙屬性的功能和目的。模型可以從動態(tài)的流量數(shù)據(jù)中有效識別出詐騙網站。下一步的研究將聚焦于時序網絡行為的分析預測方向,實現(xiàn)對用戶詐騙被害性風險的動態(tài)識別,并提高模型魯棒性,從電信網絡詐騙犯罪受害端進行預防和發(fā)掘。