我应该为 Ubuntu 安装防病毒软件吗?

信息安全 linux 恶意软件 病毒 杀毒软件
2021-09-04 03:55:43

考虑到最近关于Mac 防病毒的线程,我想知道今天提出的论点有多少与 Linux 系统相关,特别是 Ubuntu。

  • 没有已知的 Ubuntu 桌面恶意软件。

  • GNU/Linux 是僵尸网络的一个非常诱人的目标,考虑到它为大部分网络服务器提供动力。此外,这些网络服务器通常配置更高,并且比潜在的桌面僵尸网络具有更好的带宽。

  • Linux 的反恶意软件包主要针对可能“通过”Linux 的 Windows 感染,例如邮件服务器上的感染。这与 Ubuntu 桌面无关。

  • 一些可用的 Linux 反恶意软件应用程序似乎与它们的 Windows 应用程序一样阴暗。

  • 这些解决方案可能会或可能不会防止 LibreOffice 文档中的宏、Web 浏览器或扩展程序的缺陷 (Flash)、XSS 攻击、Java 漏洞和其他用户级软件。

  • 人们是愚蠢的。如果一个雄心勃勃的恶意软件开发人员要推广它,那么有人可能会运行裸女。我确信这只是时间问题。

请注意,尽管还有许多其他基于 GNU/Linux 的发行版和桌面,但为了保持重点,我想将此线程限制为仅讨论标准安装的 Ubuntu 桌面想想“奶奶的台式机”。Slackware 的用户、运行邮件服务器或网络服务器的用户,或者将桌面用于其他目的的用户,大概(哈!我没那么天真)知道他们在做什么以及所涉及的风险。

4个回答

如果需要,您可以安装防病毒软件它不应该伤害您的机器,但不要期望对您的系统有太多保护,也不要认为自己完全安全防病毒软件的功效是相对的,它们主要用于避免传播旧的恶意软件,特别是如果您的生态系统中有 Windows 机器。您应该预期性能会下降,尽管截至目前还没有 Linux 上的 AV 性能基准,因此无法量化。

为什么只使用防病毒软件就不安全?因为它们只是所需机制的一部分。目前,Linux 上缺少很多桌面安全工具。与桌面相关的不同安全机制有哪些?

  • 图形堆栈安全性(防止键盘记录器、点击劫持、屏幕录制、剪贴板嗅探等)
  • 具有安全检查的应用分发方案(应用商店和对应用进行静态分析的存储库)和快速安全更新
  • 恶意软件检测:基于签名(以防止已识别的威胁)和基于启发式(或者他们说,我从未使用过任何基于启发式的 AV,我怀疑这主要是营销谈话说“我们会抛出大量当您使用新应用程序时,您的脸上会出现安全警告”)
  • 沙盒(包括通过设计将应用程序彼此隔离)
  • 通过指定/用户驱动的访问控制/电源盒/合同,使用具有安全性的设备和用户数据的上下文授权;需要沙盒

目前,Linux 上唯一体面的事情是通过存储库进行的应用程序安全更新。其余的都是不合格的。

图形堆栈安全

我们都依赖 X11 图形服务器。X.Org 已经存在了 30 年,最初的设计仍在服务器中使用。过去没有桌面安全问题,你不会惊讶地发现它根本不安全。你有开箱即用的 API 来实现键盘记录器,如果用户打开了任何根控制台,则进行远程代码利用,替换会话锁以窃取密码等。

很难评估 Windows 8 和 OS X 在这个主题上的表现,因为我找不到任何关于它们的图形堆栈实现的详细解释。他们的沙盒应用程序限制了对最明显的攻击媒介的访问,但目前还不清楚这一切的设计和实现有多好。在我看来,Win 8 强制商店应用程序全屏运行,并且一次一个地运行隐藏了设计全尺寸安全窗口管理器的问题。wrt有很多问题需要考虑。在实现具有安全性的窗口管理器时,窗口位置和大小、透明度和全屏的使用等。我不知道 OS X 是怎么做的。

Linux 将在未来几年转向Wayland,它的设计考虑了安全性。我们对应该存在哪些能力有一个清晰的模型,以及如何实施这些能力以及如何获得授权的总体思路。这项工作背后的主要人物是Martin Peres,尽管我碰巧参与了讨论这些功能背后的用户和开发人员体验。设计和开发正在进行中,所以不要指望很快会有任何事情发生。阅读这篇文章了解更多信息。当与应用沙盒结合使用时,Wayland 将无缝提供安全性。

应用分发

Linux 拥有一个具有不同信任级别的存储库系统,它训练我们的用户只依赖提供的应用程序并警惕专有代码。这在理论上非常好。

实际上,我不知道有哪个分销商会对其打包的应用程序执行最基本的安全检查对奇怪的系统调用没有任何静态分析,对于任何社区来说,是否完全验证安装前和安装后脚本(以 root 身份运行)是否针对明显的坏事进行了验证。

对 GNOME Shell 的扩展进行的安全检查非常简单和手动,但至少存在。我不知道 KDE 的扩展或其他应用程序。

我们发光的一个领域是我们可以非常快速地提取安全更新,通常在几天内发现任何安全漏洞。直到最近,微软都比这慢得多,尽管他们赶上了。

恶意软件检测

