尚思佳 陳曉淇 林靖淞 林睫菲 李 臻 劉延華
1(中國科學(xué)院信息工程研究所物聯(lián)網(wǎng)信息安全技術(shù)北京市重點實驗室 北京 100093) 2(中國科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 100049) 3(福州大學(xué)計算機(jī)與大數(shù)據(jù)學(xué)院 福州 350108) 4(國網(wǎng)信通億力科技有限責(zé)任公司 福州 350003)
當(dāng)前,電信網(wǎng)絡(luò)詐騙犯罪的手段愈加多樣化,呈現(xiàn)出跨平臺實施、黑灰產(chǎn)業(yè)化的特點[1].黑灰產(chǎn)以公開網(wǎng)站作為傳播違法違規(guī)內(nèi)容的平臺,具有鏈條化、團(tuán)伙化、資產(chǎn)化和跨域化等特點.
分析黑灰產(chǎn)團(tuán)伙掌握的網(wǎng)絡(luò)資產(chǎn)是打擊黑灰產(chǎn)的重要切入點,本文通過研究圖挖掘技術(shù),從海量黑灰產(chǎn)網(wǎng)絡(luò)節(jié)點中挖掘同一團(tuán)伙網(wǎng)絡(luò)黑灰產(chǎn)子圖,找出黑灰產(chǎn)團(tuán)伙中的關(guān)鍵節(jié)點,發(fā)現(xiàn)關(guān)聯(lián)多資產(chǎn)或多業(yè)務(wù)的關(guān)鍵鏈路.
目前,國內(nèi)外有多種基于圖挖掘的異常識別方法.Zhao等人[2]提出了BotGraph方法,通過對用戶之間的郵件發(fā)送情況進(jìn)行剪枝發(fā)現(xiàn)異常的用戶群體;Beutel等人[3]提出的CopyCatch算法、Jiang等人[4]提出的CatchSync算法,均是捕獲大規(guī)模有向圖中的同步行為,以挖掘網(wǎng)絡(luò)中的異常;Cao等人[5]提出了SynchroTrap算法,通過計算節(jié)點之間在一定時間內(nèi)發(fā)生相似行為的數(shù)量,建立相似性網(wǎng)絡(luò)圖,并根據(jù)閾值進(jìn)行圖切割,再根據(jù)圖的連通性進(jìn)行聚類,以尋找異常子圖;Prakash等人[6]提出了EigenSpokes算法,該方法使用奇異矩陣分解,根據(jù)特征值較大的特征向量識別欺詐賬戶.
核心網(wǎng)絡(luò)資產(chǎn)的識別類似于暴恐團(tuán)伙核心成員的辨識.社會網(wǎng)絡(luò)分析被廣泛視為研究恐怖團(tuán)伙內(nèi)社區(qū)結(jié)構(gòu)和發(fā)掘核心成員的重要方法之一[7].由Jaccard系數(shù)得出結(jié)論,公共鄰居越少,邊越重要[8]等.在電力光網(wǎng)絡(luò)中,通過統(tǒng)計分析鏈路狀態(tài)變化與最短路徑的敏感度,基于跳數(shù)最少、時延最短和可靠性最高3種不同目標(biāo),可以獲得關(guān)鍵鏈路的指標(biāo)[9].
上述研究工作表明,分析黑灰產(chǎn)團(tuán)伙掌握的網(wǎng)絡(luò)資產(chǎn)及其關(guān)聯(lián)關(guān)系是一項現(xiàn)實而可行的工作.本文使用的黑灰產(chǎn)網(wǎng)絡(luò)資產(chǎn)圖譜只有8類節(jié)點和11類邊,因此在實際應(yīng)用中需要引入業(yè)務(wù)規(guī)則及相關(guān)領(lǐng)域知識.
針對上述問題,本文提出一種黑灰產(chǎn)網(wǎng)絡(luò)資產(chǎn)可視分析方法.主要研究工作包含以下幾個方面:
1) 提出一種探索團(tuán)伙線索的方法,為每個節(jié)點構(gòu)建特征向量,并對特征向量運用t-分布隨機(jī)近鄰嵌入(t-distributed stochastic neighbor embedding, t-SNE)進(jìn)行降維、聚類、過濾節(jié)點聚類、根據(jù)節(jié)點的重要性指標(biāo)計算節(jié)點排名,從而發(fā)現(xiàn)潛在團(tuán)伙線索.
2) 通過黑灰產(chǎn)相關(guān)業(yè)務(wù)知識引入業(yè)務(wù)規(guī)則,繼而編制算法挖掘黑灰產(chǎn)團(tuán)伙、識別核心資產(chǎn)和關(guān)鍵鏈路.其中,利用Fast Unfolding算法[10]對黑灰產(chǎn)子圖進(jìn)行圖聚類以解決可視化過程中大量節(jié)點覆蓋問題.
3) 設(shè)計多種可視分析視圖,用可視分析的方法輔助黑灰產(chǎn)治理從業(yè)人員直觀清晰地了解黑灰產(chǎn)的網(wǎng)絡(luò)運維模式.
在核心資產(chǎn)識別中,根據(jù)節(jié)點的度中心性、介數(shù)中心性、接近中心性等重要性指標(biāo)進(jìn)一步篩選核心資產(chǎn)節(jié)點.
度中心性(degree centrality)是在網(wǎng)絡(luò)分析中刻畫節(jié)點重要性的度量指標(biāo)[11].某個節(jié)點度中心性計算公式如下:
(1)
其中ki表示現(xiàn)有的與節(jié)點i相連的邊的數(shù)量;N-1表示節(jié)點i與其他節(jié)點都相連的邊的數(shù)量.
節(jié)點介數(shù)中心性(betweenness centrality)[12]是指一個網(wǎng)絡(luò)里通過節(jié)點的最短路徑條數(shù).某個節(jié)點的介數(shù)中心性的計算公式如下:
(2)

