区块链一直以不可篡改、分布式、永久可查验等特点得到人们的青睐,这些特点使区块链听起来非常安全,甚至像是个万无一失的技术。但实际上,针对区块链的攻击一直都存在,且每次发生,往往会造成巨大的损失。
对于区块链的开发者和使用者来说,了解这些攻击的原理是至关重要的。预防胜于治疗,切莫“头痛医头,脚痛医脚”。
基于对等网络的攻击
1、日蚀攻击-一个节点将选择“x”个节点作为访问区块链的基础,该节点从这“x”个节点获取区块链的数据。
如果攻击者可以使得此节点选择的“x”个节点都为攻击者可控制的节点,就可以使得被攻击节点处在一个“孤立”的状态。被攻击节点将从主网中被隔离出来,完全由攻击者控制。
如下图所示:
成都链安:hackerDao项目遭受价格操控攻击,获利资金已转至Tornado.cash:金色财经消息,据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,hackerDao项目遭受价格操控攻击。成都链安安全团队第一时间进行分析,发现攻击者先从先闪电贷借出2500WBNB,拿出部分WBNB兑换出大量hackerDao,然后将这笔hackerDao发送WBNB/hackerDao;并调用该交易对合约的skim函数将多余代币领取至BUSD/hackerDao。由于hackerDao代币在转账时,如果转账接收地址是BUSD/hackerDao时,会同步减少发送者的代币余额以收取手续费,因此,WBNB/hackerDao交易对中的hackeDao数量被异常减少,从而影响该交易对的代币价格,使得攻击者最终利用WBNB/hackerDao兑换出WBNB时,获取额外的收益。目前攻击者实施了两次攻击,总计获利约200BNB,已经转至Tornado.cash 。[2022/5/24 3:38:37]
图一
成都链安:Visor Finance遭受攻击事件分析:据成都链安监测显示,Visor Finance于北京时间2021年12月21日晚上10点18分遭受攻击。经成都链安技术团队分析,本次攻击利用了Visor Finance项目抵押挖矿合约RewardsHypervisor的两个漏洞:
1.call调用未对目标合约进行限制,攻击者可以调用任意合约,并接管了抵押挖矿合约的执行流程;<- 主要漏洞,造成本次攻击的根本原因。2.函数未做防重入攻击;<- 次要漏洞,导致了抵押凭证数量计算错误,不是本次攻击的主要利用点,不过也可凭此漏洞单独发起攻击。针对这两个问题,成都链安在此建议项目方应做好下面两方面:1.进行外部合约调用时,建议增加白名单,禁止任意的合约调用,特别是能够控制合约执行流程的关键合约调用;2.函数做好防重入,推荐使用openzeppelin的ReentrancyGuard合约。[2021/12/22 7:55:18]
2、
巧克力COCO智能合约已通过Beosin(成都链安)安全审计:据官方消息,Beosin(成都链安)近日已完成巧克力coco智能合约项目的安全审计服务。据介绍,巧克力COCO是基于波场底层打造的一个去中心化开放金融底层基础设施。结合波场TICP跨链协议,订单簿DEX,智能挖矿等等功能的创新和聚合,进而打造全面去中心化金融平台。巧克力COCO无ICO、零预挖且零私募,社区高度自治。合约地址:THTpbtqfoGmL6HwqaGrWKd7aJAcUTbCnoC审计报告编号:202010042149[2020/10/5]
女巫攻击-这里的“女巫”并不是指拥有魔法的女人,而是出自一部美国电影《Sybil》,剧中的主人公拥有16重人格,扮演着16个不同的角色。而女巫攻击就是指同一节点伪装成不同节点发起的一种攻击。
攻击者通过伪造的身份,使少量节点伪装成大量节点,进而影响整个网络。攻击者可能利用女巫攻击进行双花、实现51%攻击等,并且要实施日蚀攻击,一般都会先进行女巫攻击。
动态 | 成都链安推出Beosin-AML虚拟资产调查取证和反合规系统:为帮助虚拟资产服务商(VASP)监测交易风险、执行反合规程序,帮助监管部门监督VASP合规流程执行情况,帮助执法部门快速收集虚拟资产犯罪案件证据,为受害者提供技术协助,成都链安科技推出可视化的虚拟资产合规监测和调查取证分析系统Beosin-AML。系统上线技术援助服务,受害者被盗币或不慎参与了跑路盘、资金盘等非法项目后,可在网站提交相关信息,平台开展调查、分析和追踪等取证服务。成都链安Beosin-AML虚拟资产调查取证和反合规系统,采集链上交易数据,分析加密货币犯罪和安全事件,结合机器学习模型综合分析链上交易的合规和安全风险。帮助区块链行业建立合法、合规的应用生态。[2019/12/10]
图二
3、
异形攻击-异形攻击又称为“地址污染”。
当不同公链使用兼容的握手协议时,我们称这些公链为同类链。攻击者将同类链的节点数据加入被攻击的公链节点中,当被攻击的公链节点进行通信并互换地址池时,就会污染其他正常节点的地址池,并持续污染整个公链网络,导致公链通信性能下降,最终造成节点阻塞等现象。
很多借鉴以太坊开发的区块链系统,与以太坊使用了相同的通讯算法,它们都属于以太坊的同类链。
基于共识和挖矿的攻击
1、自私挖矿?–区块链的共识机制决定着节点会认同最长链才是真实有效的。攻击者可以在当前最新区块上持续挖矿但不进行广播,从而隐藏自己挖出的区块。
当攻击者节点隐藏的区块长于已在链上的公布的最长区块时再进行广播,从而成为最长链,使得原先的最长链进行回滚,从而实现双花等攻击。
同时,进行自私挖矿的节点可以比其他诚实节点获得更大的利益。假设在区块1的基础上继续的挖矿,自私节点挖出“2’”和“3’”,但其并不对外广播这两个区块,并继续在“3’”的基础上继续挖矿,而当其他节点挖出了“2”时,其也对外广播“2’”,使得链上产生分叉,如此继续,当自私节点挖出较长的链并进行广播时,其可以获得“2’”到最新区块的所有挖矿奖励。
如下图所示:
图三
2、
挖矿木马?–攻击者通过上传恶意程序到公开网络或者制作蠕虫病等方式将挖矿程序传播到他人计算机上。
利用他人计算机资源和电力进行挖矿,获取挖矿利益。被攻击的计算机会消耗大量的资源,导致电脑卡顿,使用寿命减短。
图四
3、
51%算力攻击?–51%算力攻击是区块链最著名的攻击方式之一。
在一个POW共识的区块链网络中,算力即是权力。当超过50%的算力都由一人控制时,此人就可以任意的撤销和阻止交易,进而实现双花。
这种攻击在大型网络中较难实现,在小型网络中发生的可能性更高。在POS共识中与之类似的有币龄累计攻击和长距离攻击。
4、时间劫持攻击?–一个节点是通过其他节点时间的中位值来确定时间的。
如果攻击者将一个恶意的节点列表置入被攻击节点的对等节点列表中,就可以控制此节点的时间,例如通过日蚀攻击。
被攻击的节点将不会接收来自正常网络的出块。由于这些交易无法提交到实际的区块链网络,攻击者便可以对此节点发起双花等攻击。
基于0确认的攻击
1、芬尼攻击?–如果攻击者可以隐藏一个包含自己交易的区块,就可能实现一笔双花。
当一个交易所或其他机构接受0确认的交易时,攻击者可以向其进行转账,花费其隐藏区块中已经花费的资金,在新交易的区块广播前,将隐藏的区块广播。
因为所隐藏的区块时间更早,所以在后面进行的花费将被回滚,从而实现双花。
2、种族攻击?–此类型攻击是“芬尼攻击”的分支,攻击者将同时进行两笔交易,花费同一笔资金,一笔转给支持0确认的商家进行提现;一笔转账给自己,并给予更高的gas。
节点会优先处理gas更高的交易,所以后一笔交易将不会被执行。通常攻击者会连入与被攻击商家较近的节点进行操作,使得商家优先收到最终不被执行的交易。
写在最后
区块链中的漏洞导致的代价可能非常之高,尤其是公链,任何人都可以匿名的连入公链。
而区块链的不可更改性又使得攻击发生后更难以挽回损失,虽然可以通过硬分叉和软分叉进行修复,但显然这不是一个好的方法。因此在实际上线前做好安全审计和是尤为重要的。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。