Linux之父Linus怒喷谷歌安全工程师
极客时间编辑部
讲述:杜力大小:1.13M时长:02:28
近日,Linux 之父林纳斯·托瓦兹(Linus Torvalds)在内核邮件列表上用很犀利的言辞抨击了谷歌 Pixel 安全团队的开发者凯斯·库克(Kees Cook),引起了大家广泛的讨论。
事情的起因在于凯斯向林纳斯递交了加固 usercopy 的 pull request,但是林纳斯认为这种请求是极其愚蠢的,在他看来此类加固触及到了 Linux 的核心,会导致内核出现混乱。而且他认为安全人员的很多行为都是让人难以接受的,解决安全问题的核心在于调试和修复 bug,而不是像安全人员那样靠杀死机器或终止运行来解决问题。
对此,罗贝尔·格雷厄姆(Rober Graham)对林纳斯的言论表示赞同,他认为大家应该关注邮件的中心思想而不是激烈的言辞,他表示林纳斯在邮件中要表达的意思有两点:
对内核进行大的改动应该在小的迭代步骤中进行,而且每一次都应该彻底调试;
次要的安全问题不是重大的紧急情况,它们不被允许绕过的规则要比 bug 或功能更多。
在林纳斯看来,当检测到溢出 / 越界访问时,如果代码的做法是终止用户模式进程或内核,那么可以说这个代码是罪恶的。林纳斯认为它应该只产生警告,而让有问题的代码继续运行,杀死它们将会使 bug 变得更加糟糕,这会导致内核的灾难性故障,比如如果用户的车上运行着 Linux 的多个副本,那么这种灾难将会危及他们的生命。
简而言之,在内核中进行大的改变时,应该在小而可管理的步骤中进行,固化代码在 Linux 25 年的历史中都没有出现过,所以在非紧急的情况下,没必要立即进行,更不用说绕过林纳斯提出的开发流程了。
再者,大多数安全人员不是开发人员,他们实际上并不知道很多事情是如何运行的。比如,边界检查被安全人员定义为一种用来防止缓冲区溢出的安全功能,但实际上它是一种调试功能。但做出这些内核变化的往往是不懂这一点的安全人员,他们没有意识到内核的变化会在现有的代码中产生大量的 bug,而且杀死错误代码也是极其不恰当的行为。
由此可见,虽然林纳斯的语气有点不友善,但是他的说法是合理的,他并没有试图阻止对内核的改变,也并没有阻止在安全上的提升,他只是想告诉人们,对内核进行大的改动需要用传统的方式,而不是采取一刀切的方法。与功能和 bug 相比,安全的地位并没有比它们更高。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论