接近中心性(closeness centrality)用于衡量節(jié)點重要性,主要是利用網(wǎng)絡(luò)中所有節(jié)點對間的相對距離大小[13].某個節(jié)點的接近中心性[14]CCi為
(3)
其中di表示節(jié)點i到其余各點的平均距離,平均距離的倒數(shù)就是接近中心度.
首先,為每個節(jié)點構(gòu)建特征向量,特征向量的構(gòu)建規(guī)則如下:
1) 對于每個節(jié)點,計算每類鄰居的數(shù)量,乘以對應(yīng)節(jié)點重要程度,作為特征向量這一維度上節(jié)點的貢獻(xiàn),公式如下:
n=[num1×n_weight1,num2×
n_weight2,…,numi×n_weighti],
(4)
其中i∈N,N表示所有節(jié)點的類型.
2) 當(dāng)中心節(jié)點確定時,節(jié)點的類型與邊的類型之間具有一定的對應(yīng)關(guān)系,根據(jù)節(jié)點類型計算邊的數(shù)量,乘以對應(yīng)邊的關(guān)聯(lián)強(qiáng)度,作為特征向量對應(yīng)維度上邊的貢獻(xiàn),公式如下:
l=[num1×l_weight1,num2×
l_weight2,…,numj×l_weightj],
(5)
其中j∈L,L表示所有邊的類型.
3)n和l分別乘以對應(yīng)的權(quán)重,求和作為最后結(jié)果.公式如下:
a=α×n+(1-α)×l.
(6)
得到節(jié)點特征向量后,使用t-SNE進(jìn)行降維聚類.重要程度越高節(jié)點越可能成為異常點,因此僅考慮Domain(網(wǎng)站域名)、 IP(網(wǎng)站的IP地址)和 Cert(網(wǎng)站用的SSL安全證書)節(jié)點類型.嘗試以高密度節(jié)點群為線索進(jìn)行子圖挖掘,未發(fā)現(xiàn)成規(guī)模的黑灰產(chǎn)團(tuán)伙,表明這些點不適合作為潛在線索.因此,將注意力轉(zhuǎn)向分散的點.過濾高密度的聚類,并且根據(jù)子圖中節(jié)點的重要性指標(biāo),在過濾后的節(jié)點中選擇排名靠前的節(jié)點作為潛在線索.
結(jié)合各類型節(jié)點間的可能關(guān)聯(lián)關(guān)系、應(yīng)用場景和領(lǐng)域知識進(jìn)行挖掘網(wǎng)絡(luò)資產(chǎn)子圖.首先,根據(jù)邊的關(guān)聯(lián)強(qiáng)度在起始節(jié)點3跳關(guān)聯(lián)內(nèi)(對于重要節(jié)點,允許4跳關(guān)聯(lián))挖掘網(wǎng)絡(luò)資產(chǎn)子圖;其次,若某次挖掘到IP_C(IP的C段)和ASN(IP的自治域)類型節(jié)點,將節(jié)點加入團(tuán)伙,但不繼續(xù)向外挖掘;最后,當(dāng)某個節(jié)點有大量同類型鄰居節(jié)點(關(guān)聯(lián)關(guān)系類型也一樣)時,適當(dāng)過濾其鄰居節(jié)點以減少子圖規(guī)模.
算法1.子圖挖掘.
輸入:點數(shù)據(jù)集Nodes、邊數(shù)據(jù)集Links、線索start_node、節(jié)點重要程度node_type_value、邊關(guān)聯(lián)強(qiáng)度relation_type_value;
輸出:子圖點數(shù)據(jù)集sub_Nodes、子圖邊數(shù)據(jù)集sub_Links.
①nodes_stack,mynode←[],[start_node];
② 根據(jù)start_node的重要程度更新start_node.W;
③ whilenodes_stackdo
④now_node←nodes_stack.pop();
⑤ end while
⑥ for eachnodeinnow_node的鄰點do
⑦ 根據(jù)鄰邊的關(guān)聯(lián)強(qiáng)度更新now_node.W;
⑧ 根據(jù)now_node.W將node加入nodes_stack及mynode列表;
⑨ end for
為了應(yīng)對由于子圖規(guī)模較大可能造成的點覆蓋和視覺負(fù)擔(dān)等問題,本文采用了Fast Unfolding算法進(jìn)行圖聚類.
算法2.Fast Unfolding圖聚類.
輸入:子圖邊數(shù)據(jù)集sub_Links;
輸出:聚類結(jié)果partition.
① 根據(jù)子圖邊數(shù)據(jù)集sub_Links創(chuàng)建有向圖G;
②partition←使用Fast Unfolding算法對G進(jìn)行圖聚類得到的結(jié)果.
根據(jù)一些相關(guān)基礎(chǔ)業(yè)務(wù)規(guī)則進(jìn)行核心資產(chǎn)識別.首先,50%以上的鄰邊關(guān)聯(lián)強(qiáng)度較弱或度小于閾值(具體視子圖大小而定)的網(wǎng)絡(luò)資產(chǎn)不被認(rèn)為是核心網(wǎng)絡(luò)資產(chǎn),Domain類型的關(guān)聯(lián)2個以上IP地址的網(wǎng)絡(luò)資產(chǎn)也不被認(rèn)為是核心網(wǎng)絡(luò)資產(chǎn).根據(jù)規(guī)則過濾不符合要求的網(wǎng)絡(luò)資產(chǎn),最后根據(jù)節(jié)點重要性指標(biāo)確定核心資產(chǎn)節(jié)點.
算法3.核心網(wǎng)絡(luò)資產(chǎn)識別.
輸入:子圖的邊列表Links、子圖的節(jié)點列表Nodes;
輸出:子圖的核心資產(chǎn)列表Core_node.
① 為每個核心資產(chǎn)初始化標(biāo)記數(shù)組flag←0;
②Rule1(Nodes,Links,flag);
③Rule2(Nodes,Links,flag);
④Rule3(Nodes,Links,flag);
⑤ ifflag[node]==0
⑥Core_node←node;
⑦ end if
⑧ 過濾Core_node中重要性指標(biāo)低的節(jié)點;
⑨ returnCore_node.
其中函數(shù)Rule1將鄰邊中弱關(guān)聯(lián)的比例超過50%的節(jié)點的flag標(biāo)記為1.函數(shù)Rule2將具有超過2個IP類型鄰邊的節(jié)點的flag標(biāo)記為1.函數(shù)Rule3統(tǒng)計子圖的邊數(shù)q與圖中某節(jié)點的鄰邊數(shù)c,若c>1000,將c≤0.015q情況下節(jié)點的flag標(biāo)記為1;否則,將c≤0.02q情況下節(jié)點的flag標(biāo)記為1.
首先,2個核心網(wǎng)絡(luò)資產(chǎn)間長度大于4跳的路徑不被認(rèn)為是關(guān)鍵鏈路;其次,2個核心網(wǎng)絡(luò)資產(chǎn)間存在多條路徑時,路徑越短越重要;最后,2個核心網(wǎng)絡(luò)資產(chǎn)間路徑的關(guān)聯(lián)強(qiáng)度越強(qiáng)則越重要.
算法4.關(guān)鍵鏈路識別.
輸入:子圖的邊列表Link、子圖的節(jié)點列表Node、子圖的核心資產(chǎn)列表Core_node;
輸出:子圖的關(guān)鍵鏈路列表Critical.
① 初始化鄰接字典adj←{};
② fornodeinNodedo
③neighbor←[node,node的鄰接點];
④adj←{n:neighbor};
⑤ end for
⑥ foriinrange(len(Core_node)-1) do
⑦ forjinrange(i,len(Core_node)) do
⑧Path_list←Check(adj,Core_node[i],
Core_node[j]);
⑨ end for
⑩ end for
其中函數(shù)Check用于尋找子圖中從核心資產(chǎn)節(jié)點出發(fā)的所有長度小于等于4跳的路徑.
基于系統(tǒng)分析任務(wù),本文提出基于圖挖掘的黑灰產(chǎn)運作模式可視分析系統(tǒng)的架構(gòu),如圖1所示:

