我们可以在多大程度上依靠文件系统权限来确保安全性?


31

我的问题是关于文件系统权限(特别是Unix样式权限)以及它们与安全性之间的关系。

假设我可以使用访客用户帐户和名为Bob的用户访问计算机。我不知道鲍勃的密码,但是我可以使用来宾帐户。来宾帐户绝对没有Bob的所有文件的读取权限,因此以访客身份登录时我无法读取Bob的任何文件。

但是,从真正的“对手”角度来看,我可以完全访问此未加密的磁盘。我可以对其进行映像,保存以供以后使用,运行其他操作系统以简单地读取Bob的文件,而忽略文件系统权限设置。

由此,我想到一个问题:

  1. 未加密磁盘上的文件系统权限设置只是一个标志,对吗?唯一阻止我读取未经我许可的文件的事实是,操作系统将显示“哦,您无法阅读,您没有许可。”该文件仍在磁盘上以原始格式,我可以通过忽略文件系统标志来读取它(例如,通过一些可忽略的可启动操作系统,它们只是忽略权限)。这一切正确吗?

现在说我没有直接访问磁盘的权限,而只是将其插入计算机中。我无权读取Bob的任何文件。我真的无能为力,对吗?

  1. 鉴于我的权限有限,无论我怎么努力,我都无法访问Bob的文件,不是吗?如果我使用一些漏洞利用来获得root访问权限怎么办?现在可以绕过操作系统的权限标志吗?这是曾经发生的事情吗?

4
是的,是的。您似乎正确理解了相关概念。如果您无法物理访问系统,则需要升级特权攻击才能绕过权限。
弗兰克·托马斯

2
将其迁移到Security.SE不是一个好主意吗?似乎更合乎逻辑。
克里斯·西里菲斯

3
@ChrisCirefice对安全性概念进行更深入的研究将有必要进行迁移。但这是一个关于文件系统权限及其在系统安全性概念中的特定角色的理解的非常基本的问题,因此它更适用于此超级用户。
JakeGould 2015年

Answers:


31

答案较短。

如果您具有对计算机系统(PC或数据存储系统)的物理访问权,而仅有的“保护”是文件权限,那么您将100%无保护。

未经加密的数据几乎可以用任何工具复制和克隆,几乎不需要任何工具,除了拥有另一个可以挂接到系统驱动器上以复制数据的设备。

是的,潜在的物理渗透的一些证据方面可能需要被分解成在物理级别的访问; 例如确保没有留下指纹,并且还要处理任何“防篡改”密封。但老实说,那里的绝大多数系统都可以物理删除其驱动器,以获取数据的物理副本,而最终用户却一无所知。如果有驱动器,则有驱动器,如果未加密,则有数据。

这就是为什么按用户加密或全盘加密在当今如此重要的原因。如今,笔记本电脑和其他便携式计算设备已成为市场的重要组成部分,由于设备失窃或随意借用PC造成数据丢失的风险比以往任何时候都高得多。

如果磁盘未加密,则该磁盘上的数据是一本可以读取的已打开的书。这个概念不仅限于Linux / Unix计算机,还包括任何操作系统。如果您可以物理访问未加密的系统,则可以使用该系统。

也就是说,文件权限各种远程服务器的有用安全措施。

更长的答案。

我的问题是关于文件系统权限(特别是Unix样式权限)以及它们与安全性之间的关系。

首先,请记住,计算机以及所有事物的安全性实际上只是一种威慑力,只会减慢运行速度,并不一定提供绝对的安全性。

例如,在任何物理建筑物中,最薄弱的安全措施是进入/离开建筑物时必须打开的门或必须允许空气进入的窗户。是的,您可以锁定门窗并设置警报,但是如果有人真正希望获得某种东西-他们有时间,资源,财富和精力去追求它-他们将能够获得它。

假设我可以使用访客用户帐户和名为Bob的用户访问计算机。我不知道鲍勃的密码,但是我可以使用来宾帐户。来宾帐户绝对没有Bob的所有文件的读取权限,因此以访客身份登录时我无法读取Bob的任何文件。

