我可以通过使用“sudo apt-get install”获得病毒吗?

Tom*_*mas 76 security apt software-installation

我想确保使用sudo apt-get install. 包裹是否在某处被扫描?使用此命令下载的所有软件包都没有病毒吗?

如果不能保证它们不是无病毒的,那么在安装包含病毒的软件包后,攻击者是否能够完全控制我的机器?有什么办法可以检查我在计算机上安装的所有软件包吗?(不是系统自动安装的。我想过滤它们以查看我手动安装的所有软件包,而不是系统。)

Kaz*_*lfe 111

apt在默认的 Ubuntu 系统上不太可能感染病毒。但是,这并不意味着不可能:

  • 恶意 PPA
    APT 的功能之一是管理员能够将个人包存档 (PPA) 或其他软件源添加到 APT 缓存。这些第三方 APT 来源不一定可信,并且可能携带病毒。但是,添加这些受感染源之一需要机器管理员的有意操作,这使得添加自身变得相当困难。
  • 被黑客入侵的存储库
    理论上,软件存储库可能被恶意方黑客入侵,导致下载的.deb文件可能携带恶意负载。但是,官方软件存储库受到非常仔细的监视,并且这些存储库的安全性非常严格。黑客很难取下官方的 Ubuntu 软件源之一,但第三方软件源(见上文)可能更容易受到威胁。
  • 主动中间人/网络攻击
    如果网络受到更高级别的攻击(例如,您的 ISP),就有可能从官方软件来源感染病毒。但是,这种级别的攻击需要付出极大的努力,并且需要能够攻击许多站点的中间人,包括 GPG 密钥分发服务器和官方存储库。
  • 编写不当/恶意代码
    漏洞确实存在于开源、同行评审和维护的代码中。虽然这些东西在技术上根据定义不被视为“病毒”,但代码中隐藏或从未显示的某些漏洞可能允许恶意攻击者在您的系统上放置病毒或窃取您的系统。此类问题的一个示例是来自 OpenSSL 的 Heartbleed,或最近的 Dirty CoW。需要注意的是程序从universemultiverse回购是这个口径的潜在威胁,如解释在这里

apt(由于它在 Linux 系统上的重要性)在客户端和服务器端都非常谨慎地防御几乎所有这些类型的攻击。虽然它们是可能的,但知道自己在做什么并知道如何读取错误日志的管理员将能够防止发生任何这些攻击。

此外,apt还强制执行签名验证以确保下载的文件是合法的(并正确下载),从而使恶意软件更难以通过apt,因为这些数字签名无法伪造。


至于响应恶意软件感染事件,绝对最简单的方法是将系统烧毁,然后从最近的(已知干净的)备份重新开始。由于 Linux 的性质,恶意软件很容易在系统中表现得如此之深,以至于永远无法找到或提取它。然而,包喜欢clamavrkhunter可以用来扫描感染的系统。

  • 请注意,这种情况在非 Linux 系统上肯定不会比这更好。恰恰相反,真的。在 Windows 上获取软件的标准方法实际上是从某个随机站点下载它,并希望没有发生任何不好的事情。您所描述的是您在安全安装软件方面所能做的最好的事情。(我认为这值得在答案中明确提及,因为问这个问题的人处于新手级别,可能没有意识到这一点。) (22认同)
  • (3) 怎么可能呢?软件包已签名,Ubuntu 官方存储库的公钥来自 Ubuntu 安装介质。我认为除非您从伪造的安装媒体开始,否则您不会被感染。 (11认同)
  • “把系统烧毁”——对于一个写得很好的病毒,这几乎是真的。硬件的物理破坏将是安全的;更少的东西将是艰苦的工作(例如,如果硬盘固件已植根)。 (6认同)
  • 您应该在官方软件包中添加选项 4:Underhanded Code。像 heartbleed 这样的 bug 表明,严重的 bug 可以存在多年,即使是在大量维护的开源软件中也是公开的。因此,攻击者总是有可能以一种可以在同行评审中幸存下来的方式将恶意代码注入到存储库中。在这种情况下,您只需从原始服务器下载后门作为完全签名的包。 (6认同)
  • 值得注意的是,这三个例子并不相互排斥。您可以添加已被 MITM 破解的第三方 PPA。 (2认同)

Mar*_*arc 16

apt-get只会从已检查的官方 Ubuntu 存储库或从您添加到源的存储库中安装。如果您添加遇到的每个存储库,您最终可能会安装一些令人讨厌的东西。不要那样做。

  • 校验和可以防止意外损坏,但不能防止故意篡改——OpenPGP 签名可以防止篡改。 (8认同)

Win*_*nix 5

下载的文件sudo apt-get与该文件的校验和/哈希和进行比较,以确保它没有被篡改并且没有病毒。

事实上,人们在谷歌“sudo apt get hash sum”时遇到的问题对病毒来说太安全了。

Linux 无论如何都不是完全没有病毒的,但是发生的事件可能比 Windows 少 1000 倍。

然后再从我的网名来看,我可能有偏见:)

2017 年 11 月 28 日的评论提到 Windows 的工作站比 Linux 多 1,000 个,所以何必去攻击 Linux。它提出了一个事实,Linux 正在所有 500 台更快的超级计算机上运行,​​并且大多数 Web 服务器都运行 Linux,这使其成为破解所有连接到 Internet 的 Windows 工作站的最佳方式。

谷歌浏览器、Android 和 Windows 10 为用户提供了充分的机会来同时泄露他们的隐私和一些安全性。

  • 诶?校验和问题与其说是避免故意修改,不如说是意外损坏——除非上面有签名(是的,Debian 包*也*有 OpenPGP 签名),校验和可以像原始数据本身一样被修改可。如果包上的校验和与构建时存在的内容不匹配,则没有合理的期望可以提取该包以获得所需的原始内容。 (4认同)