徐智誠,李 響,毛 劍,劉建偉,周志洪
(1.北京航空航天大學 網絡空間安全學院,北京 100191;2.上海交通大學 上海市信息安全綜合管理技術研究重點實驗室,上海 200240)
分布式計算應用架構打破了傳統(tǒng)客戶端/服務器的模式。以對等網絡(Peer to Peer network,P2P)為例的分布式架構中,每個節(jié)點的地位都是對等的,既可以作為服務器提供服務,同時也可以享用其他節(jié)點提供的服務。分布式架構應用廣泛,隨著物聯網、Web 2.0等技術的飛速發(fā)展,越來越多的應用網絡采用分布式結構,如物聯網中硬件設備構成的傳感器網絡、社交網絡當中的點評系統(tǒng)等,在人們的社會生活中影響廣泛,同時也存在著各種安全隱患,其中,Sybil攻擊即是分布式網絡中的典型安全威脅之一。
Sybil攻擊最早由DOUCEUR[1]于2000年提出,也被稱為多重身份攻擊,即通過創(chuàng)造多個匿名虛假的身份來對分布式架構進行控制。Sybil攻擊最早出現在無線傳感器網絡當中,由于硬件設備間缺乏相互認證的協議,也缺乏對節(jié)點的集中式管理,極易發(fā)生Sybil攻擊。許多在線社交網絡(OSN)也容易發(fā)生Sybil攻擊,在互聯網投票中,Sybil攻擊者可以使用不同的IP地址多次投出選票,達到影響投票結果的目的。此外,還有分發(fā)垃圾郵件和惡意軟件,獲取個人用戶信息,操縱搜索結果等惡意行為[2]。在不同分布式架構場景中,Sybil攻擊的形式會不同。在硬件網絡中,Sybil攻擊主要針對通信協議等進行硬件身份的偽裝,例如硬件地址等,繞過或欺騙節(jié)點間的認證,繼續(xù)活動[3];在社交網絡等虛擬網絡當中,Sybil攻擊主要進行用戶身份的偽裝,對人機檢驗、賬戶審查等安全檢測環(huán)節(jié)進行繞過,偽裝成正常用戶。
Sybil攻擊通過仿冒節(jié)點破壞分布式網絡架構中的信任環(huán)境,因此相關攻擊防御的研究重點則在于對Sybil節(jié)點的檢測,即如何區(qū)別Sybil節(jié)點和正常節(jié)點。通常的檢測思路是在網絡早期活動中發(fā)現Sybil實體的行為特征,對Sybil節(jié)點進行識別,及時隔離Sybil節(jié)點/惡意行為[4]。硬件網絡中可以使用資源檢查、位置驗證以及協議中加入預分發(fā)密鑰等方法進行防御[5];在虛擬網絡中,可以使用用戶行為監(jiān)測等方法進行檢測。但在防御過程中,Sybil攻擊也可能會對檢測手段進行對抗[6],這增加了防御難度,也導致檢測和識別Sybil攻擊的方法向更細粒度的趨勢發(fā)展。
筆者對分布式架構中的Sybil攻擊以及防御措施進行了分析研究。首先對不同場景下的Sybil攻擊進行探討,結合不同應用架構的特點,對Sybil攻擊進行分析,并嘗試描述對應場景下的Sybil攻擊模型;然后對Sybil防御機制進行研究。除了常用的檢測思路之外,對社交網絡這一類典型的分布式架構中的Sybil檢測方法進行總結分析;最后對Sybil攻擊及防御的研究趨勢進行展望。
分布式架構缺少認證機制和對節(jié)點的集中管理,因此容易遭受Sybil攻擊。Sybil攻擊早期主要出現在Ad Hoc網絡、無線傳感器網絡等中[7-8]。隨著分布式架構應用場景的不斷延伸擴展,社交網絡、車聯網以及區(qū)塊鏈中也出現了Sybil攻擊[9-11]。不同攻擊場景中Sybil攻擊的形式各有不同。本節(jié)重點分析在應用服務方面的3種典型Sybil攻擊場景,包括分布式網絡的無線傳感器網絡、移動自組織網絡以及分布式服務類型的社交網絡。
1.1.1 無線傳感器網絡中的Sybil攻擊
無線傳感器網絡(Wireless Sensor Network,WSN)是由部署在監(jiān)測區(qū)域內大量的微型傳感器節(jié)點組成的,通過無線通信方式形成的一個多跳自組織的網絡系統(tǒng)。傳感器、感知對象和觀察者構成了無線傳感器網絡的3個要素[7,12],大部分無線傳感器網絡采用OSI架構模型[13]。
大規(guī)模、異構、資源受限和缺乏抗篡改性的硬件設備給WSN帶來很大的安全挑戰(zhàn)。在WSN中,相互合作的無線設備節(jié)點間基于信任機制使用Zigbee等協議組網,組網協議大多依賴于攻擊者數量有限這一前提假設[8]。在沒有保證路由安全的協議(如DSR、AODV等)中,允許未經身份驗證的地址出現,Sybil攻擊通過惡意偽造設備節(jié)點或非法控制設備節(jié)點等方式,很容易就能破壞網絡。而為無線傳感器網絡設計的一些安全方案也存在不足:① 基于PKI的安全路由協議,加入監(jiān)管節(jié)點將加密信息分發(fā)到各節(jié)點,降低了網絡的靈活性,這個過程中,如果系統(tǒng)允許節(jié)點在未預先分發(fā)密鑰的情況下進行連接,仍會存在Sybil攻擊的可能;② 聲譽機制如RFSN等[14-15],建立生成和維護節(jié)點聲譽信息的協議,使節(jié)點只能在具有良好聲譽的其他節(jié)點中傳遞信息,而Sybil攻擊通過多個具有良好聲譽的身份為一個惡意節(jié)點提供擔保的方式,可以削弱聲譽機制的有效性[16];③ 基于可信閾值的協議[17],要求在分發(fā)加密信息時,只有當網絡中的一部分成員對節(jié)點可信度達成一致時才進行,即為節(jié)點的可信度設定了成員認可的閾值。由于缺少對網絡中節(jié)點的真實數目和獨立性的驗證,一旦Sybil攻擊者能夠生成滿足閾值要求數量的成員,就可以有效地控制網絡的路由[16]。
在無線傳感器網絡中,Sybil攻擊的目標[18]有分布式存儲系統(tǒng)、路由表、設備信息、合法節(jié)點投票行為、無線信道等資源分配、違規(guī)行為檢測機制[19]。在Sybil攻擊中,單個惡意節(jié)點可偽造多個Sybil節(jié)點,這些Sybil節(jié)點與誠實節(jié)點的身份不同,通常在IP地址、MAC地址以及公鑰等身份特征出現重復的情況;但是使用單個節(jié)點的資源模擬多個身份會在計算、存儲或帶寬方面存在限制。因此,Sybil節(jié)點在傳輸中的行為會呈現某種特性,在對網絡多個間隔時間的觀察中,通過分析傳輸數據,如路由請求和應答等信息,可以發(fā)現來自同一節(jié)點的經常一起出現而很少分開的Sybil身份[16]。
1.1.2 移動自組織網絡中的Sybil攻擊
移動自組織網絡(Mobile Ad-hoc NETwork,MANET)是一種分布式、自治、多跳網絡,具有移動性。MANET中的每個用戶終端都兼有路由器和主機兩種功能,作為主機,終端可以運行各種面向用戶的應用程序;作為路由器,終端需要運行相應的路由協議[20-21]。
MANET中數據傳輸的安全性和節(jié)點標識的惟一性密切相關[22],但是MANET難以進行集中身份認證,且每個節(jié)點不存儲其他節(jié)點的硬件地址等物理信息,節(jié)點間只能根據通信信道中的傳輸信息(如請求、響應消息等)進行交互;每個實體對其他實體的感知只來自于通信信道的消息,缺少集中的身份驗證;單一惡意設備在通信過程中可以使用多個虛假身份(即Sybil節(jié)點);這些Sybil節(jié)點對應的物理實體為同一個惡意設備,當合法節(jié)點向這些Sybil節(jié)點發(fā)送數據時,實際的目標節(jié)點均為同一個惡意設備。在MANET中,Sybil攻擊的目的是影響網絡傳輸效果,主要攻擊移動設備、數據包、路由等目標。
1.1.3 社交網絡中的Sybil攻擊
隨著Web 2.0應用的發(fā)展,社交網絡(Online Social NETwork,OSN)的用戶規(guī)模不斷擴大,其開放性為人們提供了交互、共享信息和擴散社交影響的便利。社交網絡也是一種分布式網絡架構,采用分布式的信任模型[1]對網絡進行監(jiān)管,在缺少中心化的控制管理的情況下來保障用戶和信息內容的可信性。為了保持用戶的隱私性和社交網絡的開放性,用于身份驗證的中央機構通常是缺少的,容易遭受Sybil攻擊。社交網絡中對惡意身份的審查,主要通過人機檢測、人工審核等方式,效率低的同時也缺乏有效性。一旦Sybil攻擊者可以將賬戶行為偽裝成正常用戶,這些方法就無法有效識別出惡意身份。在社交網絡中,Sybil攻擊的目標主要是輿論、郵箱、私人數據等信息,例如,在社交網絡發(fā)布評論或點評對相關熱點事件造成不良影響等。Sybil身份是攻擊者創(chuàng)建的賬號或竊取的正常用戶的賬號,攻擊者可以利用這些Sybil身份進行各種惡意活動。在虛擬網絡平臺下,賬號獲取的成本往往很低,較低的攻擊成本也導致Sybil攻擊演變成了社交網絡中一種常見的攻擊方式。
Sybil攻擊可以從3個維度進行衡量[19]:① 通信方式,包括直接通信和間接通信,指Sybil節(jié)點是否和良性節(jié)點直接進行通信;② 獲取身份的方式,具體包括竊取良性節(jié)點的身份和偽造身份兩種方式,在簡單的情形下,身份可以隨意偽造,但是當網絡采用適當的節(jié)點身份識別機制后,攻擊者需要竊取正常節(jié)點的身份來進行身份偽裝;③ 時間同步性,指所有Sybil節(jié)點是否同步參與攻擊,攻擊者可以采用所有Sybil節(jié)點同步參與攻擊的方式,也可以采用部分Sybil節(jié)點參與攻擊的方式,或令多個Sybil節(jié)點交換身份以使Sybil節(jié)點在不同時間表現不同身份。由于在不同Sybil攻擊場景中,Sybil節(jié)點的攻擊形式有所不同,研究者針對不同的Sybil攻擊場景建立了不同的攻擊模型。
圖1 WSN中Sybil攻擊模型
在無線傳感器網絡中,網絡中的所有節(jié)點都可能被破壞。攻擊模型如圖 1所示,傳感器設備實體相互間建立通信關系;在網絡中存在兩種類型的節(jié)點:Sybil實體和正常實體,每個Sybil實體可以偽造多個身份,Sybil實體欺騙網絡中的正常實體,偽造出有很多鄰居的假象,使路由機制無法正常發(fā)揮作用[18,23]。
在移動自組織網絡中,主要考慮Sybil攻擊的時間同步性,即所有的Sybil身份是否同時進行攻擊。攻擊模型如圖 2 所示,移動設備實體間的通信關系與網絡中身份間的通信關系一致,由于移動設備地址限制等條件,Sybil在網絡中只能使用單一身份。MANET中節(jié)點可以任意創(chuàng)建標識符,因此攻擊模型不考慮竊取正常節(jié)點身份的Sybil攻擊。
社交網絡的Sybil攻擊模型如圖 3所示,正常用戶通常只會擁有一個賬戶身份,而Sybil用戶則可能擁有多個身份。這是因為社交網絡中的賬戶創(chuàng)建通常是免費的,導致Sybil攻擊成本很低,Sybil節(jié)點的身份數量會較多,甚至會出現Sybil賬戶數量大于正常賬戶的情況。在針對社交網絡中,Sybil攻擊的研究通常假設Sybil節(jié)點和正常節(jié)點間的聯系是有限的[24-25]。然而,近期的研究發(fā)現,Sybil節(jié)點可以利用社交機器人、反向社會工程學攻擊等手段與正常節(jié)點間建立大量聯系,且攻擊成本較低,這更增加了對Sybil節(jié)點識別的難度。
圖2 移動自組織網絡中Sybil攻擊模型
Sybil攻擊的常用防御機制通常關注身份認證、身份檢測等角度,在無線傳感器網絡和移動自組織網絡中,針對硬件的檢測手段較成熟;社交網絡中的Sybil攻擊更加隱蔽,且在用戶規(guī)模較大的場景中,較難部署用戶身份認證等機制。本節(jié)以社交網絡為例,重點研究分析社交網絡中的Sybil攻擊防御機制。
可信認證是早期被認為防御Sybil攻擊的最佳方案之一[26]。該方案引入一個中央權威機構來確保實體和身份的惟一對應關系。該方法是防御Sybil攻擊的理想方法,DOUCEUR證明其是惟一可能完全消除Sybil攻擊的方法[1]??尚耪J證涉及到節(jié)點間的信任關系,因此信任模型被運用到Sybil的防御當中[27],通過建立第三方可信實體的方式,加密每個節(jié)點與第三方可信實體的通信,來對節(jié)點進行認證。但該方法在實現中存在很多問題,如保證實體和身份的惟一映射關系,撤銷被盜或丟失的身份,引入可信第三方,這些功能的實現會產生較大的開銷成本,且實體與第三方機構的身份驗證過程可能面臨中間人攻擊、對稱攻擊等風險。
資源測試是無線傳感器網絡等硬件網絡中使用最廣泛的Sybil攻擊防御技術之一。該方法基于網絡中實體的資源利用率進行攻擊檢測[27-29]。傳感器網絡中每個實體的資源如能量、內存空間、計算能力、帶寬和信道容量等都是有限的。驗證者比較實體所使用的資源數量與該實體所擁有的資源數量,若兩者出現差異,則該實體存在不正常的使用行為,可能為Sybil實體。這種方法假設每個節(jié)點只有一個通道,并且不能在多個通道上同時發(fā)送和接收,但在實際測試過程中產生的開銷較大。
從增加攻擊者成本的角度防御Sybil攻擊收取反復費用[30-31]。大多數網絡中創(chuàng)建身份只收取一次性費用。當攻擊者使用身份偽造的方式進行Sybil攻擊時,為擴大攻擊的影響范圍,需要創(chuàng)建大量Sybil身份,從而產生高昂的攻擊成本,提高了Sybil攻擊的難度。
位置驗證是無線自組織網絡中的一種Sybil攻擊防御方法[32],其主要原理為網絡中的同一個地理位置不應該同時存在兩個或多個節(jié)點。攻擊者通過惡意節(jié)點創(chuàng)建的多個Sybil節(jié)點,其實際地理位置均為該惡意節(jié)點的所在位置,通過三角測量、多點定位等位置驗證的方法,檢測每個地理位置的節(jié)點數,可以識別出Sybil節(jié)點[33]。但基于位置驗證的方法存在一定的局限性,MANET中節(jié)點的高移動性和高密度性可能會產生較高的誤報率[34],必須要求較高精度的定位方式以及較快的傳感器信號傳輸速度;且該方法依賴于無線電信號,信號測量的準確程度是決定檢測精度的重要因素。
在硬件網絡中,硬件節(jié)點的身份認證通常有實體要素可以作為參考,如設備資源、地理位置等;但在社交網絡中節(jié)點為虛擬節(jié)點,且存在隱私策略,因此硬件網絡中的防御機制不適用于社交網絡。
隨著社交網絡影響力的不斷擴大,數十億用戶通過社交網絡建立網絡連接和互動。社交網絡的流行性給用戶個人信息帶來一定的安全威脅,攻擊者可以通過虛假賬號獲取用戶的敏感信息,如照片、視頻、電話號碼、家庭住址等;同樣,攻擊者也可以通過虛假賬號向用戶暴露錯誤信息,導致惡意內容的傳播。如今,社交網絡已經成為了Sybil攻擊的重災區(qū),針對社交網絡中Sybil攻擊防御的研究工作越來越多。其中主流的Sybil攻擊防御方案可分為基于節(jié)點特征的檢測方法和基于拓撲結構的檢測方法。
2.2.1 基于節(jié)點特征的檢測
基于節(jié)點特征的Sybil攻擊檢測方法通常利用機器學習算法對用戶進行分類,其核心是從用戶行為數據和賬號信息中提取能夠區(qū)分正常用戶和Sybil用戶的特征。檢測方法可分為有監(jiān)督檢測和無監(jiān)督檢測。有監(jiān)督檢測通常使用已知用戶的特征訓練分類器,進而識別Sybil用戶;無監(jiān)督檢測則根據不同的特征對用戶進行聚類。
在社交網絡中,Sybil用戶的一個共同目標是添加大量好友以盡可能擴大惡意活動的影響范圍。對應的Sybil用戶行為主要有:Sybil用戶發(fā)送大量的添加好友請求,接受所有其他用戶的添加好友請求。YANG等人[9]關注社交網絡中用戶的添加好友行為,并從賬戶資料、日志等信息中提取出4個主要特征:邀請頻率、發(fā)出邀請的被接受率、接收邀請的接受率和聚類系數。早期對Sybil攻擊場景的研究發(fā)現[9]:Sybil用戶發(fā)送邀請的頻率較高,但其邀請的被接受率較低,主要原因是Sybil用戶的邀請對象大多為陌生用戶,而正常用戶間更傾向邀請熟悉的用戶;Sybil用戶對接收到邀請的接受率明顯高于正常用戶;聚類系數反映了用戶與好友間連接的緊密程度,Sybil用戶的聚類系數通常小于正常用戶。YANG等人使用包含標簽信息的人人網數據集訓練SVM分類器,分類器的準確度可以達到99%,且該方法在現實網絡中可實現部署。由于社交網絡中普遍存在Sybil用戶建立大量社交連接的現象,多數Sybil攻擊檢測方法[35-37]都會使用類似特征。
在社交網絡中對用戶行為分析的研究發(fā)現,Sybil用戶和正常用戶的行為模式存在較大差異[38-39]。Sybil用戶往往以高頻率進行幾種特定的活動,而正常用戶的活動種類復雜多樣,且狀態(tài)間的轉換較為復雜,如圖4所示。WANG 等人[40]用點擊流表示用戶的行為序列,提出一種基于用戶點擊流特征的Sybil攻擊檢測方法。點擊流是用戶對網站發(fā)出的HTTP請求的序列。該方法通過服務商提供的點擊流日志,構建用戶的點擊流序列:記錄點擊動作出發(fā)的操作,如添加好友、訪問主頁、發(fā)送消息、訪問博客等操作;記錄點擊狀態(tài)的特征,如每個操作的平均點擊數、點擊中的時間間隔、每天的點擊數等。該方法通過計算Jaccard系數以及歐氏距離,得出點擊流序列的距離以及和公共序列的距離,將相似用戶劃分為行為集群,進而檢測出異常行為和Sybil用戶。
圖4 Sybil用戶和正常用戶的行為模式示例
定位技術的成熟催生了基于位置的社交網絡,其典型應用場景是評價系統(tǒng)。評價系統(tǒng)中的Sybil攻擊通常表現為,攻擊者雇傭大量Sybil賬號對目標對象發(fā)布虛假評論或進行虛假打分,影響目標對象的系統(tǒng)評分。評價系統(tǒng)中用戶的社交屬性相對較弱,用戶間連接稀疏,因此上述基于用戶間社交關系特征的檢測方法不適用于評價系統(tǒng)。ZHENG 等人[6]基于用戶的評論數據提出了一種分層的Sybil用戶檢測系統(tǒng)。首先從評論對象、評論等級和評論時間度量任意兩條評論的關聯性,基于兩個用戶所有評論的關聯性來度量用戶間的相似性;然后根據用戶間的相似性構建圖結構,利用社區(qū)檢測算法檢測出用戶間的社區(qū)結構;再從社區(qū)內用戶的評論數據中提取特征,利用有監(jiān)督的機器學習算法對社區(qū)進行分類,即Sybil社區(qū)和正常社區(qū),進而檢測出Sybil用戶和正常用戶;最后為避免產生漏報,提取Sybil用戶評論行為的時間窗口,將正常用戶的評論時間與時間窗口進行對比,當存在多次重合時,將該正常用戶檢測為Sybil用戶。除評論數據外,一些研究將地理位置信息用于Sybil用戶的檢測。人類流動性的相關研究[41]表明,94%的人的日常活動限制在小于100 km的有限區(qū)域內。評價系統(tǒng)中正常用戶和Sybil用戶的移動模式完全不同,Sybil用戶可能為超出其活動區(qū)域的對象發(fā)布虛假評論。ZHANG 等人[42]引入位置熵(即用戶每日覆蓋圓的半徑)度量用戶的移動模式,并將該特征與傳統(tǒng)評論數據(如最大的日轉發(fā)評論量、平均評分等)特征結合,提出了一種基與節(jié)點地理位置的Sybil用戶檢測模型。目前基于位置的社交網絡已成為人們日常生活中的便利工具,基于地理位置信息的Sybil攻擊檢測的研究也成為研究熱點。DENG等人[43]提取用戶的家庭住址和用戶評論店鋪的地理位置間的距離特征,發(fā)現正常用戶和Sybil用戶呈現出不同的規(guī)律。GONG等人[44]針對基于位置的社交網絡中豐富的時空信息,利用深度學習算法提取用戶的細粒度活動進行時間序列分析,以描述用戶的活動歷史,并結合常規(guī)的惡意特征用于檢測Sybil用戶。
表1 基于節(jié)點特征的代表性Sybil攻擊檢測方法
表1從特征類別、關鍵算法和應用場景3個角度對目前的基于節(jié)點特征的代表檢測方法進行對比分析?;诠?jié)點特征的Sybil攻擊檢測方法依賴已知Sybil用戶的特征來識別未知Sybil用戶,因此攻擊者可以通過逆向改變Sybil用戶的行為來輕松地逃避檢測。此外,這類檢測方法對應用場景有一定限制,社交網絡復雜多樣,不同的社交網絡存在不同的特征,因此基于節(jié)點特征的檢測方法的通用性一般較差,往往一種方法只能應用于部分場景;這類方法利用大量用戶信息進行Sybil用戶檢測,部分方法還需要地理位置等敏感信息,可能會導致用戶隱私泄露和信息濫用問題。
2.2.2 基于拓撲結構的檢測
基于拓撲結構的Sybil攻擊檢測方法通常把社交網絡建模成社交圖G=(V,E),在給定社交圖和部分標簽已知節(jié)點的情況下,利用社交圖的結構特性檢測Sybil用戶和正常用戶。在社交圖G=(V,E)中,節(jié)點表示用戶,邊表示對應用戶間的連接關系,V和E分別為社交圖中節(jié)點和邊的集合?;谕負浣Y構的檢測方法對社交圖的結構假設依賴性較強,包括以下兩個關鍵假設[25]。
(1) 社交圖存在Sybil域和正常域,且兩個域之間的連接較為稀疏。在Sybil攻擊模型中,Sybil域和正常域之間的邊明顯少于各域內部的邊,即攻擊邊的數量有限,因此該假設也被稱為有限攻擊邊假設[45]。
(2) 正常域是快速混合的,即隨機游走從初始狀態(tài)到穩(wěn)態(tài)所需的步數較少。
基于拓撲結構的經典檢測方法通常根據用戶間的社交關系建立無向圖G=(Vu,Euu),其中,節(jié)點表示用戶,Vu為所有用戶節(jié)點的集合;無向邊表示用戶間的社交關系(好友關系、關注關系等);Euu為所有用戶邊的集合。YU等人提出的SybilGuard[24]和SybilLimit[46]是最早的基于拓撲結構的Sybil攻擊檢測方法,這兩種方法根據用戶間的好友關系構建社交圖。SybilGuard假設攻擊邊數量有限,利用隨機路由算法(隨機游走算法的一種變形)檢測Sybil節(jié)點:從所有節(jié)點出發(fā)各建立m條隨機路徑。其中,從已知可信節(jié)點出發(fā)的m條隨機路徑為驗證器;當未知節(jié)點的隨機路徑與驗證器相交時,該路徑被驗證為可信路徑;當未知節(jié)點的較多路徑被驗證時,該節(jié)點被檢測為正常節(jié)點。SybilLimit的工作原理和SybilGuard的相似,兩種方法的誤報率較高,且不能同時檢測多個Sybil節(jié)點,在用戶量極大的社交網絡中檢測效率較低。CAO等人[25]提出的SybilRank檢測方法根據用戶間的關注關系構建社交圖,對已知可信的種子節(jié)點分發(fā)信任,使用隨機游走算法在社交圖上進行信任傳播,根據節(jié)點的最終信任值對節(jié)點進行分類,其中節(jié)點的信任值表示節(jié)點為正常節(jié)點的可能性。基于上述兩個關鍵假設,正常域的混合時間明顯小于整個社交圖的混合時間,因此SybilRank使用一種提前終止的隨機游走算法,當正常域接近穩(wěn)態(tài)時,停止迭代,總迭代次數ω=O(logn)。SybilRank的準確率較高且具有較好的可拓展性,可應用于大規(guī)模的社交網絡場景,是一種代表性的基于拓撲結構的檢測方法,之后的大多數使用隨機游走的Sybil攻擊檢測方法[36,45,47]都是SybilRank的改進工作。
然而,研究發(fā)現,出于對抗社交網絡平臺防御策略和擴大惡意活動影響力的目的,攻擊者的Sybil攻擊策略日趨復雜。攻擊者通過社會工程學攻擊[48]、社交機器人[36]等手段誘騙正常用戶與其建立社交連接,以低成本建立大量攻擊邊。拓撲結構的關鍵假設不一定成立,使得經典檢測方法的準確率明顯降低[35,49]。為了提高基于拓撲結構的檢測方法的性能,一些工作進一步擴展了社交圖模型,如添加部分標簽信息、用戶行為信息等。
基于拓撲結構的檢測方法的輸入包括部分標簽已知的節(jié)點,且經典方法中通常只使用標簽已知的正常節(jié)點作為種子節(jié)點。一些研究工作發(fā)現,基于拓撲結構的檢測方法對標簽噪聲的敏感性較高,種子節(jié)點的類別以及其在社交圖中的分布對檢測準確率有一定影響。為了更好地利用已知的標簽信息,GONG等人提出了SybilWalk方法[50],在對社交網絡的建模過程中,將已知的標簽信息加入到拓撲結構中,構建一個標簽增強型的社交圖G=(Vu,Vl,Euu,Eul)。其中,Vu為用戶節(jié)點的集合;Euu為所有用戶邊的集合;Vl為標簽節(jié)點的集合,標簽節(jié)點只有l(wèi)s和lb兩個,分別表示Sybil標簽和正常標簽;標簽已知的用戶節(jié)點與對應標簽節(jié)點間建立一條無向的標簽邊;Eul為所有標簽邊的集合。SybilWalk的核心算法也是隨機游走算法,計算節(jié)點的可疑分數用于節(jié)點分類,可疑分數表示用戶節(jié)點為Sybil節(jié)點的可能性。所有用戶節(jié)點的初始可疑分數設為0.5,在迭代過程中不斷進行可疑分數的更新;而兩個標簽節(jié)點ls和lb的可疑分數分別為1和0,在整個迭代過程中固定不變。標簽增強型社交圖在原始拓撲結構的基礎上同時整合了兩類標簽信息,用于Sybil攻擊檢測可以提高對標簽噪聲的魯棒性,目前SybilWalk在使用隨機游走的同類算法中魯棒性較好[45]。
隨著社交網絡服務種類的不斷增多,攻擊者利用大量Sybil賬號進行復雜多樣的惡意活動,如在線評價系統(tǒng)中的虛假評論、社交媒體的謠言傳播、垃圾郵件等,產生了大量的攻擊行為?;谕負浣Y構的經典檢測方法大多根據用戶間的社交關系對社交網絡建模,只關注單一種類的Sybil攻擊行為。為了充分地利用Sybil的攻擊行為信息,一些研究工作在社交網絡的拓撲結構中加入用戶行為信息,進一步提高Sybil攻擊檢測方法的性能。如ZHANG等人[45]提出一種社交-活動圖G=(Vu,Va,Euu,Eua,Eaa),將用戶行為信息轉變成結構信息,進而表示社交網絡中用戶和活動之間的復雜關系。社交-活動圖是一個混合圖,其中,Vu和Euu分別為用戶節(jié)點和用戶邊的集合;Va為活動節(jié)點的集合,Eua和Eaa為有向邊的集合,分別表示用戶與活動之間和活動間的關系。ZHANG等人將社交-活動圖用于Sybil節(jié)點檢測,相較于經典的基于拓撲結構的檢測方法,其準確率有明顯的提升。另一種角度是將用戶行為信息轉變成節(jié)點或邊的屬性信息。如GONG等人提出的SybilFuse檢測方法[51],將社交網絡建模為社交圖G=(Vu,Euu);對用戶行為信息進行特征提取,利用機器學習算法學習得到用戶的可信度和用戶對的同質性分數;將這些值分別設置為節(jié)點的初始信任值和邊的權重;根據上述信息,在社交圖上利用加權隨機游走算法進行信任傳播,計算節(jié)點的信任值用于節(jié)點分類,或利用循環(huán)置信傳播進行節(jié)點分類。
表2中,Euu表示用戶間的連接,Eul表示用戶與標簽的綁定,Eua表示用戶與活動間的從屬關系,Eaa表示活動間的關系;種子節(jié)點中N表示正常節(jié)點,B表示正常節(jié)點和Sybil節(jié)點;關鍵算法中RW表示隨機游走,CD表示社區(qū)檢測,LBP表示循環(huán)置信傳播,ML表示機器學習。
表2對基于拓撲結構的幾種代表性Sybil攻擊檢測方法進行了對比分析。大多數基于拓撲結構的檢測方法根據用戶間的社交關系,構建基礎的社交圖作為系統(tǒng)模型,并利用隨機游走算法在社交圖上進行Sybil節(jié)點檢測。這類方法通常依賴于有限攻擊邊假設,一些研究發(fā)現,對社交圖進行適當的圖形處理可以減弱大量攻擊邊對檢測準確性的影響[49-50],如構建社交圖的強連接圖可以刪除大量的攻擊邊,同時保留同類用戶間的結構關系,經典檢測方法在強連接圖上依然可以實現較好的檢測有效性[49]?;谕負浣Y構的檢測方法將部分標簽已知的節(jié)點作為種子節(jié)點,早期的檢測方法通常只選擇正常節(jié)點作為種子節(jié)點,近期方法的種子節(jié)點包括正常節(jié)點和Sybil節(jié)點兩類。實驗結果表明,使用兩類節(jié)點作為種子節(jié)點的方法,其準確率優(yōu)于使用單一類別種子節(jié)點的方法[47,45]。
表2 基于拓撲結構的代表性Sybil攻擊檢測方法
經典的基于拓撲結構的Sybil攻擊檢測方法依賴對拓撲結構的強假設,當關鍵結構假設不成立時,檢測性能明顯降低?;诠?jié)點特征的Sybil攻擊檢測方法對應用場景有很強的敏感性,不同社交網絡中用戶特征不同,使得這類方法的通用性較差;其次檢測準確性與特征的魯棒性有關,一旦攻擊者破解出檢測方法使用的惡意特征,就可以有針對性地改變其行為以繞過檢測;此外,大量用戶信息的收集和使用可能導致隱私泄露和信息濫用等安全問題。在社交網絡拓撲結構中加入用戶行為信息的混合Sybil攻擊檢測方法,可以彌補兩類方法各自的不足,將靜態(tài)的拓撲結構和動態(tài)的行為信息結合,將Sybil節(jié)點的攻擊行為細粒度化,提高了Sybil攻擊檢測方法的魯棒性,同時也提高了攻擊者的攻擊成本。這種混合Sybil攻擊檢測方法將稱為未來社交網絡中Sybil攻擊檢測的一個主流方向。
筆者對分布式架構中的Sybil攻擊進行了討論,介紹了不同應用場景下的Sybil攻擊模型以及常用防御方法,并以社交網絡為例,重點分析了社交網絡中的Sybil攻擊防御機制,包括基于節(jié)點特征的檢測方法和基于拓撲結構的檢測方法,從關鍵算法、假設、特征類型、系統(tǒng)模型等多個角度對代表性的Sybil攻擊檢測方法進行對比分析。分布式架構中的Sybil攻擊從早期的硬件設備向虛擬身份蔓延,Sybil攻擊將是長期存在于分布式架構中的安全威脅,具有較高的研究價值。Sybil攻擊的防御工作主要關注Sybil節(jié)點的檢測,目前的大部分檢測方法在不同平臺間是否適用仍存在不確定性,誤報漏報問題也一直存在。后續(xù)的研究可以針對這些問題展開。