分布式架构中的Sybil攻击及防御综述

2021-01-29 04:22徐智诚刘建伟周志洪
西安电子科技大学学报 2021年1期
关键词:攻击者分布式身份

徐智诚,李 响,毛 剑,刘建伟,周志洪

(1.北京航空航天大学 网络空间安全学院,北京 100191;2.上海交通大学 上海市信息安全综合管理技术研究重点实验室,上海 200240)

分布式计算应用架构打破了传统客户端/服务器的模式。以对等网络(Peer to Peer network,P2P)为例的分布式架构中,每个节点的地位都是对等的,既可以作为服务器提供服务,同时也可以享用其他节点提供的服务。分布式架构应用广泛,随着物联网、Web 2.0等技术的飞速发展,越来越多的应用网络采用分布式结构,如物联网中硬件设备构成的传感器网络、社交网络当中的点评系统等,在人们的社会生活中影响广泛,同时也存在着各种安全隐患,其中,Sybil攻击即是分布式网络中的典型安全威胁之一。

Sybil攻击最早由DOUCEUR[1]于2000年提出,也被称为多重身份攻击,即通过创造多个匿名虚假的身份来对分布式架构进行控制。Sybil攻击最早出现在无线传感器网络当中,由于硬件设备间缺乏相互认证的协议,也缺乏对节点的集中式管理,极易发生Sybil攻击。许多在线社交网络(OSN)也容易发生Sybil攻击,在互联网投票中,Sybil攻击者可以使用不同的IP地址多次投出选票,达到影响投票结果的目的。此外,还有分发垃圾邮件和恶意软件,获取个人用户信息,操纵搜索结果等恶意行为[2]。在不同分布式架构场景中,Sybil攻击的形式会不同。在硬件网络中,Sybil攻击主要针对通信协议等进行硬件身份的伪装,例如硬件地址等,绕过或欺骗节点间的认证,继续活动[3];在社交网络等虚拟网络当中,Sybil攻击主要进行用户身份的伪装,对人机检验、账户审查等安全检测环节进行绕过,伪装成正常用户。

Sybil攻击通过仿冒节点破坏分布式网络架构中的信任环境,因此相关攻击防御的研究重点则在于对Sybil节点的检测,即如何区别Sybil节点和正常节点。通常的检测思路是在网络早期活动中发现Sybil实体的行为特征,对Sybil节点进行识别,及时隔离Sybil节点/恶意行为[4]。硬件网络中可以使用资源检查、位置验证以及协议中加入预分发密钥等方法进行防御[5];在虚拟网络中,可以使用用户行为监测等方法进行检测。但在防御过程中,Sybil攻击也可能会对检测手段进行对抗[6],这增加了防御难度,也导致检测和识别Sybil攻击的方法向更细粒度的趋势发展。

笔者对分布式架构中的Sybil攻击以及防御措施进行了分析研究。首先对不同场景下的Sybil攻击进行探讨,结合不同应用架构的特点,对Sybil攻击进行分析,并尝试描述对应场景下的Sybil攻击模型;然后对Sybil防御机制进行研究。除了常用的检测思路之外,对社交网络这一类典型的分布式架构中的Sybil检测方法进行总结分析;最后对Sybil攻击及防御的研究趋势进行展望。

1 分布式架构Sybil攻击场景及模型

分布式架构缺少认证机制和对节点的集中管理,因此容易遭受Sybil攻击。Sybil攻击早期主要出现在Ad Hoc网络、无线传感器网络等中[7-8]。随着分布式架构应用场景的不断延伸扩展,社交网络、车联网以及区块链中也出现了Sybil攻击[9-11]。不同攻击场景中Sybil攻击的形式各有不同。本节重点分析在应用服务方面的3种典型Sybil攻击场景,包括分布式网络的无线传感器网络、移动自组织网络以及分布式服务类型的社交网络。

1.1 Sybil攻击场景

1.1.1 无线传感器网络中的Sybil攻击

无线传感器网络(Wireless Sensor Network,WSN)是由部署在监测区域内大量的微型传感器节点组成的,通过无线通信方式形成的一个多跳自组织的网络系统。传感器、感知对象和观察者构成了无线传感器网络的3个要素[7,12],大部分无线传感器网络采用OSI架构模型[13]。