我所知道的 Linux 上唯一的防病毒软件是 ClamAV。在我看来,它只能基于签名工作,但正如您所指出的,我们没有任何已识别的桌面恶意软件可以防御。

在 Advanced Persistent Threats 的世界中,可能有人编写 Linux 桌面恶意软件。有关示例,请参见掩码。由于 APT 恶意软件作者通常有足够的才能提出零日漏洞利用,因此标准 AV 不太可能对这些恶意软件采取任何措施。

现在,微软宣传对其所有软件进行数万小时的模糊测试,而不是在 Linux 生态系统中几乎没有安全编码实践。从模糊测试的个人实验来看,我绝对相信在一些流行的 Linux 软件中存在一些简单的零日漏洞这将在我们为普通恶意软件作者拥有经济上可行的用户群的那一天打击我们,然后我们将看到 ClamAV 的效果如何,但我怀疑应用程序更新机制将对处理产生更大的影响发现漏洞。

不用说,在这个标准上,Windows 和 OS X 都比 Linux 做得好得多。

沙盒和上下文授权

OS X 和 Windows 8 都为其商店中托管的应用程序提供沙盒。我还没有研究完 OS X 的怪癖,但 Windows 8 应用商店应用程序在支持的语言和 API、可用功能和可以提供的一般用户体验方面有非常严重的限制。这意味着未沙盒的桌面应用程序将继续存在,而微软的沙盒将无法防御恶意软件,只能防御有缺陷的(商店应用程序)软件中的精心制作的文档。尽管任何非商店应用程序也没有被沙盒化,但 OS X 似乎做得更好。

Linux 目前没有足够无缝的 GUI 应用程序沙箱。我们拥有底层的限制技术(最好的​​候选者是基于 Linux 命名空间的容器,参见LXCDocker,其次是需要开发以支持一定数量的动态性的 MAC 强制系统)。由于在kdbussystemd上的出色工作,我们几乎拥有了部署和处理这些沙盒应用程序所需的 IPC 和进程管理机制缺少一些内容,其中一些提案主要由 GNOME 基金会推动(请参阅GUADEC 13上的沙盒视频)。我还参与了讨论如何访问数据和授权,但少数感兴趣的人之间没有达成共识,设计和开发需要时间。可能还需要几年时间才能出现像样的原型,以及沙盒以任何相关规模部署到 Linux 上。

所有平台面临的一大问题是找出如何授权应用程序以适当的规模访问数据和设备功能。这意味着,如何让他们做他们需要做的事情,而不会用授权提示来纠缠用户,同时防止应用程序滥用权限。Windows 8 如何让 Store Apps 处理最近的文档和应用程序的futureAccessList存在严重漏洞。在这个阶段,在不增加开发人员和用户的安全成本的情况下进一步保护文档访问是一个悬而未决的问题,很多人恰好也在研究这个问题:)

恶意软件不在乎您是否正在运行“仅标准安装的 Ubuntu 桌面”。只要系统支持编译 ELF 二进制文件的正确指令集,恶意软件就会运行。Ubuntu 基于 debian,支持以下指令集:IA-32、x86-64、ARMv7、ARM64、PowerPC。通常,您会发现大多数构建在 IA-32 或 x86-64 系统上。

由于我的工作是逆转恶意软件,因此有时我需要通过它进行调试,因此我拥有 Ubuntu 桌面版(32 位和 64 位)虚拟机,我每天使用这些虚拟机通过 IDA 对 Linux 恶意软件进行远程调试。

如果您想谈论感染方法,那么可以肯定的是,与在 Windows 上相比,您在 Linux 上被偷偷摸摸的可能性要小得多。然而,在过去的几个月里,我注意到他们正在使用一些驱动 PHP 脚本,它们支持越来越多的非 Windows 平台。只需检查浏览器宣布的平台并提供相关漏洞利用。

TL;DR- 我每天感染 Ubuntu 桌面安装 (VM),同时逆转 linux 恶意软件。

问题是针对 Ubuntu 提出的。如果我可以将问题扩展到 Linux 桌面版本,SELinux 类型的“ Walled Garden ”解决方案将非常有用。在 SELinux 中,强制访问控制策略 (MAC) 可以阻止或限制感染尝试中的损害。与作为独立进程运行的 AV 不同,这会给操作系统带来负担,SELinux 具有 Linux 内核的本机支持,并且安全标签存储在 inode 中。

优点:

您可以实施非常复杂的安全策略。(即网页浏览器无法访问~/.mozilla 以外的文件夹)

缺点:

但是在 SELinux 中,您将需要良好的安全策略。缺点是编辑这些策略很复杂。

据我所知,Ubuntu 默认不支持 SELinux。但是像 Fedora 这样的操作系统可以。

底线:

归根结底,Linux 确实具有良好的安全机制(文件权限、SELinux),除非你把它们弄得一团糟,否则这会使恶意软件的生存变得非常困难。

这个问题比较混乱。

Viri 在 Linux 上极为罕见,但木马、蠕虫和 rootkit 在这里的存在时间比在 mswindows 上要长得多。用于保护 Linux(和 Unix)系统的工具看起来与出售给 mswindows 用户的工具非常不同。

作为最低要求,您应该有一个合理配置的防火墙,这是一种确保您的系统得到修补并定期运行 rootkit 检查的方法(多久取决于风险,可能至少每月一次)。