柯家龍 邢 欣 尹魏昕
國家互聯網應急中心江蘇分中心
近年來,隨著互聯網的快速發展,不法分子利用網站(如博彩、色情、小游戲等網站)實施詐騙的案例越來越多。如何高效、精準地識別出詐騙網站顯得尤為重要。
對詐騙網站生存、傳播、訪問等特征進行研究后發現,詐騙網站一般具有存活周期短、域名劫持和通過社交分享傳播三類特征。本研究結合詐騙網站上述特征,設計三種算法,分別從不同維度提取具有高度業務價值的網站域名數據,而后利用詐騙網站在網頁結構(快照)上的關鍵性相似特征,結合CNN(Convolutional Neural Network,卷積神經網絡)算法,設計并實現了一套基于高價值域名數據的詐騙網站識別深度學習系統。
為實現高價值域名數據的提取和分析,以某單位互聯網出口流量為基礎實驗數據,每日提取DNS域名訪問和http日志數據。
詐騙網站域名通常具有存活周期較短的特征,即其域名在連續活躍一周后,往往就會陷入沉寂狀態,此時該域名已無活動頁面或者已經被注銷。故本研究利用詐騙網站域名存活周期較短的特征,自主設計出了一套“環比新增域名集提取算法”。其核心過程如下:
(1)每日統計域名正確解析次數,提取解析次數超過100次的域名生成A1;
(2)每日域名數據A1與Alexa TOP 10000域名集合B1比對,丟棄命中TOP 10000的域名數據,形成集合A2;
(3)將A2與安全廠商提供的非涉詐網站白名單B2比對,丟棄命中非涉詐網站白名單的域名數據,形成集合A3;
(4)每周一的凌晨生成上周DNS域名數據的并集白名單B3;
(5)將A3與并集白名單B3進行比對,得出新增域名A4。
經過上述4個過程,最終提取出環比新增域名數據集。
詐騙網站為逃避執法機關的定位,通常并不具備獨立的SEO優化和網絡推廣能力。因此,詐騙網站多是通過劫持行為以及廣告投放的方式進行目標受害者人群的篩選。進一步分析得知,詐騙網站的HTTP請求信息往往會產生302臨時性重定向行為。本研究基于此特征,自主設計了一套基于HTTP 302重定向分析的“網頁跳轉域名集提取算法”。其核心過程如下:
(1)提取每日HTTP日志中狀態碼為302的域名數據集C1;
(2)302域名數據集C1與Alexa TOP 10000域名集合B1比對,丟棄命中TOP 10000的域名數據,形成集合C2;
(3)將C2與安全廠商提供的非涉詐網站白名單B2比對,丟棄命中非涉詐網站白名單的域名數據,形成集合C3;
(4)將C3與搜索引擎及導航網站白名單D1比對,丟棄命中搜索引擎及導航網站白名單的域名數據,形成集合C4;
(5)將C4中具有本站跳轉本站的正常重定向行為的數據丟棄,得出疑似域名劫持的涉詐網站域名集C5。
經過上述5個過程,最終提取網頁跳轉域名數據集C5。
社交軟件分享也是詐騙網站傳播的主要方式之一。對某款常見社交軟件的流量進行分析后發現,所有通過該軟件分享并直接打開的網站請求行為,其HTTP報文的UserAgent內,都會攜帶有明確的特征。
圖1列出了Windows操作系統和IOS操作系統下,某社交軟件客戶端在訪問網站時其UserAgent中所攜帶的特征。通過大量的測試得出:去除小部分Windows Phone的機型外,其余操作系統和版本并不影響此特征。因此我們根據此特征,自主設計了一套“社交軟件分享域名集提取算法”。其核心過程如下:

圖1 某社交軟件客戶端訪問網站UserAgent特征
(1)提取每日HTTP日志的域名數據集E1,與Alexa TOP 10000域名集合B1比對,丟棄命中TOP 10000的域名數據,形成集合E2;
(2)將E2與安全廠商提供的非涉詐網站白名單B2比對,丟棄命中非涉詐網站白名單的域名數據,形成集合E3;
(3)對E3數據,判別其UserAgent中是否包含某社交軟件客戶端特征,丟棄不含有此特征的數據,形成集合E4。
經過上述3個過程,最終提取出某社交軟件分享并直接訪問的域名數據集E4。此時,CNN卷積神經網絡應運而生。
1962年生物學家Hubel和Wiesel研究了貓的視覺皮層(VI區),發現視覺皮層細胞中有一系列復雜結構。1984年日本學者K.Fukushima等人提出的神經認知機,被認為是CNN模型的一個早期網絡架構。卷積神經網絡是深度學習的代表性算法之一,常被用于圖片處理,后來也被用于文本分類、句子分類、情感分析等方面。
為更精準識別詐騙網站域名,需對高價值域名數據集進行再次檢測。本研究利用詐騙網站在網頁結構(快照)上的關鍵性相似特征,結合CNN卷積神經網絡,設計一套基于高價值域名數據的詐騙網站識別深度學習系統。
2.1.1 卷積神經網絡簡介
在傳統機器學習中,圖片識別效率低下且準確率不高。
2.1.2 卷積神經網絡分類原理
卷積神經網絡由輸入層、卷積層、激勵層、池化層、全連接層、輸出層組成。卷積神經網絡通過多個被稱為卷積核的矩陣,對輸入矩陣進行特征提取。卷積核每移位一次,就會對該部分區域和卷積核的權重系數矩陣做乘法并疊加偏差量,這就是卷積核在特定區域上的特征提取過程。起初,卷積核的參數是完全隨機的,隨著不斷地訓練,通過反向傳播算法,這些參數也得到了逐步優化。
卷積神經網絡在訓練過程中需要用到損失函數和優化器。損失函數用于評價模型的預測值與真實值之間的差異程度,其值(非負)越小越好。優化器的作用是采用優化算法更新網絡參數,以最小化損失函數,常用的優化器有ADAM、SDG、Momentum等。為了生成最終輸出,還需要全連接層/輸出層來完成分類和結果輸出。
2.2.1 黑盒數據標注
無論是傳統機器學習還是近幾年火熱的深度學習,在模型訓練中都需要大量標注好的樣本數據。本研究借助外部廠商的詐騙網站檢測“黑盒系統”標注深度學習的訓練數據,并配合人工復查,以此來快速獲取大量帶有標簽且噪聲少的訓練數據集。
2.2.2 卷積神經網絡模型設計
模型的輸入數據是網站首頁截圖,圖片像素大小統一轉換為180×180,信道個數為3。卷積神經網絡的參數設置及計算過程如下:
(1)卷積層1:卷積核大小16×16,卷積核移動步長3,填充方式為same padding,池化大小2×2,池化步長2,池化類型為最大池化,激活函數ReLU。
(2)卷積層2:卷積核大小32×32,卷積核移動步長3,填充方式為same padding,池化大小2×2,池化步長2,池化類型為最大池化,激活函數ReLU。