大规模、异构、资源受限和缺乏抗篡改性的硬件设备给WSN带来很大的安全挑战。在WSN中,相互合作的无线设备节点间基于信任机制使用Zigbee等协议组网,组网协议大多依赖于攻击者数量有限这一前提假设[8]。在没有保证路由安全的协议(如DSR、AODV等)中,允许未经身份验证的地址出现,Sybil攻击通过恶意伪造设备节点或非法控制设备节点等方式,很容易就能破坏网络。而为无线传感器网络设计的一些安全方案也存在不足:① 基于PKI的安全路由协议,加入监管节点将加密信息分发到各节点,降低了网络的灵活性,这个过程中,如果系统允许节点在未预先分发密钥的情况下进行连接,仍会存在Sybil攻击的可能;② 声誉机制如RFSN等[14-15],建立生成和维护节点声誉信息的协议,使节点只能在具有良好声誉的其他节点中传递信息,而Sybil攻击通过多个具有良好声誉的身份为一个恶意节点提供担保的方式,可以削弱声誉机制的有效性[16];③ 基于可信阈值的协议[17],要求在分发加密信息时,只有当网络中的一部分成员对节点可信度达成一致时才进行,即为节点的可信度设定了成员认可的阈值。由于缺少对网络中节点的真实数目和独立性的验证,一旦Sybil攻击者能够生成满足阈值要求数量的成员,就可以有效地控制网络的路由[16]。

在无线传感器网络中,Sybil攻击的目标[18]有分布式存储系统、路由表、设备信息、合法节点投票行为、无线信道等资源分配、违规行为检测机制[19]。在Sybil攻击中,单个恶意节点可伪造多个Sybil节点,这些Sybil节点与诚实节点的身份不同,通常在IP地址、MAC地址以及公钥等身份特征出现重复的情况;但是使用单个节点的资源模拟多个身份会在计算、存储或带宽方面存在限制。因此,Sybil节点在传输中的行为会呈现某种特性,在对网络多个间隔时间的观察中,通过分析传输数据,如路由请求和应答等信息,可以发现来自同一节点的经常一起出现而很少分开的Sybil身份[16]。

1.1.2 移动自组织网络中的Sybil攻击

移动自组织网络(Mobile Ad-hoc NETwork,MANET)是一种分布式、自治、多跳网络,具有移动性。MANET中的每个用户终端都兼有路由器和主机两种功能,作为主机,终端可以运行各种面向用户的应用程序;作为路由器,终端需要运行相应的路由协议[20-21]。

MANET中数据传输的安全性和节点标识的惟一性密切相关[22],但是MANET难以进行集中身份认证,且每个节点不存储其他节点的硬件地址等物理信息,节点间只能根据通信信道中的传输信息(如请求、响应消息等)进行交互;每个实体对其他实体的感知只来自于通信信道的消息,缺少集中的身份验证;单一恶意设备在通信过程中可以使用多个虚假身份(即Sybil节点);这些Sybil节点对应的物理实体为同一个恶意设备,当合法节点向这些Sybil节点发送数据时,实际的目标节点均为同一个恶意设备。在MANET中,Sybil攻击的目的是影响网络传输效果,主要攻击移动设备、数据包、路由等目标。

1.1.3 社交网络中的Sybil攻击

随着Web 2.0应用的发展,社交网络(Online Social NETwork,OSN)的用户规模不断扩大,其开放性为人们提供了交互、共享信息和扩散社交影响的便利。社交网络也是一种分布式网络架构,采用分布式的信任模型[1]对网络进行监管,在缺少中心化的控制管理的情况下来保障用户和信息内容的可信性。为了保持用户的隐私性和社交网络的开放性,用于身份验证的中央机构通常是缺少的,容易遭受Sybil攻击。社交网络中对恶意身份的审查,主要通过人机检测、人工审核等方式,效率低的同时也缺乏有效性。一旦Sybil攻击者可以将账户行为伪装成正常用户,这些方法就无法有效识别出恶意身份。在社交网络中,Sybil攻击的目标主要是舆论、邮箱、私人数据等信息,例如,在社交网络发布评论或点评对相关热点事件造成不良影响等。Sybil身份是攻击者创建的账号或窃取的正常用户的账号,攻击者可以利用这些Sybil身份进行各种恶意活动。在虚拟网络平台下,账号获取的成本往往很低,较低的攻击成本也导致Sybil攻击演变成了社交网络中一种常见的攻击方式。

