区块链安全防御 多重攻击分析与防范措施



            针对于区块链目前存在的安全问题以及攻击威胁展开分析, 主要围绕以下几个方面: 区块链

数据的安全完整性、不可否认性、匿名性与隐私保护以及其它安
全问题与攻击防范。目前互联网安

全中,区块链的攻击大多数分为双重花费攻击、
自私采矿攻击,日蚀攻击、扣块攻击、贿赂攻击,

这五种常见的攻击方式。
 

 
双重花费式区块链攻击
 
双重花费攻击(Double Spending Attack)是针对比特币系统的一种特有攻击。该攻击分为两种

类型:攻击者使用一笔金额, 同时和多个对象进行交易。若这些交易对
象在这笔交易未被记录进

合法区块链的情况下, 完成了交易, 则攻击者达到了双重
消费甚至多重消费的目的。尽管在攻击

者发起的多笔交易中, 最终只会有一笔交易
认定为合法并记录入区块链中, 但交易对象完成了交

易(如已经把攻击者购买的货
物发给攻击者), 攻击者已经从这次攻击中受益。Sine安全公司是一

家专注于:
站安全、服务器安全、网站安全检测、网站漏洞修复,渗透测试,安全服务于一体的

网络安全服务提供商。
 
 
 
攻击者利用自身的算力发起双重花费攻击: 攻击者利用同一笔金额, 同时和两个交易对象进行交

A 和 B。其中一笔交易 A 被确认记录进区块链, 使得交易 A 完成
。由于攻击者拥有强大的算力,

他将交易 B 记录在私人区块链里, 并挖出一条比
合法连更长的链, 促使交易 B 也得到了确认, 并

完成交易 B。在双重花费攻击中, 
第二种类型攻击的危害性更大。这是由于, 对于第一种类型攻

击, 交易者只需要在
交易得到确认6 次以上, 再完成交易就可以避免; 对于第二种攻击, 由于攻击

将“非法”交易加入私人区块链, 并且最终这条链被认定为合法, 相当于更改了区块链中的这笔交

易(将交易 A 更改为交易 B), 这种对区块链数据进行篡改的行为
严重影响了区块链的安全完整性。
 
 
自私采矿式区块链攻击
 
自私采矿攻击(Selfish Mining Attack)是针对区块链的一种典型攻击。由于挖取像比特币这样的

加密货币,对于一个矿工(Miner)来说, 需要高计算能力来解决密
码难题(即工作量证明), 因此采矿

变得十分困难。鉴于此, 一组矿(Mining pool, 
采矿池)通常会相互组合起来, 并在成功解决密码难

题之后,分享收到的奖励。

 
这样有助于个体矿工在单独采矿时, 产生较连续恒定的收入, 而不是很少的收益。Eyal 和

Sirer 认为如果存在一群自私的矿工, 采用自私的采矿战略, 并获得成功
, 就可能会使诚实

矿工的工作无效。这种自私采矿攻击表现为: 一个恶意的采矿池
决定不发布它发现的块,

进而创建一个分叉, 因此, 网络中就存在由诚实矿工维护
的公共链和恶意采矿池的私人分

叉, 恶意采矿池在此私人分叉下继续进行挖掘, 当
私人分叉比公共链长的时候,恶意采矿池

就发布该私人分叉, 由于该分叉是当前网
络中最长的链, 因此会被诚实的矿工认定为合法

链, 所以, 原公共链及其包含的诚
实数据将被丢弃。研究结果表明, 一般情况下恶意采矿池

采用自私采矿策略将获得
更多的收益。Sine安全公司是一家专注于:网站安全、服务器安

全、网站安全检测
、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。
 
 
 
日蚀式区块链攻击
 
作为比特币系统信息交互的重要支撑, P2P 网络采用节点间广播来发布比特币信息, 日蚀

攻击(EclipseAttack), 或称掩蔽攻击, 正是利用这种广播特性进行攻击。
在比特币系统中,

攻击节点随机选择8个其他对等节点, 并保持长时间的传输连接, 
用于传输和存储有关其他

对等体的信息。
由于具有公共 IP 的节点最多可以接收来自其他IP节点117个未经请求的入

站连接
(Incoming Connection),攻击者“策略性”地控制受害节点所有信息的接收与发送,使得

受害节点的入站连接数量达到上限, 从而阻
止其他合法节点的连接请求。其攻击行为表现为,

攻击者不断向上述8个对等节点发出请求, 并且发送大
量无用的信息, 直到这些对等节点重新

启动; 而这些对等节点即使重新启动后, 也将首先
收到攻击者连接请求与无用信息, 进而被比

特币系统“隔离”出来, 导致受害节点
的采矿工作无效, 从而达到攻击目的。一般意义上, 该攻

击是指攻击者入侵并恶意修改节点的路由表, 将足够多的恶意节
点添加到该节点的邻节点集

合中, 从而将该节点恶意“隔离”于正常网络之外, 因
此, 日蚀攻击也称为“路由表毒化”。
分享: