![有没有办法阻止随机软件包远程传输您的文件?](https://linux22.com/image/4287/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E9%98%BB%E6%AD%A2%E9%9A%8F%E6%9C%BA%E8%BD%AF%E4%BB%B6%E5%8C%85%E8%BF%9C%E7%A8%8B%E4%BC%A0%E8%BE%93%E6%82%A8%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我正在我的 archlinux 计算机上运行比特币客户端。如果有人可以获得 wallet.dat 文件,位于〜/.比特币/他们可以窃取我的硬币的目录。
我安装了最少的软件。基本上只有 xfce4、xfce4-goodies、比特币和其他一些我认为必要的程序。
对于我在操作系统上安装的大约 100 个软件包的开发人员/存储库管理员之一来说,在下次软件更新时悄悄地将我的 wallet.dat 文件发送给自己,这有多大可能?
为了安全起见,我是否应该检查所有软件更新以确保这种可能性?这种方法的缺点是 archlinux 本质上使用其官方存储库中的所有最新软件更新/补丁。
Linux中是否有任何保护措施来防止软件包访问其管辖范围之外的文件夹?也许是团体?
答案1
最简洁的答案是不。
Unix 安全模型从根本上来说是为了将一个用户的数据与其他用户隔离而设计的。它并不是为了限制应用程序而设计的。您运行的所有应用程序都具有相同的权限。您的文件管理器显然可以读取您的文件(这就是重点),并且它也具有网络访问权限(例如安装远程共享驱动器)。其他应用程序必然具有相同的权限。
大多数时候,这种孔隙率是需要的。我想从电子邮件客户端保存文件并在文字处理器中打开它。我想通过剪贴板将一些数据从文字处理器复制到网络浏览器。我希望我的电子邮件客户端和网络浏览器打开各种外部程序来查看它们本身无法理解的文件。我希望我的桌面宏程序能够捕获所有击键并将击键注入应用程序中。我希望我的备份软件能够读取和写入我的所有文件。
现代 Linux 系统具有额外的安全机制,为应用程序提供有限形式的安全限制。但它们主要是为了限制不与许多其他本地应用程序交互的系统服务而设计的。
如果你想将你的比特币钱包与你的正常活动隔离开来,你需要为了安全而牺牲一些便利。最基本的步骤是将您的比特币钱包存储在不同的用户帐户下。这样,您仅使用普通帐户的应用程序将无法触及它。
您使用比特币账户的任何应用程序都是您可信基础的一部分——您需要信任的系统部分,因为它可能会破坏您的安全。这包括内核、许多系统守护进程和程序、您作为比特币用户运行的任何 shell 和文件管理器、您用来登录比特币帐户的任何方法、所有比特币软件等。当然,这样做的缺点是这会让你更难使用你的钱包。如果您将钱包与使用它的环境隔离开来,那么转账就会变得更加困难。
开源软件的一个优点是,它使得访问您的比特币钱包的后门变得难以隐藏。您可能觉得没有必要亲自检查软件,因为总的来说,很多人都会深入研究这个或那个的源代码。这还不包括您或其他人可能检测到的网络流量。如果存在后门,那么很可能会被检测到。
答案2
传统的Unix自主访问控制遗憾的是,DAC(DAC)机制(例如用户和组权限)不适合划分使用相同有效 UID 运行的进程。为此,Linux内核支持多种强制访问控制(苹果)Linux 安全模块(LSM),允许在进程上实施访问控制策略科目和文件物体。
Linux 中最著名的 MAC LSM 可能是安全增强的 Linux(SELinux)。 SELinux 具有灵活的策略语言,用于定义安全域(通常称为 SELinux 上下文)以及允许主体访问特定上下文的访问控制规则。文件和安全上下文之间的映射称为标签,在策略文件或扩展文件属性在文件到文件的基础上。
另一种基于标签的 MAC LSM 是简单的强制访问控制内核(SMACK),它受到 SELinux 设计的影响,但具有更简单的特点访问控制规则格式。
答案3
当尝试保护计算机上的某种信息免受流氓软件和/或恶意软件的侵害时,您有多种选择:
不要将信息永久存储在您的高风险计算机上(例如:将其存储在其他计算设备上:您的平板电脑、手机、其他计算机等),仅在您真正需要时才将所需的信息移至那里,即便如此,也仅限于需要的程度。仅当您的其他计算设备可以更加安全时,这才是一个有意义的解决方案(但对于 Android 手机来说则不然)。
使用足够强大的加密技术(最新的加密软件,具有足够高的位长密钥,并由足够长的非基于字典的密码保护)对信息进行加密。模糊安全本身并不是一种安全解决方案,但是,除了针对非定向攻击的适当加密技术之外,它确实提高了安全性:不使用引用内容的目录和文件名或所使用的加密技术可能会逃避愚蠢的机器人以及专门为获取您的比特币钱包而设计的病毒。您必须记住,当有人针对您个人进行攻击时,默默无闻的安全性可能对您没有多大帮助,您必须依赖加密技术。
您可以使用操作系统措施(DAC、MAC)将有风险的活动与受保护的信息分开。然而,这样做也有缺点:只有当您能够以非 root 用户身份运行有风险的应用程序并以其他用户身份存储要保护的信息时,DAC(用户/组权限)系统才能为您提供帮助。 MAC 解决方案可以为您提供更细粒度的访问控制方式,但设置起来也更加困难。所有操作系统措施的有用性通常受到操作系统安全性的限制:如果恶意软件利用操作系统内核中的已知漏洞,它可能能够绕过任何操作系统安全措施。
您还可以结合使用这些方法,这可能会也可能不会为您提供更好的解决方案。