05月10日凌晨,MakerDAO公开了新版合约。Zeppelin和PeckShield也各自独立完成了对其新合约的审计,确定新版本修复了该漏洞。本文Peckshield将公布该漏洞的细节与详细攻击手法。
原文标题:《MakerDAO治理合约升级背后的安全风波》
北京时间2019年05月07日,区块链安全公司Zeppelin对以太坊上的DeFi明星项目MakerDAO发出安全预警,宣称其治理合约存在安全漏洞,希望已锁仓参与投票的用户尽快解锁MKR提并出。MakerDAO的开发者Maker公司亦确认了漏洞存在,并上线了新的治理合约,并宣称漏洞已修复。
该安全威胁曝出后,PeckShield全程追踪了MKR代币的转移情况,并多次向社区发出预警,呼吁MKR代币持有者立即转移旧合约的MKR代币。截止目前,绝大多数的MKR代币已经完成了转移,旧治理合约中尚有2,463个MKR代币待转移。
加密交易平台Talos与比利时做市商Keyrock合作,提升加密货币市场流动性:3月21日消息,加密交易平台Talos表示,随着其向欧洲的扩张,它将通过与加密货币做市商Keyrock合作,为客户提供更深层次的流动性。
此前消息,Keyrock去年9月完成7200万美元B轮融资,投资者包括Ripple和SIX FinTech Ventures(瑞士交易所SIX Group的投资部门);Talos去年5月完成1.05 亿美元B轮融资,投资者包括华尔街巨头花旗集团、富国银行 (WFC) 和纽约梅隆银行。(Coindesk)[2023/3/21 13:17:28]
05月07日当天,经PeckShield独立研究发现,确认了该漏洞的存在,具体而言:由于该治理合约实现的投票机制存在某种缺陷,允许投票给尚不存在的slate。等用户投票后,攻击者可以恶意调用free()退出,达到减掉有效提案的合法票数,并同时锁死投票人的MKR代币。
欧洲刑警组织打击比利时庞氏局Vitae,收回150万欧元加密货币:欧盟法律机构欧洲刑警组织打击了比利时庞氏局Vitae。欧洲刑警组织突袭了与该网站相关的17个地点,这些地点被宣传为拥有自己的加密货币的社交媒体网站。该公司以VITAE AG的名义在瑞士运营。在此次行动中,执法人员收回了110万欧元现金和150万欧元的加密货币。(Bitcoin)[2021/6/28 0:11:32]
次日05月08日,PeckShield紧急和Maker公司同步了漏洞细节,05月10日凌晨,MakerDAO公开了新版合约。Zeppelin和PeckShield也各自独立完成了对其新合约的审计,确定新版本修复了该漏洞。
在此我们公布漏洞细节与攻击手法,也希望有引用此第三方库合约的其它DApp能尽快修复。
动态 | 比利时金融监管机构更新欺诈性数字货币交易平台名单:据btcmanager消息,比利时金融服务和市场管理局(FSMA)再次向公众发出有关此类无管制投资风险的警告。FSMA还更新了其欺诈性数字货币交易平台列表,在“黑名单”列表中添加了28个数字货币平台。[2018/9/4]
细节
在MakerDAO的设计里,用户是可以通过投票来参与其治理机制,详情可参照DAO的FAQ。
以下是关于itchyDAO的细节,用户可以通过lock/free来将手上的MKR锁定并投票或是取消投票:
在lock锁定MKR之后,可以对一个或多个提案(address数组)进行投票:
注意到这里有两个vote函数,两者的传参不一样,而vote(addressyays)最终亦会调用vote(bytes32slate),其大致逻辑如下图所示:
动态 | PeckShield安全播报: EOS竞猜游戏EOSDice再遭黑客攻击 损失4,633个EOS:据PeckShield态势感知平台数据显示:今天上午11:19-11:34之间,黑客coinbasewa11向EOSDice游戏合约(eosbocai2222)发起95次攻击,共计获利4,633.4827个EOS。PeckShield安全人员跟踪数据发现,该黑客账户coinbasewa11在攻击得手后,先将资金转移至另一账号coinbasewall,随后又将所得资金转向Bitfinex 交易所账号(bitfinexdep1)。根据当前EOS市场价格37元估算,黑客此次攻击获利超17万元。值得注意的是,此次EOSDice遭攻击原因同样是由于随机数问题被攻破。在经社区玩家提醒察觉到被攻击后,游戏合约(eosbocai2222)于11:34向另一安全账户(eosbocaidevv)转移700个EOS及时止损,同时EOSDice社区也发出公告暂停游戏。PeckShield安全人员表示,此次开源游戏EOSDice再次被攻击,已经是EOS DApp本月第三次遭黑客攻击。[2018/11/10]
简单来说,两个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重大漏洞的专家谈谈,区块链的技术本质是什么?
下一篇:
慢雾创始人余弦:真正的黑客究竟什么样?
比特币在8000美元附近盘整的第5天。到今天为止,还是按照上回的判断走。由于这几天震荡区间在1000美元,属于宽幅震荡,振幅还没有缩窄,也就是说还没有到选择方向的时候,从K线上看也不排除构建一个.
涡轮网络VolumeNetwork是由前波场CTO及核心团队联合中国版IPFS-Lambda团队共同打造大规模商业应用的加密货币.
尊敬的BITKER用户:BITKER将于2019年3月9日上午10点正式开启TGIC/USDT交易对。TGIC基于区块链技术打造安全、可信、共享的金融行业新生态.
5月21日19:00,全球实物资产通证-潮牌通证SUP完成认购后在55.com挂牌交易,在潮牌通证区开启SUP/USDT交易对,SUP是55.comATO的首发项目.
硅谷风投教父、著名风投公司德丰杰创始人TimDraper上周对比特币进行了诗意化的描述——他在CNBC的“ClosingBell”节目中告诉主持人说:比特币这种全世界最著名的加密货币是投资的最好.
作者:安比实验室&AnChain.ai安比实验室创始人郭宇:2009年,中本聪创造了一个虚拟的去中心化新世界。这仿佛是一片流着奶和蜜糖的应许之地,人们欢呼雀跃,蜂拥而至.