版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
区块链安全性分析目录/CONTENTS8.1针对区块链的恶意攻击与应对策略8.2针对分布式存储的攻击和防御8.3攻击案例分析8.4编程案例8.5区块链+应用本章小结思考题8.1.1针对区块链系统的DDoS攻击分布式拒绝服务攻击(DistributedDenialofService,DDoS):多个受攻击的计算机系统会在一个目标上联合起来,并通过向目标发送大量消息、请求或数据包来造成系统崩溃,从而导致对合法用户和系统的拒绝服务。8.1.1针对区块链系统的DDoS攻击由于区块链是基于去中心化架构设计的,其数据存储由一条公开的区块链完成,服务由多个不同的矿工节点提供,因此任意单个节点的故障并不会对系统的正常运行造成严重影响。同时由于在去中心化的区块链网络架构里面没有传统的中心节点,因此能够非常有效地预防DDoS攻击。8.1.2分叉攻击分叉攻击是区块链领域中最著名的一种攻击方式,由于发动这类攻击通常需要掌握全网算力的50%以上,因此这种攻击方式也被称为51%攻击。分叉攻击的原因通常是攻击者出于某种原因不愿承认共识链上的一个区块Bi。举个例子,在加密数字货币中,一个攻击者可能不愿意承认在区块Bi上有一笔自己的付款记录,如果攻击者能够成功让大部分矿工都不承认区块Bi,那么就相当于过去的付款没有发生过,这样同一笔钱攻击者就可以消费第二次了。这也是分叉攻击在数字加密货币中也被称为双重支付攻击的原因。8.1.2分叉攻击分叉攻击成功的关键在于攻击者要让自己制造的新分支“
”长于诚实矿工制造的主链“
”,因此分叉攻击完全可以理解为攻击者与所有诚实矿工制造新区块的速度竞赛。如果攻击者赢得竞赛,那么攻击成功;如果攻击者输掉竞赛,那么他在竞赛中投入的算力就全部被浪费了。如果挖矿是有区块奖励的,那么攻击者还会亏掉他原本可以获得的区块奖励。二叉树随机漫步(BinomialRandomWalk):诚实节点和攻击者节点之间的竞赛。成功事件被定义为诚实节点制造的链条延长了一个区块,使其领先性加1,而失败事件被定义为攻击者制造的链条被延长了一个区块,使得差距减1。赌徒破产问题(Gambler’sRuinProblem):可以近似地看作攻击者成功填补某一既定差距的可能性。8.1.2分叉攻击从概率上来说分叉攻击几乎是不可能成功的,除非攻击者掌握的算力接近全网算力的50%。从上面的结果也可以看出,工作量证明机制的安全性建立在大部分矿工都是诚实的这一基础之上,即攻击者拥有的算力不会超过或接近诚实矿工的算力之和。8.1.2分叉攻击成功的分叉攻击都是针对总算力较小的区块链系统,通常是刚刚投入运行的区块链系统攻击者通常不是为了经济利益而发动攻击8.1.2分叉攻击在一个成熟的区块链系统中,算力集中很容易引起网络中其他节点的警惕。例如在2014年6月,比特币网络中最大的矿池GHash.IO拥有的算力超过了全网算力的50%,这引起了比特币社区的关注,并导致了对GHash.IO的攻击。到了8月,GHash主动减少了矿池的用户以下调一些算力比例。图8-3和图8-4显示了GHash.IO矿池主动调整前后的算力分布情况。图8-3GHash.IO矿池调整前的算力分布情况图8-4GHash.IO矿池调整后的算力分布情况8.1.3拒绝服务攻击定义:假设矿工A因为某些原因不愿意处理用户B提出的服务请求,即A不为B提供服务,也不将交易写入区块链攻击者(A)不仅会拒绝B的服务请求,而且还会拒绝在包含B的服务请求的区块上工作类似但更极端:惩罚分叉攻击8.1.4临时保留区块攻击临时保留区块攻击示意图对攻击者A来说,潜在的风险在于如果A在只领先了一个区块的情况下便有其他节点宣布发现了一个新区块,那么A秘密保留的区块就有可能变成无效区块。因此A不得不也立即跟着广播自己发现的区块,并期望自己发现的区块能够在网络中以更快的速度传播以得到大多数节点的承认。8.1.4临时保留区块攻击特点难以防御诚实矿工可以联合起来抵制不会影响到提供给用户的服务质量攻击会留下记录容易被检测不会对系统产生特别严重的破坏8.1.5
区块丢弃攻击区块丢弃攻击:矿工找到一个有效区块的时候,他选择丢弃它而不是将其提交给管理员,这种攻击也被称作民间攻击或者蓄意破坏攻击降低了整个矿池的挖矿能力攻击者自身都会遭受一定的经济利益损失特点8.1.5
区块丢弃攻击假设区块链网络中有两个奖励分配机制相同的矿池M和N,其中矿池M掌握的算力占总算力的比例为
,矿池N掌握的算力占总算力的比例为
,区块链网络中的其他算力之和为y,矿池M动用比例为p的算力加入矿池N,并在矿池N中发动区块丢弃攻击,整个矿池的挖矿奖励为M,那么矿池M不发动此类攻击的预期收益E1和发动攻击的预期收益E2分别为:解不等式E2>E1,可以得到
。这表明,不管矿池M控制着多少算力,只要合理地调整p,它总可以从这样的攻击中获益。这有可能导致不同矿池之间陷入“囚徒”困境。因为从单个矿池的角度来看,这样的攻击是难以检测和防御的,同时也无法确认其他节点是否是诚实的。因此为了提升自己的利润,或者弥补遭到攻击的损失,理性的矿池很可能会不断发动这样的攻击。但从整个区块链网络的角度来看,这将导致大量的区块被丢弃,严重影响网络的正常运行。8.1.6
惩罚分叉攻击定义:攻击者Alice不仅拒绝将Bob的交易放入自己挖出的区块,并且还会向其他矿工宣布拒绝在任何包含Bob交易的区块链上工作8.1.7
虚拟挖矿的潜在风险攻击者权益份额大于50%
常见的漏洞:无利害关系问题/权益粉碎攻击小于50%:手上筹码增加的速度将会超过其他所有人之和,最终整个系统和系统中几乎所有的筹码都会被他控制解决办法使用检查点来防御长分叉攻击用“Slasher”的方法来惩罚尝试进行分叉攻击的矿工8.2针对分布式存储的攻击和防御8.2.1Sybil攻击和Eclipse攻击Sybil攻击:在对等网络中,单一节点通过伪造多个身份标识,从而利用控制系统的大部分节点来削弱冗余备份的作用。典型的Sybil攻击可能是同一个恶意节点同时扮演多个矿工,通过欺骗使得原来需要备份到多个矿工节点的数据全部被备份到了同一个恶意节点。8.2针对分布式存储的攻击和防御8.2.1Sybil攻击和Eclipse攻击Eclipse攻击(路由表毒化):攻击者侵占节点路由,将足够多的恶意节点添加到其邻居节点集合中,从而将这个节点隔离于正常网络之外。8.2针对分布式存储的攻击和防御8.2.2
基于工作量证明机制的Sybil攻击防御方案方法设计一个密码学难题:矿工节点需要使用公钥、随机数(NodeId)和一个时间戳来进行哈希运算,并确保最后的哈希运算小于一定的值。通过设置合理的工作量证明的参数,可以确保生成NodeId具有一定的难度,因此攻击者很难一次性制造大量的伪节点。同时,由于时间戳的存在,系统可以判断该NodeId的产生时间,因此只要确保NodeId会在一定时间之后过期,就可以防止攻击者通过蓄力发动攻击。
8.2针对分布式存储的攻击和防御8.2.2
基于工作量证明机制的Sybil攻击防御方案防御Sybil攻击的程序模拟结果
从实验结果可以看出,基于工作量证明的NodeId生成算法可以有效地限制伪造节点的数量,保证系统免遭攻击。8.3
攻击案例分析8.3.1
币安黑客事件0102032013年,当时的全球比特币第三大交易平台Vircurex遭到了两次黑客攻击,让其陷入了严重的财务危机。2013年4月,Mt.Gox成为世界第一交易所,然而好景不长,在2014年2月25日上午,一份名为“危机应对草案”的Mt.Gox内部文件从其网站流出,宣布交易所被盗了744
408枚比特币。2015年1月4日Bitstamp交易所被黑客入侵,如上图所示。尽管Bitstamp反应迅速,但1月4日凌晨—5日凌晨,还是被窃取了近19
000个比特币,价值510万美元。8.3
攻击案例分析8.3.1
币安黑客事件0405062016年8月2日黑客在全球最大的数字货币交易所之一的Bitfinex上,找到了该交易所的一个安全漏洞,盗取了用户近12万枚比特币,价值近6700万美元,使其当日比特币价格大跌20%,上图所示,被盗的12万枚比特币至今全无踪迹。2017年6月,韩国最大数字货币交易所Bithumb的一名员工的计算机被黑客入侵,大约3万名客户的个人信息遭泄露,被盗的账户中,发现有266个账户提现,受损资产达到数十亿韩元。2018年3月7日深夜,币安交易所大量用户发现自己的账户被盗,如上图所示。8.3
攻击案例分析8.3.1
币安黑客事件不管黑客发动这次攻击的目的究竟是什么,我们都可以从中学到以下3个教训:(1)在考虑系统的安全性时,一定要将人的因素纳入其中。(2)区块链系统作为一个去中心化的分布式共识系统,其价值和运行方式主要依靠的是人们对它的信心,因此对任何区块链系统和应用来说,最致命的打击永远是对其用户信心的打击(3)尽管区块链的去中心化提高了系统的安全性,但一个区块链系统中多多少少总是存在一些中心化机构8.3
攻击案例分析8.3.2
“TheDAO”事件与以太坊分叉
“TheDAO”项目自2016年4月30日开始,融资窗口开放了28天。截至5月15日,这个项目筹得了超过1亿美元,而到整个融资期结束,共有超过11
000位热情的成员参与进来,筹得1.5亿美元,成为历史上最大的众筹项目。“TheDAO”项目创始人之一——史蒂芬-图阿尔(StephanTual)于6月12日宣布,他们发现“TheDAO”项目的智能合约的第666行代码存在“递归调用漏洞”问题。6月18日,黑客成功盗取了超过360万枚以太币,并投入一个子组织(以下简称“子DAO”)中,这个组织和“TheDAO”有同样的结构。以太坊黑客攻击事件是一起典型的黑客组织利用以太坊网络漏洞盗取以太币的攻击事件,直接导致以太币被盗取和以太币价格大跌近腰斩。“TheDAO”项目当时持有近15%的以太币,所以“TheDAO”项目的问题对以太坊网络及其加密币都产生了严重的负面影响。6月17日,以太坊基金会的维塔利克·布特林(VitalikButerin)更新了一项重要报告,他表示,“TheDAO”项目正在遭受攻击,不过他已经研究出了解决方案:软件分叉解决方案。7月15日,以太坊基金会公布了具体的硬分叉方案,21日,硬分叉方案(硬分叉产生了以太坊ETH(新版以太坊)和ETC(经典以太坊)两个平行世界)被实行。尽管长期趋势不明朗,但至少ETC目前已经存活下来了。ETC的币值也逐渐上涨,并伴随着巨大的换手量。甚至有人还估计ETC将来的价格会比ETH更高。8.3
攻击案例分析8.3.2
“TheDAO”事件与以太坊分叉以太坊分叉后形成的两个平行项目头一年的算力对比如图8.3
攻击案例分析8.3.2
“TheDAO”事件与以太坊分叉“TheDAO”事件与以太坊分叉给我们带来的启示:任何系统都会存在漏洞和技术无法解决的问题,这时如果有一个中心化机构(如以太坊基金会)介入,往往能够取得关键作用。但也不得不承认,ETC的支持者也有他们自己的道理,因此如何在中心化和去中心化之间取得平衡,是任何区块链系统都需要关心
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理新技术与新方法
- 护理研究设计中的多案例研究
- 护理课件制作的软件选择
- 船舶气焊工安全素养考核试卷含答案
- 拖拉机燃油喷射系统装试工诚信强化考核试卷含答案
- 桌面游戏设计师成果转化竞赛考核试卷含答案
- 医疗器械购销员安全教育模拟考核试卷含答案
- 2026年新科教版高中高二化学下册第三单元盐类水解离子浓度卷含答案
- 纤维板工安全演练强化考核试卷含答案
- 2026年新科教版初中七年级历史上册第一单元原始农耕文明成就卷含答案
- 四川省达州市(2026年)辅警招聘公安基础知识考试题库及答案
- 2026年北京市丰台区初三下学期一模道德与法治试卷和答案
- 2026广西梧州苍海投资集团有限责任公司招聘总会计师1人笔试模拟试题及答案解析
- 《AQ3067-2026化工和危险化学品重大生产安全事故隐患判定准则》解读
- 农产品加工技术人员食品加工指导书
- 2026广东东莞市康复实验学校招聘18人备考题库及答案详解(各地真题)
- 企业信息安全程序指南(标准版)
- (陕西二模)2026年陕西省高三高考适应性检测(二)地理试卷(含答案)
- 2026北京市公安局监所管理总队招聘勤务辅警300人笔试参考题库及答案解析
- 企业内部控制风险案例解析
- 电气元件基础知识培训
评论
0/150
提交评论