SELinux 的可信度如何?

信息安全 linux selinux
2021-09-03 03:33:19

鉴于有关大规模监视的持续泄漏以及 NSA 是SELinux的原始开发者这一事实,我想知道这是否意味着应该预期那里会有后门?

正如所有其他混淆的 C竞赛,最后不是Underhanded C Contest所显示的那样,编写良好的后门可以避开审阅者。仅仅因为软件是 FLOSS 并不意味着人们总是利用机会阅读代码(更不用说绝大多数无法理解的代码)。

在 SELinux 的情况下,与最近的 NIST RNG 崩溃相比,它与加密无关,但其中的后门肯定会侵入看似安全的主机。

我们需要担心吗?如果没有,为什么不呢?

2个回答

期待后门有点强...

有几个强烈的论据反对这种后门的合理性:

  • Linux 被很多人使用,包括美国公司。现代安全机构的很大一部分职责是保护其国家的利益特别是,国家安全局应尽可能保护美国公司免受外国竞争对手的间谍活动。在 Linux 中设置后门意味着允许“坏人”(从 NSA 的角度来看)通过该后门监视美国公司的风险。

  • Linux 是开源的,并且内核被认为受到有能力的程序员相当彻底的审查。这就是“多眼”理论SELinux 正处于所有这些检查的中间。“多眼”理论是否真的成立是有争议的(也有争议)。但是,有些人在 SELinux 上做博士论文,因此假设这段特定的代码已经过彻底调查并不荒谬。

  • 任何提交到 Linux 内核的补丁都会通过版本控制进行跟踪。SELinux 来自 NSA,并被贴上这样的标签。如果后门被插入然后随后被发现,则很容易将其追溯到明显的作者。一个非常基本的保护措施是不要以自己的名义做这样的事情!如果我是国家安全局,我会建立一个与国家安全局无关的虚拟角色,这样即使他被抓到推后门,也不会牵连我的组织。间谍机构对间谍网络分段了解很多。他们以自己的名义注入后门是非常愚蠢的。

对于此类后门的存在还有一个强有力的论据:

  • 监视大量人员和组织是 NSA 的核心业务。

老实说,在你找到尸体(即后门本身)之前,你的问题是无法回答的。这是许多参数的问题,只能通过主观估计才能知道......

(就我个人而言,我仍然发现 PRNG 中的后门,尤其是硬件PRNG,比“隐藏在众目睽睽之下”的后门更可信。)

从一开始,开源解决方案就具有这样的优势,即当您有疑问时,您可以通过检查代码自行验证。在我看来,开源可以在没有任何人注意的情况下存在后门的假设是相当薄弱的。原因是,如果确实如此,那么假设 Linux 内核很久以前没有在主源代码树中合并这样的拉取请求并且它提供对 NSA 或任何其他情报的不间断访问机构?为什么我应该信任堆栈交换人员及其建议?他们可能都是美国国家安全局的特工!

这些论点之所以站不住脚,是因为堆栈交换不是一个人的论坛。NSA 并不是世界上唯一一个优秀的 C/C++ 程序员工作的地方。没有人可以仅仅因为这个原因而对开源包进行后门这么久,以至于不会有人会费心查看代码。内核或操作系统并不是您需要隐藏后门的唯一地方。您的后门需要在某些网络上进行通信。有日志和网络流量监视器可以分析在系统或网络级别执行的每个操作。所有这些设备和系统都是由不同国家和背景的人开发的。如果一个组件遭到破坏,还有其他组件可以检测到它并将其报告给用户。所以,

“每当一些 [开发人员] 说,‘没有人会为此而烦恼’时,芬兰就会有一些孩子会自找麻烦。”

上述情况不仅适用于软件开发,也适用于任何类型的开发(包括后门)。