徐嘯煬,周勝利,盛蒙蒙,袁瑩
(浙江警察學院,杭州310053)
當今時代,我國互聯(lián)網(wǎng)日益開放,網(wǎng)絡空間安全越來越引起重視。電信網(wǎng)絡詐騙犯罪正逐步取代傳統(tǒng)的詐騙行為,成為當今時代詐騙犯罪的主要犯罪形式,嚴重威脅人民生命財產(chǎn)安全。打擊電信網(wǎng)絡詐騙犯罪,維護互聯(lián)網(wǎng)安全的任務迫在眉睫、刻不容緩。
其中,電信網(wǎng)絡詐騙犯罪的主要平臺是各式詐騙網(wǎng)站,對詐騙網(wǎng)站進行特征識別是有效預防此類犯罪的必要途徑。針對目前詐騙網(wǎng)站高隱蔽性和高混淆性的特點,本文提出的模型模型能夠有效綜合兩個模型的優(yōu)點,能夠在保持理想的開銷的情況下具備較高的識別檢測精確度,有效完成詐騙網(wǎng)站識別任務。
針對詐騙網(wǎng)站的識別研究,國內(nèi)外都有較為豐富的成果,主要集中在:①詐騙網(wǎng)站識別;②網(wǎng)絡流量分析;③用戶異常行為檢測。
隨著大數(shù)據(jù)、人工智能技術的快速發(fā)展,國內(nèi)外學者結合深度學習等技術對詐騙網(wǎng)站特征識別進行了廣泛深入的研究,主要在三個方面:①視覺相似度分析法;②網(wǎng)站信息綜合評估法;③詐騙網(wǎng)站url特征異常檢測技術。
1.1.1 基于視覺相似度的檢測方法
視覺相似度分析法作為主流的詐騙網(wǎng)站識別方式,主要涵蓋網(wǎng)站指紋、文本、圖像等內(nèi)容。Ankit等[1]提取網(wǎng)站title、HTML標簽、層疊樣式表等網(wǎng)站文本特征,進行特征向量化,提出利用網(wǎng)站文本相似性進行詐騙網(wǎng)站識別。Johnson[2]、Wu等人[3]將卷積神經(jīng)網(wǎng)絡模型應用在文本分類識別領域,通過提取網(wǎng)站文本特征,訓練模型,完成分類。劉永明等[4]提出了一種利用圖像哈希感知算法進行惡意詐騙網(wǎng)站檢測的方法。胡向東等[5]提出以PCA-SIFT算法提取圖像特征計算待測網(wǎng)站與正常網(wǎng)站間的logo相似度的方法。此外,Sun等[6]提出使用遺傳算法自動設計CNN架構進行圖像分類的方法。此類從圖像特征入手、以相似度或者深度學習算法進行分類檢測的方法,能夠避免文本特征檢測方法。
基于視覺相似度的詐騙網(wǎng)站檢測方法已經(jīng)在大量實驗中驗證有效性,對已經(jīng)分類的混合網(wǎng)站識別精準率普遍達到90%以上,但存在召回率偏低的現(xiàn)象。這與詐騙網(wǎng)站的隱匿性相關。在實際的詐騙網(wǎng)站分析中,為了對抗指紋攻擊,一些網(wǎng)站通過更改logo,功能偽裝,對框架二次開發(fā),阻礙了通過指紋攻擊的檢測方式;通過隱藏網(wǎng)站入口,設置注冊驗證,減少有效信息爬取,使詐騙性質(zhì)的特征權重降低來破壞識別率。通過內(nèi)網(wǎng)小樣本的實驗證明,這些方法對于傳統(tǒng)的詐騙網(wǎng)站檢測技術具有極高的防范作用。
1.1.2 基于網(wǎng)站信息綜合評估的檢測方法
為了解決傳統(tǒng)上基于視覺相似度檢測方法在召回率上偏低,且容易被特征隱匿的問題。國內(nèi)外學者提出了根據(jù)互聯(lián)網(wǎng)信息綜合評估方法識別詐騙網(wǎng)站。該類方式將注意力集中到互聯(lián)網(wǎng)公開信息中對網(wǎng)站域名、用戶關注度與訪問量、服務器信息的綜合評測上。Sun等人[6]就提出了一種基于組成成分分析的方法,通過隨機森林決策樹算法將特定網(wǎng)站的各類公開測評數(shù)據(jù)進行建模分析,取得良好成效。
然而此類方式存在分析維度低,特征冗余的問題,對于真實場景的應用有待考量。
1.1.3 詐騙網(wǎng)站url特征異常檢測技術
url特征異常檢測技術主要通過對url結構、詞匯進行建模,通過url中的特殊字符、結構,以及該url在各大平臺上的統(tǒng)計被引用記錄、訪問記錄等等信息進行評判,將特征維度建立在以上幾個方面,加以建模分析,從而實現(xiàn)詐騙網(wǎng)站的url特征檢測。
流量識別技術早已應用在各大網(wǎng)絡安全領域,在防范網(wǎng)絡攻擊、識別匿名通信都有大量研究成果。
在異常流量檢測方面,很多研究從不同的特征維度進行了探索。Zolotukhin等[7]以流量日志分析為基礎,提出了一種攻擊Web應用的異常檢測方法。Yu[8]、Yang等[9]都采用自然語言的方法,建立相關詞庫,進行分詞預處理,最終以神經(jīng)網(wǎng)絡模型進行異常檢測。Park等[10]提出了基于二值圖變換的卷積自動編碼器,并以此對流量數(shù)據(jù)包進行異常檢測的方法。該方法采用字符級切割的預處理方法,效果優(yōu)于傳統(tǒng)的特征輸入的啟發(fā)式機器學習方法。
在提取流量的有效數(shù)據(jù)方面,Arzhakov等[11]提出使用蜜罐技術來收集用戶行為的統(tǒng)計信息,并基于統(tǒng)計結果來區(qū)分不同種類的流量。Thang等[12]建立了一種基于密度的噪聲應用空間聚類模型來提取流量的有效數(shù)據(jù)。
在混合模型方面,Zhang等[13]提出采用隱馬爾可夫模型、概率分布模型、支持向量機三種機器學習模型來對HTTP請求進行異常檢測的方法。
連一峰等[14]采用關聯(lián)分析與序列挖掘技術,通過比較用戶當前行為模式與歷史行為模式的相似度,來判斷異常。該方法能夠?qū)崿F(xiàn)用戶異常行為檢測的功能,但缺少應對大規(guī)模數(shù)據(jù)的能力,也缺少足夠的可靠性與精確度,是一種比較初步的算法。
田新廣等[15]針對前人用戶異常檢測模型的不足,改進了用戶行為模式的表示方式,聯(lián)合采用多個判決門對用戶行為進行判斷,提出了IDS異常檢測模型。該模型具備更高的檢測效能,但同時該模型具體的應用范圍和檢測邊界尚模糊。
崔永艷等[16]對于傳統(tǒng)的基于整條軌跡建模分析的異常行為檢測方法中難以檢測局部異常的問題,提出一種在多示例學習框架下基于軌跡分段進行異常行為檢測的方法。該方法對分段后的軌跡建立層次狄利克雷過程-隱馬爾可夫模型,在多示例學習框架下,進行學習分類。該方法具有更高的準確率與召回率。
陸悠等[17]為了解決快速檢測用戶異常行為與減少算法開銷的問題,提出一種基于選擇性協(xié)同學習的網(wǎng)絡用戶異常行為的檢測方法。該方法使用EasyEnsemble方法對樣本進行平衡化,再使用基于混合擾動的生成方法構造分類器,進行學習分類。實驗表明該方法能夠再減少開銷的同時,保持良好的檢測精確度。但該模型的缺點在于缺乏動態(tài)更新能力。
陳勝等[18]為了解決傳統(tǒng)異常行為檢測方法難以應對海量數(shù)據(jù)需求,以及對于新的行為無法及時響應的問題,提出了一種基于深度神經(jīng)網(wǎng)絡并自定義用戶行為的檢測模型。該模型能夠?qū)崿F(xiàn)海量數(shù)據(jù)檢測能力,能夠檢測未知異常行為。該方法具有較高精確度與魯棒性。
胡富增等[19]探究用戶行為特征及行為模式,建立行為模型,采用聚類分析算法,對用戶日志數(shù)據(jù)進行數(shù)據(jù)挖掘與聚類分析的方法。該方法具有較為簡便的特點,但不足之處在于識別成功率偏低,準確率不足。
Wang等[20]通 過 比 較 其 他 傳 統(tǒng) 的 推 薦 系 統(tǒng)(recommender systems,RS),提出了一種基于會話的推薦系統(tǒng)(Session-based recommender systems,SBRS),模型用來進行研判用戶行為,從而實現(xiàn)推薦功能。并在此基礎上引入了等級分層框架,分析討論了推薦模型在用戶行為分析上的長處與不足。
Tang等[21]建立了一種卷積嵌入的Top-N序列推薦模型。是一種通過對用戶最近行為建模為時間與潛在維度之間的“圖像”,并采用卷積濾波器進行學習的順序模型,具有較理想的效果。同樣使用卷積神經(jīng)網(wǎng)絡進行建模的,還有Sun等[22]提出的一種雙向編碼的序列推薦模型(BERT4 Rec)。該模型也屬于順序模型,能針對用戶行為實現(xiàn)預測、推薦功能。BERT4Rec模型,對用戶行為采用雙向自注意機制,解決了困擾當下推薦模型中普遍存在的用戶的動態(tài)取向以及歷史行為問題。
類似使用神經(jīng)網(wǎng)絡算法進行用戶行為分析以及算法推薦,Karatzoglou等[23]采用了RNN(遞歸神經(jīng)網(wǎng)絡)模型。通過對整個會話建立基于遞歸神經(jīng)網(wǎng)絡的模型,調(diào)整等級損失函數(shù)使之具備特定問題的解決能力,從而使得模型整體相較傳統(tǒng)方法具有更優(yōu)秀的效果。
Kang等[24]從更全面的角度分析問題。他們分析了常用的兩種用于順序動態(tài)捕獲的方法:馬爾科夫鏈(MC)和遞歸神經(jīng)網(wǎng)絡(RNN)。為平衡兼顧前者簡約的優(yōu)勢以及后者在高密度數(shù)據(jù)集中具有更好表現(xiàn)的優(yōu)勢,提出一種基于自我注意的順序模型(SASRec)。該模型能夠捕獲長期語義,同時使用關注機制進行短期預測。實驗表明該模型在稀疏和密集數(shù)據(jù)集上都具有優(yōu)秀的表現(xiàn),普遍優(yōu)于各種最新的順序模型。
根據(jù)目前對詐騙網(wǎng)站識別技術上的不足,本文提出了一種基于網(wǎng)絡流量的用戶互聯(lián)網(wǎng)行為分析檢測技術,將惡意流量檢測與互聯(lián)網(wǎng)行為分析應用于詐騙網(wǎng)站識別。本文提出的方法借鑒傳統(tǒng)的傳輸層流量特征選取規(guī)則結合應用層用戶行為特征編碼,通過離散化后應用多項決策樹交叉驗證對比結果,驗證各項特征選取的合理性。實驗證明,本方法可以有效解決對抗指紋攻擊的防范技術以及傳統(tǒng)檢測技術內(nèi)存開銷過大的問題,有效提高詐騙網(wǎng)站識別的召回率與精準率。
用戶行為特征存在顯性特征與隱性特征。其中,顯性特征主要指用戶直接向服務器發(fā)送的數(shù)據(jù),包括提交的表單、點擊的功能性按鈕,等等。而隱形行為特征包括用戶與服務器的交互時間、數(shù)量、頻率和服務器回顯的相關內(nèi)容,等等。
由于隱性用戶行為特征挖掘難度大,相似行為在不同網(wǎng)站間的表現(xiàn)不同,如何對用戶行為特征進行規(guī)范化識別與編碼,成為本文難點。同時,傳統(tǒng)上采用的深度神經(jīng)網(wǎng)絡算法對于用戶行為異常檢測的精確度已經(jīng)得到驗證,為了適應詐騙網(wǎng)站指紋多樣、形式復雜的特點,本文提出采用啟發(fā)式深度學習算法,在保證檢測精確度的前提下,增加模型動態(tài)更新能力,提高魯棒性。
本文方法總體架構如圖1所示。主要采取樸素貝葉斯算法和卷積神經(jīng)網(wǎng)絡的機器學習,通過能夠觀測到的流量數(shù)據(jù),先把數(shù)據(jù)包分類,并通過詞向量維數(shù)來描述數(shù)據(jù)包的文本內(nèi)容。把傳輸?shù)膮?shù)提取形成有特征的序列。訓練集為正常的流量數(shù)據(jù)經(jīng)過預處理后的數(shù)據(jù)集,統(tǒng)計每一類內(nèi)出現(xiàn)詞語的總詞頻,并取若干個頻率更高的詞匯作為這一類的特征詞集。去除每一類別中都出現(xiàn)的詞,合并所有類別的特征詞集,形成總特征詞集,最后得到的特征詞集是我們用到的特征集合,再用該集合去篩選測試集中的特征。
圖1 總體架構
本文基本思路框架如下:
(1)以抓取的數(shù)據(jù)流量作為初始訓練數(shù)據(jù)集,并根據(jù)數(shù)據(jù)集中的特殊符號進行分割,提取高頻關鍵詞生成關鍵詞庫。
(2)通過卷積神經(jīng)網(wǎng)絡進行文本特征提取、文本特征表示、歸一化,最后進行文本分類。
(3)使用樸素貝葉斯算法,將樣本數(shù)據(jù)集中的數(shù)據(jù)包打上標簽。
通過以上3個步驟,將從網(wǎng)站上抓取來的流量內(nèi)容分別打上標簽。檢測數(shù)據(jù)包通過樸素貝葉斯算法的使得流量模型中的可觀測序列更加多,出現(xiàn)的概率更加大,從而可以更好的分析評估總體流量,從中得出更多的隱含狀態(tài)。獲得了流量中所隱含的狀態(tài)以及概率,就可以為我們下一步的檢測分析帶來更多的數(shù)據(jù)。再通過卷積神經(jīng)網(wǎng)絡將文本特征分析,最后完成文本分類。
2.2.1 用戶動作分類
在流量的抓取階段,對于用戶在網(wǎng)頁上的行為進行了分類。主要分為用戶注冊、登錄、充值、提現(xiàn)、借貸、投資、綁定銀行卡等行為,不同的行為對應著不同的數(shù)據(jù)包,分別進行預處理。
2.2.2 流量包抓取
流量包的抓取采用Telerik Fiddler Web Debug?ger軟件,主要抓取用戶行為所產(chǎn)生的http包。
2.2.3 樣本增強預處理
樣本的增強和預處理主要從以下兩個方面展開:基于數(shù)據(jù)加噪的樣本增強和基于關鍵詞回避策略,選取部分訓練數(shù)據(jù)集樣本生成對應的增強樣本,并且重新加入訓練數(shù)據(jù)集得到增強的訓練數(shù)據(jù)集。
2.3.1 樸素貝葉斯算法
拆分數(shù)據(jù)包內(nèi)容,將數(shù)據(jù)準備成為一系列序列,由詞向量計算樸素貝葉斯用到的概率值,最終得出分析結果。
2.3.2 卷積神經(jīng)網(wǎng)絡
首先要將原始數(shù)據(jù)包內(nèi)容進行預處理,主要是分詞、去除停用詞等,然后對預處理后的文本進行向量化,利用word2vec中的skip-gram模型,將數(shù)據(jù)包內(nèi)容數(shù)據(jù)集表示為不同維度的詞向量形式。轉(zhuǎn)化為詞向量后就可以將每一句話轉(zhuǎn)化為一個矩陣的形式,通過矩陣得出分類結果。
本文根據(jù)多篇相關性文獻,采用文本卷積神經(jīng)網(wǎng)絡模型(text-cnn)與樸素貝葉斯模型進行機器學習,綜合對比分析實驗結果,達到精準識別目標數(shù)據(jù)的用戶行為。
本實驗采用從各個基站搜集的每種行為,共近10000條數(shù)據(jù)作為訓練集。然后將數(shù)據(jù)轉(zhuǎn)化為兩種模型所適應的特征序列,分別進行調(diào)整與優(yōu)化從而達到模型的最佳狀態(tài),再通過對比分析兩種算法的優(yōu)缺點。表1為訓練集的種類與數(shù)據(jù)數(shù)量。
表1 訓練網(wǎng)站分類表
數(shù)據(jù)庫系統(tǒng)版本為mysql。
系統(tǒng)環(huán)境如下:內(nèi)存2 GB,處理器4個。
操作系統(tǒng):kali_linux_2020.1。
編程語言:g++,Python3.8.1。
(1)通過已有的訓練集訓練數(shù)據(jù),并形成特征序列保存在數(shù)據(jù)庫系統(tǒng)中。
圖2 特征序列
(2)使用網(wǎng)絡抓包工具fiddler監(jiān)聽網(wǎng)卡,以受害者視角訪問詐騙網(wǎng)站,同時最大程度的挖掘網(wǎng)站功能,抓取不同功能的數(shù)據(jù)包作為測試集。
圖3 抓取不同功能的數(shù)據(jù)包
(3)根據(jù)(2)當中抓到的測試集先進行分類,再提取參數(shù)形成特征序列。
圖4 提取參數(shù)形成特征序列
(4)調(diào)整序列格式,分別代入數(shù)據(jù)庫進行匹配得出最終的結果。
(5)通過測試結果比較兩種模型之間的優(yōu)劣。
3.4.1 樸素貝葉斯模型實驗結果
通過人工手動的數(shù)據(jù)包采集,并進行分類。在前期工作當中,我們共篩選了1000個左右的數(shù)據(jù)包作為測試集,其中包括注冊、登陸、退出、充值、下注、借貸、綁定銀行卡7種行為數(shù)據(jù)包。
在第一次測試當中,由于閾值設定的不合理以及測試集當中的數(shù)據(jù)包質(zhì)量與格式問題,導致識別率普遍較低的情況。
圖5 注冊行為識別過程
圖6 行為識別成功率計算
通過調(diào)試閾值,將海明距離從3改為5,大大提高了行為識別的準確率。但是也會提高行為識別錯誤的概率。通過不經(jīng)過分類數(shù)據(jù)包直接代入模型當中進行分系對比,計算行為識別錯誤率。
圖7 行為識別成功率計算
3.4.2 卷積神經(jīng)網(wǎng)絡模型實驗結果
將數(shù)據(jù)包進行預處理,刪除部分錯誤、不可見字符,取出請求數(shù)據(jù)包中的數(shù)據(jù)部分,作為訓練模型的輸入。
使用word2vec模型根據(jù)輸入數(shù)據(jù)包,提取生成詞向量。生成詞向量的結果如圖8所示。
圖8 word2vec詞向量分詞
將詞向量以及訓練數(shù)據(jù)集作為輸入,導入卷積神經(jīng)網(wǎng)絡模型中,訓練過程如圖9所示。
圖9 卷積神經(jīng)網(wǎng)絡訓練
使用包含額外1000余條數(shù)據(jù)包信息作為測試集,對卷積神經(jīng)網(wǎng)絡模型進行測試,如圖10所示。
圖10 卷積神經(jīng)網(wǎng)絡測試
表2 卷積神經(jīng)網(wǎng)絡測試成功率表
對于樸素貝葉斯分類模型,分析實驗結果發(fā)現(xiàn),該模型對于用戶的“注冊”“登錄”“退出”行為具有較高的識別成功率,對于“借貸”“下注”行為的識別成功率較低。對于卷積神經(jīng)網(wǎng)絡模型,該模型整體上具有較高的召回率與精確度,對多種的用戶行為都具有較為可靠的識別能力。
對比兩種模型。從實驗結果來看,卷積神經(jīng)網(wǎng)絡具有更好的識別精確度與召回率,在一定程度上是由卷積神經(jīng)網(wǎng)絡多層模型所導致的,能夠很好地完成對輸入數(shù)據(jù)包向量的分類工作。而樸素貝葉斯模型在實驗結果上不如卷積神經(jīng)網(wǎng)絡模型理想,其精確度、召回率等數(shù)值并不理想。相比之下,卷積神經(jīng)網(wǎng)絡模型更優(yōu)。
從空間、時間開銷來看,卷積神經(jīng)網(wǎng)絡模型雖然具有識別精度更好的優(yōu)點,但是其模型的空間開銷與時間開銷都比較大,模型復雜性較高。相比卷積神經(jīng)網(wǎng)絡,樸素貝葉斯模型具有開銷較小,模型處理輕便快捷的特點,可以采用改進貝葉斯等優(yōu)化算法以彌補其精度不足的缺點,減少其識別誤差。
總體上,本文通過卷積神經(jīng)網(wǎng)絡與樸素貝葉斯兩個模型進行實驗對比,結合兩個實驗結果,分析認為卷積神經(jīng)網(wǎng)絡在識別詐騙網(wǎng)網(wǎng)站用戶行為方面更為理想,能夠更好地完成用戶行為識別分析工作。
本文提出了基于數(shù)據(jù)流量的詐騙網(wǎng)站分析方法,主要通過數(shù)據(jù)流量識別用戶行為以及網(wǎng)站指紋信息,從而判斷網(wǎng)站存在詐騙性質(zhì)的可能性。由于文本向量較短,因此在本項目中不討論k值的必要性。僅僅對閾值與文本向量之間的海明距離進行調(diào)整,提高用戶行為識別的準確率同時控制識別的誤報率在一定的范圍內(nèi)。
目前,互聯(lián)網(wǎng)上存在的詐騙網(wǎng)站形式呈現(xiàn)多樣化,隱蔽性增強,以及設置注冊審核機制的現(xiàn)象,很多詐騙網(wǎng)站需要管理員認證或者介紹人的通信憑證作為注冊要求,大大地阻礙了樣本數(shù)據(jù)采集與詐騙網(wǎng)站打擊的可能性。通過用戶行為與指紋模板識別相結合,對于詐騙網(wǎng)站的綜合快速判定具有極大的意義。在更加深入的研究與學習當中,將繼續(xù)改進模型的適應性以及提高訓練集樣本的數(shù)量與質(zhì)量,使本應用能夠真正投入使用,服務社會。