1.2 Sybil攻击模型

Sybil攻击可以从3个维度进行衡量[19]:① 通信方式,包括直接通信和间接通信,指Sybil节点是否和良性节点直接进行通信;② 获取身份的方式,具体包括窃取良性节点的身份和伪造身份两种方式,在简单的情形下,身份可以随意伪造,但是当网络采用适当的节点身份识别机制后,攻击者需要窃取正常节点的身份来进行身份伪装;③ 时间同步性,指所有Sybil节点是否同步参与攻击,攻击者可以采用所有Sybil节点同步参与攻击的方式,也可以采用部分Sybil节点参与攻击的方式,或令多个Sybil节点交换身份以使Sybil节点在不同时间表现不同身份。由于在不同Sybil攻击场景中,Sybil节点的攻击形式有所不同,研究者针对不同的Sybil攻击场景建立了不同的攻击模型。

图1 WSN中Sybil攻击模型

在无线传感器网络中,网络中的所有节点都可能被破坏。攻击模型如图 1所示,传感器设备实体相互间建立通信关系;在网络中存在两种类型的节点:Sybil实体和正常实体,每个Sybil实体可以伪造多个身份,Sybil实体欺骗网络中的正常实体,伪造出有很多邻居的假象,使路由机制无法正常发挥作用[18,23]。

在移动自组织网络中,主要考虑Sybil攻击的时间同步性,即所有的Sybil身份是否同时进行攻击。攻击模型如图 2 所示,移动设备实体间的通信关系与网络中身份间的通信关系一致,由于移动设备地址限制等条件,Sybil在网络中只能使用单一身份。MANET中节点可以任意创建标识符,因此攻击模型不考虑窃取正常节点身份的Sybil攻击。

社交网络的Sybil攻击模型如图 3所示,正常用户通常只会拥有一个账户身份,而Sybil用户则可能拥有多个身份。这是因为社交网络中的账户创建通常是免费的,导致Sybil攻击成本很低,Sybil节点的身份数量会较多,甚至会出现Sybil账户数量大于正常账户的情况。在针对社交网络中,Sybil攻击的研究通常假设Sybil节点和正常节点间的联系是有限的[24-25]。然而,近期的研究发现,Sybil节点可以利用社交机器人、反向社会工程学攻击等手段与正常节点间建立大量联系,且攻击成本较低,这更增加了对Sybil节点识别的难度。

图2 移动自组织网络中Sybil攻击模型

2 典型分布式架构中的Sybil防御机制

Sybil攻击的常用防御机制通常关注身份认证、身份检测等角度,在无线传感器网络和移动自组织网络中,针对硬件的检测手段较成熟;社交网络中的Sybil攻击更加隐蔽,且在用户规模较大的场景中,较难部署用户身份认证等机制。本节以社交网络为例,重点研究分析社交网络中的Sybil攻击防御机制。

2.1 Sybil防御常用方案

可信认证是早期被认为防御Sybil攻击的最佳方案之一[26]。该方案引入一个中央权威机构来确保实体和身份的惟一对应关系。该方法是防御Sybil攻击的理想方法,DOUCEUR证明其是惟一可能完全消除Sybil攻击的方法[1]。可信认证涉及到节点间的信任关系,因此信任模型被运用到Sybil的防御当中[27],通过建立第三方可信实体的方式,加密每个节点与第三方可信实体的通信,来对节点进行认证。但该方法在实现中存在很多问题,如保证实体和身份的惟一映射关系,撤销被盗或丢失的身份,引入可信第三方,这些功能的实现会产生较大的开销成本,且实体与第三方机构的身份验证过程可能面临中间人攻击、对称攻击等风险。

资源测试是无线传感器网络等硬件网络中使用最广泛的Sybil攻击防御技术之一。该方法基于网络中实体的资源利用率进行攻击检测[27-29]。传感器网络中每个实体的资源如能量、内存空间、计算能力、带宽和信道容量等都是有限的。验证者比较实体所使用的资源数量与该实体所拥有的资源数量,若两者出现差异,则该实体存在不正常的使用行为,可能为Sybil实体。这种方法假设每个节点只有一个通道,并且不能在多个通道上同时发送和接收,但在实际测试过程中产生的开销较大。

