今天,Ubuntu (和其他一些发行版)提供了一种新的安装软件的方法,这就是快照。它是带有所有依赖项的软件,与某种容器化一起运行,并自动更新。这听起来似乎是一个更安全的选择,但当你考虑到它时,它实际上取决于几个因素,而且最重要的可能是:
snap find <whatever>)做同样的操作,您将看到许多不同的“发布者”(不管这意味着什么)。例如,gimp、ffmpeg、android-studio和许多其他出版物都是由“快照匠”出版的;vlc是由带绿色标记的"videolan“出版的(已验证的出版商,不管”验证“是什么意思,因为目前还没有一种方法来验证,所以我想这只是”规范化的朋友“);keepassxc是由”keepassxreboot“出版的;john-the-ripper是由”claudioandre br“出版的,他在GitHub上似乎是一个开发人员,对官方的John进行了编辑和修补。所以这一切都很混乱。所以问题是:快照是官方回购的更安全的替代方案吗?如果用户想要安装,比如说Keepassxc,从官方的回复中安装它会更安全吗?或者用户在做出选择之前需要检查什么?
请注意,例如,Keepassxc的最新版本是2.6.6 (来自官方网站),snap提供了2.6.6版本(因此很容易看到这是完全修补的),而Ubuntu的官方repos有2.4.3+dfsg.1-1build1 (我想,并希望它是一个已经完全修复了安全问题的旧版本,但它的名字还不清楚)。你肯定会很想从snap安装它,直到你记住snap是一个相对较新的东西,我不知道我能相信整个过程。所以我才问这个问题。
发布于 2022-01-04 19:59:31
这里的安全性是基于您更信任谁*:规范或应用程序开发人员。至少,你知道Canonical是一个合法的公司,而不是故意制造恶意软件的公司(至少在传统意义上是这样)。应用程序开发人员也可能是一家大公司,或者是一个你从未听说过的开发人员,他们很可能是一个合法的开发人员,但如果您以前从未听说过他们,那么您就不一定能确定这一点。你也不相信他们在编写安全软件方面的技能。
Snap是一种可以将一些信任从应用程序所有者转移到Canonical的方法。通过使用snap,可以以多种方式对一个进程进行“沙箱”管理:例如,它在/tmp下被赋予自己的目录来工作,而不是直接在主目录中操作,它所能做的仅限于授予它使用1的权限的“接口”。这类似于移动设备(如iOS和Android )处理沙箱的方式:当应用程序想要做一些事情时,比如“写入您的主目录”,它们必须获得授予它们的权限(不过,在安装应用程序时,我不认为有明确的提示可以这样做)。很简单,可能的权限比大多数移动操作系统通常允许的权限更广:例如,在iOS上禁止将文件写入容器目录,但是可以使用snap应用程序。
例如,如果一个开发人员编写了一个程序,该程序可以使用文件名并删除它,据推测只有由该应用程序控制的文件,而他的应用程序执行一些接近rm -rf /home/username/foobar-app/{NameOfFile}的内容,并且输入卫生条件差,那么可以想象,一个糟糕的参与者可以将文件的名称命名为../../../,从而删除整个系统。snap将防止没有权限修改自己目录之外的文件的应用程序,从而防止这种情况发生。
然而,Snap有一些封闭的源代码组件,所以它确实依赖于您在向您分发正确的软件时,在某种程度上信任规范化(虽然我认为客户端组件实际上是进行安全操作的组件,是开源的),但我非常怀疑Canonical会通过向您的软件中注入恶意软件而危及他们的声誉。
*您也可以信任开源应用程序本身,因为您阅读了源代码,但在安全性方面,这类似于信任编写(从而读取)源代码的开发人员。
https://security.stackexchange.com/questions/251375
复制相似问题