适合程序员的副业有什么?写文章、当技术辅导、开发小程序、接植发代言(bushi)…许多人通过这些副业,长年累月下来,逐渐实现了理想中的“经济自由”。
在这之中,还有一种非常受欢迎的业余赚钱方式:“专找别人茬,奖金自己挣”的漏洞赏金猎人。不论是国外巨头如苹果、微软、谷歌等,还是国内大厂如华为、阿里、腾讯等,均推出了各自的漏洞悬赏计划,即开发者搜寻软件中的漏洞并将之上报厂商,便可获得丰厚奖励。
而这个奖金有多丰厚呢?近来,iOS 越狱软件 Cydia 之父 Jay Freeman 发现一个以太坊关键漏洞,获得了 200 万美元(约人民币 1272 万元)的巨额奖金!
(注:Jay Freeman,著名软件开发人员,被誉为 iOS 越狱之父,开发出了 Cydia 应用商店,可使拥有越狱 iPhone 的用户在 iOS 中下载未经授权的软件。)
一、创建无数 ETH 代币的漏洞
以太坊 Layer2 解决方案 Optimism 能够大规模处理交易,同时还保有以太坊的安全性,原先仅适用于 Uniswap 和 Synthetix 等特定项目,后于去年年底宣布取消白名单机制:任何用户都可以在 Optimism 上自由部署合约、构建应用程序。但近日,Jay Freeman 发布博客称,他在 Optimism 的 Geth 分叉中发现了一个关键 Bug:攻击者可借此非法创建无数 ETH 代币。
在这篇博文中,Jay Freeman 详细描述了发现该 Bug 的历程及 Bug 的利用方式:“这一 Bug 我愿称之为‘Unbridled Optimism’,它可能会被粗略认为是‘桥’远端的一个漏洞,但实际上这是在 Optimism 上执行智能合约的虚拟机中的一个错误。利用这一 Bug,攻击者可以访问‘桥’远端有效且无限数量的 tokens。”
Jay Freeman 明确指出,Bug 出现在以太坊 VM 中的 SELFDESTRUCT 指令。该指令用于合约自行销毁,移除其账户对象,允许从区块链的活动集中快速清除潜在的大量“过时”状态。当合约进行到 SELFDESTRUCT 指令时,它会指定一个“受益人”来接收它当前拥有的资金。该操作码在 go-ethereum 的 EVM 中实现将余额添加给受益人,然后调用 StateDB.Suicide。然后,StateDB.Suicide 会将帐户余额清零。
但 Jay Freeman 发现,这一步既不使用 stateObject 的 setBalance 设置器,也不使用共享的 common.Big0 常量,也就是说它除了将对象上的布尔值设置为 true 之外毫无作用,而这意味着“此时的合约仍然存在并继续拥有它之前拥有的代码!”
Optimism 团队在之后的报告中也指出:“该漏洞使得可以通过在持有 ETH 余额的合约上反复触发 SELFDESTRUCT 操作码以在 Optimism 上创建无数的 ETH。”
二、Bug 尚未被利用,需尽快修复
所幸,Jay Freeman 之后迅速于 2 月 2 日向 Optimism 团队报告该 Bug,而 Optimism 团队通过对 Optimism 链历史的分析表明,除了最初由 Etherscan 员工的一次意外触发(那次没有生成可用的多余 ETH),该漏洞至今还未被利用过。
对于此 Bug 的出现,Optimism 团队解释道:“这个错误源于对 go-ethereum 代码库的修改(旨在保持与旧的‘OVM 1.0’系统的向后兼容性)。”由于过去一年中 Optimism 用户增长了很多,相比早期发布过程只涉及少数关键基础设施提供商之间的协调,Optimism 团队表示如今发布的复杂性在急剧增加:代码库的桥接器、更多提供商、多个主网分支之间均有涉及。甚至即便发现了 Bug,Optimism 团队也不能立即发布明显的补丁——他们不能冒着有人在升级之前对漏洞进行逆向工程的风险。
在收到漏洞报告并确认漏洞的几小时内,Optimism 团队就对该 Bug 的修复进行了测试,并部署到了 Optimism 的 Kovan 和 Mainnet 网络(包括所有基础设施提供商)。
Optimism 官方提醒,虽目前该 Bug 尚未被利用,但鉴于该 Bug 的重要性,许多易受攻击的 Optimism 分叉和桥接提供商需引起重视,确保尽快升级至 0.5.11 版本的 l2geth。
此后,为感谢 Jay Freeman 对这一关键漏洞的发现,Optimism 给予了他 2000042 美元。
三、漏洞赏金计划,或许必不可少
从本次事件可以看出,漏洞赏金计划对于许多大型项目来说或许必不可少。正如 Optimism,逐年增加的用户伴随着愈发复杂的技术,与此同时产生 Bug 的可能性也在日益提升,此时若仅凭数量有限的项目内部人员来搜寻 Bug 无疑十分艰难。
无私发现 Bug 的人固然有,但适当的赏金计划显然更能刺激许多开发者寻找 Bug 的热情与动力,这或许也就是众多大型科技企业或项目均发布了漏洞赏金计划的原因:就在 Jay Freeman 公开本次漏洞的同一天,MakerDAO 还推出有史以来最大的漏洞赏金,最高可奖励高达 1000 万美元。
不过不能否认的是,漏洞赏金计划也引发了一些争议:
-
去年 9 月,向苹果报告了 4 个零日漏洞的 Denis Tokarev 表示,依照苹果安全赏金页面,他所报告的漏洞的价值为 10 万美元,但苹果拒绝支付。
-
无独有偶,开发者 Jose Rodriguez 此前也曾发推谴责苹果:他所报告的漏洞估值超 2.5 万美元,最终却只被奖励了 5000 美元。
那么,你对漏洞赏金计划有何看法呢?
读者福利:知道你对网络安全感兴趣,便准备了这套网络安全的学习资料
对于0基础小白入门:
如果你是零基础小白,想快速入门网络安全是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括: 网络渗透、逆向分析、漏洞攻击、内核安全、移动安全、破解PWN等众多子方向。 带你从零基础系统性的学好网络安全!
👉网安学习成长路线图、网安视频合集👈
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉精品网安学习书籍👈
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
👉网络安全源码合集+工具包👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉CTF项目实战👈
学习网安技术最忌讳纸上谈兵,而在项目实战中,既能学习又能获得报酬的CTF比赛无疑是最好的试金石!
👉网络安全面试题板块👈
这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
👉[[[CSDN大礼包:《黑客&网络安全入门&进阶学习资源》免费分享]]](安全链接,放心点击)