安全干货:女巫攻击的影响、部署、以及该如何防范

admin8个月前笔记84

不知您是否听说过女巫攻击(Sybil Attack)。其中,“Sybil”一词来自一位名叫Shirley Ardell Mason(又名Sybil Dorsett)的艺术家,她曾被诊断出患有多重人格障碍。顾名思义,此类攻击往往发生在当一个用户使用了多个虚假身份(像极了具有多重身份的女巫),去破坏或以其他方式获得对于网络的控制。近年来,有越来越多的在线假身份和分布式拒绝服务(DDoS)类型的攻击在区块链领域日益猖獗。那么,女巫攻击究竟会涉及到哪些方面,我们又该如何保护自己的数字资产呢?

image.png

什么是女巫攻击?

作为一种在线安全威胁,女巫攻击也被称为身份或声誉攻击。它是由一个实体创建多个节点、帐户或主机,意在接管某个特定的网络。此类攻击既可能像在社交媒体平台上使用多个帐户那样简单,也可能像是入侵高安全性的网络一样危险和复杂。

不过,它更容易被运用于加密货币的场景中。也就是说,在区块链中,攻击者通过运行多个节点,来达到某些非法的目的。目前,我们常见的有两种类型的女巫攻击:

  • 当诚实节点受到女巫节点的直接影响时,就会发生直接的女巫攻击。

  • 当诚实节点在女巫节点的影响下,受到来自另一个诚实节点的攻击时,则会发生间接的女巫攻击。而那个被利用的诚实节点,实际上已沦为了发起攻击的中间节点。

  • 女巫攻击会如何影响区块链?

    女巫攻击会从如下常见方面对区块链造成严重的破坏:

    阻碍人们正常地访问或使用网络

    一个完备的女巫攻击总会通过生成足够多的身份,使欺诈者能够在投票中击败各个诚实的节点。这将会导致传输的失败、以及无法接收到正确的区块。

    执行51%攻击

    完备的女巫攻击可以为具有访问和控制能力的攻击者,提供超过半数(即51%)的总计算能力。这足以破坏区块链系统的完整性,并导致潜在的网络干扰。毕竟51%攻击足以改变交易的顺序,并通过逆转交易的方式,去支持女巫攻击者,进而阻止交易的确认。有时,这也被称为双花攻击(Double Spending,详见下文解释)。

    女巫攻击是被如何部署的?

    女巫攻击可以通过多种方式被部署到区块链的场景中,其中最常见的有如下两种形式:

    51%的攻击

    攻击者通过控制至少51%的网络计算能力(也称为哈希率),实现阻止、逆转或更改某些交易的顺序,以至于产生导致“双花”,甚至无法确认那些合法的交易。此处的“双花”是指:用户通过复制数字货币,并将其副本发送给多个接收者,以实现多次花费相同的资金。可见,如果不采取有效的措施防止这种行为,则可能最终导致数字货币系统的彻底崩溃。

    在节点上实现“多数获胜(Out-Voting)”

    如果系统中有足够多的假身份节点,那么它们就能以“多数获胜”的方式击败合法节点(或称为诚实节点)。就像日蚀攻击(eclipse attack)那样,如果女巫造成链网络不再传输或接收区块,那么就会直接导致其他诚实的用户被阻止参与。

    如何防范针对区块链的女巫攻击

    许多区块链都会使用共识算法(Consensus Algorithms)作为防御攻击的一种形式。虽然该算法本身并不能从根本上防范攻击,但是它会使得攻击者的部署成本相当高昂。下面是三种最常用的共识算法:

    工作量证明(Proof of Work,PoW)

    作为防止双花攻击的最古老、且最主要的算法机制,PoW旨在使用计算能力,对区块中的数据进行哈希处理,以检查生成的哈希值是否符合某些给定的条件。如果满足的话,您将获得加密硬币,以及开采新的区块所产生的交易费用。当然,您需要为此类计算能力付出一定的代价(如:电力),其中包括多次部署失败的哈希值的尝试,这也就是所谓的“挖矿”的过程。

    同时,请记住,用于维护挖矿节点网络的硬件(如,被称为ASIC的专用集成电路)往往是非常昂贵的。工作量证明于2008年被中本聪引入比特币中,并且目前仍然是所有算法中最安全且最容错的。

    权益证明(Proof of Stake,PoS)

    您也许注意到了,PoW的问题在于:用户必须通过大量计算,来证明他们的工作,进而挖到区块。而权益证明机制只需要您通过证明和使用自己所持有的代币。由于它并不依靠计算能力,而是凭借用户持有的代币,因此解决PoW的最大问题——挖矿成本。自2011年被推出以来,PoS就被认为是PoW最受青睐的替代方案之一。总的说来,在区块链领域,目前虽然仍以PoW为主(毕竟它被认为最安全、最可靠),但是PoS已是最流行的区块链网络之一。

    该机制系统使用权益年龄(Staking Age)、随机化元素(Element of Randomization)和节点财富(Nodal Wealth)作为选择验证者的因素。而验证者必须将一定数量的代币资助到网络中,才能锻造区块(注意:尽管可以互换使用,但是“挖矿,Mine”常被用在PoW中,而“锻造,Forge”则是PoS的术语)。

    在安全性方面,攻击者需要为了获取51%的代币,而付出高昂的代价。例如,他们可能需要进行多次失败的尝试。而这等同于巨大的付出(当然,在低市值的区块链中,可能并非如此)。可见,PoS提高了区块链的安全性。

    同时,它也提高了分散性和可扩展性,即每秒交易数量的限制。目前,使用PoS的典型网络包括:Avalanche、BNB Chain/Smart Chain、以及Solana。

    委托权益证明(Delegated Proof of Stake,DPoS)

    由Daniel Larimer于2014年推出的委托权益证明,是PoS的一种流行替代方案。由于它具有更好的可扩展性,即每秒能够处理更多的交易,因此DPoS被认为是PoS的更高效的版本。

    通过使用投票系统,DPoS允许用户将他们的工作外包给各个代表(或证人),由他们代表自己维护网络的安全。利益相关者可以根据每个用户所拥有的代币数量,去投票选择代表。被选出来的代表负责确保在挖矿和验证新的区块方面达成共识。当有奖励产生时,代币会在利益相关者和他们的代表之间按比例分成。

    由于是基于民主投票系统,因此该算法有效地依赖了代表的声誉,并发挥了积极的作用。如果他们的节点不能生效、或不道德地运作,那么他们就会被驱逐出所在的网络。目前,使用DPoS的典型网络示例包括:Ark和Lisk。

    小结

    为了入侵系统,并导致网络活动的中断,网络攻击者往往会以女巫攻击的方式,创建虚假的身份,并使用这些身份来获取访问权限,进而控制整个网络。为了打击数据盗窃和网络系统的入侵,数字货币爱好者们需要参考上述建议,采用强大的数据安全保护措施。


