宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > DOT > 正文

PeckShield 深度还原,锁死 MakerDAO 中 MKR 代币的漏洞是啥?

作者:

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

05月10日凌晨,MakerDAO公开了新版合约。Zeppelin和PeckShield也各自独立完成了对其新合约的审计,确定新版本修复了该漏洞。本文Peckshield将公布该漏洞的细节与详细攻击手法。

原文标题:《MakerDAO治理合约升级背后的安全风波》

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

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

PeckShield:Cream Finance攻击者将10万枚DAI兑为63.6枚ETH:金色财经报道,PeckShield监测显示,Cream Finance攻击者将10万枚DAI兑换为63.6枚ETH,并转移到0xdece开头的中间地址。[2023/1/31 11:37:56]

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

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

TradeDog Group推出1亿美元Web3 Special Situation基金:金色财经报道,TradeDog Group 宣布推出 1 亿美元Web3 特殊情况基金(Web3 Special Situation Fund),Web3 孵化器 TdeFi 将成为该基金战略合作伙伴。该基金将重组并投资于产品和业务良好但 Token 表现不佳的项目。据悉,多策略基金 TD VC 将会把一部分资金分配给特殊情况投资,TD VC 将根据 Token 项目要求为加密企业提供相匹配的资金注入,以支持数字生态系统长期增长,使 Web3 领域的创造者能够进一步发展现有的多层区块链生态系统。[2022/12/28 22:11:24]

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

ApeCoin配对质押机制将使用户在出售NFT后损失质押的代币:金色财经报道,12月5日上线的ApeCoin质押系统支持用户直接质押ApeCoin代币,或将代币与Bored Ape或Mutant Ape NFT配对质押。当配对质押时,只有代币被锁定在智能合约中,NFT仍然可以在OpenSea或任何其他市场上出售。当NFT售出时,持有者将失去质押的ApeCoin给NFT的买家,因为配对的NFT充当访问密钥。

PeckShield已报道了两起该漏洞的受害者,一交易员使用来自dydx的82ETH(103000美元)快速贷款购买了BAYC#6762并认领了质押的6400枚APE(26240美元),然后交易员以88ETH的价格出售了NFT和ApeCoin,获利6ETH。另一名交易员通过购买BAYC#1633获利了近8个ETH。[2022/12/7 21:27:33]

细节

动态 | PeckShield数据监测:BCH现价值超千万USDT大额转账:据PeckShield态势感知平台11月16日数据显示:今天下午15:38,BCH ABC链出现1笔价值超千万美元的超大额转账。qq4grn49d开头的地址向qp926pufz开头的地址转入22,736枚BCH,块高度为:556897,交易哈希值为:7dc19ad062dc6698dbf6672d55254264b07ad98e2a46d5861c2af66d59a985e5,此外同一区块内还包含另6笔数千枚BCH的较大额转账,整体价值约22,290,334 USDT。[2018/11/16]

在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.07PeckShield复查并确认了漏洞存在2019.05.08PeckShield与Maker基金会讨论并确认了漏洞细节2019.05.09Maker基金会公布新版DSChief合约源码,PeckShield披露了漏洞相关细则来源链接:mp.weixin.qq.com

本文来源于非小号媒体平台:

PeckShield

现已在非小号资讯平台发布1篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/3626575.html

MKR漏洞风险安全

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

听刚发现EOS重大漏洞的专家谈谈,区块链的技术本质是什么?

下一篇:

慢雾创始人余弦:真正的黑客究竟什么样?

标签:SHIELDSHIELDMKRSSHIBA币DarkShield Games Studioshield-xshAMKR

DOT热门资讯
公告中心丨100000 ILC糖果,注册交易即送

100000ILC糖果,注册交易即送注册即送:从12月8日00:00(UTC8)起,前5000个注册币客的新用户将得到15ILC奖励。注册完成后立刻发送到账户.

1900/1/1 0:00:00
【公告】Bibox系统升级完成

尊敬的用户: Bibox现已完成系统升级,并于北京时间2019年5月22日04:35恢复交易;为保证资产安全,提现功能将逐步恢复.

1900/1/1 0:00:00
关于BHEC交易狂欢周奖励发放公告

尊敬的BihuEx用户:BHEC交易狂欢周每日有礼活动活动期间,每天BHEC交易量排名前十的用户,可参与本次活动并获得奖励,共同瓜分10000元现金红包,添加官方客服:jiangxi5831领取.

1900/1/1 0:00:00
优选上币普遍上涨 昨日仅BLOC下跌

据《币世界》监测,优选上币普遍上涨,昨日仅BLOC下跌,据火币行情显示,TOP现报0.007935USDT,涨幅4.39%,较发行价涨幅126.7%,NEW现报0.004648USDT,涨幅9.67%.

1900/1/1 0:00:00
SHOOK(SHK)上线币客BITKER交易所公告

尊敬的BITKER用户:BITKER将于2019年2月15日上午10点正式开启SHK/USDT交易对。iShook满足了希望在社交网络列表中分享经验的用户的需求.

1900/1/1 0:00:00
来势汹汹的稳定币Reserve Protocol

5月13号火币Prime发布公告,ReserveProtocol将于5月22号登陆火币全球站,也成为了第三个通过火币Prime直接登录火币全球站的项目通证.

1900/1/1 0:00:00