安基网 首页 资讯 安全报 查看内容

黑客盗走五十万美元加密货币解析Defi危机

2020-7-14 13:26| 投稿: |来自:


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: 就在几天前,有报道称,Balancer遭受到了黑客攻击并损失了约合价值$500,000美金。本文将简单复盘此次的攻击经过并分析其背后的原理,介绍其中所提到的技术并且展望我们目前可以预见的关于去中心化金融的潜在危机。 ...

就在几天前,有报道称,Balancer遭受到了黑客攻击并损失了约合价值$500,000美金。本文将简单复盘此次的攻击经过并分析其背后的原理,介绍其中所提到的技术并且展望我们目前可以预见的关于去中心化金融的潜在危机。

分散式金融(DeFi)流动性提供商Balancer Pool承认其被黑客利用了一个系统漏洞,诱使该系统释放了价值500,000美元的加密货币。

Balancer Pools是一家类似Uniswap的多维自动做市商(AMM)。它们拥有多种资产,使用算法来平衡通过其系统运行的每个加密货币的数量从而保持市场流动性。

这次攻击是由一个黑客组织使用智能合约在单个交易中自动执行。第一步,攻击者从dYdX获得了104k WETH的闪电贷(Flash Loan)。WETH是一种可以直接与其他币种交易的ETH衍生品。这个黑客使用资金在WETH与STA token来回交换了24次,使得池中STA余额耗尽,并变成1 weiSTA(0.000000000000000001 STA)。STA token是Stratera发行的一种代币。STA是通货紧缩的token,意味着每笔交易价值的1%都会被销毁(burn)。此次攻击是因为Balancer Pool合约跟踪了智能合约中的代币余额,并且STA代币具有通货紧缩模型,收取了接收者1%的转让费,从而导致transfer() 和transferFrom() 行为不当。因此,每当攻击者将WETH交换给STA时,Balancer池收到的STA就会比预期的少1%。

然后,攻击者多次将1 weiSTA交换到WETH。由于STA转让费机制,Balancer池从未收到STA,反而发放了WETH。由于攻击者进行了大量交易,因此该STA很快变得一文不值。黑客然后用这个几乎毫无价值的STA换回了WETH。

最后,攻击者向dYdX偿还了104k WETH的闪电贷。黑客通过存入一些weiSTA,迅速增加了自己在Balancer Pool中的份额。然后,他通过Uniswap V2将收集的Balancer Pool代币交换到136k STA,然后再次将136k STA交换到109 WETH。

除WETH之外,攻击者还使用WBTC,LINK和SNX对Statera进行了相同的攻击。

最终,Balancer Pool损失了近50万美元,而黑客获得了近42万美金的代币,其中包括:

  • 455 WETH ($100k worth)

  • 2。4m STA ($100k worth) and converted it to 109 WETH ($25k worth)

  • 11。36 WBTC ($100k worth)

  • 60.9k SNX ($100k worth)

  • 22。6k LINK ($100k worth)

那么,这个hacker是怎么做到的呢,是什么样的条件以及契机造就了他的成功呢,我们从中得到了怎么样的关于DeFi Crisis的启发呢。

什么是Flash Loan

在这次黑客攻击中,我们首先看到的黑客运用的手段就是闪电贷。那么什么是闪电贷呢?

闪电贷是一种无抵押贷款,但是仅在一次交易中有效。在以太坊虚拟机(EVM)中,即使有一些交易的条件不满足,也是可以完成交易的。快速贷款的操作如下:一方创建一个智能合约,通过该合约取出贷款,执行某些操作后立即偿还贷款。

闪电贷的存在同时也解锁了闪电攻击(Flash Attack),这是一种通过闪电贷获得资助的资本密集型攻击。正因为闪电贷的特殊设定,这样的攻击不需要冻结任何抵押资产,理论上来讲,黑客可以在不用缴纳任何抵押资产的情况下借到闪电贷。只要闪电贷的资金池中还有充足的资金流动性,尽管是一个没有任何资本的黑客,交一些gas fee,大概$15美金,从而就可以以闪电贷为资本实施攻击。

在这次的攻击中,没有放入抵押的攻击者在dXdY平台上瞬间借了数十万美元的ETH,通过一系列易受攻击的链上协议将其上传到链上,提取了数十万美元的被盗资产,然后偿还了等同于借贷金额的ETH贷款。所有这一切都是在单个以太坊交易中瞬间发生的。

区块链是依靠预言机(Oracle)从外部来源获取信息的。在DeFi中,对预言机依赖最大的就是价格。以太坊区块链本身并不能决定ETH的价格,这是由市场决定。因此,价格数据是使用预言机输入的。交易者可以通过足够大的交易来操纵预言机提供的价格信息。交易所的流动性越少,操纵价格越容易。然后,交易者可以在经操纵过的价格上进行第二次杠杆交易,以确保他们获得最大的利润。

闪电贷对攻击者尤其有吸引力的主要原因有两个:

  1. 很多攻击需要大量前期资金,例如使用预言机操纵攻击

  2. 闪电贷可以最小化对攻击者的影响。

如果我有个用1000万美元ETH操纵预言机的想法,即便是我拥有这么多ETH,我也可能不会用自己的资本进行冒险。如果我是用个人资产进行恶意攻击,我的ETH就会有污点,交易所可能会拒绝我的存入,并且很难洗白。不过,如果我通过Flash Loan借来价值1000万美元的ETH实施攻击,那么,没有人会在乎这笔资产。尽管dYdX的抵押池是我贷款的来源,这也不会对dYdX有很大的影响。