这里的问题是访问的上下文。如果您可以物理访问计算机,则几乎可以进行任何操作。但是,如果仅通过某种网络通过远程连接进行连接,则文件系统所有权绝对是一种有效的安全方法。对于Linux / Unix服务器,权限和所有权是阻止远程入侵的有效安全形式。

这就是为什么在Linux / Unix世界中获得root对远程系统的访问权被认为是一项大奖。增益root到远程系统,然后你真正做了什么,给你更多的机会,而无需走进数据中心和克隆的驱动器。

但是,从真正的“对手”角度来看,我可以完全访问此未加密的磁盘。我可以对其进行映像,保存以供以后使用,运行其他操作系统以简单地读取Bob的文件,而忽略文件系统权限设置。

是。究竟。如果您对计算机具有物理访问权限,那么正如一开始所解释的,所有赌注都将关闭。您只需制作磁盘映像,甚至只需追求驱动器本身的原始内容,就可以访问他人拥有的文件和目录,而无需付出过多的技术努力即可。

例如,任何人在不考虑这种情况的情况下借给您自己的个人计算机并仅为您设置一个新帐户的人,基本上就是在不真正知道自己计算机的情况下就放弃了他们的任何个人数据。

切线略有不同,但是我认为这就是为什么如此多的临时用户捐赠旧电脑而没有付出任何努力来擦除驱动器上的数据的原因。他们设置了一个用户密码,并假定将数据保存在可以将驱动器丢进垃圾桶而不会三思而后行的程度。当现实中没有真正的加密或数据擦除时,任何扔进垃圾桶或出售的驱动器都可以在任何地方被任何人读取,而无需付出任何繁重的努力或深入的技术努力。


6
我认为这个答案遗漏了一些显而易见的东西,值得一提。安全不仅仅是计算安全。威胁模型也很重要,因为攻击者是人:攻击者通常希望避免留下痕迹。如果您向某人提供了对设备的物理访问权限,但是您以某种方式进行篡改,以致在不留痕迹的情况下无法对设备进行篡改(从指纹到篡改标记的任何东西到操作过程中设备的破坏),那么它的确会增加尽管可以物理访问数据,但系统的安全性仍然很高。
Mehrdad

@Mehrdad在对访问的安全性和保护进行较大讨论时,此注释可能有意义,但是此问题以及我的相关答案集中在逻辑文件系统权限与对系统的基本物理访问的总体概念上。在那种情况下,对指纹和篡改制造商的这些担忧只是幻想场景的推测。如果可以对未加密的数据进行物理访问,则可以对未加密的数据进行物理访问,并且在十分之十的情况下,不必成为“主小偷/间谍”来访问该数据。
JakeGould 2015年

15

您的三点:

  1. 如果您以普通用户的身份使用SSH登录,则您无权访问原始磁盘设备。通常,您需要root或具有访问原始磁盘和逻辑磁盘设备的权限。

  2. 如果您通过利用漏洞扎根,那么您就是系统上最强大的用户,并且可以访问包括设备在内的大多数内容。由于您是root用户,因此可以直接访问Bob的文件,因此无需访问磁盘设备。

  3. 身体接触的节奏root。根是逻辑层。您可以通过物理访问磁盘来忽略它。这包括将所述磁盘加载到您是root的单独操作系统中。

当然,系统应该能够抵御root攻击,但是每天都会有新的攻击出现。没有一个系统是100%安全的,但是您可以通过限制访问来实现一个实际目的的安全。

文件系统权限仅在不影响操作系统的受限用户访问情况下才起作用。这是一个“诚实(和典型)的用户诚实”系统,例如自行车锁。它不仅可以防止安全的全面保护,还可以防止“机会犯罪”。


FS权限规则非常强大。只要没有攻击者具有根源,它们就会起作用。POSIX文件系统语义(以及特定于Linux的扩展名)经过精心设计,不会带来比just可以获得更多的访问open(2)。例如linkat(2),您可以为打开的文件描述符创建目录条目,但是当链接计数尚未为零时才可以,因此接收已删除文件的打开FD的进程无法将其链接回文件系统。显然,攻击者获得root用户或物理访问权意味着您很敬酒。加密有助于物理但不是很多根。
彼得·科德斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.