分享、发现微信公众号

DirtyCow 漏洞带给内核社区的反思

2016-10-25Linux中国
转载自:Solidot http://www.solidot.org/story?sid=50096


编号为 CVE-2016-5195 的漏洞在 Linux 内核社区修复完成后[1]的故事并没有结束,72小时内公开的可作非稳定漏洞利用的 PoC 已经有 9 个[2]。如果是标准版本的内核,写 /proc/pid/memvDSO(部分版本)以及常规 ptrace() 方法都可以直接利用,PaX/Grsecurity 内核[3]对于这个 PoC[4] 也难以防御。针对 ptrace/madvise 做 seccomp 的规则[5]虽然可以减缓攻击进度,但带来性能开销的同时也不能一劳永逸的解决这个问题,如果没有 RBAC 的场景还是建议升级。

这个漏洞在自由软件世界是比较罕见的,对 GNU/Linux 服务器构成巨大威胁和风险的同时也成为了 Android root 恶意代码链条[6](包括一键 root 工具)以及 IoT 入侵的强大助攻。Jonathan Corbet 的文章[7]提到 Linux 内核社区对待安全的态度需要反思,这个严重漏洞的修复竟然是和 cleanup 的 patch 一起合并到主线[8]的,即使是单独的提交[9]也像往常一样并未提供更多的安全评估信息。

这种不提供公开漏洞信息的做法是在 1990 年代用于防御脚本小子获得更多信息,后来 Linux 基金会的“客户”们并没有提出改变的意见所以一直沿用至今。但 2016 年的互联网环境和 1990 年代有着很大的区别,即使没有公开的漏洞信息攻击者可以凭着对代码提交的理解也可以打造出相应的漏洞利用[10]

或许在 Linux 内核自防护项目[11]开始 10 个月后遇到了 DirtyCow[12] 并不是件坏事。内核自防护项目尝试移植 PaX/Grsecurity 的一些特性终结掉 Linus Torvlads 的“A bug is bug[13]”流派,而 DirtyCow 有望在生态上让 Linux 基金会的“客户”们向 Linux 内核社区施压,说不定会改变“security through obscurity[14]”的格局。毕竟今天是一个更开放的年代,个体更注重安全,GNU/Linux,Android 和 IoT 的相关厂商都重度依赖于 Linux 的安全性,RedHat 或者 Linux 基金会在安全方面想要一手遮天相比 2002 年还是困难很多。

转载自:Solidot http://www.solidot.org/story?sid=50096



推荐文章

滑动查看更多

输入文章 ID 或长按二维码直达





阅读原文
提交公众号
面向Linux爱好者,提供Linux技术文章、新闻资讯和交流平台. 每天推送一条最新精选Linux资讯和技术文章;支持Linux命令查询、Linux资讯搜索及微信群的交流.

Linux中国的二维码

微信扫一扫

Linux中国的标签

广告一下^_^