ios越狱之父获赏百万美元
无论是苹果、微软、谷歌还是华为、阿里巴巴、腾讯,他们都推出了自己的漏洞奖励计划,即开发人员可以通过搜索软件中的漏洞并向制造商报告来获得丰厚的奖励。最近,IOS越狱软件Cydia之父JayFreeman发现了以太坊的一个关键漏洞,获得了200万美元的巨额奖金!
ios越狱之父获赏百万美元
首先,创无数ETH代币漏洞。
以太坊Layer2解决方案Optimism可以大规模处理交易,同时保持以太坊的安全性。原本只适用于Uniswap、Synthetix等特定项目,后来去年年底宣布取消白名单机制:任何用户都可以在Optimism上自由部署合同,构建应用程序。但近日,Jayfreman发布博客称,他在Optimism的Geth分叉中发现了一个关键bug:攻击者可以非法创建无数ETH代币。
在这篇博文中,JayFreman详细描述了发现bug的过程和使用bug的方法:我愿意称这个bug为‘unbridledoptimism’,这可能被大致认为是‘桥’远端的一个漏洞,但实际上这是在Optimism上执行智能合同的虚拟机中的一个错误。利用这个bug,攻击者可以访问‘桥’远端有效无限的tokens。
JayFreman明确指出,bug出现在以太坊VM中的SELFDESTRUCT指令。该指令用于销毁合同,删除其账户对象,允许从区块链活动中快速清除大量潜在的过时状态。当合同执行到SELFDESTRUCT指令时,它将指定一个受益人来接收它目前拥有的资金。操作码将余额添加到go-ethereum的EVM中,然后调用StateDB.Suicide。然后,StateDB.Suicide将清除账户余额。
然而,JayFreeman发现,这一步既不使用stateobjectsetbalance设置器,也不使用共享common.Big0常量,也就是说,它除了将对象上的布尔值设置为true外,没有效果,这意味着此时的合同仍然存在,并继续拥有它之前拥有的代码!
Optimism团队在随后的报告中也指出:这个漏洞允许SELFDESTRUCT操作码在持有ETH余额的合同上反复触发,从而在Optimism上创建无数ETH。
二、bug尚未使用,需尽快修复。
幸运的是,JayFresman在2月2日后迅速向Optimism团队报告了bug,Optimism团队通过对Optimism链历史的分析表明,除了Etherscan员工最初的意外触发外(当时没有生成多余的ETH),这个漏洞还没有被利用。
至于这个错误的出现,Optimism团队解释说:这个错误来自于对go-ethereum代码库的修改(旨在与旧的OVM1.0系统保持未来的兼容性)。由于Optimism用户在过去一年增加了很多,与早期发布过程中只涉及少数关键基础设施提供商之间的协调相比,Optimism团队表示,发布的复杂性正在急剧增加:代码库的桥接器、更多的供应商和多个主网络分支之间都有涉及。即使发现了bug,Optimism团队也不能立即发布明显的补丁——升级前不能冒有人逆向工程漏洞的风险。
在收到漏洞报告并确认漏洞的几个小时内,Optimism团队测试了bug的修复,并部署了Optimism的Kovan和Mainet网络(包括所有基础设施提供商)。
Optimism官方提醒,虽然Bug尚未使用,但鉴于Bug的重要性,许多易受攻击的Optimism分叉和桥接供应商需要注意,以确保尽快升级到0.5.11版本的l2geth。
此后,Optimism给了他2万美元,感谢JayFreeman对这一关键漏洞的发现。
3、漏洞赏金计划可能至关重要。
从这一事件可以看出,漏洞赏金计划可能对许多大型项目至关重要。就像Optimism一样,随着技术越来越复杂,越来越多的用户越来越有可能产生错误。此时,仅仅依靠有限数量的项目内部人员来搜索错误无疑是非常困难的。
虽然有无私发现漏洞的人,但适当的赏金计划显然可以激发很多开发者寻找漏洞的热情和动力,这可能就是为什么很多大型科技企业或项目都发布了漏洞赏金计划:就在JayFreman公开漏洞的同一天,Makerdao还推出了历史上最大的漏洞赏金,最高可奖励1000万美元。