从增加攻击者成本的角度防御Sybil攻击收取反复费用[30-31]。大多数网络中创建身份只收取一次性费用。当攻击者使用身份伪造的方式进行Sybil攻击时,为扩大攻击的影响范围,需要创建大量Sybil身份,从而产生高昂的攻击成本,提高了Sybil攻击的难度。

位置验证是无线自组织网络中的一种Sybil攻击防御方法[32],其主要原理为网络中的同一个地理位置不应该同时存在两个或多个节点。攻击者通过恶意节点创建的多个Sybil节点,其实际地理位置均为该恶意节点的所在位置,通过三角测量、多点定位等位置验证的方法,检测每个地理位置的节点数,可以识别出Sybil节点[33]。但基于位置验证的方法存在一定的局限性,MANET中节点的高移动性和高密度性可能会产生较高的误报率[34],必须要求较高精度的定位方式以及较快的传感器信号传输速度;且该方法依赖于无线电信号,信号测量的准确程度是决定检测精度的重要因素。

在硬件网络中,硬件节点的身份认证通常有实体要素可以作为参考,如设备资源、地理位置等;但在社交网络中节点为虚拟节点,且存在隐私策略,因此硬件网络中的防御机制不适用于社交网络。

2.2 社交网络下的Sybil防御方案

随着社交网络影响力的不断扩大,数十亿用户通过社交网络建立网络连接和互动。社交网络的流行性给用户个人信息带来一定的安全威胁,攻击者可以通过虚假账号获取用户的敏感信息,如照片、视频、电话号码、家庭住址等;同样,攻击者也可以通过虚假账号向用户暴露错误信息,导致恶意内容的传播。如今,社交网络已经成为了Sybil攻击的重灾区,针对社交网络中Sybil攻击防御的研究工作越来越多。其中主流的Sybil攻击防御方案可分为基于节点特征的检测方法和基于拓扑结构的检测方法。

2.2.1 基于节点特征的检测

基于节点特征的Sybil攻击检测方法通常利用机器学习算法对用户进行分类,其核心是从用户行为数据和账号信息中提取能够区分正常用户和Sybil用户的特征。检测方法可分为有监督检测和无监督检测。有监督检测通常使用已知用户的特征训练分类器,进而识别Sybil用户;无监督检测则根据不同的特征对用户进行聚类。

在社交网络中,Sybil用户的一个共同目标是添加大量好友以尽可能扩大恶意活动的影响范围。对应的Sybil用户行为主要有:Sybil用户发送大量的添加好友请求,接受所有其他用户的添加好友请求。YANG等人[9]关注社交网络中用户的添加好友行为,并从账户资料、日志等信息中提取出4个主要特征:邀请频率、发出邀请的被接受率、接收邀请的接受率和聚类系数。早期对Sybil攻击场景的研究发现[9]:Sybil用户发送邀请的频率较高,但其邀请的被接受率较低,主要原因是Sybil用户的邀请对象大多为陌生用户,而正常用户间更倾向邀请熟悉的用户;Sybil用户对接收到邀请的接受率明显高于正常用户;聚类系数反映了用户与好友间连接的紧密程度,Sybil用户的聚类系数通常小于正常用户。YANG等人使用包含标签信息的人人网数据集训练SVM分类器,分类器的准确度可以达到99%,且该方法在现实网络中可实现部署。由于社交网络中普遍存在Sybil用户建立大量社交连接的现象,多数Sybil攻击检测方法[35-37]都会使用类似特征。

在社交网络中对用户行为分析的研究发现,Sybil用户和正常用户的行为模式存在较大差异[38-39]。Sybil用户往往以高频率进行几种特定的活动,而正常用户的活动种类复杂多样,且状态间的转换较为复杂,如图4所示。WANG 等人[40]用点击流表示用户的行为序列,提出一种基于用户点击流特征的Sybil攻击检测方法。点击流是用户对网站发出的HTTP请求的序列。该方法通过服务商提供的点击流日志,构建用户的点击流序列:记录点击动作出发的操作,如添加好友、访问主页、发送消息、访问博客等操作;记录点击状态的特征,如每个操作的平均点击数、点击中的时间间隔、每天的点击数等。该方法通过计算Jaccard系数以及欧氏距离,得出点击流序列的距离以及和公共序列的距离,将相似用户划分为行为集群,进而检测出异常行为和Sybil用户。

