译者前言:来自Coinmonks的研究者MicahZoltu日前披露了MakerDAO治理系统存在的漏洞,其表示任何拥有约40000MKR的人,都可以窃取MakerDAO的所有抵押品,包括DAI、SAI以及来自Compound、Uniswap以及其它Maker集成系统的大量资产,共计超过3.4亿美元。目前,Maker基金会已发布了紧急公告,称会通过修改治理规则修复这一问题。
(图片来自:pexels.com/)
以下是MicahZoltu披露的漏洞细节及Maker基金会的公告内容:
摘要
任何拥有约40000MKR的人,都可以窃取MakerDAO的所有抵押品,包括DAI、SAI以及来自Compound、Uniswap以及其它Maker集成系统的大量资产,共计超过3.4亿美元。
MakerDAOv2版本本应启动安全措施,以防恶意的MKR持有者窃取所有抵押品。然而,他们并没有选择这样去做。
一家银行
MakerDAO,正是这个东西让DAI在工作,目前,它在v1和v2版本中锁定了价值约3.4亿美元的ETH。它也是一个“被治理”的系统,与uniswap.exchange或者augur.net不同,这意味着一些财阀可以控制系统的行为。
国务院:研究制定区块链等新领域新业态知识产权保护规则:金色财经报道,国务院知识产权战略实施工作部际联席会议办公室印发《知识产权强国建设纲要和“十四五”规划实施年度推进计划》,《计划》提出完善新兴领域和特定领域知识产权规则,研究制定大数据、人工智能、区块链等新领域新业态知识产权保护规则(中央宣传部、知识产权局按职责分工负责),加强人工智能、区块链等新技术与广播电视和网络视听领域数字版权保护的融合创新研究(广电总局负责)。[2022/1/6 8:28:09]
MakerDAO的设计
治理系统可以调用各种各样的内部函数,这些函数允许管理者做他们想做的任何事情。治理是一个相当简单的“staketheleader”系统,在这个系统中,你将你的MKR质押在你想要控制系统的合约当中,而质押最多MKR的合约,就拥有这样的控制权。
由于当前的执行合约上大约质押了80,000MKR,所以,做任何你想做之事的原始成本大约是80000MKR。
为了减轻恶意参与者的威胁,系统有一种机制,其在选择新的执行合约后,在采取任何行动之前会有一个延迟。在此延迟期间,任何拥有足够MKR的人,都可以触发整个系统的全局结算,在新的执行合约做出任何不利的事情之前有效地将其关闭。这意味着,如果一个窃贼出现,并试图在他们自己的执行合约中投票,而该合约的程序是窃取所有抵押品,即使他们拥有比其他执行合约更多的权益,他们也将不得不等待这一延迟,并希望在此期间没有人触发防御机制。
中共中央、国务院:在区块链等技术领域部署技术研发、标准研制与产业推广:10月10日消息,中共中央、国务院印发《国家标准化发展纲要》。发展目标是到2025年,实现标准供给由政府主导向政府与市场并重转变,标准运用由产业与贸易为主向经济社会全域转变,标准化工作由国内驱动向国内国际相互促进转变,标准化发展由数量规模型向质量效益型转变。标准化更加有效推动国家综合竞争力提升,促进经济社会高质量发展,在构建新发展格局中发挥更大作用。
加强关键技术领域标准研究。在人工智能、量子信息、生物技术等领域,开展标准化研究。在两化融合、新一代信息技术、大数据、区块链、卫生健康、新能源、新材料等应用前景广阔的技术领域,同步部署技术研发、标准研制与产业推广,加快新技术产业化步伐。(新华社)[2021/10/10 20:18:53]
疏忽之处
而问题在于,Maker基金会决定此治理延迟的适当值为0秒。好的,防御者有0秒的时间来防御一方发起的攻击。
微妙之处
鉴于上述情况,攻击者可以执行以下操作:
尽一切可能获得80000MKR;
创建一个执行合约,它会把所有抵押品从Maker系统转走;
立即对合约进行投票表决;
立即激活合约;
带走价值3.4亿美元的ETH;
这种攻击的回报率是令人难以置信的,但它的执行成本很高,幸运的是,只要耐心一点,我们就能把这次攻击的成本降低50%。
美国国务院正向暗网线人提供加密货币赏金,以换取黑客信息:8月16日报道,美国国务院正在向暗网线人提供加密货币赏金,以换取被视为对国家构成威胁的黑客信息。
据悉,美国国务院的 \"正义奖赏\"(RFJ)计划为 \"识别或找到任何在外国政府指示或控制下参与针对美国关键基础设施的恶意网络活动的人 \"提供最高1000万美元。
RFJ计划自1984年以来一直在实施,自那时起,政府已向100多名 \"提供可操作信息,将恐怖分子绳之以法或防止世界各地的国际恐怖主义行为 \"的人支付了超过1.5亿美元。(Decrypt)[2021/8/16 22:17:30]
还记得上面我们如何描述现行投票制度的运作方式吗?即拥有最多投票权的执行合约拥有着所有控制权。无论何时提出治理投票,都会有一段时期,让MKR质押权益从旧的执行合约转移到新的执行合约。这种情况从来不会一下子发生,通常是随着时间的推移,个人将把他们的选票向前迁移。因此,将会有一个时间点,其中80,000枚积极参与的MKR将被分割在两个执行合约当中,其中每个都有大约40000MKR。一个擅长写脚本的家伙,可以很容易地确定交易的时间,这样当MKR在两个合约之间以最佳方式分配时,它就可以在这个时候执行上述攻击,而只需要花费40000MKR的金额。
取款机
如果对你而言,偷窃3.4亿美元还不够的话,你还可以在执行攻击的过程中为自己铸造千万亿DAI。在抢劫Maker的同一笔交易中,你可以将这些DAI转到Uniswap,并窃取DAI:ETH交易对中可用的ETH。为了从倒霉的银行客户口袋里得到一点额外的零钱,你也可以去Compound借出一千万亿DAI,并借入所有可用的借贷资本。如果你行动迅速,你甚至可以在铸造所有DAI后立即在IDEX、Paradex、RadarRelay等半去中心化交易所进行套现。
声音 | 国务院食品安全办有关负责人:重点运用大数据、云计算、区块链等技术建立重点食品追溯协作平台:6月14日,国家市场监督管理总局发布《国务院食品安全办有关负责人就2019年食品安全重点工作安排答记者问》。被问及“《重点工作安排》在创新监管方式方面有什么新的举措?”时,国务院食品安全办有关负责人表示,《重点工作安排》提出,要加强科技支撑和信息化建设,实施“食品安全关键技术研发”重点专项,推进“互联网+食品”监管,重点运用大数据、云计算、物联网、人工智能、区块链技术,建立重点食品追溯协作平台,发挥“智慧监管”作用,提高食品安全风险管理能力。[2019/6/14]
群体
但是等等,还有更多!以太坊是一个建立在有约束力合约之上的系统!这意味着一个人可以创建一个智能合约,在这个合约中,不信任对方的多个人可以在一套严格的规则下进行合谋。
规则集可能是这样的:
如果这个合约收集40000MKR,那么任何人都可以触发它,它将立即抢劫Maker。抢劫成功后,赃物将平均分配给贡献者。而抢劫失败后,MKR可被参与者撤回。任何人都可以随时收回他们的MKR。
这个非常简单的合约对于参与MKR贡献的人来说是一个有约束力的协议,他们没有必要信任他人,这与传统的抢劫有很大的不同。
任何人都不能带着所有的战利品逃跑,任何人都不能窃取任何其他参与者的贡献,任何人都不能将贡献的MKR用于除执行约定的抢劫之外的任何事情。
声音 | 国务院金融研究所副所长:区块链技术可以为中小微企业提供服务:在12月10日举行的“2018第一财经金融科技峰会”上,国务院研究中心金融研究所副所长陈道富表示,金融科技解决中小微企业会发挥很大的作用,可以更好的降低民营企业融资成本、降低信用风险。但区块链还缺乏现实世界和线上之间连接的信任,区块链技术可以为中小微企业提供服务,但技术不能解决所有的问题。中小企业要破除融资难题还是需要提高自身的价值创造。[2018/12/11]
有人可能会争辩,任何攻击者都必须将他们的存在通知众源,而Maker基金会可以简单地破坏“我们不参与治理”的规则来阻止攻击,将基金会所有的MKR扔进投票,从而使攻击花费达到400,000,000MKR,而不是40,000MKR。
虽然Maker基金会确实可以阻止这种情况的发生,但并不能保证他们会立刻看到这种情况的发生。例如,攻击者可能在其他地方有资金,他们可以利用这些资金在交易所外获得MKR。攻击者也可能是MKR持有者,他们知道其他MKR持有者也有这种攻击意图,然后就可以私下进行协调。
即使有约束力的协议合约是公共知识,它也可以设计成一种混淆参与者的方式。例如,你可以让感兴趣的每个人向中心服务提供商提交一笔预先签署的交易,然后中心服务提供商将等待广播这些交易,直到有足够的MKR。在这种情况下,Maker基金会要么在不知道是否有人真正参与的情况下介入到集中控制系统,要么他们什么也不做,而冒着随时可能发生攻击的风险,届时攻击发生时,他们将无力及时做出反应。
内部攻击的可能
值得注意的是,如果Maker基金会愿意的话,他们现在就可以用这种方式攻击系统,他们持有的MKR超过了所需的80,000数量,更糟糕的是,a16z现在也有足够的MKR,另外还有几个MKR持有者或者机构,他们的身份对我来说是未知的,而他们也有足够的MKR来执行这种攻击,而其它人则需要进行合谋才能执行这样的攻击。
所以,让人害怕的是,这并不是DeFi,而是CeFi,但它并非是一家能让个人能偷走你所有钱的银行,而是说银行或任何一个大股东,或一群小股东可以决定在任何时候偷走你所有的钱。
攻击带来的后果
那么,如果有人执行这样的攻击,Maker用户会发生什么情况呢?首先,每个拥有CDP/金库的人都会被伤害到。因为攻击者盗窃的就是所有的抵押品,由此产生的连锁反应是,DAI将变得100%缺乏抵押,其价格可能会归零。之后,MKR的价值也可能会归零,因为它的整个系统基本上都失败了,并且在这种失败之后,它不太可能会恢复。以太坊也可能会因此而受伤,因为这将是以太坊生态系统中的又一次大失败。但我认为以太坊仍然会复苏,因为它是一个很好的平台,但这很好地提醒了人们,“不要把坏事建立在好事之上”。
辩方的回应
我已经向Maker提出了这个攻击场景,他们已经明确表示,这不值得他们放弃即时的治理控制来抵御这种攻击。他们的辩护理由一般如下,以及我的反驳:
1、攻击向量已经存在相当长的一段时间,但到目前为止一切都很好。
反驳:Heartbleed存在10年后才被发现。Maker的源代码是出了名的难以理解,并且这些抱怨是来自以太坊开发社区中的很大一部分人。我之前曾亲自告诉他们,我没有审核Maker的合约,因为阅读他们的代码实在太难了。在Makerv2推出之后,我终于还是尝试了,因为理论上它应该是安全的。仅仅因为还没有人执行攻击,并不意味着他们将来不会执行攻击。当向量变得更加广为人知时,这一点尤其正确。
2、这种攻击的代价对任何人来说都太昂贵了,只有少数人才能执行。
反驳:参见上面的“群体”部分,还要注意的是,它只需要一个人来攻击,因此“太贵了,只有少数人拥有这种可能”并不能保证系统的安全。
3、攻击者必然会泄露他们的攻击。
反驳:只有当攻击来自一大批共同工作的MKR持有者,只有当Maker愿意在一个可能有人准备攻击的提示下进行防御时才发生。
4、我们会对任何攻击者采取法律行动。
反驳:这基本上是在打脸#DeFi,以太坊生态系统中的很多人明确地试图保护自己免受政府的侵害,“你的钱是安全的”的这种声明,根本就不让人放心。
此外,这还假定攻击者不是匿名的。
5、在以太坊平台上很难实现匿名。
反驳:是的,在以太坊是实现匿名是有点棘手,尽管如此,TheDAO的攻击者至今都还是一个未知数,许多非常富有的ETH持有者至今也是未知的。对于一次大赚一笔的攻击而言,强硬并不是一个好的防御措施。
6、这是一个已知的风险,但还有一些未知的风险可能更糟。
反驳:我强烈反对这种风险评估,你有一个已知的风险,而通过它攻击系统会是非常有利可图的,然后去拿未知影响和未知风险进行比较。这种思路大致是这样的:“没有任何攻击向量值得我们放弃控制。”
披露
Maker在Makerv2发布之前就已经意识到了这个问题,而且可能是从一开始就知道。尽管如此,他们还是选择不堵住这个漏洞。正因为如此,我不认为让我闭嘴是我的责任,也不希望任何攻击者知道谁应该明白Maker的治理模式。
Maker基金会回应
截至发稿时,Maker基金会已发布新的治理规则提议,将延迟时间从0增加到24小时,该基金会在博客中这样写道:
“自MCD启动以来,延迟时间设置为0,这使得社区能够立即采取行动,减少技术错误、预言机故障或异常情况,如市场恐慌或经济攻击。
由于这些事件的可能性在MCD启动后开始降低,现在就快到审查GSM关于制定最佳延迟量讨论的时候了。
由于基金会收到一篇博文的通知,该博文详细介绍了一系列可能导致利用治理系统的事件,因此该版本现在已经升级。
此前,社区曾考虑过该漏洞的可能性,但这并不是一个紧迫的问题。然而,由于来自上述博客的潜在宣传,利用此漏洞的可能性增加了。出于这个原因,在我们典型的辩论和寻求共识的过程之前,社区正在接受一项民意测验,以减轻这种假设性的利用。
”
译者简评:Maker基金会已快速作出反应,以解决这一潜在漏洞的威胁,但这也同时印证了漏洞提出者的说法。创新的同时,也需要谨慎,否则就容易重现TheDao式的惨剧,所幸的是,这一漏洞的执行要求非常高,而符合这一条件的几个机构,也不太可能去进行这样的攻击,否则,这又是一场大祸。
相关链接:
1、https://medium.com/coinmonks/how-to-turn-20m-into-340m-in-15-seconds-48d161a42311
2、https://blog.makerdao.com/governance-security-module-gsm/
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。