在误解了这个问题的含义之后,我想知道如果用户没有 root 权限,rootkit 和其他恶意程序是否会有效。
Rootkit 通常会诱骗具有 root 权限的用户授予病毒或其他恶意程序 root 权限,从而使他们能够做任何事情。如果这些程序之一遇到非root用户,它会有效吗?
在误解了这个问题的含义之后,我想知道如果用户没有 root 权限,rootkit 和其他恶意程序是否会有效。
Rootkit 通常会诱骗具有 root 权限的用户授予病毒或其他恶意程序 root 权限,从而使他们能够做任何事情。如果这些程序之一遇到非root用户,它会有效吗?
你必须知道的
Linux 无法抵御高级恶意软件(如 rootkit 和特洛伊木马)以及零日漏洞攻击。
在任何通用 Linux 发行版上,rootkit 都可以使用社会工程学窃取 root 密码;如果系统不是最新的,它还可以使用内存利用,并以管理员身份执行 shell 脚本,无需用户交互且没有可见效果。
在
sudo
经常安装但未正确配置的 Ubuntu 上,恶意软件只需要当前用户的密码即可执行管理操作并感染系统。如果您安装了setuid可执行文件并且它们使用解释器(例如,旧版本的
Nmap
did),它们可用于绕过帐户障碍并执行管理操作。现代 rootkit会尝试所有可能的方法来获取 root 访问权限并加载新的内核模块以获取全部权限并隐藏其他感染。
如何保护自己
基本注意事项
我做了一个小待办事项清单:
gufw
或其他包装器来配置防火墙并阻止 IN/OUT:TCP 和 IN/OUT:UDP 的未使用端口。passwd
强制最小密码长度,因为恶意软件可以暴力破解弱密码。之后,安装并使用
tiger
以检查系统中的安全问题。高级预防措施
这些预防措施将大大提高您的安全性,但它们需要在安装新软件后进行定期维护,并且适用于高级用户:
SELinux
保护合理的配置文件,sudo
仅对安全专家提供有限的安全保证。使用前您应该查阅官方参考资料,因为如果配置不正确,它会限制 root 访问权限并锁定您。它是一个非常先进且功能强大的工具,在将其用于生产之前先在虚拟机上进行实验。Apparmor
(默认安装在 Ubuntu 上),它通过将程序限制到一组特定的目录来提供保护,并保证即使对非技术用户也能提供良好的保护。要开始使用它,您需要将 Apparmor “配置文件”安装到一些常用程序。您可以像这样安装它们:sudo apt install apparmor-profiles apparmor-profiles-extra apparmor-utils
然后通过运行来启用它们sudo aa-enforce /etc/apparmor.d/*
。Firejail
是一个易于使用的沙箱,通过使用多种技术限制不受信任的应用程序的运行环境来降低安全漏洞的风险。您可以使用它来隔离您的 Web 浏览器并获得一些额外的保护以防止内存中的攻击。所有这些预防措施都将提高各自影响区域的安全性,但如果硬件陈旧,则会降低整个系统的性能。事实上,我们经常在企业服务器中找到它们,以保护重要(或公共)网络节点。
感谢user311982的有用建议。
即使 Linux 比其他系统更安全,但这并不意味着它是免疫的。我的小指南并不详尽,如果您有更多问题,请随时在此处发表评论。
根据定义,rootkit 不是获取 root 权限的工具包;相反,它是一个工具包,一旦获得它们就可以保留它们。因此,如果没有 root 权限,严格意义上的 rootkit是没有用的。
当然,在现实生活中,rootkit 可能会作为更大的整体恶意程序包的一部分出现,通常由 dropper 获取和部署,其中包含旨在获得 root 权限的各种漏洞。人们可能会通俗地将整个包称为“rootkit”,因为 rootkit 是有效负载,虽然这在技术上不是一种准确的引用方式,但拆分这些头发并不能保证您的系统安全。:)
如果您是普通用户,则应注意不要将恶意软件引入系统。如果您确实获得了 root 权限,除非您拥有 root 权限,否则您将完全无能为力。
尽管如此,在对恶意软件进行了相当广泛的研究之后,我的建议是,如果您知道某个系统已被恶意软件以任何方式感染(无论权限级别如何),您应该假设整个系统现在都是恶意的并用火杀死它,这是也就是说,擦除硬盘驱动器并重新安装,尽可能少地保留数据,以及使用多个反恶意软件程序从实时操作系统扫描的数据。
如果您相信恶意软件不会做任何过于恶意的事情,那么这不是正确的行动方案的唯一非特殊情况。但是为什么你会相信恶意软件不是恶意的呢?对我来说,这听起来像是一个失败的策略。