图4 Sybil用户和正常用户的行为模式示例

定位技术的成熟催生了基于位置的社交网络,其典型应用场景是评价系统。评价系统中的Sybil攻击通常表现为,攻击者雇佣大量Sybil账号对目标对象发布虚假评论或进行虚假打分,影响目标对象的系统评分。评价系统中用户的社交属性相对较弱,用户间连接稀疏,因此上述基于用户间社交关系特征的检测方法不适用于评价系统。ZHENG 等人[6]基于用户的评论数据提出了一种分层的Sybil用户检测系统。首先从评论对象、评论等级和评论时间度量任意两条评论的关联性,基于两个用户所有评论的关联性来度量用户间的相似性;然后根据用户间的相似性构建图结构,利用社区检测算法检测出用户间的社区结构;再从社区内用户的评论数据中提取特征,利用有监督的机器学习算法对社区进行分类,即Sybil社区和正常社区,进而检测出Sybil用户和正常用户;最后为避免产生漏报,提取Sybil用户评论行为的时间窗口,将正常用户的评论时间与时间窗口进行对比,当存在多次重合时,将该正常用户检测为Sybil用户。除评论数据外,一些研究将地理位置信息用于Sybil用户的检测。人类流动性的相关研究[41]表明,94%的人的日常活动限制在小于100 km的有限区域内。评价系统中正常用户和Sybil用户的移动模式完全不同,Sybil用户可能为超出其活动区域的对象发布虚假评论。ZHANG 等人[42]引入位置熵(即用户每日覆盖圆的半径)度量用户的移动模式,并将该特征与传统评论数据(如最大的日转发评论量、平均评分等)特征结合,提出了一种基与节点地理位置的Sybil用户检测模型。目前基于位置的社交网络已成为人们日常生活中的便利工具,基于地理位置信息的Sybil攻击检测的研究也成为研究热点。DENG等人[43]提取用户的家庭住址和用户评论店铺的地理位置间的距离特征,发现正常用户和Sybil用户呈现出不同的规律。GONG等人[44]针对基于位置的社交网络中丰富的时空信息,利用深度学习算法提取用户的细粒度活动进行时间序列分析,以描述用户的活动历史,并结合常规的恶意特征用于检测Sybil用户。

表1 基于节点特征的代表性Sybil攻击检测方法

表1从特征类别、关键算法和应用场景3个角度对目前的基于节点特征的代表检测方法进行对比分析。基于节点特征的Sybil攻击检测方法依赖已知Sybil用户的特征来识别未知Sybil用户,因此攻击者可以通过逆向改变Sybil用户的行为来轻松地逃避检测。此外,这类检测方法对应用场景有一定限制,社交网络复杂多样,不同的社交网络存在不同的特征,因此基于节点特征的检测方法的通用性一般较差,往往一种方法只能应用于部分场景;这类方法利用大量用户信息进行Sybil用户检测,部分方法还需要地理位置等敏感信息,可能会导致用户隐私泄露和信息滥用问题。

2.2.2 基于拓扑结构的检测

基于拓扑结构的Sybil攻击检测方法通常把社交网络建模成社交图G=(V,E),在给定社交图和部分标签已知节点的情况下,利用社交图的结构特性检测Sybil用户和正常用户。在社交图G=(V,E)中,节点表示用户,边表示对应用户间的连接关系,V和E分别为社交图中节点和边的集合。基于拓扑结构的检测方法对社交图的结构假设依赖性较强,包括以下两个关键假设[25]。

(1) 社交图存在Sybil域和正常域,且两个域之间的连接较为稀疏。在Sybil攻击模型中,Sybil域和正常域之间的边明显少于各域内部的边,即攻击边的数量有限,因此该假设也被称为有限攻击边假设[45]。

(2) 正常域是快速混合的,即随机游走从初始状态到稳态所需的步数较少。

