随着区块链技术的发展,黑客攻击一直是这个行业的一个巨大隐患。自从2020年“DeFi Summer”以来,涌现了一批知名的去中心化应用(Dapp),促使链上总锁仓量(TVL)飙升,2021年末达到巅峰,以将近1800亿美元创造历史记录。
正是因为有利可图,DeFi协议和相关应用也成为了黑客主要的攻击对象,再利用诸如Tornado Cash这样的隐私交易平台进行洗钱,资金动向难以追踪,因此而造成的资产损失逐年递增,2020年全年资产损失金额是15亿美金,2021年达到了30亿美金,到了2022年创造了40亿美金的历史记录。
DeFi为区块链和加密货币世界带来了巨大的机遇,创造了一个有一个财富神话。然而,它也带来了新的挑战,包括各种类型的攻击。这篇文章将会介绍一些常见的 DeFi 攻击,以及应对措施。
DeFi 领域的技术发展使得加密借贷非常受欢迎,因为它们充分利用了当前可用技术的全部力量,闪电贷已成为一种非常有吸引力的贷款形式。闪电贷是一种相对较新的无抵押贷款,已在许多基于以太坊网络的DeFi协议中流行起来,业务模式与传统金融领域的借贷极为相似,一方提供资金流动性,另一方借出资金用于投资,并偿付一定的利息。
闪电贷款攻击指的是一种智能合约漏洞,攻击者从DeFi平台中取出闪电贷款,使用他们所借的资金,并在同一区块中偿还,也就是黑客从DeFi资金池子里借来的钱套利,然后在他们从中获利后立即迅速归还资本。成功实施闪电贷攻击应该具备两类条件:
理论上,具备以上条件,可以实现近乎零成本的获利。目前,各大公链上都提供了闪电贷的功能,有的是要收利息,但是大部分都是零利率的。所以,最重要的是要发现能实施价格操作的漏洞合约。
价格操纵指的是某些Defi协议的资产价格计算公式中,包含重大漏洞。由于闪电贷允许在极短的时间内借出巨额的资金,如果将这些资金倾注到一个脆弱的资金池内,会使得代币价格波动异常,攻击者有可乘之机,进而产生套利空间。
另外一种可能就是使用了区块链外的数据源,我们通常称之为预言机(Oracle)。因为在以太坊上运行的智能合约不能访问存储在区块链网络之外的信息,预言机以外部智能合约的方式,被其他的智能合约所调用。有些智能合约会依赖外部数据来控制执行过程,在这种情况下,就给黑客提供了恶意攻击的机会。
至今为止,无论是在单独一个场景还是整个行业,DeFi都极易受到价格操作和各种可疑策略的影响,其中,三明治攻击便是一个典型的例子,在高频交易的场景里尤其适用。
三明治攻击本质上是一种抢先交易的手段,主要针对DeFi协议和服务。在以太坊的节点上,会有一个内存池(MemPool),作为待上链数据的一个缓冲区,其数据查看权限是公开的。恶意交易者在其节点上寻找“有利可图”的待处理的交易,攻击者会支付较高的手续费“贿赂”矿工进行前置(front-run)交易,随后又支付一笔较低的手续费进行后置(back-run)交易,而原来的待处理交易则夹在两个交易中间。
在去中心化交易所(DEX)上会频频发生以上操作,假设正常交易者要将1份资产A交易转换成100份资产B,其经历的主要流程如下:
合理设置交易手续费。对于一些重要的交易,可以适当提高其交易手续费。不过,这样做只是提高了攻击成本,但是不能完全消除;
拆分交易。三明治攻击对较大的交易额感兴趣,交易额越大,意味着利润空间越大。可以考虑将交易分成若干个较小的交易,因为这些小额交易对于抢跑者来说不太具有吸引力;
设置更低的滑点,通常在1%以下。由于滑点的保护,虽然牺牲了交易手续费,但是避免了更多的损失;
合理使用工具或平台,比如Flashbots,通过私人交易池和拍卖机制让交易者免受“夹击”。同时,要使用有较强安全防范措施的去中心化交易所(DEX),比如1inch,sushi等等。
跨链攻击是针对区块链互操作性和在不同区块链之间转移资产的安全威胁,这些攻击通常是利用了允许资产从一个区块链转移到另一个区块链的跨链桥或协议中的漏洞。
当前主流的跨链机制有:公证人,侧链和中继链:
公证人机制引入一个双方共同信任的第三方作为中介,通常是一个中心化机构,由共同信任的第三方中介进行跨链的数据收集、交易确认和验证,存在一定的中心化风险。
侧链是一个独立于主链的区块链系统,通过双向锚定(two-way peg)机制,将主链和侧链的资产建立了严格的映射关系,所以需要同步主链所有的区块头以验证交易是否被认可。在安全性方面,由于侧链
和主链的安全机制是独立的,故主链的安全优势无法在侧链上体现出来。
中继链是公证人和侧链的有效融合和延伸。同样身为一个独立的区块链系统,但是不会同步主链的交易信息,只是负责跨链数据传输,可以认为是一种去中心化的公证人机制。相比侧链,工作效率更高,安全性也更胜一筹。
通过对跨链资产转移的过程,来分析潜在的安全漏洞,如下图所示,是基于中继机制的跨链桥(B1->B2)的流程:
从上述过程中,可以分析得到三类潜在的安全漏洞:
这个潜在的安全漏洞发生在执行步骤1的过程中。源链B1的锁定资产的智能合约逻辑处理不当(如使用不安全的转账函数等),就可能会让攻击者绕过锁定资产的过程,直接触发有效的存款跨链事件,这意味着攻击者能够在不支付B1链资产的情况下,获取B1链对应的交易资产。
这种安全漏洞导致Qubit、Wormhole 和 Multichain等跨链桥遭受到了攻击。
以Qubit为例:
2022年1月,借贷协议Qubit的跨链桥QBridge遭到攻击,损失约8000万美元。
其主要原因是智能合约对白名单内代币进行转账操作时,未对其是否为0地址再次进行检查,导致本该通过native函数进行存款的操作却能顺利走通普通代币存款逻辑。
事件发生后,Qubit 的开发团队宣布已无法维持,因此决定解散,由该团队领导开发的Bunny和Qubit 协议将由DAO管理。社区将拥有升级合约、更改费用结构等所有相关权限。
目前Qubit几乎已无人使用,项目团队虽表示会继续赔付,但当前仅赔付了极小一部分(约2%)资金。
这个潜在的安全漏洞发生在执行步骤2的过程中。这种安全漏洞发生在中继器解析事件的过程中,引起了存储事件和锁定动作的不一致。常见的错误主要有两种:
这种安全漏洞导致THORChain、Poly Network等跨链桥遭受到了攻击。
以Poly Network为例:
2023年7月,一名攻击者利用Poly Network的漏洞,在多条链上增发了价值420亿美元的资产。攻击者在源链发送一笔数额很小的交易,触发资产锁定事件,随后利用伪造的凭证在Poly Network所在的中继器上篡改资产数量,触发目标链的巨额资产的解锁事件。
Poly Network事件的初期检测结果显示,虽然链上增发资产的数额巨大,但由于资金池缺乏流动性支持,并且相关受害方及时撤出了流动性,其造成的损失规模相对可控。
这个潜在的安全漏洞发生在中继器与目标链B2智能合约交接步骤3和4的过程中。
通常情况下,只有可信的中继器才能对目标链中的解锁行为进行授权,而这种安全漏洞是传统网络攻击造成的密钥泄露或链上/链下代码的访问控制不当,可能会使未经授权的攻击者成功调用目标链的智能合约的解锁函数,并转移大量的资金。
这种安全漏洞导致Robin Network、Anyswap等跨链桥遭受到了攻击。
以Robin Network为例:
2022年三月份,Ronin Network的跨链桥遭到攻击,损失总额高达6.24 亿美元。
Ronin Network所遭受的是典型的社会工程学攻击:
Ronin Network一事不单单是跨链桥历史上规模最大的黑客事件,如果按照事件发生时的市场价格计算,这更是整个加密货币历史上涉案金额最大的黑客事件。幸运的是,通过后续融资,Ronin Network 此后启动了对用户的赔付,并于六月底重启了其跨链桥。
跨链桥生态的愈发多样化、丰富化,使得在其之上进行的交易、资金量也会随之大幅增长,这也就吸引了黑客对于跨链协议的关注,再加上跨链桥本身就是黑客资金出逃的重要环节,因此也会成为黑客攻击的目标。对于项目方来说:
Rug Pull是加密货币领域的“黑话”,本质上,Rug Pull是一种发生在DeFi领域的骗局。Rug Pull通常涉及欺骗性的做法,如虚假承诺、误导性营销和操纵性策略,以引诱用户参与项目投资。这可能包括声称高回报、低风险和强大的社区支持,其背后的主要动机是经济利益。
常见的Rug Pull行为有两种:窃取流动性,限制卖单。
项目方会突然蓄意耗尽项目的资金或流动性,整个过程发生在一瞬之间,不会有任何的事先警告。他们还可能停用或删除自己的社交媒体资料和线上社区交流渠道,以避免被发现和跟踪。这样做通常会给投资者和用户留下毫无价值或大幅贬值的资产,严重损害了投资者的利益。
这是恶意开发者欺诈投资者的一种隐蔽方式。在这种情况下,开发者会对链上智能合约做手脚,做出来的加密货币留有后门,使其成为唯一能够出售资产的一方。然后,开发者等待投资者购买他们的新加密货币。一旦资产价格走高,他们就会抛售手里的资产,留下一文不值的代币。
Rug Pull的典型例子是土耳其加密货币交易所Thodex的倒闭,这起盗窃案是2021年最大的加密货币诈骗案之一,其价值损失高达 20 亿美元。尽管土耳其警方在调查这一重大骗局期间拘留了62人,但被指控的犯罪者仍下落不明。
投资者可以注意一些明显的迹象,以保护自己免受Rug Pull之害。
随着DeFi吸引越来越多的人入场,对没有经验的交易者的保护将成为区块链专家的首要解决的问题,而且去中心化的概念本身就意味永远不可能有一个被授权的第三方来保证用户资产安全、保证和对用户的损失作出赔偿。除此之外,交易者应该明白,DeFi目前还处于萌芽阶段,有很多不完善和缺陷。随着技术和市场日臻完善,DeFi将会为用户提供更好的服务。
转载申明:未经作者本人同意,本篇文章不可转载或者作为文摘、资料刊登。