圖1 黑灰產(chǎn)運作模式可視分析系統(tǒng)架構(gòu)
本文使用的黑灰產(chǎn)網(wǎng)絡(luò)資產(chǎn)圖譜數(shù)據(jù)集是一個經(jīng)過脫敏處理的數(shù)據(jù)集.該數(shù)據(jù)集采用點邊雙異質(zhì)有向圖的數(shù)據(jù)結(jié)構(gòu),其中節(jié)點代表網(wǎng)絡(luò)資產(chǎn),邊表示網(wǎng)絡(luò)資產(chǎn)之間的關(guān)聯(lián)關(guān)系.數(shù)據(jù)集包含8類網(wǎng)絡(luò)資產(chǎn)和11類資產(chǎn)關(guān)聯(lián)關(guān)系,總計包含237萬個節(jié)點和328萬條邊.每個節(jié)點包含以下字段信息:節(jié)點ID、脫敏處理后的節(jié)點名稱(如域名字符串或IP地址)以及節(jié)點類型.對于域名類型節(jié)點,還提供黑灰產(chǎn)業(yè)務(wù)屬性,如涉黃、涉賭等.每條邊包含以下字段信息:邊類型、源節(jié)點ID和目標(biāo)節(jié)點ID,邊的方向由源節(jié)點指向目標(biāo)節(jié)點.
為了證實本文提出的基于圖挖掘的黑灰產(chǎn)運作模式可視分析方法對于黑灰產(chǎn)團(tuán)伙識別的有效性,本文從任意節(jié)點出發(fā),鎖定線索并找到由該線索同一黑灰產(chǎn)團(tuán)伙掌握的網(wǎng)絡(luò)資產(chǎn)子圖,識別子圖中的核心資產(chǎn)與關(guān)鍵鏈路,分析團(tuán)伙網(wǎng)絡(luò)運營機(jī)制.
以節(jié)點IP_36591為中心挖掘一定規(guī)模的節(jié)點群,再對每個節(jié)點構(gòu)建特征向量、t-SNE降維,得到每類節(jié)點的降維視圖.例如,IP類型節(jié)點的降維視圖如圖2所示:

