MAC有什么用?

信息安全 访问控制 权限 强制访问控制
2021-08-25 08:55:57

我知道强制访问控制(MAC) 是什么,但我看不出它有什么帮助。似乎经常有人说,如果你启用SELinuxAppArmor 之类的东西,你就会神奇地更加安全。有了这个,某些东西的权限是强制性的并且是强制的,因此即使所有者也无法更改它们。

但是,文件或其他东西的所有者不能使用他们的判断力有什么用呢?$SEARCH_ENGINE 上的所有结果似乎都说明了它是什么,但没有说明它有什么帮助。这似乎毫无意义。如果您也不想要他们,为什么他们仍然有足够的DAC权限来执行此操作,以及您为什么要删除它等等?

2个回答

有了这个,某些东西的权限是强制性的,并且是强制执行的,因此即使所有者也无法更改它们。

想象一下 mysql 作为某个用户运行。它必须读取和写入数据库,也许还有其他一些文件——但它在用户主目录中没有任何业务——即使它可能在那里具有读取访问权限。邮件服务器?它完全有理由写入邮件文件 - 但没有理由写入 mysql 数据库文件。拒绝它这个权限将确保它不能——即使它以 root 身份运行并且存在安全问题。

MAC 确保它不能——即使它运行的用户具有执行此操作的权限。此外,用户不应拥有绕过这些保护的特权。因此,即使软件受到损害,损害也是该软件本地的。

另一个例子是浏览器——比如铬。如果我拒绝它之外的权限/home/*/.config/chromium/home/*/Downloads/依此类推。即使铬的安全漏洞浮出水面,它也无法窃取我的假期照片——因为它没有读取这些照片的权限。即使攻击者设法欺骗我添加不安全的扩展程序,它也无法访问 MAC 系统不允许它访问的内容。

您可以将您的应用程序限制为它们通常执行的操作。因此,如果发生安全问题,他们可能仍会损坏他们应该访问的部分 - 但不太可能损坏或过滤不相关的数据。

MAC 是另一个安全层。除了应用程序和文件系统强制执行权限外,SELinux 和 AppArmor 等 MAC 强制执行另一个层,以确定应用程序可以做什么或不可以做什么。它允许比传统文件权限更细粒度的控制,并且与文件权限分开 - 因此即使文件的所有者也无法直接绕过 MAC 授予它访问权限。

Multics 从一开始就有 MAC 和 DAC。以下是计算机系统中信息保护(Saltzer, Schroeder, 1974)论文中 MAC 的一个理由

对非自主控制感兴趣的关键原因与其说是恶意不服从​​的威胁,不如说是需要安全地使用不受经理控制的供应商创建的复杂和复杂的程序. 合同软件公司可能会提供 APL 解释器或快速文件分类程序。如果提供的程序要有用,则必须允许它访问要操作或解释的数据。但是,除非借用的程序已经过全面审核,否则无法确保它不会滥用数据(例如,通过制作非法副本)或无意或故意暴露数据。防止这种安全违规的一种方法是禁止使用借来的程序,但对于大多数组织来说,所有程序都在本地编写(甚至彻底审计)的要求将是难以承受的经济负担。另一种方法是限制借用程序,这是 Lampson [61] 引入的一个术语。也就是说,借来的程序应该在包含必要数据的域中运行,

(我的突出显示)