由于以太坊领域中的包括STA代币在内的很多一部分加密货币都具有通货紧缩的独特机制,从而保证其币种尽可能小的受通货膨胀的影响而贬值,所以在这一次的攻击中,这名黑客将104k ETH与STA进行了24次的交换,抽空了STA的流动性池。每一次交换,黑客手中的STA就会损失掉1%的实际价值,由于STA智能合约的这种特性,从而使STA代币变得近乎没有任何价值可言。但是就是通过这个没有价值的STA代币,这名黑客从Balancer资金池中获得了与之前STA代币价值相同的ETH,不仅偿还了10。4万个ETH的闪电贷款,还获得了大量余额。不仅仅是ETH,攻击者同时还与其他不同的币种进行了交换,包括WBTC, LINK and SNX来换取STA代币并从中获利。

从中我们可以看出来,由于Balancer的智能合约存在的漏洞,并没有准确的判断出所兑换的币种是否拥有其真实价值,而发放了相对应的金额款项。那么从类似于这样的智能合约漏洞,我们可以看到一些怎么样的去中心化金融的危机呢?而在其中扮演重要角色的DeFi Protocols又是什么呢?

DeFi Protocols

DeFi是一个去中心化的对等金融模式,并利用基于区块链的智能合约来确保其完整性和安全性。

DeFi协议主要出现在诸如借贷,去中心式交易和其他衍生产品的用途上。

就像传统的金融协议一样,DeFi协议并不是孤立存在的。它的开放性质允许开发人员通过将现有协议组合在一起来创建新协议。这样,通过一种协议借贷所获得的资产可以以任何形式用作其他协议中的抵押品。这就造就了一个复杂且相互交织的资产和债务系统。而且,被用作其他协议中保留资产的协议如果失败,对其他协议也将具有连锁效应,就如同多米诺骨牌一样。

比如说,在Maker中创建的资产同时可用作其他协议中的抵押品,例如Compound,dYdX或Uniswap上的流动性池。确实,DeFi的可组合性定义了开放式金融的属性,即在加密资产之上构建复杂的多组件金融系统的能力。但是,如果基础抵押资产失败,则所有关联协议都将受到影响。

这些协议的核心不是由某个机构及其员工来管理,而是由代码或智能合约的编写规则。一旦将智能合约部署到区块链,DeFi dApps即可在很少有人干预的情况下自动运行

像任何计算机代码一样,智能合约可能容易因为意外的编程错误而出现漏洞并且受到恶意黑客的攻击。

智能合约漏洞就是DeFi的黑天鹅。如果黑客发现并利用了dApp的开源代码中的错误,那么数百万美元可能会立即被盗取或耗尽。

治理(Governance)是DeFi协议的另一个关键方面,治理的过程依赖于代币的数量,参与者的投票权与其在投票系统中锁定的代币的数量成比例。

通过行政投票,参与者可以在系统上加注(即锁定)代币来选择执行合约,从而定义一套规则来管理系统。行政投票是连续的,参与者可以随时更改其投票,并且只要获得多数票,就可以重新选举新的合约。当选的合约是唯一允许操纵抵押资金的实体。如果要选择恶意合约,它可能会窃取所有作为抵押的资金。

保护行政投票的防御机制也是存在的。例如,治理安全模块将成功选出的合同封装一段时间。等时间过后,成功选举的合约才能控制系统,从而降低攻击载体。“紧急关机”功能使一组拥有足够代币的参与者可以暂停系统。但是,此操作需要一定容量的代币池。

假设现在有一个理性的对手(Adversary,密码学中用来泛指想攻破系统的人),这个对手只有在潜在回报高于成本的情况下才会进行攻击。在攻击中,这个对手为了竞选他的合约作为执行合约所必须支付的金额就是他的攻击成本。收益是如果合约一旦被选,他的合约窃取和产生的金额就是他的回报。选择对抗性的执行合约可以使这个对手通过两种方式获得经济效益。首先,此合约可以将所有ETH抵押品转移到对手的地址。其次,合约可以铸造新的DAI代币并将其转移给对手。然后可以交易DAI代币,直到DAI价格崩溃为止。

一方面,通过投票实施的管理机制允许一定程度的去中心化,从而多个协议参与者可以影响协议的未来方向。根据代币的分布,这或许可以减少其中一方产生恶意的风险。但是,这也为攻击投票系统创造了可能性。另一方面,掌控管理机制的“仁慈独裁者”也可以防止攻击。然而,这需要相信该中央实体不会丢失或暴露他的控制智能合约协议访问的私钥,并且该这个独裁者不能接受贿赂然后进行恶意攻击行为。

我们已经看到了智能合约黑客以及DeFi协议可组合性和交换机制带来的负面影响。智能合约可以在几秒钟内损失大量资金,我们仍需要更多的审核和保护,以增加其安全性。



小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.jinse.com/news/blockchain/757601.html

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

相关阅读

最新评论

 最新
返回顶部
上海快3走势图 极速赛车前五规律 极速赛车开奖规律 大通彩票计划群 58彩票网计划群 彩33彩票计划群 上海11选5走势图 万彩会彩票计划群 58彩票网计划群 百胜彩票计划群