Linux 防御谈:为什么 Linux 内核不适合国家防御 - 开源中国社区
Linux 防御谈:为什么 Linux 内核不适合国家防御
局长 2017年08月04日

Linux 防御谈:为什么 Linux 内核不适合国家防御

局长 局长 发布于2017年08月04日 收藏 25

有免费的MySQL,为什么还要买? >>>  

"Green Hills 的 Dan O’Dowd 于 2004 年发表的名为 Linux in Defense 的系列文章通过一系列的分析试图向公众解释为什么 Linux 内核不适合一些场景特别是国家防御,在第一篇 ( FAA Safety-critical Certified Operating Systems Deliver The Reliability and Security Required by Defense Systems; Linux Does Not) 文章中谈到了大众认为 Linux 内核作为通用操作系统可以用到除了桌面和服务器外的场景比如国家防御系统,Dan 认为不应该考虑在 FCS(陆军未来战士系统),JTRS(联合战术) 以及 GIG 中使用 Linux,对关于高安全性系统方面提出了探讨:

  • 必须满足 DO-178B Level A 的合规要求

  • 虽然 EAL7 的要求非常困难,特别是形式化验证从而保证软件真正意义上的 bug-free 所带来的防御能力方面,工业界和学术界都对 Orange book 的最高形式抱有期望,所以 Linux 应该满足 EAL7 才能用于国家防御体系

第二篇 ("Many Eyes" - No Assurance Against Many Spies) 文章中谈到了当时流行的观点,即开放源代码的系统更安全,因为有更多的人去阅读代码和查找 bug,但 Dan 认为:

  • Linux 的代码是由全世界(包括中国和俄罗斯)开发者贡献,这对美国的国家防御造成了潜在的风险,因为哪怕一个硬件厂商提供的驱动有漏洞或者后门就会导致严重的后果,而 GNU/Linux 发行版的生态众多也导致维护方面的安全风险

  • 针对 DO-178B Level A 认证的只有数千行源代码的实时操作系统进行后门植入几乎是不可能完成的任务

  • 植入后门到 Linux 内核不是一件困难的事情,比如参考 Ken Thompson 也植入过难以审计和发现的后门的例子

第三篇 (Linux Security: Unfit for Retrofit) 谈到:

  • 开源并没有让 Linux 比 Windows 更安全

  • 当时的 GNU/Linux 只能满足 EAL2,而 Windows 已经可以满足 EAL4

  • NSA 的 SELinux 并不是解决方案,因为 SELinux 当时只是一个原型研究

  • “Security through obscurity” 是 Linux 内核社区处理安全的方式,但并对于安全性的并没有帮助

  • 公开所有的东西是有利于攻击者,所以封闭系统更有优势

第四篇 (Linux in Defense: Free Software is Just Too Expensive) 谈到:

  • Linux 比专利操作系统更昂贵,比如当时 MontaVista 的嵌入式 Linux 软件在费用上比 Green Hills 的专有实时操作系统费用更高

  • Linux 增加国防厂商的开发时间和成本

  • Linux 由于代码量大所以提升了硬件成本

  • Linux 也无法满足国家防御系统要求的长期维护的问题

第五篇 (Linux in Defense: An Urgent Threat to National Security) 中谈到 Linux 漏洞众多,修复也需要时间,这和 EAL7 的系统无法比拟,为什么 Linux 事关国家安全呢?因为中国和俄罗斯都会针对 Linux 开发数字军火进而打击美国的防御。

此文从发表至今已经有 13 年之久,但有一些事情却很相似:

  • Windows 10 的安全性高于目前的 Linux 4.12,Windows 10 启用了近期 x86 硬件的一些特性进行了加固,包括 HVCI/CFG / 不完整 RFG

  • Linux 内核社区依然坚持 "Security through obscurity" 的哲学,依旧没有建立安全风险评估体系

  • 依靠 “many eyes" 让软件变得安全经过了斯诺登大爷事件后被证明是不靠谱的,一方面没有那么人会” 好心 “的帮忙审计代码,另外开源只能保证可审计性,虽然可以一定程度上有助于制定防护方案,但并不直接等同于安全防护能力

  • 开源服务依然昂贵,大厂商要么得组建自己的团队 (GCP/AWS/BAT3H) 去评估和维护业务依赖的开源软件,要么的高价购买相关解决方案和服务

当然,也有一些情况和 2004 年时还是不同:

  • SUSE 和 RedHat 的系统拥有了 EAL4 + 的认证

  • 除了 Five Eyes 国家的政府部门,SELinux 在 GNU/Linux 上的部署两远远没有在 Android 上多

  • 俄罗斯军方基于 Debian GNU/Linux 开发了 Astra 操作系统

  • 基于 GNU/Linux 平台的场景化加固方案对于高安全性环境的部署大幅度增加,侧面证明了开放系统并没有 Dan 认为的那么不安全

  • 除了桌面和服务器,Linux 内核进入了更多的领域包括:数据通信领域的高速网络设备以及小型嵌入式系统等

