我们总是听说在 Linux 中以非 root 用户身份运行未知程序是安全的,因为非 root 用户从系统级别被沙箱化,并且无法更改超出其权限范围的任何内容。如果需要,作为 root 用户,您始终可以删除非 root 用户,并确信系统的其余部分不会受到影响。
但是,低级别用户是否可以安装带有键盘记录器的脚本,例如,等待su -
或sudo
调用并从那里获得系统控制权?
我们总是听说在 Linux 中以非 root 用户身份运行未知程序是安全的,因为非 root 用户从系统级别被沙箱化,并且无法更改超出其权限范围的任何内容。如果需要,作为 root 用户,您始终可以删除非 root 用户,并确信系统的其余部分不会受到影响。
但是,低级别用户是否可以安装带有键盘记录器的脚本,例如,等待su -
或sudo
调用并从那里获得系统控制权?
我们总是听到...
我们要不要?我不。
在 Linux 上以普通用户身份安装一些不受信任的程序是一个坏主意,与在 Windows 或 Mac 上一样:该程序可以访问您的所有数据并可以删除这些数据,将这些数据发送给其他人等。此外,它可以制作屏幕截图,控制在同一个 X windows 屏幕上运行的其他应用程序(即使它们以不同的用户身份运行),可以抓取键(即键盘记录器),...有关详细信息,请参阅Linux 安全马戏团:关于 GUI 隔离。
除此之外,即使在 Linux 中,我们也经常遇到权限提升错误,非特权用户可以使用这些错误来获得 root 甚至内核级别的权限。
因此,除非您愿意破坏该系统或存储在其上的数据,否则请勿在任何类型的系统上安装任何不受信任的程序。
简而言之:是的,使用低权限帐户有助于保护您免受恶意软件的侵害,但不会让您免疫。像任何安全措施一样,没有任何一件事可以让您 100% 安全。
TL;DR:在低权限帐户上运行(又名“最小权限原则”)应该是均衡早餐的一部分,其中还包括良好的防火墙配置;用于监控进程、系统资源、开放端口、网络流量等是否存在可疑活动的工具;仅运行已签名的可执行文件的策略、SELinux 安全内核模块的配置、使用安全补丁使操作系统和应用程序保持最新状态以及其他内容。
您的问题非常广泛,无法直接回答。相反,我将根据系统的配置以及攻击者的目标将其分为几种情况:
假设有问题的 linux 计算机是我的个人笔记本电脑。我有效地将其用作单用户系统,并且我sudo
经常打字 - 所以你提到的所有事情都适用。此外,如果攻击者试图窃取我的个人信息,如信用卡号、税务文件等,这些信息都位于我的主目录中,该用户可以访问它。如果它是勒索软件并且想要加密我的个人文件 - 同样的事情。他们想安装一个后台进程以使我的计算机成为僵尸网络的一部分,这不需要任何特殊权限。
恶意软件进入管理员帐户的损害小于上述最终用户案例,因为管理员帐户中可能没有有价值的数据。但即便如此,攻击者可能会通过在网络中安装数据包嗅探器或通过打开允许攻击者从网络内部进行渗透测试的端口来造成一些损害。在这里,您将依靠您的防火墙配置来保护您免受其中一些影响,并希望通知您可疑活动,以便您可以清理它。
如果管理员sudo
定期输入,那么是的,您可能遇到了麻烦。
想象一下有问题的用途是tomcat
- 一个运行 Web 服务器应用程序的特权非常低的用户。这是人们在谈论“最小权限原则”时通常会想到的情况,而将恶意软件进入该帐户将是我提到的三种情况中最不危险的。
还要考虑到linux 存在特权升级漏洞,它允许低特权用户绕过操作系统安全性并将自己变成 root。一般来说,保持最新的安全补丁可以保护您免受这种情况的影响,但是足够富有以在黑市上购买漏洞利用的行为者会知道不公开且尚未修补的零日漏洞利用。
这是安全剧院的可怕案例
安全剧院是一种看起来可以提高安全性的实践或信念,但实际上对它几乎/没有伤害。
这种错误的信念一直存在,只要下面的谣言
Linux没有病毒,因为它的权限系统
这几乎和说的一样好
我的电脑上没有病毒,因为我没有看到任何闪烁的东西
仅仅因为你没有看到它,并不意味着它是真的。闭上眼睛并不能保护您免受入侵者的伤害。
实际上,Linux、Mac OS、Windows、Android、Xbox,所有东西都有漏洞,可以升级到系统级别的控制。
然而,仅仅因为攻击没有升级到系统级别并不意味着它不是非常危险的。这些仅具有用户级访问权限的应用程序仍然可以窃取您的信息,记录您的一举一动,并保留您的数据以勒索!所有这些都不会被升级,因为这是它作为您的用户可以访问的数据。
无论设备如何,这些事实都适用于任何操作系统。如果你可以访问内存,它就可以访问内存。这意味着即使您看不到它,它仍然可以访问它。
因为您是普通用户,这意味着攻击尚未处于根级别权限,这意味着它拥有的访问权限仅限于用户访问,并有助于保护系统上的其他用户。当然,这并不意味着升级不会发生,只是意味着升级难度更大。
系统本身不受非 root 等效帐户的影响,但这在您关心的大部分是您自己的数据的桌面上并没有多大帮助,并且您定期进行身份验证以从您的帐户成为 root。
如果某人在正确配置的多用户系统上拥有帐户,并且他们没有sudo
特权或 root 密码,那么除非特权软件中存在任何错误,否则用户无法做任何事情来控制机器。可能已安装恶意软件的用户帐户应被系统的其余部分视为潜在的攻击者。
在我的桌面上,我添加了一个我可以访问的非特权帐户sudo
,但它不能sudo
成为 root。我有时会在该帐户下运行我有点信任但不完全信任的软件,尤其是。如果它使用网络。
理论上,由于我授予该帐户访问我的 X 服务器的权限,它可以通过剪贴板/击键模拟攻击来提升其权限。它与我的常规帐户在同一个 Unix 组中,我确信我还没有完全删除一些重要文件的组写入权限,但我确实删除了chmod 0644 ~/.bash{rc,_profile}
一些其他重要文件。所以这是一些恶意软件可能没有预料到的额外障碍。