宇宙链 宇宙链
Ctrl+D收藏宇宙链

闪电贷:DeFi项目新玩法 如何攻击MakerDao获取7亿美金

作者:

时间:1900/1/1 0:00:00

来源:medium.com

作者:Dominik Harz

编译:头等仓

如果不引入新治理合约的延迟,您有可能窃取Maker的所有抵押品(7亿美元)并使用闪电贷发行任意数量的Dai。

任何人都可以执行攻击,只需要支付交易费用(几美元),而无需持有任何MKR。

如果Maker在闪电贷池的流动性池超过阈值之前不引入延迟,则几乎没有机会阻止攻击(竞赛条件)。

Maker知道了攻击方式,并在2月21日举行投票,以防止攻击。

介绍

Maker及其Dai稳定币是以太坊上最受欢迎的去中心化金融(DeFi)项目,智能合约锁定了约7亿美元。Maker协议依赖于智能合约中编码的治理流程。MKR代币持有人可以投票替换现有的治理合约,投票与MKR的持有量成正比。MKR代币的总数约为987530 ,其中选定的钱包或合约持有大量代币:

[Maker治理合约:192910 MKR] · Maker基金会:117993 MKR · a16z:60000 MKR  0xfc7e22c6afa3ebb723bdde26d6ab3783aab9726b:51291 MKR 0x000be27f560fef0253cac4da8411611184356549:39645 MKR

安全团队:520项目疑似遭到闪电贷攻击:金色财经报道,据CertiK监测,520 (520)项目疑似遭到闪电贷攻击。外部账户 0xd84...4d928 执行了两笔闪电贷交易,并获利约1.6万美元。

BSC合约地址:0x5200f3418B55E814315242a903A1d7C2d0d0B520[2023/1/17 11:15:38]

注意:Maker治理合约包含多方的MKR令牌。

治理攻击

2019年12月,Micah Zoltu指出了如何攻击治理合约。基本思想是积累足够的MKR代币,用攻击者恶意的治理合约替换现有的治理合约。这样,恶意治理合约便能够使攻击者完全控制系统,并撤回系统以及Dai中的任何抵押品。

为了减少所需的MKR代币数量,他建议在对新的治理合约进行投票时执行攻击。目前,在治理合约中已锁定192,910个MKR代币。但是,如果将两个或三个合约与类似的代币分发并行地进行投票,则攻击者将需要较少的代币。

慢雾:NimbusPlatform遭遇闪电贷攻击,损失278枚BNB:据慢雾安全团队情报,2022 年 12 月 14 日, BSC 链上的NimbusPlatform项目遭到攻击,攻击者获利约278枚BNB。慢雾安全团队以简讯的形式分享如下:

1. 攻击者首先在 8 天前执行了一笔交易(0x7d2d8d),把 20 枚 BNB 换成 NBU_WBNB 再换成 GNIMB 代币,然后把 GNIMB 代币转入 Staking 合约作质押,为攻击作准备;

2. 在 8 天后正式发起攻击交易(0x42f56d3),首先通过闪电贷借出 75477 枚 BNB 并换成 NBU_WBNB,然后再用这些 NBU_WBNB 代币将池子里的绝大部分 NIMB 代币兑换出;

3. 接着调用 Staking 合约的 getReward 函数进行奖励的提取,奖励的计算是和 rate 的值正相关的,而 rate 的值则取决于池子中 NIMB 代币和 GNIMB 代币的价格,由于 NIMB 代币的价格是根据上一步闪电贷中被操控的池子中的代币数量来计算的,导致其由于闪电贷兑换出大量的代币而变高,最后计算的奖励也会更多;

4. 攻击者最后将最后获得的 GNIMB 代币和拥有的 NIMB 代币换成 NBU_WBNB 代币后再换成 BNB,归还闪电贷获利;

此次攻击的主要原因在于计算奖励的时候仅取决于池子中的代币数量导致被闪电贷操控,从而获取比预期更多的奖励。慢雾安全团队建议在进行代币奖计算时应确保价格来源的安全性。[2022/12/14 21:44:29]

如下图所示,这种情况过去经常发生:

BXH再次遭受闪电贷攻击,攻击者获利31794 USDT:9月29日消息,据Supremacy安全团队监测,2022年9月28日,BXH在上次攻击后更新的TokenStakingPoolDelegate合约再次遭受闪电贷攻击,合约损失40085 USDT,攻击者还完闪电贷手续费后获利31794 USDT。

经过分析,本次攻击是由合约的getITokenBonusAmount函数中使用getReserves()获取瞬时报价造成,使得攻击者可以通过操纵报价完成获利。[2022/9/29 22:39:58]

 明显的攻击策略是通过智能合约对所需的MKR代币进行众筹,并向每位攻击者支付一定份额的奖金。但是,攻击者可能需要积累大约5万个MKR代币,才能有机会在没有Maker注意到这些动作的情况下攻击系统。

新攻击策略:闪电贷

BSC链上XSURGE遭到闪电贷攻击:PeckShield“派盾”预警,BSC链上DeFi协议XSURGE遭到闪电贷攻击,请用户注意风控。[2021/8/17 22:18:27]

但是,如果我们考虑使用闪电贷,则可以完全取消大量MKR代币的要求。闪电贷是一个相当新的概念,因此在此进行简要说明。通常,借贷人必须提供抵押品以在DeFi项目中获得贷款。例如,在Maker中,A可以通过存入ETH借用Dai。这是必需的,这是在弱身份和经济上合理的代理人的模型下运作的。

闪电贷取消了这个要求,因为它仅在单个交易中发生:

1.A从闪电贷流动性提供者(如Aave或dYdX)中提取贷款。

2.A执行一些动作(例如,对Uniswap,Fulcrum,Kyber等进行套利交易)。

A偿还了利息的闪电贷。

一名用户近期执行了Aave最大一笔价值1400万美元的DAI闪电贷:8月29日,一名用户执行了Aave最大一笔价值1400万美元的DAI闪电贷,目前Aave已经处理了3亿美元的闪电贷。在已结算的闪电贷总额中,超过一半是在8月份执行的。门户网站Aavewatch的数据显示,从7月30日到9月1日执行的闪电贷增长了117%。此前一个月,使用Aave的闪电贷增长了809%。截至发稿,Aave锁定资产总价值(TVL)约为15亿美元。(Bitcoin.com)[2020/9/2]

闪电贷之所以有效,是因为以太坊虚拟机的设计方式:

如果在该交易期间的任何时候,闪电贷失败,那么整个交易将被还原。因此,A可以无偿承担贷款风险,如果无法偿还贷款,那就像从未承担过一样。流动性提供者也获得了胜利:他们只有在A能够偿还贷款的情况下才借出资金。 

利用闪电贷和 Oracle进行操纵套利

2月14日和2月18日,发生了两起涉及闪电贷的事件,导致bZx停止了平台。在第一笔交易中,单笔闪电贷就能赚取1193 ETH(约298250美元)的利润。该交易使用智能合约执行,该合约在wBTC上开设了Fulcrum的空头头寸。在同一笔交易中,该笔交易从Compound借出了wBTC贷款,并在Kyber的Uniswap储备金上进行了wBTC的交易,导致滑点最终也降低了Fulcrum的价格,可以在bZx的事后评估中找到完整的详细信息。

(头等仓注:Fulcrum 是一款提供简单、有效的贷款和保证金交易方式的产品,并称目前是首个也是唯一完全无需信任的保证金平台,免授权、免手续费,也无需创建账户。)

同样,第二起事件发生在2月18日,在一次交易中获利2378 ETH(约600000美元)。该交易涉及初始借入7500 ETH以在Synthetix?的 sUSD 上买入多头头寸。

对于攻击,假设50k MKR就足够了。即使在实践中,代币的数量可能会更多,闪电贷款的概念如何使Maker的安全难以保证,而不会造成治理延迟。以一种幼稚的方法,攻击者可以借一笔小额贷款购买5万个MKR代币。

以目前的汇率,攻击者需要大约485000 ETH来购买该数量的MKR,只有一个交易所Kyber有足够的可用容量。但是,攻击者还可以利用多个交易所从Kyber购买38k MKR,从Uniswap购买11.5k MK,从Switcheo购买500 MKR,总计378940 ETH。这个数字仍然很高,但已经减少了近100,000 ETH!

