月亮链 月亮链
Ctrl+D收藏月亮链
首页 > SAND > 正文

MKR:MakerDAO治理合约升级背后的安全风波_LAT

作者:

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

北京时间2019年05月07日,区块链安全公司Zeppelin对以太坊上的DeFi明星项目MakerDAO发出安全预警,宣称其治理合约存在安全漏洞,希望已锁仓参与投票的用户尽快解锁MKR提并出。MakerDAO的开发者Maker公司亦确认了漏洞存在,并上线了新的治理合约,并宣称漏洞已修复。

该安全威胁曝出后,PeckShield全程追踪了MKR代币的转移情况,并多次向社区发出预警,呼吁MKR代币持有者立即转移旧合约的MKR代币。截止目前,绝大多数的MKR代币已经完成了转移,旧治理合约中尚有2,463个MKR代币待转移。

05月07日当天,经PeckShield独立研究发现,确认了该漏洞的存在,具体而言:由于该治理合约实现的投票机制存在某种缺陷,允许投票给尚不存在的slate。等用户投票后,攻击者可以恶意调用free()退出,达到减掉有效提案的合法票数,并同时锁死投票人的MKR代币。

MakerDAO:以RocketPool质押ETH作为抵押品的RETH-A已达债务上限:金色财经报道,据MakerDAO在社交媒体披露,以RocketPool质押ETH作为抵押品的RETH-A已达债务上限,截止目前锁定的rETH数量为2.76万枚,价值约合5380万美元,同时产生了2000万枚DAI。MakerDAO表示,尽管最近rETH稳定费从0.5%增加到0.75%,但数据显示市场对RETH-A金库的需求仍然强劲。[2023/5/23 15:21:15]

次日05月08日,PeckShield紧急和Maker公司同步了漏洞细节,05月10日凌晨,MakerDAO公开了新版合约。Zeppelin和PeckShield也各自独立完成了对其新合约的审计,确定新版本修复了该漏洞。

YouSwap新增KABY/YOU,MAKI/YOU流动性挖矿:据官方消息,YouSwap将于9月8日18:00(UTC+8)于BSC开拓区新增开启KABY/YOU流动性挖矿,于HECO开拓区新增开启MAKI/YOU流动性挖矿,用户可以通过质押KABY/YOU LP获得KABY和YOU,质押MAKI/YOU LP获得MAKI和YOU。

MakiSwap是HECO(Huobi Chain)上的一个自动做市商(AMM),为在HECO上运行的代币提供快速的交易时间、廉价的GAS费用以及流动性。

kaby Arena 是一款免费的 RPG NFT 游戏。

截至9月8日13:00,YouSwap累计交易总额达134550060 USDT,累计挖矿总产值2235827USDT。[2021/9/8 23:08:52]

在此我们公布漏洞细节与攻击手法,也希望有引用此第三方库合约的其它DApp能尽快修复。

MakerDAO发起有关批准1月治理周期捆绑建议的执行投票:据官方博客消息,1月25日,治理促进者和Maker Foundation智能合约团队已将一项执行投票纳入投票系统,已决定是否批准1月治理周期捆绑建议。具体包括:1.MIP30,CropJoin将变为已接受状态 ;2.MIP13c3-SP7,治理通信将进入接受状态;3.MIP7c3-SP5,域团队入职(??风险域团队)将进入接受状态,Sébastien Derivaux将作为风险域团队促进者加入;4.MIP7c3-SP6,域团队入职(??智能合约域团队)将进入接受状态,Sam MacPherson将作为智能合约域团队协调员加入。5.MIP28c7-SP2,运营支持域促进者入职的子提议将变为接受状态,JuanJuan将被任命为业务支持协调人。[2021/1/26 13:29:52]

细节

声音 | MakerDAO创始人:在价值驱动方面 ETH是Dai生态系统的最稳定选择:据AMBCrypto 11月19日消息,MakerDAO创始人符文·克里斯滕森(Rune Christensen)最近在Blockcrunch采访中谈Dai的抵押品时表示,就驱动价值而言,ETH是Dai生态系统中最稳定的选择。尽管MakerDAO打算在不久的将来找到更多可行的选择。 同时,Rune Christensen进一步设想在将BTC迁移到以太坊区块链之后用比特币支持Dai的问题称:“比特币存在一个普遍的问题,由于它可以被编写的数量有限,因此根本不可能构建更加去中心化的跨链解决方案。”[2019/11/20]

在MakerDAO的设计里,用户是可以通过投票来参与其治理机制,详情可参照DAO的FAQ。

以下是关于itchyDAO的细节,用户可以通过lock/free来将手上的MKR锁定并投票或是取消投票:

