声称 Skype 是一个不受限制的应用程序,能够访问自己的所有个人文件和系统资源
为什么我会收到此消息?
snap的理念是成为一个“Linux 应用商店”,与其他平台(如 iOS 或 Android)的应用商店具有许多相同的好处。最大的优势之一是应用程序相当受限,除非用户授予特定权限,否则无法与您的操作系统交互。
在 snap 中,有几种不同的“限制”设置,如此处所述:
严格的
大多数快照使用。严格限制的快照在完全隔离的情况下运行,最高可达被认为始终安全的最低访问级别。因此,严格限制的快照无法访问您的文件、网络、进程或任何其他系统资源,除非通过接口请求特定访问(见下文)。
经典的
允许以与传统软件包大致相同的方式访问系统资源。为了防止滥用,发布经典快照需要手动批准,安装需要
--classic
命令行参数。开发模式
快照创建者和开发人员的特殊模式。devmode snap 作为严格限制的 snap 运行,具有对系统资源的完全访问权限,并生成调试输出以识别未指定的接口。安装需要
--devmode
命令行参数。开发模式快照无法发布到稳定频道,不会出现在搜索结果中,也不会自动刷新。
Skype 应用程序很可能是“经典”快照,这意味着您不会获得与严格限制相同的好处。
Skype 真的可以在我的系统上做任何事情吗?
Skype 的功能与任何其他传统二进制文件一样多,例如通过apt
. 它通常不会成为“某种超级用户”,但它可以使用sudo
或其他方式要求成为特权进程。最简单的方法是简单地拒绝以 root 身份运行。
但是,Skype 不能神奇地绕过任何文件权限,除非您专门提供了二进制功能来这样做。
系统资源是什么意思?
想想智能手机上的应用程序。应用程序必须要求访问您的文件、联系人、麦克风、相机、位置等。
Snap 的严格限制设置确实允许应用程序访问这些接口,但个别应用程序需要请求访问这些接口。当然,您作为用户可以禁止应用程序访问它们。也许您不希望应用程序访问网络,因为您不想使用启用网络的功能。
安装程序告诉您的是,由于 Skype 是一个“经典”快照,您无法阻止 Skype 访问所有这些资源(网络、摄像头等),至少不是以简单的方式。
如何限制这样的应用程序?
如果您愿意,您可以尝试自己创建一个严格限制的快照。我认为这将是一项即使不是不可能也很困难的任务,否则微软已经做到了。或者也许它超级简单,几乎没有不便,而微软根本不在乎。
您还可以创建受限用户并将系统配置为以该用户身份运行应用程序,然后限制该受限用户访问网络、网络摄像头等资源。
就像这部漫画:
通常,在您的帐户下运行的任何程序都可以访问您的帐户可以访问的任何资源。
无论对文件和目录设置的权限如何,Skype 真的可以扫描我的主目录中的任何内容吗?它会变成某种超级用户吗?
正如MechMK1 的回答中所述,不,它不会比你更有特权。但是,即使您chmod
将一个文件设为 0,只要您仍然拥有该文件,任何程序(在您的用户 ID 下运行)都可以chmod
将其恢复到更宽松的访问模式。
一般来说,如果它像你一样在你的系统上运行,它可以做任何恶意软件可以做的事情。例如,它可以
- 每次登录时修改您的
.bashrc
、或类似文件以启动它(或其中的一个组件)。.bash_profile
- 监控您的击键(受限于超出此问题范围的限制)。
- 也许阅读你的屏幕(?)
一个普通的“高级用户”怎么可能限制这样一个不受限制的应用程序?
如果您偏执地认为 Skype(或任何其他程序)是恶意软件,但无论如何您都想运行它,那么您可以采取一些措施来保护自己(和您的数据)。按(大致)安全性递减顺序:
- 正如 Benjamin 所建议的,将不受信任的软件隔离在某种监狱、沙箱、容器或虚拟机中。
- 根据您的偏执程度,您可以为所有不受信任的软件设置一个隔离区域,或者为每个不受信任的程序设置一个隔离区域。
- 根据 MechMK1 的建议,为不受信任的软件创建另一个用户(使用不同的 UID),并始终以该用户身份运行该软件(使用
sudo
orsu
,或通过在另一个虚拟终端中以其他用户身份登录)。- 同样,您可以为所有不受信任的软件创建一个这样的用户,或者为每个不受信任的程序创建一个用户。
- 为您最敏感的数据创建一个单独的用户帐户。
这与上面的子弹几乎相同,但从相反的方向看。 - 加密您最敏感的数据。这是这些选项中最不安全的,因为
- 它不会阻止软件删除或覆盖您的文件,并且
- 只要不受信任的软件与您一样运行,它就可能会监视您的许多操作,并可能在您解密数据以使用它时读取您的数据。
以上都不能保证。
回到这个:
它会变成某种超级用户吗?
为了完整起见,程序(可以不受限制地运行)可以通过通常的方式获得特权:
- 它可以调用
sudo
或su
希望您输入密码。(建议:不要那样做!) - 它可以调用
sudo
或su
尝试猜测密码。 - 它可以调用
sudo
并希望您在过去五分钟内使用sudo
过,因此您的凭据仍会被缓存(请参阅Sudoers 手册)。 - 它可以利用操作系统中的提权漏洞。
等等。上面讨论的限制程序可以减轻其中一些攻击。