攻击者可以使用上面的 Oracle操作策略来有效降低Kyber和Uniswap上的MKR价格。这是MKR的两个最大的提供者,并且显示出容易受到oracle价格操纵的影响,需要进一步分析以确定MKR价格可以降低多少。但是,在像wBTC这样的流动性较低的代币上,攻击者能够将价格波动操纵大约285%。

即使使用oracle操作,也需要大量ETH来执行对Maker的攻击。攻击者可以通过在同一笔交易中提取两笔闪电贷款来增加其流动性。Aave和dYdX保护自己免受重新进入的侵害,并且在单笔交易中仅允许一笔闪电贷款,但是攻击者可以在同一笔交易中从这两种协议借用ETH。

组合方案

显然,可以将众筹和闪电贷结合起来。使用约107k ETH的可用流动性,有可能从Kyber获得约10800 MKR。这样一来,多个攻击者就可以将合计50k MKR的所需数量减少到大约39.2k MKR。正如非正式的Twitter调查显示,似乎有些人确实对这种攻击感兴趣:

还应注意,排名前四的帐户持有人(实际上是五个,但不考虑当前的Maker治理合约)能够在无需众筹的情况下执行攻击。

最好的攻击时机

一旦可以通过闪电贷池获得足够的流动性(使用或不使用oracle操作的组合),任何人都可以接管Maker治理合约。当流动性池达到该阈值时,一旦Maker开始投票,Maker就需要确保MKR代币分配得尽可能少。如果在此投票过程中的任何时候分发MKR都可以利用此漏洞,则可以剥夺任何抵押品。

攻击者将能够窃取价值7亿美元的ETH抵押品,并能够随意创造新的Dai。由于Dai被用作其他协议的支持抵押品,因此这种攻击将遍及整个DeFi项目。此外,攻击者还可以利用他的Dai交易价值约2.3亿美元的其他货币。

对策

Maker 应修订新的治理合约,防止闪电贷攻击它的系统。具体来说,Maker 基金会应该能够检查新的治理合约中是否存在恶意代码,并给予足够的时间做出反应。最低限度,新的治理合约不应在单个交易中生效。这样,攻击者可能无法从攻击中获利,从而无法偿还闪电贷。

如果攻击者无法偿还闪电贷,那么攻击就永远不会发生。

Maker将在2020年2月21日将此类合约进行表决。拟议的合约将激活治理安全模块(Governance Security Module),并防止此类闪电贷攻击。

标签:MKRMakerMAKEETHmkr币今年能涨到二万吗MakersPlaceMake Cities Great Againeth大学英语授课吗

比特币交易热门资讯
越发达的经济体 其央行对数字货币态度越谨慎

自从央行数字货币的概念兴起以来,有近80%的中央银行都正在以某种形式开发中央银行数字货币(CBDC).

1900/1/1 0:00:00
我在 Parity 做 DevOps 工程师

提供系统和追踪错误并不是每个人都会觉得有趣的事情,但 Erin Grasmick 会觉得有趣。Erin 有计算机科学学位,她一直以为自己会成为一名程序员.

1900/1/1 0:00:00
金色深度丨瑞典央行会用DLT技术发行电子克朗吗?

金色财经 区块链2月24日讯  瑞典中央银行(Sveriges Riksbank)将很快试行基于区块链的国家数字货币,然而电子克朗(e-krona)也许充其量只能算是个初期项目.

1900/1/1 0:00:00
比特币测试关键阻力位 加密货币总市值突破3000亿美元

自2019年8月初以来,加密货币的总市值首次突破了3000亿美元。这表明多头又开始行动了。有趣的是,最近不仅加密货币一直在上涨,就连美国股市也在2020年创下了历史新高。目前,道琼斯指数已经超过了29500点.

1900/1/1 0:00:00
这一指标表明加密货币市场接近临界水平 或将决定2020年走势

过去两周对于加密货币市场而言一直处于动荡不安中,比特币和众多主流加密货币在几周前反弹至2020年新的高点,然后遇到了无法冲过的价格阻力,从而引发了强烈的下跌趋势.

1900/1/1 0:00:00
这可能是今天比特币价格下跌的3个原因

比特币已经连续第5天交易价格低于10000美元,这种价格修正的原因可以与一系列可预测的因素联系在一起,但目前而言,这些因素都不会对整个加密货币市场构成长期威胁.

1900/1/1 0:00:00