圖2 IP類型節(jié)點降維視圖
以圖2中的幾個分布密集的聚類中的節(jié)點為線索,不能找出成規(guī)模的黑灰產(chǎn)團(tuán)伙,需對每類節(jié)點進(jìn)一步過濾.
計算過濾幾個分布密集的聚類后所有節(jié)點的度中心性、PageRank指標(biāo).經(jīng)比較,節(jié)點Cert_2128的各指標(biāo)均排在首位,將節(jié)點Cert_2128鎖定為挖掘團(tuán)伙的潛在線索.
鎖定潛在線索后,根據(jù)算法1挖掘子圖,得到對應(yīng)的黑灰產(chǎn)團(tuán)伙的網(wǎng)絡(luò)資產(chǎn)概覽如圖3所示:

圖3 黑灰產(chǎn)團(tuán)伙的網(wǎng)絡(luò)資產(chǎn)概覽圖
根據(jù)算法3和算法4,對黑灰產(chǎn)團(tuán)伙進(jìn)行核心網(wǎng)絡(luò)資產(chǎn)和關(guān)鍵鏈路識別,從而得到核心網(wǎng)絡(luò)資產(chǎn)(如圖4所示)和關(guān)鍵鏈路(如圖5所示).

圖4 核心網(wǎng)絡(luò)資產(chǎn)概覽圖