在lock锁定MKR之后,可以对一个或多个提案(address数组)进行投票:

注意到这里有两个vote函数,两者的传参不一样,而vote(addressyays)最终亦会调用vote(bytes32slate),其大致逻辑如下图所示:

简单来说,两个vote殊途同归,最后调用addWeight将锁住的票投入对应提案:

可惜的是,由于合约设计上失误,让攻击者有机会透过一系列动作,来恶意操控投票结果,甚致让锁定的MKR无法取出。

这里我们假设有一个从未投过票的黑客打算开始攻击:

1、调用lock()锁仓MKR,此时deposits会存入锁住的额度。

2、此时黑客可以线下预先算好要攻击的提案并预先计算好哈希值,拿来做为步骤3的传参,因为slate其实只是address数组的sha3。

这里要注意挑选的攻击目标组合必须还不存在于slates中(否则攻击便会失败),黑客亦可以自己提出一个新提案来加入组合计算,

如此便可以确定这个组合必定不存在。

3、调用vote(bytes32slate),因为slate其实只是address数组的sha3,黑客可以线下预先算好要攻击的提案后传入。

这时因为votes还未赋值,所以subWeight()会直接返回。接下来黑客传入的sha3(slate)会存入votes,之后调用addWeight()。从上方的代码我们可以看到,addWeight()是透过slates取得提案数组,此时slates获取到的一样是未赋值的初始数组,所以for循环不会执行

4、调用etch()将目标提案数组传入。注意etch()与两个vote()函数都是public,所以外部可以随意调用。这时slates就会存入对应的提案数组。

5、调用free()解除锁仓。这时会分成以下两步:

deposits=sub(deposits,wad),解锁黑客在1.的锁仓

subWeight(wad,votes)

从对应提案中扣掉黑客的票数,然而从头到尾其实攻击者都没有真正为它们投过票。

从上面的分析我们了解,黑客能透过这种攻击造成以下可能影响:

一、恶意操控投票结果

二、因为黑客预先扣掉部份票数,导致真正的投票者有可能无法解除锁仓

时间轴

时间

事件

2019.05.07

PeckShield复查并确认了漏洞存在

2019.05.08

PeckShield与Maker基金会讨论并确认了漏洞细节

2019.05.09

Maker基金会公布新版DSChief合约源码,PeckShield披露了漏洞相关细则

*文章为作者独立观点,不代表BSCEC立场

转载此文章须经作者同意,并请附上出处及本页链接。原文链接https://mp.weixin.qq.com/s?__biz=MzU3MTU2NTU1MA==

标签:MKRSLATSLALATmkr币暴跌SLAT价格LESLARVERSEplaton币跑路

SAND热门资讯
BTC:BTC月线周线面临上方压力 未站稳谨慎进场_Rocket Venture

从BTC月线2012至2019目前走势可看出,BTC历史走势已出现3轮牛熊走势,而3轮熊市的探底走势分别对应的是图中的3个长期BTC月线级别下降通道.

1900/1/1 0:00:00
EXO:上币公告丨Exosis(EXO)上线币客BITKER交易所公告_BIT

Exosis上线币客BITKER交易所公告敬爱的BITKER用户:BITKER将于2018/11/2015:00正式开启EXO/BTC.

1900/1/1 0:00:00
XGP:XGP交易大赛即将开启_HTT价格

5月8日凌晨0:00至5月15日23:00活动期间,参与交易XGP/BTC和XGP/USDT的用户将按活动期间个人XGP交易量,排在前10名的用户可以获得大赛奖励.

1900/1/1 0:00:00
GOX:火星一线 | 英国监管机构: 去年投资者在加密货币中损失3400万美元_ASTRA币

APPhxcj24h)一线报道,据英国金融行为管理局研究报告显示,2018~2019年,该国的加密投资者因加密货币和外汇欺诈共损失3400多万美元.

1900/1/1 0:00:00
BIT:BIKTER即将上线 VOOM_bitopicligand翻译

尊敬的BITKER用户:BITKER将于2019年5月20日15点正式开放VOOM/USDT和VOOM/BTC交易对。充币已经开启,提币将在5月21日开启.

1900/1/1 0:00:00
比特币:华尔街开始坐庄,比特币不到两月暴跌 60%,你敢抄底吗?_区块链

在这个世界上,如果聪明也分等级,那么最最聪明的人,一定是在玩金融。华尔街聚集了全世界最聪明的人,在这里,有数学天才、有心理学大师、有经济学家……他们每几秒钟就能设计出一款风靡全球的金融产品,可以.

1900/1/1 0:00:00