我是(Ubuntu)Linux 用户。有时,我必须使用 Wine 来运行 Windows 可执行文件。
我想知道 Windows 恶意软件(病毒、木马、蠕虫……),即在 Linux 上使用 Wine 执行时无意造成伤害的恶意软件,是否会对我的 Linux 系统造成伤害。我使用标准的 Wine 安装。Wine 永远不会以超级用户身份执行。
我猜它可以从我的文件夹中读取/写入/删除文件,并连接到 Internet。
我认为,但我不太确定,它不能安装软件。它会安装有害的(Firefox)插件吗?
我是(Ubuntu)Linux 用户。有时,我必须使用 Wine 来运行 Windows 可执行文件。
我想知道 Windows 恶意软件(病毒、木马、蠕虫……),即在 Linux 上使用 Wine 执行时无意造成伤害的恶意软件,是否会对我的 Linux 系统造成伤害。我使用标准的 Wine 安装。Wine 永远不会以超级用户身份执行。
我猜它可以从我的文件夹中读取/写入/删除文件,并连接到 Internet。
我认为,但我不太确定,它不能安装软件。它会安装有害的(Firefox)插件吗?
您访问文件系统和互联网是正确的,特别是因为默认情况下主文件夹映射为写入权限。这意味着它也可能会弄乱您的文档,例如将宏添加到 Open Office 文档、删除您的 mp3 文件或将有趣的文件发送给 Internet 上的某人。
是的,它可以写入您的 Firefox 配置文件并安装一个插件。
连接到互联网意味着它可以从 C&C 服务器获取命令,将您的计算机变成无人机。
我猜一些男性软件将无法在标准 Windows 文件夹之外找到这些位置。但其他人只会扫描所有驱动器以寻找有趣的地方。
理论上,是的。
首先,介绍一下 Wine 的背景。Wine为运行 Windows 可执行文件提供了一个可执行加载程序。还可选地安装或使用了此处描述的 binfmt 处理程序,这是 linux 内核如何推断要执行的加载程序 - 例如,内核中内置的某处是用于 Linux 的 ELF 文件的 binfmt 处理程序。然后,Wine 运行时将来自这些可执行文件的函数调用转换为它们等效的 Linux 系统调用。Wine FAQ 处理了wine 作为模拟器的问题。
那么,回到你的问题——Windows 恶意软件会感染 Linux 机器吗?我理论上说是的 - 以下是您面临的各种威胁:
这里有一个关键的附带条件——意识到或计划感染 Wine。如果编写恶意软件时期望它可以在 Wine 上运行,那么它可以开始使用 Wine 特定的漏洞利用,可能检测到 Z: 映射到 / 并执行适当的操作。我上面列表中的前面几点是最不可能的,但如果它们发生,也是最具破坏性的。
然而,大多数恶意软件不是为 Wine 编写的。您几乎可以将 Wine 视为一个单独的构建目标,因为它实现 Windows API 的方式与 Windows 实现 API 的方式不同。大多数恶意软件都直接针对 Windows,所以我预计损坏只会发生在“Windows”安装上。事实上,有些恶意软件可能无法运行,Wine 开发人员假设严格使用 API 函数,而 Windows 允许不同的东西。
因此,长话短说,Wine 允许您执行任意 Windows 程序,从而大大增加了您的攻击面。适用于 Wine 的一般规则与适用于任何软件的一般规则相同:
自从我完成 C 结构化异常(MS 特定但在 Wine 上模拟)以来已经有很长时间了,但语法接近于此。即使 Z 没有被映射,使用它的人也会有很多乐趣。
bool isLinux = 0;
__try {
asm {
mov AL, 172
int 80h
}
isLinux = 1;
} __except {}
if (isLinux)
asm {
/* Linux shellcode here */
}