圖5 關(guān)鍵鏈路概覽圖
計算所有網(wǎng)絡(luò)資產(chǎn)的度,選取度數(shù)排名前6的網(wǎng)絡(luò)資產(chǎn),得到可疑節(jié)點排行榜(如圖6所示).對比發(fā)現(xiàn)可疑節(jié)點均為上述識別得到的核心網(wǎng)絡(luò)資產(chǎn),進(jìn)一步判定這些可疑節(jié)點為黑灰產(chǎn)團(tuán)伙的核心網(wǎng)絡(luò)資產(chǎn).

圖6 可疑節(jié)點排行
選擇網(wǎng)絡(luò)資產(chǎn)子圖中的某一核心網(wǎng)絡(luò)資產(chǎn)(如節(jié)點Cert_21024),分析其鄰接節(jié)點重要程度和鄰邊關(guān)聯(lián)強(qiáng)度.核心資產(chǎn)的鄰接節(jié)點的重要程度均為非常重要或重要,其鄰邊中也沒有關(guān)聯(lián)強(qiáng)度較弱的鄰邊.說明該網(wǎng)絡(luò)資產(chǎn)為核心網(wǎng)絡(luò)資產(chǎn)的可信度高.
通過分析子圖資產(chǎn)的黑灰產(chǎn)產(chǎn)業(yè)分布,可以看出該團(tuán)伙的業(yè)務(wù)分布情況:該黑灰產(chǎn)團(tuán)伙子圖中域名對應(yīng)的網(wǎng)站包含涉黃、涉賭、詐騙、非法交易平臺和其他黑灰產(chǎn)業(yè)務(wù),因此,該網(wǎng)絡(luò)資產(chǎn)子圖是一個運作多種非法業(yè)務(wù)的復(fù)合型團(tuán)伙.該黑灰產(chǎn)團(tuán)伙通過搭建色情網(wǎng)站并通過社交平臺推廣,在網(wǎng)站誘導(dǎo)網(wǎng)名付費觀看的同時引導(dǎo)網(wǎng)民進(jìn)行網(wǎng)絡(luò)賭博,從而將網(wǎng)民引流到賭博網(wǎng)站中.
本文提出了基于圖挖掘的黑灰產(chǎn)運作模式可視分析方法,以解決黑灰產(chǎn)團(tuán)伙網(wǎng)絡(luò)資產(chǎn)及其關(guān)聯(lián)關(guān)系的識別與分析問題.由于網(wǎng)絡(luò)資產(chǎn)圖譜已經(jīng)經(jīng)過脫敏處理,本文系統(tǒng)旨在為監(jiān)管部門提供一種信息整合手段.它能夠從舉報的非法網(wǎng)站域名作為起點,挖掘網(wǎng)絡(luò)資產(chǎn)信息并整合它們之間的關(guān)聯(lián)關(guān)系.與傳統(tǒng)的子圖挖掘相比,其深度結(jié)合應(yīng)用場景和領(lǐng)域知識,并引入專業(yè)的黑灰產(chǎn)業(yè)務(wù)規(guī)則,使得子圖識別結(jié)果更具合理性.此外,本文還利用可視化工具對識別結(jié)果進(jìn)行可視化分析,以增強(qiáng)用戶的感知能力.在未來的研究中,將引入更多的業(yè)務(wù)規(guī)則,進(jìn)一步改進(jìn)和完善本文系統(tǒng).