基于拓扑结构的经典检测方法通常根据用户间的社交关系建立无向图G=(Vu,Euu),其中,节点表示用户,Vu为所有用户节点的集合;无向边表示用户间的社交关系(好友关系、关注关系等);Euu为所有用户边的集合。YU等人提出的SybilGuard[24]和SybilLimit[46]是最早的基于拓扑结构的Sybil攻击检测方法,这两种方法根据用户间的好友关系构建社交图。SybilGuard假设攻击边数量有限,利用随机路由算法(随机游走算法的一种变形)检测Sybil节点:从所有节点出发各建立m条随机路径。其中,从已知可信节点出发的m条随机路径为验证器;当未知节点的随机路径与验证器相交时,该路径被验证为可信路径;当未知节点的较多路径被验证时,该节点被检测为正常节点。SybilLimit的工作原理和SybilGuard的相似,两种方法的误报率较高,且不能同时检测多个Sybil节点,在用户量极大的社交网络中检测效率较低。CAO等人[25]提出的SybilRank检测方法根据用户间的关注关系构建社交图,对已知可信的种子节点分发信任,使用随机游走算法在社交图上进行信任传播,根据节点的最终信任值对节点进行分类,其中节点的信任值表示节点为正常节点的可能性。基于上述两个关键假设,正常域的混合时间明显小于整个社交图的混合时间,因此SybilRank使用一种提前终止的随机游走算法,当正常域接近稳态时,停止迭代,总迭代次数ω=O(logn)。SybilRank的准确率较高且具有较好的可拓展性,可应用于大规模的社交网络场景,是一种代表性的基于拓扑结构的检测方法,之后的大多数使用随机游走的Sybil攻击检测方法[36,45,47]都是SybilRank的改进工作。

然而,研究发现,出于对抗社交网络平台防御策略和扩大恶意活动影响力的目的,攻击者的Sybil攻击策略日趋复杂。攻击者通过社会工程学攻击[48]、社交机器人[36]等手段诱骗正常用户与其建立社交连接,以低成本建立大量攻击边。拓扑结构的关键假设不一定成立,使得经典检测方法的准确率明显降低[35,49]。为了提高基于拓扑结构的检测方法的性能,一些工作进一步扩展了社交图模型,如添加部分标签信息、用户行为信息等。

基于拓扑结构的检测方法的输入包括部分标签已知的节点,且经典方法中通常只使用标签已知的正常节点作为种子节点。一些研究工作发现,基于拓扑结构的检测方法对标签噪声的敏感性较高,种子节点的类别以及其在社交图中的分布对检测准确率有一定影响。为了更好地利用已知的标签信息,GONG等人提出了SybilWalk方法[50],在对社交网络的建模过程中,将已知的标签信息加入到拓扑结构中,构建一个标签增强型的社交图G=(Vu,Vl,Euu,Eul)。其中,Vu为用户节点的集合;Euu为所有用户边的集合;Vl为标签节点的集合,标签节点只有ls和lb两个,分别表示Sybil标签和正常标签;标签已知的用户节点与对应标签节点间建立一条无向的标签边;Eul为所有标签边的集合。SybilWalk的核心算法也是随机游走算法,计算节点的可疑分数用于节点分类,可疑分数表示用户节点为Sybil节点的可能性。所有用户节点的初始可疑分数设为0.5,在迭代过程中不断进行可疑分数的更新;而两个标签节点ls和lb的可疑分数分别为1和0,在整个迭代过程中固定不变。标签增强型社交图在原始拓扑结构的基础上同时整合了两类标签信息,用于Sybil攻击检测可以提高对标签噪声的鲁棒性,目前SybilWalk在使用随机游走的同类算法中鲁棒性较好[45]。

随着社交网络服务种类的不断增多,攻击者利用大量Sybil账号进行复杂多样的恶意活动,如在线评价系统中的虚假评论、社交媒体的谣言传播、垃圾邮件等,产生了大量的攻击行为。基于拓扑结构的经典检测方法大多根据用户间的社交关系对社交网络建模,只关注单一种类的Sybil攻击行为。为了充分地利用Sybil的攻击行为信息,一些研究工作在社交网络的拓扑结构中加入用户行为信息,进一步提高Sybil攻击检测方法的性能。如ZHANG等人[45]提出一种社交-活动图G=(Vu,Va,Euu,Eua,Eaa),将用户行为信息转变成结构信息,进而表示社交网络中用户和活动之间的复杂关系。社交-活动图是一个混合图,其中,Vu和Euu分别为用户节点和用户边的集合;Va为活动节点的集合,Eua和Eaa为有向边的集合,分别表示用户与活动之间和活动间的关系。ZHANG等人将社交-活动图用于Sybil节点检测,相较于经典的基于拓扑结构的检测方法,其准确率有明显的提升。另一种角度是将用户行为信息转变成节点或边的属性信息。如GONG等人提出的SybilFuse检测方法[51],将社交网络建模为社交图G=(Vu,Euu);对用户行为信息进行特征提取,利用机器学习算法学习得到用户的可信度和用户对的同质性分数;将这些值分别设置为节点的初始信任值和边的权重;根据上述信息,在社交图上利用加权随机游走算法进行信任传播,计算节点的信任值用于节点分类,或利用循环置信传播进行节点分类。

