趙翠镕,黃建軍,孫鵬,方勇,祝鵬程
(四川大學網絡空間安全學院,成都610065)
社交網絡平臺已經愈發成為網絡空間安全用戶的聚集地。到2019 年,推特的月活躍用戶達到3.3 億。在如此海量的推特用戶中,存在一些安全技術專家、研究者以及黑客,這些用戶會經常發布分享安全相關的專業知識或者資訊,這些用戶數據對于威脅情報分析、用戶社區分析等研究具有重大價值[1,2]。但如此龐大的用戶規模不可避免地導致了數據過載的問題。在如此海量的推特用戶中,如何準確地發現網絡空間安全領域的用戶是一個值得研究的問題。針對上述問題,本文綜合相似用戶發現和用戶分類檢測技術,設計出一種針對社交網絡中的網絡空間安全領域用戶挖掘模型。
目前許多對社交網絡進行用戶群體的挖掘的工作主要是通過對用戶的社交關系、行為、內容等各種屬性信息來進行研究。
使用分類技術對用戶進行挖掘特別是對社交網絡中的惡意用戶進行挖掘是當下比較熱門的研究點。張曉寬等人[3]以社交網絡用戶地理位置、評論數、時間間隔等信息為特征,使用支持向量機算法訓練分類模型,對用戶進行分類。Aswani 等人[4]結合了社交媒體分析和生物啟發計算,從用戶行為和內容中提取了21 個特征對惡意用戶進行檢測,從而提出了一種新的識別惡意用戶的方法。Adewole 等人[5]在進行惡意用戶檢測的研究時也使用了類似的特征,并給出一種進化搜索算法來篩選特征,并使用了多種分類算法進行實驗,其中隨機森林算法表現最好。劉勘等人[6]通過分析機器用戶的特點,從用戶關系、用戶行為、微博文本、和發布平臺4 個方向提取用戶的特征,并使用隨機森林算法對機器用戶進行識別,取得了不錯的效果。
通過用戶間的相似度進行用戶群體挖掘也是一種常見的研究思路。郁啟麟等人[7]通過微博用戶背景信息、關系和用戶動態話題構建用戶相似度,從而在微博的社交網絡中進行相似用戶群體的發現。Perozzi等人[8]提出一種方法,以一組用戶作為樣本,通過最小化樣本個體之間的距離度挖掘與樣本相似的用戶群體。Wang 等人[9]使用Jaccard 相似度建立了基于用戶行為相似性的檢測模型,實現惡意用戶群體的挖掘。
但目前來說,這兩種針對社交網絡平臺進行用戶群體挖掘的方法還都存在弊端。基于分類檢測的方法需要對用戶集合中的每一個用戶進行分類判別,而對海量的社交網絡用戶直接進行分類,是不可行的。通過相似度進行用戶群體挖掘則無法保證能夠準確得到特定領域的用戶。因此本文結合用戶相似度和用戶分類技術,提出一種方法對推特平臺的網絡空間安全領域的用戶進行挖掘。
為了針對推特平臺構建網絡空間安全領域的用戶挖掘模型,本文首先人工選取少量推特中的網絡空間安全領域用戶作為種子用戶。在構建相似用戶發現模型時,在作者原有的基于社交關系的用戶相似度算法研究成果上,結合基于動態交互信息的用戶相似度算法,通過綜合加權平均,提出一種加權綜合的用戶相似度算法,并利用該算法從用戶的關系網絡中初步提取網絡空間安全相似用戶群體。然后通過用戶分類檢測模型對相似用戶群體進一步進行網絡空間安全分類判別,最終準確得到網絡空間安全領域的用戶。本文提出網絡空間安全領域用戶挖掘模型如圖1 所示。

圖1 網絡安全領域用戶挖掘模型
在推特中用戶的交互行為能夠反映用戶間共同的興趣傾向,這對用戶相似度的計算具有重要意義。推特中用戶使用的交互行為主要包括:轉發(retweet)、評論(comment)、提及(mention)等。一般來說,用戶間的交互相似性通過用戶間的交互次數來表示[11]。對于兩個用戶u,v,用retweet(u,v)表示用戶u 與用戶v 之間轉發行為的次數;同理,將用戶u 與用戶v 之間評論行為的次數記為comment(u,v);用戶u 與用戶v 之間的提及次數記為mention(u,v)。結合以上三種交互信息,用戶間交互強度表示為公式(1):

