适合程序员的副业有什么?写文章、当技术辅导、开发小程序、接植发代言(bushi)…许多人通过这些副业,长年累月下来,逐渐实现了理想中的“经济自由”。
在这之中,还有一种非常受欢迎的业余赚钱方式:“专找别人茬,奖金自己挣”的漏洞赏金猎人。不论是国外巨头如苹果、微软、谷歌等,还是国内大厂如华为、阿里、腾讯等,均推出了各自的漏洞悬赏计划,即开发者搜寻软件中的漏洞并将之上报厂商,便可获得丰厚奖励。
而这个奖金有多丰厚呢?近来,iOS 越狱软件 Cydia 之父 Jay Freeman 发现一个以太坊关键漏洞,获得了 200 万美元(约人民币 1272 万元)的巨额奖金!
(注:Jay Freeman,著名软件开发人员,被誉为 iOS 越狱之父,开发出了 Cydia 应用商店,可使拥有越狱 iPhone 的用户在 iOS 中下载未经授权的软件。)
01
**创建无数 ETL 代币的漏洞
**
以太坊 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 将账户余额清零。
但 Jay Freeman 发现,这一步既不使用 stateObject 的 setBalance 设置器,也不使用共享的 common.Big0 常量,也就是说它除了将对象上的布尔值设置为 true 之外毫无作用,而这意味着“此时的合约仍然存在并继续拥有它之前拥有的代码!”
Optimism 团队在之后的报告中也指出:“该漏洞使得可以通过在持有 ETH 余额的合约上,反复触发 SELFDESTRUCT 操作码以在 Optimism 上创建无数 ETH 代币。”
02
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。
03
**漏洞赏金计划,或许必不可少
**
从本次事件可以看出,漏洞赏金计划对于许多大型项目来说或许必不可少。正如 Optimism,逐年增加的用户伴随着愈发复杂的技术,与此同时产生 Bug 的可能性也在日益提升,此时若仅凭数量有限的项目内部人员来搜寻 Bug 无疑十分艰难。
无私发现 Bug 的人固然有,但适当的赏金计划显然更能刺激许多开发者寻找 Bug 的热情与动力,这或许也就是众多大型科技企业或项目均发布了漏洞赏金计划的原因:就在 Jay Freeman 公开本次漏洞的同一天,MakerDAO 还推出有史以来最大的漏洞赏金,最高可奖励高达 1000 万美元。
不过不能否认的是,漏洞赏金计划也曾引发了一些争议:
-
去年 9 月,向苹果报告了 4 个零日漏洞的 Denis Tokarev 表示,依照苹果安全赏金页面,他所报告的漏洞的价值为 10 万美元,但苹果拒绝支付。
-
无独有偶,开发者 Jose Rodriguez 此前也曾发推谴责苹果:他所报告的漏洞估值超 2.5 万美元,最终却只被奖励了 5000 美元。
网络安全学习路线&学习资源
网络安全的知识多而杂,怎么科学合理安排?
下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!
初级网工
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级网工
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。
一些我自己买的、其他平台白嫖不到的视频教程:
需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。
网络安全学习路线&学习资源
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!