我的问题是关于文件系统权限(特别是 Unix 风格的权限)以及它们与安全性的关系。
假设我可以使用来宾用户帐户和名为 Bob 的用户访问一台计算机。我不知道 Bob 的密码,但我可以使用来宾帐户。来宾帐户对 Bob 的所有文件都没有读取权限,因此我以来宾身份登录时无法读取 Bob 的任何文件。
然而,从真正的“对手”的角度来看,我拥有这个未加密磁盘的完全访问权限。我可以对其进行映像处理,保存以供日后使用,运行其他操作系统,只需读取 Bob 的文件,同时忽略文件系统权限设置。
由此,我得出一个问题:
- 未加密磁盘上的文件系统权限设置只是一个标志,对吗?唯一阻止我读取没有权限的文件的原因是操作系统会说“哦,你不能读取它,你没有权限。”该文件仍然以原始形式存在于磁盘上,我可以通过忽略文件系统标志来读取它(例如,通过一些可以忽略权限的可疑可启动操作系统)。这些都正确吗?
现在假设我没有直接访问磁盘的权限,我只是通过 ssh 连接到一台机器。我没有权限读取 Bob 的任何文件。我真的无能为力,对吗?
- 由于我的权限有限,无论我怎么努力,我都无法访问 Bob 的文件,不是吗?如果我利用一些漏洞获得 root 访问权限怎么办?我现在可以绕过操作系统的权限标志吗?这种情况会发生吗?
答案1
简短的回答。
如果您可以物理访问计算机系统(PC 或数据存储系统),并且唯一的“保护”是文件权限,那么您 100% 得不到任何保护。
除了拥有另一台可以连接到系统驱动器来复制数据的设备外,几乎不需要任何工具,就可以轻松复制和克隆未加密的数据。
是的,潜在物理渗透的一些证据方面可能需要在物理层面上考虑在内;例如确保没有留下指纹,并且任何“防篡改”封条也都得到处理。但老实说,绝大多数系统都可以物理移除驱动器以获取数据的物理副本,而最终用户永远不会知道。如果你有驱动器,你就有驱动器,如果数据未加密,你就有数据。
这就是为什么每个用户加密或全盘加密在当今如此流行的原因;笔记本电脑和其他便携式计算设备在当今市场上占据了如此大的一部分,由于设备被盗或随意借用电脑而导致数据丢失的风险比过去任何时候都高得多。
如果磁盘未加密,则其中的数据就是一本随时可以读取的公开书籍。这一概念不仅限于 Linux/Unix 计算机,还适用于任何地方的任何操作系统;如果您可以物理访问未加密的系统,您就拥有了该系统。
也就是说,文件权限是对于所有类型的远程服务器来说,这是一种有用的安全措施。
较长的答案。
我的问题是关于文件系统权限(特别是 Unix 风格的权限)以及它们与安全性的关系。
首先,请记住计算机(以及一切)的安全性实际上只是一种威慑,会减慢速度,并不一定提供绝对的安全。
例如,任何实体建筑中最薄弱的安全措施就是进出时必须打开的门,或者必须打开才能让空气进入的窗户。是的,你可以锁上门窗,设置警报,但如果有人真的想要获得某样东西的机会——并且他们有时间、资源、财富和精力去追求它——他们就会获得它。
假设我可以使用来宾用户帐户和名为 Bob 的用户访问一台计算机。我不知道 Bob 的密码,但我可以使用来宾帐户。来宾帐户对 Bob 的所有文件都没有读取权限,因此我以来宾身份登录时无法读取 Bob 的任何文件。
这里的问题是访问上下文。如果你有物理访问几乎可以肯定地说,任何事物是可能的。但如果你只是通过远程连接(通过某种网络)进行连接,那么文件系统所有权确实这是一种有效的安全方法。对于 Linux/Unix 服务器,权限和所有权是阻止远程入侵的有效安全形式。
这就是为什么在 Linux/Unix 世界中,获得root
远程系统的访问权限被视为大奖。获得远程系统的访问权限root
,您就真正做了一件让您获得更大访问权限的事情,而无需走进数据中心并克隆驱动器。
然而,从真正的“对手”的角度来看,我拥有这个未加密磁盘的完全访问权限。我可以对其进行映像处理,保存以供日后使用,运行其他操作系统,只需读取 Bob 的文件,同时忽略文件系统权限设置。
是的。确实如此。如果您可以物理访问机器,那么 — — 正如一开始所解释的那样 — — 一切都将不复存在。您可以通过制作磁盘映像 — — 甚至只是查看驱动器本身的原始内容 — — 来访问其他人拥有的文件和目录 — — 几乎不需要任何深入的技术努力。
例如,任何人如果将自己的个人计算机借给您并在没有考虑这种情况的情况下为您设立新帐户,那么他基本上就是在不知情的情况下泄露了他们计算机上的所有个人数据。
有点离题,但我认为这就是为什么这么多普通用户捐赠旧电脑而不做任何努力来擦除驱动器上的数据。他们设置了用户密码,并认为这可以保证他们的数据安全,以至于他们可以毫不犹豫地将驱动器扔进垃圾桶。而现实是,如果没有真正的加密或数据擦除,任何被扔进垃圾桶或出售的二手驱动器都可以被任何地方的任何人读取,而无需付出任何繁重的工作或深入的技术努力。
答案2
您的三点看法:
如果您以普通用户身份通过 SSH 登录,则您无权访问原始磁盘设备。您通常需要
root
或有权限访问原始和逻辑磁盘设备。如果你得到根通过漏洞,您就是系统上最强大的用户,可以访问几乎所有内容,包括设备。由于您是 root,因此您可以直接访问 Bob 的文件,因此无需访问磁盘设备。
物理访问胜过
root
。根目录是一个逻辑层。您可以忽略它,通过物理访问磁盘。这包括在您作为根目录的单独操作系统中加载所述磁盘。
当然,系统应该加强防御root
漏洞,但新的漏洞每天都会出现。没有一个系统是 100% 安全的,但你可以通过限制访问来确保系统在实际应用中的安全。
文件系统权限仅在受限用户访问情况下有效,此时操作系统不会受到损害。这是一个“让诚实(和典型)用户保持诚实”的系统,就像自行车锁一样。它的作用不仅仅是防止“机会犯罪”,而是提供万无一失的全面保护。