因代码不规范,导致苹果的 iOS 和 macOS 操作系统出现了严重的安全漏洞

业余杂谈 herman 235浏览
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

回顾 2018 年,我挺意外的。在 2018 年,我写了一篇 10万 + 的文章《因不写注释,码农杀了4位同事,一人情况危急》。

这篇文章开始百度收录了,搜索量一度达到历史最高,导致我的网站几度奔溃!后来我把这篇文章发到了我的百家号,也收获了非常多的流量!另外网上还有非常多的微信公众号转载,大多都完成了 10 万 + 的目标!

很多人,把这些文章当作笑话一样的看。其实现实中还真有不少例子是因为代码不规范,导致产生了严重漏洞的生产问题。今天我们就一起来扒一扒苹果历史上的一个因为代码不规范产生的严重的漏洞问题。

苹果的这个漏洞用 C 语言伪代码可以简单的描述如下所示:

iOS 和 macOS 操作系统出现了严重的安全漏洞伪代码

上面的代码只要是程序员应该都能看出问题吧!在代码的第三行,多了一个 goto fail; 的代码。导致后面的其他代码「失效」,这一低级错误也让所有的安全人员大跌眼镜。你可能会说,这开发人员真是太粗心了,是不是他复制代码的时候,多复制了一行,然后忘记删除了?

我想苹果的开发人员一定是没有阅读过阿里巴巴的开发规范,开发手册。如果看过的话,这个漏洞获取就不会产生了。

阿里巴巴java开发手册

此刻,我想苹果的开发程序员内心一定是奔溃的!

当然这个问题也不能完全怪到开发的头上,测试毕竟也没有覆盖到,你说是吧!

据说这段代码,后来也有多个人阅读过,也做过 Code Review,但是因为代码的缩进关系,很多人都没有发现这个问题,直到黑客暴露出来!

关于这个漏洞的细节可以参考:https://www.imperialviolet.org/2014/02/22/applebug.html

Apple's SSL/TLS bug

事实上我们回头去看自己一年前的代码,一样会充满推到重来的欲望。现实环境的变化,也影响着你我对于代码「好」与「坏」的判断标准。

编程其实是一种创造性的工作,并不是程序员自嘲的「码农」,好的代码像艺术品,简单、优雅、直接,优秀程序员不会为了炫技把简单的事情搞复杂,编程也不是简单的复制粘贴和修修改改。从整体结构上看,好的代码是模块化的,嵌套的,层层递进的。

好的代码与技术能力高低没有太直接的关系,关键是看你是否拥有良好的编码习惯!

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » 因代码不规范,导致苹果的 iOS 和 macOS 操作系统出现了严重的安全漏洞