来自:Solidot

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Linux 防御谈:为什么 Linux 内核不适合国家防御
分享
评论(17)
精彩评论
17
因为中国和俄罗斯开发者向Linux内核项目贡献了代码,所以Linux是不安全的?!
完全由你美国公司控制的Windows对于其他国家而言岂不是更不安全?
还有,美国政府监控大王NSA为Linux开发SELinux也是别有用心呀.

NSA SELinux 安全防御被轻易绕过
https://www.oschina.net/news/60921/selinux-bypass
由于在targeted规则(SELINUXTYPE=targeted)的情况下,社区的维护人员都假设是安全的,
所以会给一些程序root权限运行,可能这正是NSA所希望看到的.

NSA SELinux 再次被绕过
https://www.oschina.net/news/74562/selinux-be-bypassed
seTroubleShoot是一个会被DBUS服务激活的守护进程,
而这个程序的缺陷把root权限"贡献"给了攻击者.
PoC展示了一个不需要任何内核漏洞就直接绕过SELinux的方法.

对了,广告大王Google维护的Android也内置了NSA的SELinux,叫做SEAndroid.
所以说,全世界的Android用户都在NSA魔爪里了么?

不过再怎么说,Linux和Android都是开源的,对于美国之外的国家,就算危险,也肯定不如完全被美国企业控制的Windows和iOS危险吧,哈哈.
5
没有绝对安全的防护系统,扯这闲蛋干什么?
说什么中俄参与Linux系统的代码,会给美国造成威胁,纯粹是倒打一耙,美国参与的Linux开发,难道不会留个漏洞、后门吗?
4
一直覺得c/c++這類語言,更適合民用,關鍵系統和軍用系統還是要Ada這類語言開發的核心系統。
3

引用来自“Schr0dingerCat”的评论

有一句话不知该不该说,windows是全世界... ...
只是windows内部什么原理,除了微软,谁都不知道。相当于微软了解全世界的一切,但全世界却不了解微软的皮毛。
最新评论
0
支持支持
0

引用来自“liuyong051”的评论

没有绝对安全的防护系统,扯这闲蛋干什么?
说什么中俄参与Linux系统的代码,会给美国造成威胁,纯粹是倒打一耙,美国参与的Linux开发,难道不会留个漏洞、后门吗?
正是他们留了。才这么怀疑别人、
0
美国也有战略忽悠局了?
0

引用来自“分析师”的评论

一直覺得c/c++這類語言,更適合民用,關鍵系統和軍用系統還是要Ada這類語言開發的核心系統。
是啊,一根指针不知道会捅到系统的哪一个私密部位。
0

引用来自“巴依”的评论

linux 开源,编译器不开源,编译过程加点调料味道就变了
Linux编译器不开源?FSF维护的GCC一直都是开源的好不.
而且很多公司还基于GCC定制了各种交叉编译工具链,其中就包括Google Android NDK.

0
linux 开源,编译器不开源,编译过程加点调料味道就变了
3

引用来自“Schr0dingerCat”的评论

有一句话不知该不该说,windows是全世界... ...
只是windows内部什么原理,除了微软,谁都不知道。相当于微软了解全世界的一切,但全世界却不了解微软的皮毛。
0
美国已经傻x到把国防系统接入民用网络的地步了吗
5
没有绝对安全的防护系统,扯这闲蛋干什么?
说什么中俄参与Linux系统的代码,会给美国造成威胁,纯粹是倒打一耙,美国参与的Linux开发,难道不会留个漏洞、后门吗?
0
Linux的确不适合国防,还是,至少要裁剪掉很多才能用.
0
中国zf: 我不管我不管我不管!
0
有一句话不知该不该说,windows是全世界... ...
0
说白了大概就是闭门造车就可以防止别人研究车的弱点一个开出去也就更安全。前提是自己足够强悍。
17
因为中国和俄罗斯开发者向Linux内核项目贡献了代码,所以Linux是不安全的?!
完全由你美国公司控制的Windows对于其他国家而言岂不是更不安全?
还有,美国政府监控大王NSA为Linux开发SELinux也是别有用心呀.

NSA SELinux 安全防御被轻易绕过
https://www.oschina.net/news/60921/selinux-bypass
由于在targeted规则(SELINUXTYPE=targeted)的情况下,社区的维护人员都假设是安全的,
所以会给一些程序root权限运行,可能这正是NSA所希望看到的.

NSA SELinux 再次被绕过
https://www.oschina.net/news/74562/selinux-be-bypassed
seTroubleShoot是一个会被DBUS服务激活的守护进程,
而这个程序的缺陷把root权限"贡献"给了攻击者.
PoC展示了一个不需要任何内核漏洞就直接绕过SELinux的方法.

对了,广告大王Google维护的Android也内置了NSA的SELinux,叫做SEAndroid.
所以说,全世界的Android用户都在NSA魔爪里了么?

不过再怎么说,Linux和Android都是开源的,对于美国之外的国家,就算危险,也肯定不如完全被美国企业控制的Windows和iOS危险吧,哈哈.
0
PHP党又来
0
怎么没撕起来呢?
4
一直覺得c/c++這類語言,更適合民用,關鍵系統和軍用系統還是要Ada這類語言開發的核心系統。
顶部