相关文章

JavaScript面向对象轻松入门之综合

需求:几乎所有的web应用都需要保存数据一些到本地,那么我们就来做一个数据储存器吧。详细需求:当本地储存有数据时,取用本地的数据,没有时使用默认的数据判断本地的数据是否过时,如果过时则不使用默认使用l...

加密算法史

加密算法史

本文就尝试由古及今,对这种与我们网络生活息息相关的加密算法的发展演变,以及在整个过程中先后出现的集中关键加密算法一一论述,带领大家了解背后这种有趣的算法。加密算法主要作用是把明文变成密文,防止信息泄露...

利用 Shell 脚本来监控 Linux 系统的内存

利用 Shell 脚本来监控 Linux 系统的内存

一、安装Linux下面的一个邮件客户端Msmtp软件(类似于一个Foxmail的工具)1、下载安装:http://downloads.sourceforge.net ... 206451&bi...

linux下vsftpd系统虚拟帐户使用

linux下vsftpd系统虚拟帐户使用

一、需求1、系统帐号和虚拟帐号这是一个相当复杂的需求,系统上一些采集系统走的ftp进行采集的。历史积累下来的,最早都是直接在OS上创建系统帐号再ftp登录(shell大部分设置为/bin/false或...

从 V2Ray 到 Xray 的体验之旅

从 V2Ray 到 Xray 的体验之旅

最近偶然发现 Xray 又出了新玩意儿:REALITY。说实话,我目前使用的架构还是 20 年那一套,基于 Docker + Watchtower 实现全自动更新,已经使用 2 年没变了,一...

怎样在 Linux 命令行中切换用户

怎样在 Linux 命令行中切换用户

Linux 系统有不同类型的用户,用户有不同类型的权限。并非所有用户都可以执行所有命令,也不是所有用户都可以切换到其他用户。我们今天要介绍的内容就是如何在命令行中切换到其他用户。要切换用户,...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。