其中β1,β2,β3表示轉發、評論、提及三種交互行為的權重,且β1+β2+β3=1,在已有的相關研究[11,12]中通常認為評論>轉發>提及。
本文以一個月時間為周期劃分時間片,對用戶交互行劃分時間片,時間片集記為T={T1,T2,…,Tm},對于時間片Ti內的兩個用戶u,v 的交互強度,我們按照公式(3-8)的方法通過時間片Ti內的交互行為次數來計算,記為IntertationTi(u,v)。將所有時間片中用戶之間強度的最大值Interactionmax,以Interactionmax為基準對用戶交互強度做歸一化,其計算公式為:

計算出每個時間片的交互相似度,再采用一定的衰減策略進行累加,當兩個用戶的時間片數量不一致時,選取時間片數量少的用戶為參照。本文使用了指數衰減的策略,基于動態交互信息的用戶相似度計算方法如公式(3)所示:

如果只通過動態交互信息進行相似度計算,則忽略了用戶之間存在的重要社交關系。因此完整的用戶相似度計算是將動態交互信息、用戶社交關系相似度兩個因素進行加權綜合。筆者在已發表的基于社交關系的相似度計算的研究成果的基礎上[10],加權得到最終的用戶相似度公式,公式如(4)所示:

其中RelationSim( u,v )表示基于社交關系的用戶相似度,InsteractSim(u,v)表示基于動態交互信息相似度,ω1,ω2,表示兩者的權重。本文參考已有的研究工作,對用戶各種屬性進行分析并結合實驗給出各類屬性的權重,并在表1 中給出具體各屬性的權重設置。
在加權得到綜合的相似度計算算法,本文通過以下步驟對推特中的用戶進行相似用戶發現:
(1)從給定的推特用戶出發,獲取推特用戶的關注用戶集Follows(u)和粉絲用戶集Fans(u),并通過用戶評論、轉發、@等交互行為,獲得訪客用戶集Visitor(u)。將這三類用戶合并記為用戶u 的候選用戶集合EN(u)。
(2)通過綜合的用戶相似度算法計算用戶u 與EN中每個用戶ui的相似度。
(3)按照相似度大小排序并選取前N 個用戶,得到相似用戶集SimUser(u)。

表1 推特用戶相似度計算權重分配
對于發現的相似用戶,還不能準確地就確認其一定屬于網絡空間安全領域,為了進一步判別其是否屬于網絡空間安全領域,本文在發現相似用戶的基礎上,構建一個網絡空間安全用戶分類檢測模型來對指定的相似用戶進行分類判別。
首先,選擇一定數量網絡空間安全領域用戶以及普通用戶,采集其基本信息、推文等數據。對采集到的用戶數據進行處理,得到用戶模型訓練的數據集。
其次,從用戶基本信息、用戶行為、用戶文本三個方面選擇合適的特征,對于用戶分類來說,所使用的特征是否較好地反映樣本數據中隱含的特性,對于整個分類任務來說至關重要。為了選取合適的特征,本文在全面分析社交網絡平臺用戶信息的基礎上,初步從用戶基本信息、用戶行為和用戶文本內容三個方面篩選了共23 個用戶特征指標用于用戶檢測。初步構建的特征組合如表2,為了進一步優化特征組合,本文使用剔除特征法對用戶特征進行優化,優化后的特征如表3 所示。
最后,在得到優化的特征組合后,本文選擇決策樹、隨機森林、支持向量機三種分類算法進行實驗,選擇效果最好的算法用于構建用戶分類模型。
在確定最優的特征組合和最佳分類算法后,本文構建網絡空間安全領域用戶分類檢測模型,該模型的總體結構如圖2 所示。對于一個推特用戶,在提取各類用戶數據后,構造其特征向量,最后通過分類算法檢測其是否為網絡安全領域的用戶。

圖2 網絡空間安全領域用戶檢測模型

表2 初步特征組合

表3 優化的特征組合
(1)實驗數據
目前,關于推特用戶相似度計還沒有統一的公開數據集,根據需求,本文使用Python 編寫的爬蟲程序自行從推特上采集相關數據。本文在推特中選擇了網絡空間安全領域的10 個用戶作為網絡空間安全種子用戶,并利用其社交關系鏈向外擴展一層,抓取用戶的推文、關注、粉絲數據用于相似用戶發現實驗。
(2)評估指標
對于社交媒體中海量的用戶群體,通常使用評價指標P@N 對相似用戶發現的結果進行評價,即通過計算相似度得分排名前N 的用戶,判斷其中是真正屬于相似用戶的比例。本文將使用用戶文本相似度得到相似用戶序列F(U)作為實驗中的標準答案,待評價的相似用戶序列記為S(U),通過計算F(U)和S(U)的之間的P@N 來衡量相似用戶發現的準確性。序列F(U)和S(U)之間的P@N 計算方法如公式(5)所示:

