以其他用户身份运行程序有用吗?

以其他用户身份运行程序有用吗?

看完一个道格拉斯·克罗克福德 (Douglas Crockford) 关于安全的演讲他在那里谈论如何浏览器得到了“该程序代表谁的利益?”这个问题的正确答案。,我想知道以另一个用户身份运行某些程序是否可行且是个好主意。

我正在运行 Debian,但我想这可能适用于任何操作系统。

我倾向于信任来自稳定、向后移植和测试存储库的任何内容(请告诉我是否不应该),但每当我安装其他东西时,这些存储库中没有的东西,我并不真正信任它。我有很多这样的东西,从 Maple 等数学程序到 Chrome 等浏览器,再到 Newerth 英雄等游戏。

因为这让我无法信任自己的操作系统,所以每次我想使用信用卡时,我都会在 Live CD 上启动。

所以我想知道以特定用户身份运行这些程序是否会有任何帮助。我对 Chrome 能够看到我在网上所做的一切感到满意,但这就是它必须停止的地方。我同意《超神英雄》查看我安装的模组、更新其文件等,但我不希望它能够访问浏览器的缓存或其他任何内容。

根据我对其工作原理的理解,我能够以单独的用户身份运行每个不完全受信任的程序,只为他们提供对所需文件的读写访问权限。

这是否可行(例如,我仍然能够控制音量和其他每个用户的事情吗?)?它会增加我想要的安全性吗?

预先感谢您的回答。

PS:我已经找到了这个:在 Linux 上执行可能有害的程序

但是虚拟机不适用于视频游戏,我已经在做 live CD 的事情了,但这有点烦人,chroot 的事情似乎过于复杂,因为我需要获取库等,而沙箱只是一个升级后的 chroot。他说使用用户是没有用的,因为如果你没有设置适当的权限,文件就可以被访问。但我可以删除除我之外的任何人的读取权限,不是吗?

答案1

使用与拥有数据文件的 uid 不同的 uid 运行程序可提供一些额外的安全性 - 应用程序不应该能够访问数据(或者至少不能写入数据,如果替代用户位于同一组并且您正在使用umask 0022)。另一方面,它不太可能保护您免受本地攻击 - 通常您希望替代用户拥有与您的主帐户非常相似的一组权限。因此,它将能够以类似的方式攻击系统,就好像它是使用您的主 uid 运行的一样。如果您希望它访问您的文件,您基本上需要在您的帐户下运行它。

就使用 X11 GUI 的应用程序而言,您必须允许它们访问您的 X 服务器 - 他们可能会滥用该权限。为了安全起见,您必须在单独的(例如嵌套的)X 服务器下运行它们。

使用替代用户确实不会给您带来太多安全性(正如您提到的问题中也提到的那样)。

也就是说,虽然偏执并不意味着他们没有追随你,但你确定你的系统是最薄弱的环节吗?您提到了电子邮件 - 您真的完全控制实际的邮件帐户吗?这些是否保存在只有您知道密码且正在运行的高度安全的服务器上仅有的一个完全修补的邮件服务器和内核,并且仅使用 SSL/TLS 安全协议将数据传输到您的计算机?您是否回顾过 SSL/TLS 库的客户端和服务器端的实际实现?您确定您的邮件客户端没有监视您(或者至少它没有安全漏洞)。你的操作系统和内核?你的UEFI?你的键盘?邮件服务器的UEFI? (我故意省略了 BIOS,因为它在启动时非常不安全。)

另一方面,您是否有理由相信 Waterloo Maple 或 Wolfram Research 正在他们的软件中添加后门?如果您担心这些应用程序可被远程利用,只需将他们与网络断开就是这样。

相关内容