Mark Shuttleworth 所说的“我们有根”是什么意思?
这句话的措辞可能看起来有点令人担忧,因为从某种意义上说,这意味着他们拥有作为已经安装和使用的后门的 root 访问权限。事实是,这只是 Mark 的措辞不好,他试图解释的是,是的,他们对您的机器具有潜在的 root 访问权限,因为每个包更新都以 root 身份运行,此时他们可以执行并安装他们想要的任何东西或任何可能从某些开源项目中潜入的东西。
如果您还浏览了该博客文章的评论,您会发现 Mark 回答了您的问题(他在评论中的用户名是“mark”)
有人问他:
塞巴斯蒂安说:(http://www.markshuttleworth.com/archives/1182#comment-396204)
2012 年 9 月 23 日上午 11:42
Ermm。你有根吗?请详细说明。
然后马克回答:
马克说:(http://www.markshuttleworth.com/archives/1182#comment-396225)
2012 年 9 月 23 日下午 1:00
@Sebastian – 每个软件包更新都以 root 身份安装。
您信任他们,因为他们分发运行您计算机的软件。他们的进程以 root 身份运行:您必须信任他们,因为计算机在他们手中,而不是在您的手中。当您是机器的管理员时,您可以使用他们的工具来执行您的管理员任务。
他的意思是,您只能运行由您完全信任的供应商分发的操作系统,因为对于运行操作系统的计算机,供应商拥有无限的权力。
在这种情况下,他指出了 Canonical 通过亚马逊集成侵犯其用户隐私的呼声显然是荒谬的。如果公司想侵犯你的隐私,他们可以用更微妙和更狡猾的方式来做。但是,他认为,你确实信任 Canonical。如果您在计算机上运行 Ubuntu,那么您从一开始就拥有,正如您在计算机上运行 Ubuntu 所证明的那样。因此,如果您已经相信他们做对了所有事情,那么您应该相信他们做对了。
这不是一个完美的论点,我不确定它甚至是一个有效的论点。但这是他的论点。
基本上,每个 disto 都有自己的存储库服务器,这是已安装系统从中获取包的默认选项。这意味着当您安装新软件包或下载更新时,这些更新将从这些存储库中下载。
您(我们)相信 repo 维护者,他们上传的包不是恶意的。大多数官方存储库都提供了可用软件包的源代码,因此理论上您可以下载源代码查看它的作用并自己编译。但没有人这样做。
前一段时间,大多数包存储库都实现了包签名功能。每个包上传者都有一个个人签名密钥,在将包上传到 repo 之前,他会使用该密钥对包进行签名。这可以阻止恶意攻击者(已侵入存储库服务器)提供他更改过的包。但是,它不会影响上传者的行为,如果他想提供修改过的包,谁可以。
大多数 distos 中的包管理工作方式是在系统范围内安装一个包,它必须以 root 权限安装。每个软件包都有必须在安装之前和之后运行的钩子才能正确设置,并且这些钩子也以 root 权限运行。
因此,从理论上讲,您可以再次更新系统,甚至在不知情的情况下下载恶意程序包。
Shuttleworth 试图说明的一点是,如果他们作为 Canonical 想要在我们的系统上运行恶意软件,他们已经有办法了。
Ubuntu 的安装程序和包管理器以 root 身份运行。他们必须:这是安装操作系统的唯一方法。它还安装以 root 身份运行的程序。其他 Linux 发行版(以及其他操作系统,就此而言)没有什么不同,尽管确切的细节可能会发生一些变化:Ubuntu 恰好在本次讨论的范围内。基本上没有办法解决这个问题,因为拥有 root 帐户的部分目的是让其他人无法做这些事情,但必须有人能够做到。
正因为如此,操作系统制造商进入后门是微不足道的,而且很可能,你甚至都不会注意到。出于实际目的,没有办法解决这个问题。如果您使用 Linux From Scratch 自己构建系统,您可能会很接近,但这需要您自己构建系统以及所需的一切(实际上,LFS 方法需要您这样做两次)。这不是大多数人有时间、金钱或专业知识去做的事情,即使他们做了,也不是解决这个问题的万无一失的方法。最终结果是您基本上别无选择,只能信任您的操作系统的制造商。
这样做的必然结果是,您需要确保您的操作系统的制造商是您可以信任的人。这部分是沙特尔沃思的论点站不住脚的地方。他的立场读起来更像是一种对抗性的“无论如何你都必须信任我们,所以你应该处理这个”,而不是试图真正解决甚至承认人们的担忧。