Linux防御谈

HardenedLinux 写道

"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 内核进入了更多的领域包括:数据通信领域的高速网络设备以及小型嵌入式系统等

"