今天我的 SSD 上同时安装了 Windows 和 Ubuntu。
如果我在运行 Ubuntu 时由于某种原因感染了恶意软件/病毒(针对 Windows),可能下载了我不应该下载的东西,会发生什么?
恶意软件/病毒会找到从 Ubuntu 分区进入 Windows 分区的方法,并最终对我的 Windows 文件进行处理吗?假设我在我的 Ubuntu 分区上下载了一些恶意软件(针对 Windows),可能会发生什么?
今天我的 SSD 上同时安装了 Windows 和 Ubuntu。
如果我在运行 Ubuntu 时由于某种原因感染了恶意软件/病毒(针对 Windows),可能下载了我不应该下载的东西,会发生什么?
恶意软件/病毒会找到从 Ubuntu 分区进入 Windows 分区的方法,并最终对我的 Windows 文件进行处理吗?假设我在我的 Ubuntu 分区上下载了一些恶意软件(针对 Windows),可能会发生什么?
如果你有两种病毒在起作用,一种用有效载荷感染 Linux 来感染 Windows,那么它在概念上可能会发生。但是,原生 Windows 病毒根本无法在 Linux 中运行。什么都不会发生的原因与称为“应用程序二进制接口”或简称“ABI”的东西有关。
在 Windows 中,大多数系统调用是通过“INT 20h”执行的,而在 Linux 中,系统调用是通过“INT 80h”执行的。这意味着尝试通过 20h 调用系统的基于 Windows 的病毒将简单地终止而不会造成任何损害,因为INT 20h是“与 DOS 兼容的终止程序”命令。
实际上,大多数病毒编写者都会走阻力最小的路径:编写Linux病毒感染当前运行的Linux系统,编写Windows病毒感染当前运行的Windows系统。仅仅编写一个唯一目的是感染离线操作系统的病毒就需要大量的额外工作。
据我所知,简单地编写一个在操作系统“下方”运行的虚拟机管理程序病毒会容易得多,因为 ABI 将没有任何意义,因为它们可以直接访问硬件和内存。
另一方面,如果您故意下载病毒,例如,您试图从有问题的资源中获取游戏副本,并且您在 Linux 中执行此操作,但将文件下载到您的 Windows 分区,然后您运行Windows 中的程序,那么您确实可能在那时被感染。然而,主要的一点是 Linux 不受 Windows 病毒的影响,而 Windows 也不受 Linux 病毒的影响。他们根本不会说同一种语言。
在许多 Ubuntu 双引导设置中,可以以具有写入 Windows 分区能力的非特权用户身份运行代码。因为,如果您可以使用文件管理器执行此操作而不会被要求输入系统密码,那么恶意软件也可以使用相同类型的帮助程序安装 Windows 分区。如果恶意软件将文件设置到 Windows 用户的 Autostart 文件夹中,它会在下次 Windows 启动时执行。或者它可以简单地读取 Windows 文件并将它们发送给攻击者。
如果这种方式不可行,恶意软件可能会尝试使用权限提升错误来获取 root 甚至内核权限。从那里它可以挂载并写入 Windows 分区,甚至设置 BIOS/UEFI 恶意软件。
有时甚至不需要提权,因为您正在以 root 身份进行一些看似无辜的软件安装,例如尝试安装一些 python 包并打错字。
当然,最初的恶意软件在设计时必须考虑到这种双引导设置。您遇到在 Ubuntu 中运行的恶意软件的可能性很低(除了针对 Web 服务器的恶意软件),它旨在感染双引导设置中的 Windows 分区的可能性甚至更低。但这是可能的,甚至可能不难实施。尤其是如果您是一个有趣的目标并且攻击者知道您的设置,那么他可能会尝试这种攻击路径。
保护您免受这种情况的一种方法是加密您的 Windows 分区,以便无法从 Windows 操作系统外部访问文件。但是,这并不能防止对 BIOS/UEFI 级别的攻击。
是的,当您使用 Linux 时,恶意软件可能会感染 Windows 分区 - 来源:它发生在我身上。
这是很多年前我开始使用 Linux 的时候。dualboot 系统目前在 Linux 下运行,我想使用 Samba 在两台计算机之间交换文件。由于它存在一些问题,我一一删除了 Samba 中的所有安全保护和限制,直到它最终起作用(或者它甚至没有起作用,我不记得了)。
一段时间后重新启动到 Windows 时,个人防火墙向我发出了几个警报,询问是否允许 xyz 和 foo 程序连接到互联网。那些原来是位于 c:\windows\system 等中的恶意软件可执行文件。
原来我在 Linux 下摆弄 Samba,我实际上已经共享了整个 Windows C:\ 驱动器,具有写权限,没有任何身份验证或地址限制;而且显然我没有在 Linux 中激活任何防火墙(或者我也禁用了它)。由于那是在 SOHO 路由器普及之前的日子,计算机通过 DSL 调制解调器直接连接到互联网。因此,一些恶意软件找到了我的可写 Samba 共享(可能是通过对 IP 范围的暴力扫描),将自身复制到 Windows 系统目录中,并将必要的条目添加到它在那里找到的自动启动文件中。自然地,感染在 Linux 运行时一直处于休眠状态,但在我下次启动 Windows 时变得活跃。
理所当然,这对我来说是一大堆f *** up;但它表明,如果你在 Linux 下足够粗心,你甚至可能感染你的 Windows 系统。
如果已挂载 Windows 分区,则任何有权写入该挂载的用户都可以随意更改任何文件,而不会在 Windows 启动时强制执行正常的限制或权限。这可能允许恶意用户替换关键系统文件以感染 Windows。
话虽如此,我认为没有任何已知的恶意软件可以做到这一点。它需要专门针对这种情况,并且需要以特定权限安装 Windows 分区。