表2中,Euu表示用户间的连接,Eul表示用户与标签的绑定,Eua表示用户与活动间的从属关系,Eaa表示活动间的关系;种子节点中N表示正常节点,B表示正常节点和Sybil节点;关键算法中RW表示随机游走,CD表示社区检测,LBP表示循环置信传播,ML表示机器学习。

表2对基于拓扑结构的几种代表性Sybil攻击检测方法进行了对比分析。大多数基于拓扑结构的检测方法根据用户间的社交关系,构建基础的社交图作为系统模型,并利用随机游走算法在社交图上进行Sybil节点检测。这类方法通常依赖于有限攻击边假设,一些研究发现,对社交图进行适当的图形处理可以减弱大量攻击边对检测准确性的影响[49-50],如构建社交图的强连接图可以删除大量的攻击边,同时保留同类用户间的结构关系,经典检测方法在强连接图上依然可以实现较好的检测有效性[49]。基于拓扑结构的检测方法将部分标签已知的节点作为种子节点,早期的检测方法通常只选择正常节点作为种子节点,近期方法的种子节点包括正常节点和Sybil节点两类。实验结果表明,使用两类节点作为种子节点的方法,其准确率优于使用单一类别种子节点的方法[47,45]。

表2 基于拓扑结构的代表性Sybil攻击检测方法

经典的基于拓扑结构的Sybil攻击检测方法依赖对拓扑结构的强假设,当关键结构假设不成立时,检测性能明显降低。基于节点特征的Sybil攻击检测方法对应用场景有很强的敏感性,不同社交网络中用户特征不同,使得这类方法的通用性较差;其次检测准确性与特征的鲁棒性有关,一旦攻击者破解出检测方法使用的恶意特征,就可以有针对性地改变其行为以绕过检测;此外,大量用户信息的收集和使用可能导致隐私泄露和信息滥用等安全问题。在社交网络拓扑结构中加入用户行为信息的混合Sybil攻击检测方法,可以弥补两类方法各自的不足,将静态的拓扑结构和动态的行为信息结合,将Sybil节点的攻击行为细粒度化,提高了Sybil攻击检测方法的鲁棒性,同时也提高了攻击者的攻击成本。这种混合Sybil攻击检测方法将称为未来社交网络中Sybil攻击检测的一个主流方向。

3 结束语

笔者对分布式架构中的Sybil攻击进行了讨论,介绍了不同应用场景下的Sybil攻击模型以及常用防御方法,并以社交网络为例,重点分析了社交网络中的Sybil攻击防御机制,包括基于节点特征的检测方法和基于拓扑结构的检测方法,从关键算法、假设、特征类型、系统模型等多个角度对代表性的Sybil攻击检测方法进行对比分析。分布式架构中的Sybil攻击从早期的硬件设备向虚拟身份蔓延,Sybil攻击将是长期存在于分布式架构中的安全威胁,具有较高的研究价值。Sybil攻击的防御工作主要关注Sybil节点的检测,目前的大部分检测方法在不同平台间是否适用仍存在不确定性,误报漏报问题也一直存在。后续的研究可以针对这些问题展开。

猜你喜欢
攻击者分布式身份
新一代分布式母线保护装置
基于贝叶斯博弈的防御资源调配模型研究
山西公布首批屋顶分布式光伏整县推进试点
分布式空战仿真系统设计
基于深度学习的分布式安全日志分析方法
正面迎接批判
正面迎接批判
跟踪导练(三)(5)
妈妈的N种身份
身份案(下)