論文:《Heterogeneous Graph Neural Networks for Malicious Account Detection 》

作者: Ziqi Liu; Chaochao Chen來源: CIKM』18

1.概括

針對惡意賬戶設備和行為聚集性(在文章SynchroTrap中攻擊者的經濟約束),提出了GEM(Graph Embeddings for Malicious accounts)系統:構建的賬戶-不同設備異構網路,以拓撲結構和行為特徵作為輸入直接學習圖神經網路模型 f(X,G) 。並且引入注意力機制,考慮不同類型設備的權重。

2. GEM

2.1 數據分析

2.1.1 設備聚集性

這裡的設備是廣義的,包括Phone Number, User Machine ID (UMID), MAC address, IMSI (International Mobile Subscriber Identity), APDID (Alipay Device ID) , TID

異常點:如果一個帳戶註冊或登錄同一個(一組)設備或一組公共設備,若這一個(一組)設備上有大量其他賬戶,那麼此類帳戶將是可疑的。

以發現左圖(正常賬戶)藍點均勻分布,而右圖可以看出特定設備連接了大量賬戶

  • x軸:設備ID
  • y軸:賬戶ID
  • 藍點:賬戶在設備上有行為,如登錄、註冊

2.1.2 行為聚集性

異常點:如果共享設備的賬戶行為是批量進行的,那麼這些賬戶是可疑的。

可以發現左圖藍點均勻分布,右圖行為都集中在註冊時間(由於是分析對象是註冊行為,故圖左下方空白。)

  • x軸:時間點
  • y軸:賬戶ID
  • 藍點:賬戶在時間點有行為,如登錄、註冊

2.2 動機:連通子圖

針對惡意賬戶的設備和行為聚集性,直觀的做法是查找連通子圖

  1. 構建賬戶-設備二部圖,這裡的設備是廣義的,包括手機號、IMEI、設備指紋等。
  2. 將二部圖轉化為賬戶-賬戶之間關係圖 ,並計算賬戶行為相似度作為權重。
  3. 刪除邊,得到連通子圖:相似度低於閾值的邊刪除,該閾值為超參,通過驗證集進行調參。
  4. 以連通子圖大小作為風險Score。

連通子圖雖然會存在一些問題,如無法檢測到位於規模較小的連通圖的惡意賬戶,以及IP關聯的賬戶會存在雜訊等情況,但其思想可以借鑒:

  • 連通子圖大小,其實等價使用sum運算元對連通的鄰居進行計數。
  • 通過行為相似度限制連通性。
  • 將原始賬戶-設備圖轉化成賬戶-賬戶圖,通過相似度來約束連通性。通過這轉化才能計算賬戶之間相似度,但會丟失信息

3.3 異構網路構建

3.3.1 拓撲圖

din D 對應設備類型,時間窗為 (0, T] (例如T為7天)

M為邊 {(i,j)} 的集合,若賬戶i在設備j上有行為(如註冊、登錄),則會形成邊

拓撲圖  g=(V,E) 由N個節點V(賬戶和設備)及其之間關係E組成。鄰接矩陣 Ain {0,1}^{NXN} (下圖為一個連通的子圖)

3.3.2 異構圖結構

根據不同類型的設備,抽取|D|個子圖 {g^{{d}}=(V,E^{(d)})} , 以及對應|D|個鄰接矩陣 {A^{{d}}}

每個節點特徵抽取: Xin R ^{N, p+|D|}

  1. 賬戶行為 在將時間窗(0,T)等分成p段,統計賬戶在每段的行為次數作為特徵(p維),例如7天每小時為一段,則p=7*24=168。
  2. 設備類型one-hot編碼:(|D|維)

一個異構連通子圖的可視化:

3.3.3 目標

是給定(0, T]時間內的A和X, 以及(0, T-1]的真實標籤 y_i in {-1,1} ,學習一個可以在時間T上有較好區分度的函數 f({A^d}, X)

3.4 模型

模型認為是GCN的變體,不同指出在於:1.擴展到異構網路;2.由於聚集性模式,對不同類型的圖 g^{(d)} 使用「sum」運算元進行聚合操作,同時對不同設備圖平均操作。

3.4.1 FP過程

希望通過對每個節點i在 {g^{{d}}=(V,E^{(d)})} 上傳播行為X,從而學習到有效的emebddings h_i

  • H^{(t)} in R^{N,k} 表示第t層embedding矩陣,第i行對應節點i的embedding i。
  • sigma 為非線性激活單元。
  • W in R^{P	imes k} ( P=p+|D| ) 和 {V_d} in R^{k 	imes k} 為參數,在給定賬戶的連接情況和行為,控制函數 f 「形狀」,希望自動捕獲更多有效模式。 V_d 有點像卷積核,而W連接參數
  • k為embedding大小, T為隱層數(或者為需要獲得幾跳內的鄰居),例如 h^{(5)}_i 為聚合節點i5跳內的鄰居信息。
  • 括弧中第一項 X cdot W 希望X以某種方式連接更深層,參考自殘差網路。

3.4.2 細節解釋

傳播過程:上面等式 HV 將將每個賬戶行為 x_i 嵌入到隱向量中, 然後左層鄰接矩陣A( AHV )表示對一跳鄰居內鄰居求和(加權平均)。

在T次迭代後,本質上在每個節點上對T跳內鄰居隱向量求和,與定義在連通子圖上 求T步可達的鄰居數量g(cdot) 相似。 不同在於GEM應用於原始的賬戶-設備圖,並通過拓撲上T步鄰居行為嵌入求和,將對每個節點做emebdding。

3.4.3 學習目標和策略

使用標準logistic 損失:

  • sigma(x)=frac{1}{1+exp-x}
  • u in R^k 為輸出logistic層參數

E-M風格學習策略:

  1. e-step:基於已有參數 W,{V_d} 計算embedding h_i
  2. m-step:固定 h_i 優化參數 W,{V_d},u

上面公式似乎不是logistic損失 :L=-sum(y_ilogsigma(u^Th_i)+(1-y_i)log(1-sigma(u^Th_i))

另外m-step中固定hi優化W,{Vd} 但是在公式中沒有這兩個參數呀。

3.5 Attention機制

其實就是加了個權重 a_d , 用softmax歸一化,

4. 實驗

數據規模:系統針對每天幾十萬新註冊賬戶進行檢測

額外設置:

  • 刪除孤立節點,這些節點是低風險,或者在拓撲傳播中沒有作用
  • 取4周數據,每周前6天作為train,第7天作為驗證集, 以增加魯棒性

各方法對比

  • 連通圖演算法效果一般,因為太過單一規則化了, 實際會存在雜訊數據,大量好的賬戶與惡意賬戶在一起; 另外小規模連通子圖也存在惡意賬戶
  • GBDT+Node2Vec 和 GBDT+Graph 相似,Node2Vec也是學習圖屬性,與人工提取特徵沒有本質區別。
  • 由於GCN學習embedding 利用了標籤數據和行為特徵,效果會好一點
  • 相比GCN只能處理同質網路,GEM 處理原始的異構網路,信息會有所保留, 另外對每種類型節點使用「聚合」運算操作,而不是normalized 操作(?)
  • GEM-attention 因為考慮不同設備的權重,而不是等同對待。

參數設置

embedding大小=6, 候選集[8, 16, 32, 64, 128]

隱層數(即獲取幾跳內的鄰居效果最好):h=5, 1效果不佳是因為賬戶一跳鄰居是設備

attention機制學習到的不同類型設備的權重


推薦閱讀:
相关文章