(3)實驗結果及分析
本文將用基于社交關系的用戶相似度計算算法、基于動態交互信息的用戶相似度計算算法、以及加權構建的綜合用戶相似度計算算法來進行對比試驗。在實驗中,分別取TOP-N 中的N={10,20,30,40,50,60,70,80,90,100}的10 種情況進行計算,以驗證本文提出的加權構建的綜合用戶相似度算法的效果。實驗結果如圖3 所示。

圖3 實驗結果
從實驗結果可以看出,隨著推薦用戶N 的增加,基于加權構建的綜合相似度算法性能相較于兩種單獨屬性構建的相似度算法來說,P@N 分值始終更高,具有更好的相似的用戶發現效果。
(1)實驗數據
由于目前還沒有發現推特中網絡空間安全領域用戶的公開數據集,因此本文從推特平臺上選擇了一些網絡空間安全領域的專家,并對列表中的用戶進行人工篩選,通過篩選獲得1000 用戶作為網絡空間安全領域用戶樣本。為了數據集平衡,本文在其他領域隨機選擇了1000 普通用戶作為普通用戶樣本。然后使用開發的數據采集程序抓取所選擇的2000 用戶的基本信息和用戶發布的推文信息用于實驗。
(2)評估指標
本文將決策樹、隨機森林、支持向量機三種分類算法用于實驗進行對比。使用三種常見的分類模型評價指標準確率(Precision)和召回率(Recall)、F1 度量值(F1-measure,簡稱F1)作為衡量用戶檢測結果的評估指標,并采用10 折交叉驗證。
(3)實驗結果與分析
本文使用了前面所介紹的三種分類算法和三類用戶特征用于網絡空間安全領域用戶檢測的實驗。其實驗結果如表4 所示。

表4 全部特征實驗結果
通過實驗結果可以明顯地發現,在三類特征中,用戶文本特征的準確率、召回率、F1 值等指標最高,其用戶檢測效果最好,用戶行為特征的其次,用戶基本信息特征的分類效果最差。在三種分類算法中,隨機森林的分類效果最好,在三種特征上用戶檢測效果均高于其他兩種算法。而支持向量機算法的效果最差,特別是在用戶基本信息特征和行為特征中幾乎無法完成用戶分類任務。因此我們選擇隨機森林作為網絡空間安全領域用戶識別模型的分類算法。
本文從推特上選擇10 個用戶作為種子用戶,作為模型的輸入進行網絡空間安全領域用戶挖掘,并對本文提出的模型進行驗證和測試。本文人工選擇了網絡空間安全領域的10 個用戶作為種子用戶進行領域用戶挖掘。
以這10 個用戶為種子用戶進行網絡空間安全領域用戶挖掘得到的結果如表5 所示。

表5 以10 個種子用戶為起始的挖掘結果
10 個種子用戶的關注、粉絲和訪客用戶數據構建待處理的候選用戶集中共包括20923 個用戶。在數據采集模塊采集這些用戶數據后,通過加權綜合的用戶相似度算法從每個用戶中獲取相似度最高的200 個用戶,最終共得到2000 個相似用戶;最后通過用戶分類檢測模型對相似用戶集進行進一步分類檢測,最終挖掘到網絡空間安全領域用戶524 個。我們從10 個推特用戶出發,最終獲取網絡空間安全領域的推特用戶524 個,用戶規模擴大50 倍,通過說明本模型可以有效地從社交網絡中發現網絡空間安全領域用戶。
本文針對社交網絡中網絡空間安全領域用戶的挖掘方面做了一定的研究,設計并實現了網絡空間安全領域用戶挖掘模型。但仍然存在一些問題和不足,值得在日后工作中進行更深入的研究。在該領域的工作可以從以下幾點進行深入和改進:
(1)在網絡空間安全領域用戶的識別的研究中,還存在更多的潛在的用戶信息值得作為用戶分類模型的特征,在后續的工作中應深入研究用戶分類的特征工程,并對特征組合進行進一步優化。
(2)本文主要對網絡空間安全領域用戶進行挖掘,在今后的工作中,可以在已有研究的基礎上擴展到其他領域進行用戶挖掘技術的研究。