运行不需要安装的应用程序是否安全?

D. *_*Ktt 15 security telegram

我有 Ubuntu 14.04 LTS

我已经从这里下载了 Telegram 。该文件被压缩为扩展名tar.xz

我已解压此文件并Telegram使用普通用户(非管理员)运行该文件(无扩展名)。应用程序启动并运行正常。

但是为什么 Ubuntu 不告诉我“不要运行这个应用程序,因为它不安全”?

这样的应用程序,不需要安装,双击就可以轻松运行,真的安全吗?

像这样的应用程序叫什么?他们有什么名字?“便携的”?

Zan*_*nna 26

该文件是二进制可执行文件。它已经从其源代码编译成您的 CPU 可以执行的形式,您只需要求执行它即可运行。

您在运行 APT 等包管理器时下载的软件通常也包含预编译的二进制文件,因此此类文件没有什么特别之处。文件的打包会做一些有用的事情,比如告诉包管理器二进制文件需要复制到文件系统中的哪个位置,并提供脚本以确保程序可以找到任何共享库和它所依赖的其他程序以及它所需的环境是如果需要,进行设置。

您可能认为该程序不安全的原因是它来自未知来源,而来自 Ubuntu 存储库的软件包来自已知来源并受到签名验证过程的保护,以确保它们在到达您的系统的途中没有被篡改。

基本上,从未知来源下载和运行可执行文件是不安全的,除非您信任提供商并且您可以验证下载是否完好无损。对于后者,分销商可能会提供某种校验和,您可以使用它来检查他们上传的文件是否与您下载的文件具有相同的内容。

Telegram特别令人鼓舞的一件事情是它是开源的:

该软件在 GPL v3 许可下可用。
源代码可在GitHub 上获得

这意味着任何人都可以阅读程序的源代码,以确保它不会对您的系统做任何不受欢迎的事情。在实践中,阅读源代码以确保程序安全并不是大多数最终用户想要花时间做或学习如何做的事情。尽管如此,我仍然相信相关社区能够找到开源软件中的安全漏洞和错误。

至于为什么 Ubuntu 不抱怨程序不安全,好吧,就他们有问题的决定来纠缠用户并不是 Linux 的传统。Linux 系统通常被设计成按照你的要求去做,而不是别的。用户被认为有责任了解安全问题和其他潜在的陷阱,并且很少会被警告他们即将危及或损坏他们的系统。

我使用 PPA for Telegram请参阅此答案以了解安装 Telegram 的所有方法。PPA 使用 APT 的签名验证机制,但它们仍然存在一些风险,因为您信任维护者。PPA 确实提供了一些便利,在您运行更新时更新(如果维护者更新 PPA),让包管理器知道您拥有该软件等等。

  • “*Linux 系统通常被设计为按照您的要求执行,而不是别的。*”两个词:Lennart Poettering。 (6认同)
  • 尽管 Telegram 源在 Github 上,但这并不意味着您下载的编译后的二进制文件是使用完全相同的源生成的。所以最后,这里的实际问题是对整个链的信任,这由您的操作系统包更好地处理。 (6认同)
  • *“验证下载是否完好无损。对于后者,分销商可能会提供某种校验和,您可以使用它来检查他们上传的文件是否与您下载的文件具有相同的内容。”* - 请注意,这不会'如果校验和通过与下载相同的通道传输给您,则不要添加任何额外的安全性,因为它也可能被篡改。 (2认同)

Jac*_*ijm 11

本地安装的软件

下载(或以任何方式在本地复制)并在本地运行(从您的用户)的软件可能会执行您不需要管理员权限的任何操作。这包括删除您的(个人)文件,我们大多数人都会认为这些文件有害。

如果您登录了任何东西,并且软件以您的用户身份运行,同上,但还要考虑您可能已添加到 sudoers 文件中的脚本或命令。

如果您有管理员帐户,并且软件要求您提供密码而您不小心提供了密码,则任何事情都可能发生。

警告?

如果不提供您的密码,潜在的损害将仅限于您自己的帐户。您不希望 Ubuntu 为您运行的每个命令发出警告,无论是否有意。

这就是为什么您根本不应该运行来自您不知道是否可以信任的来源的代码,除非您完全理解这些代码。

  • @MirosławZalewski 强制性 xkcd:https://xkcd.com/1200/ (11认同)
  • “潜在的损害将仅限于您自己的帐户” - 并不是我不同意主要原则,但老实说,我想不出我的机器上有任何不属于我自己帐户的有价值的数据。 (7认同)