攜程商旅基于圖網絡的注冊風控實踐
一、背景
注冊風控是企業風控場景中重要的一環,黑產用戶想要進行各式各樣的欺詐行為,首先需要注冊賬戶。通常,這些黑產用戶會采用技術手段批量注冊虛假賬號,而后進行一系列惡意行為。那么,如何準確快速地識別注冊用戶是否是異常聚集的黑產用戶,這是注冊風控場景中需要解決的一個問題。
因此,本文介紹了一種當前在攜程商旅應用的基于注冊圖網絡的惡意賬戶聚集檢測模型。
二、前置知識
2.1 圖的定義
圖是由頂點的集合和頂點之間的邊的集合組成,通常表示為:G(V,E),其中,G表示一個圖,V是圖G中頂點的集合,E是圖G中邊的集合。
2.2 圖的類型
1)有向圖/無向圖 (Undirected graphs / Directed graphs)
若頂點到之間的邊沒有方向,則稱這條邊為無向邊,用無序對(,)來表示。如果圖中任意兩個頂點之間的邊都是無向邊,則稱該圖為無向圖;
若頂點到之間的邊有方向,則稱這條邊為有向邊,用有序對<,>來表示。如果圖中任意兩個頂點之間的邊都是有向邊,則稱該圖為有向圖。
圖1:無向圖和有向圖
2)同構圖/異構圖 (Homogeneous Graph / Heterogeneous Graph)
同構圖:節點的類型和邊的類型只有一種
如社交網絡中可以考慮節點只有“人”這一個類型,邊只有“認識”這一種連接關系,就是一種同構圖;
異構圖:節點的類型+邊的類型 > 2
如論文引用網絡中,存在著作者節點和論文節點,邊的關系有作者-作者之間的共同創作關系連邊、作者-論文之間的從屬關系、論文-論文之間的引用關系。
三、數據挖掘
3.1 用戶設備維度
1)設備聚集性
我們對用戶所使用的設備進行了分析,這里的設備指的是一種廣義的設備,包括IP地址、手機號、設備號等。黑產用戶處于金錢和時間成本,會希望在盡量低的成本下完成獲利,那么在設備維度就會出現聚集的現象。一般來說,普通用戶的一臺設備上通常不會登錄多個賬戶,因此某些設備頻繁切換不同賬號是相當可疑的。
如下圖所示,當IP地址數從0-5增加到5-10時,用戶數占比驟降,60%的用戶只使用過0-5個IP地址;超過90%的用戶只使用過一個手機號;超過70%的用戶只使用1個或2個設備。
圖2:IP數量-用戶分布圖
圖3:手機號/設備號數量-用戶分布圖
2)地理位置和設備版本
IP地址和電話號碼都可以映射到一個大概的地理位置。我們可以判斷每個注冊用戶的兩個地理位置是否相同,不同的時候為黑產用戶的概率相對更大。
此外,我們也對設備版本進行了分析,發現大多數從過時操作系統版本注冊的賬戶都是假賬戶,Android和iOS都存在這種現象,原因可能是攻擊者使用腳本自動注冊假賬戶,而操作系統版本并未更新。
3.2 注冊特征維度
1)注冊時間
我們對正常用戶和黑產用戶的注冊時間進行了對比,發現黑產用戶更傾向于傍晚和夜間進行注冊(17點-次日6點)。
圖4:不同注冊時間的用戶分布
2)注冊填寫信息
基于商旅的背景下,用戶在進行注冊時需要填寫公司名稱、郵箱等信息,我們會判斷用戶所填寫的信息是否是真實的企業信息(如填寫的公司名是否是正常的公司名、郵箱是否正常、是否是隨機填寫等),這些對注冊填寫信息相關的解析也會作為模型的特征。
四、模型設計
模型主要包括了四個步驟:特征提取、無監督權重學習、構建用戶注冊圖和惡意賬戶監測。
圖 5:模型流程圖
4.1 特征提取
根據上述數據挖掘部分提取用戶的相關特征,對于連續的特征進行分箱處理使其離散化。
4.2 無監督權重學習
1)構建用戶-特征異構圖
構建用戶-特征的無向圖來捕獲注冊賬戶和提取特征之間的關系,用G(V,E) 表示,其中V是所有的節點集合,包括用戶節點R和特征節點F,即每個F節點都表示某個特征;E 表示邊。用戶節點R與特征節點F存在邊等價于該用戶節點R擁有此F特征。
圖6:用戶-特征異構圖
2)用戶節點和特征節點初始權重的計算
- 把特征分成A、B兩類
A類特征:除去B類的其他特征。
B類特征:該特征如果被大量賬戶共享,則認為是異常的,如ip地址、手機號、設備號等。
- 計算特征節點初始權重
對于任意的特征節點x,初始權重計算如下:
其中:
其中Pre_A和Pre_B分別表示第一步中的A類特征和B類特征,ratio(x)表示該特征節點值的在其所屬特征中的頻率,pre(x)表示該特征節點所屬的特征,如特征節點IP-113.xxxxxxxx屬于IP特征;mode(pre(x))表示該特征節點所屬特征中頻率最高的特征節點。
- 計算用戶節點初始權重
按照上一步計算好每一個特征節點的初始特征后,每個用戶節點的初始特征即為其所有鄰居特征節點的均值。
3)更新節點權重
對所有節點的權重通過線性信念傳播進行迭代更新,權重的迭代公式參考文獻[2]和[3]的思想并做了改進優化。優化思路是基于每一次權重的迭代是對上一次節點權重的結果加上各鄰居節點權重的平均影響,并且每次的權重在仍保持在0-1之間,由此得到如下的迭代公式,對比驗證了優化后的公式在后續構造用戶-用戶同構圖的過程中邊關系更具穩定性:
其中為節點u的初始權重,
表示節點u第t次迭代的權重,Γ(u)表示u的所有鄰居節點的集合,|Γ(u)|表示u的鄰居節點數量。
4.3 構建用戶注冊同構圖
1)算兩兩用戶節點之間的相似度
我們的分析主體在注冊用戶上,而上述構建出來的圖是一個異構的二部圖,轉化為同構圖的步驟為計算節點之間的相似度,并且將此相似度作為注冊用戶之間的邊的權重,即
2)構建用戶-用戶同構圖
兩個用戶節點相似度為公共的特征節點的權重之和,即若上述相似度大于設定的閾值(相似度閾值),則兩個用戶節點連上邊。這時若只考慮用戶節點和用戶節點之間的邊,即成為了一個同構的用戶圖。
- 相似度閾值的設置方式
當閾值設置為0時,所有的用戶都互相連接,隨著閾值的不斷增大,用戶和用戶的邊逐漸減少,當閾值足夠大時,不存在任何邊。通過對歷史數據的分析,我們發現能夠使得異常用戶相連接的相似度閾值會存在一個小范圍的穩定區間,因此閾值設置的邏輯為使得用戶-用戶同構圖的邊關系穩定(小區間內保持邊關系不改變)的最小閾值。
我們的實際設置方式為:先將閾值設置成一個較小的值α,此時幾乎所有的用戶都互相連接,再將閾值每次增加δ,觀察最大連通子圖的節點數量,若該數量在連續n次的閾值增加的過程中幾乎保持不變,則第n次的閾值α+nδ設置為當前模型的相似度閾值。
4.4 惡意賬戶監測—找出異常聚集的連通子圖
找出所有的連通子圖,當連通子圖用戶節點大于某個數值(聚集用戶數閾值)時,則該連通子圖的所有用戶為異常聚集。圖8展示了異常聚集用戶和正常用戶的邊關系狀態。
- 聚集用戶數閾值的設置方式
聚集用戶數的閾值是根據模型的效果來確定的,可以通過不同值的模型效果來確定最佳值,具體可以根據準確率、召回率、F1值等的收斂情況來進行衡量確定。通常情況下注冊風控選擇的聚集用戶數閾值建議在10-30區間為佳。
圖7:用戶-用戶同構圖
五、實時策略
對于每天注冊進來的新用戶,如何高效迅速地識別注冊用戶是否是異常聚集的黑產用戶呢?這里介紹商旅注冊風控場景下的實時策略。
首先,每注冊一個新用戶會觸發模型的更新(模型的數據取近24~72小時的注冊用戶),同時每n分鐘更新一次模型參數作為兜底。模型需要保存的參數一般有:壞用戶節點、壞用戶的所有特征節點及其權重、相似度閾值。
如圖9所示,對于一個新注冊用戶,獲取到其特征后,計算該用戶與當前最新模型中的壞用戶節點的相似度(即與壞用戶特征節點的公共節點權重之和),若與任意一個壞用戶節點的相似度大于模型的相似度閾值,則輸出為異常聚集,否則認為是正常用戶。
圖8:用戶注冊實時策略圖
六、實際應用效果
6.1 數據模型指標
歷史模型以天為單位,下圖展示部分日期模型的準確率和召回率。
圖9:歷史數據模型效果
6.2 線上業務指標
1)注冊攔截率
用戶在注冊時若模型識別為異常,則需要用戶進行身份驗證(姓名和證件號),若用戶驗證失敗或放棄注冊則認為注冊攔截,下表展示了2023年以來的月注冊攔截率(未完成注冊的用戶數 / 注冊時識別有風險需要驗證的用戶)的數據。
注冊月份 | 月注冊攔截率 |
1月 | 100.0% |
2月 | 83.7% |
3月 | 78.1% |
4月 | 93.2% |
5月 | 99.9% |
2)黑產用戶注冊時的風險識別率
商旅對于各個產線都有不同的風控場景識別,這些識別出來的黑產用戶有些在注冊時已被本文的模型識別為異常,但后續通過了身份驗證也會成功注冊。因此考慮黑產用戶在注冊時的風險識別率也是衡量模型效果的一個指標。下表展示了部分風控場景中的注冊時風險識別率(注冊時識別異常的黑產用戶數 / 黑產用戶數)的數據。
風控場景 | 注冊時風險識別率 |
跟團游場景 | 99.8% |
機票場景 | 91.7% |
酒店場景1 | 74.3% |
酒店場景2 | 63.3% |
七、不足和思考
7.1 節點初始權重的計算
每更新一次模型,初始權重都會基于公式(4.1)重新進行計算,即當前模型節點的初始權重只和當前模型有關(每次模型的時間選取為近24小時),沒有去學習歷史的權重結果。實際上,對于歷史模型認為異常的用戶,其特征節點在當前模型中出現時被賦予更高的初始權重可能是更優的方案。
7.2 鄰居影響力
節點的最終權重是根據公式(4.2)進行迭代更新的,從公式可以看出,對于每個節點,每一次權重的迭代是對上一次節點權重的結果加上各鄰居節點權重的平均影響力得到的。若能根據節點連接情況或歷史數據,對不同鄰居的影響力進行加權平均可能是更優的方案。
八、參考文獻
- Zhou J, Cui G, Hu S, et al. Graph neural networks: A review of methods and applications[J]. AI Open, 2020, 1:57-81.
- Liang X, Yang Z, Wang B, et al. Unveiling Fake Accounts at the Time of Registration: An Unsupervised Approach[C]// KDD21: The 27th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. ACM, 2021.
- Wang B, Jia J, Zhang L, et al. Structure-based Sybil Detection in Social Networks via Local Rule-based Propagation[J]. IEEE Transactions on Network Science & Engineering, 2018, PP(99):1-1.