圖2 CNN模型預測結果與詐騙網站檢測“黑盒系統”結果比對流程圖
(3)卷積層3:卷積核大小64×64,卷積核移動步長3,填充方式為same padding,池化大小2×2,池化步長2,池化類型為最大池化,激活函數ReLU。
(4)全連接層:隱藏層單元數64,激活函數ReLU。
該模型是一個具有三層卷積層的神經網絡,能夠快速完成圖像特征提取。使用Adam梯度下降法進行參數更新,并使用交叉熵(Cross Entropy)作為損失函數,學習率設為固定值0.001。
2.2.3 模型訓練比對
基于前文分析,利用標注好的訓練數據集,進行CNN卷積神經網絡的模型訓練。在正式部署上線前,對模型預測結果和詐騙網站檢測“黑盒系統”結果進行比對(如圖2所示),以檢測模型性能指標,并對精度不足的模型進行再訓練。
以某單位互聯網出口流量為基礎實驗數據。在兩個月時間內,每日提取相關域名訪問和http日志數據并全量存儲至數據中心。另外,根據本研究設計的高價值域名數據提取算法,對每日域名訪問和http日志數據進行實時處理,形成高價值域名數據另行存儲。本次實驗數據如下:
(1)普通組:在未經高價值域名數據提取算法處理的全量域名數據中,隨機選擇5天,每天隨機提取域名數據量為1000個,形成5個批次共計5000個樣本數據。
(2)高價值組:在高價值域名數據集中隨機選擇5天,每天隨機提取域名數據量為1000個,形成5個批次共計5000個樣本數據。
(3)網絡模型測試集:在5000個高價值組域名數據集中,隨機抽樣75%用作網絡模型測試集,即訓練數據。
(4)網絡模型驗證集:將5000個高價值組域名數據集中除去測試集后剩余的25%用作網絡模型驗證集。
3.2.1 高價值域名數據集分析
為驗證本研究所設計的高價值域名數據提取算法的優越性,設計如下比對實驗。
(1)普通組實驗:將隨機提取的5個批次普通組域名樣本數據送至“黑盒系統”進行標注,并加以人工復核,從而得出普通組中的詐騙網站數量。
(2)高價值組實驗:將隨機提取的5個批次高價值組域名樣本數據,送至“黑盒系統”進行標注,并加以人工復核,從而得出高價值組中的詐騙網站數量。
將普通組和高價值組進行比對,如表1所示。

表1 普通組和高價值組域名樣本比對實驗結果
從表1普通組和高價值組比對實驗結果可以看出:未經過任何處理的普通組域名樣本中,詐騙網站平均占比為0.34%,而經過高價值域名數據提取算法處理后的高價值組域名樣本中,詐騙網站平均占比為17.5%,高價值組詐騙網站占比約是普通組的51倍。本研究設計的三種高價值域名數據提取算法能有效提高集中發現詐騙網站域名的效率。
3.2.2 深度學習檢測結果分析
通過前述構造的模型測試集和驗證集,對卷積神經網絡模型進行訓練和驗證。共執行50個Epoch,分別記錄測試集和驗證集的準確率。
分析得出,在卷積神經網絡模型訓練20個Epoch時,模型基本收斂,測試集上可以獲得穩定且很高的準確率,最終在驗證集上的準確率也能穩定達到91%以上。從而可以得出結論:采用卷積神經網絡算法進行網頁結構(快照)特征的二分類以實現詐騙網站識別檢測是可行的。
3.2.3 識別系統綜合結果分析
為綜合比對高價值域名數據集、CNN算法對本研究設計的檢測識別系統的準確率影響,對普通組域名、高價值組域名、黑盒系統、CNN模型進行了綜合比對分析,結果如表2所示。

表2 識別系統綜合分析結果
從表2四種不同組合模式所得出的詐騙網站檢測識別結果可以看出:基于高價值組域名和CNN的組合模式,可以得出更高的檢測準確率。本研究設計的詐騙網站識別深度學習系統,能夠有效提取高價值域名并提高檢測準確率。
本研究根據詐騙網站普遍特征,設計了三類算法提取高價值域名數據,并借助卷積神經網絡,基于詐騙網站網頁結構(快照)特征,設計并實現了一套詐騙網站識別深度學習系統。實驗結果表明,本套系統能夠有效提高發現詐騙網站的能力,為詐騙網站檢測識別提供了一種新的思路。由于精力有限,本次研究未能引入更多特征檢測方法。后續可考慮結合URL文本、網頁源碼、網頁關鍵詞、Web請求參數等特征,開展多特征融合分析研究工作。