来自Coinmonks的研究者Micah Zoltu,日前披露了MakerDAO治理系统存在的漏洞,其表示任何拥有约40000 MKR(约2000万美元)的人,都可以窃取Maker DAO的所有抵押品,包括DAI、SAI以及来自Compound、Uniswap以及其它Maker集成系统的大量资产,共计超过3.4亿美元。目前,Maker基金会已发布了紧急公告,称会透过修改治理规则修复这一问题。
以下是Micah Zoltu披露的漏洞细节及Maker基金会的公告内容:
摘要
任何拥有约40000 MKR(约2000万美元)的人,都可以窃取Maker DAO的所有抵押品,包括DAI、SAI以及来自Compound、Uniswap以及其它Maker集成系统的大量资产,共计超过3.4亿美元。Maker DAO v2版本(又名多抵押DAI或McDAI)本应启动安全措施(紧急关闭和治理延迟),以防恶意的MKR持有者窃取所有抵押品(攻击者还可能在该过程中,抢劫与Maker集成的大量Uniswap、Compound及其它系统)。然而,他们并没有选择这样去做。
一家银行
Maker DAO,正是这个东西让DAI在工作,目前,它在v1和v2版本中锁定了价值约3.4亿美元的ETH。它也是一个「被治理」的系统,与uniswap.exchange或者augur.net不同,这意味着一些财阀可以控制系统的行为。
辩方的回应
我已经向Maker提出了这个攻击场景,他们已经明确表示,这不值得他们放弃即时的治理控制,来抵御这种攻击。他们的辩护理由一般如下(这是我的解释,如果你想要第一手陈述,请与他们交谈),以及我的反驳:
1、攻击向量已经存在相当长的一段时间,但到目前为止一切都很好。
反驳:Heartbleed(OpenSSL攻击)存在10年后才被发现。Maker的原始码是出了名的难以理解,并且这些抱怨是来自以太坊开发社群中的很大一部分人。我之前曾亲自告诉他们,我没有审核Maker的合约,因为阅读他们的代码实在太难了。在Maker v2推出之后,我终于还是尝试了,因为理论上它应该是安全的(不像Maker v1,很多人说它是不安全的,尽管我并不知道它有多不安全)。仅仅因为还没有人执行攻击,并不意味着他们将来不会执行攻击。当向量变得更加广为人知时,这一点尤其正确。
2、这种攻击的代价对任何人来说都太昂贵了,只有少数人才能执行。
反驳:参见上面的「群体」部分,还要注意的是,它只需要一个人来攻击,因此「太贵了,只有少数人拥有这种可能」并不能保证系统的安全。
3、攻击者必然会泄露他们的攻击。
反驳:只有当攻击来自一大批共同工作的MKR持有者,只有当Maker愿意在一个可能有人准备攻击的提示下进行防御时才发生。
4、我们会对任何攻击者采取法律行动。
反驳:这基本上是在打脸#DeFi,以太坊生态系统中的很多人明确地试图保护自己免受政府的侵害,「你的钱是安全的」的这种声明,根本就不让人放心。
此外,这还假定攻击者不是匿名的(见下文)。
5、在以太坊平台上很难实现匿名。
反驳:是的,在以太坊是实现匿名是有点棘手,尽管如此,The DAO 的攻击者至今都还是一个未知数,许多非常富有的ETH持有者至今也是未知的。对于一次大赚一笔的攻击而言,强硬并不是一个好的防御措施。
6、这是一个已知的风险,但还有一些未知的风险可能更糟。
反驳:我强烈反对这种风险评估,你有一个已知的风险,而透过它攻击系统会是非常有利可图的,然后去拿未知影响和未知风险进行比较。这种思路大致是这样的:「没有任何攻击向量值得我们放弃控制。」
披露
Maker在Maker v2发布之前就已经意识到了这个问题,而且可能是从一开始就知道。尽管如此,他们还是选择不堵住这个漏洞(要堵住它很容易)。正因为如此,我不认为让我闭嘴是我的责任,也不希望任何攻击者知道谁应该明白Maker的治理模式。
Maker基金会回应
截至发稿时,Maker基金会已发布新的治理规则提议,将延迟时间从0增加到24小时,该基金会在网站中这样写道:
自MCD启动以来,延迟时间设置为0,这使得社群能够立即采取行动,减少技术错误、预言机故障或异常情况,如市场恐慌或经济攻击。由于这些事件的可能性在MCD启动后开始降低,现在就快到审查GSM关于制定最佳延迟量讨论的时候了。由于基金会收到一篇文章的通知,该文章详细介绍了一系列可能导致利用治理系统的事件,因此该版本现在已经升级。
此前,社群曾考虑过该exploit(译者注:指可利用的规则,在骇客眼里就是漏洞)的可能性,但这并不是一个紧迫的问题。然而,由于来自上述网站的潜在宣传,利用此exploit的可能性增加了。出于这个原因,在我们典型的辩论和寻求共识的过程之前,社群正在接受一项民意测验,以减轻这种假设性的利用。
译者简评:Maker基金会已快速作出反应,以解决这一潜在漏洞的威胁,但这也同时印证了漏洞提出者的说法。创新的同时,也需要谨慎,否则就容易重现The Dao式的惨剧,幸运的是,这一漏洞的执行要求非常高,而符合这一条件的几个机构,也不太可能去进行这样的攻击,否则,这又是一场大祸。