对此我感到很好奇,因为我记得曾经读到过,第三方 Android AV 应用程序是无用的,因为操作系统缺少针对它们的 API 挂钩(而 Windows 有)。OS X 也是这样吗?
答案1
值得注意的是,AV 软件的“钩子”实际上只是病毒通常用来感染系统的攻击媒介。Android(和 iOS)缺乏这些钩子实际上是一件好事。对移动设备进行 root(或越狱)实际上允许应用程序绕过不需要 root 访问权限的普通应用程序所存在的沙盒。
您的问题的答案是肯定的,OS X 具有这些“钩子”,因为它是一个功能齐全的桌面操作系统。OS X 会尽可能地尝试对应用程序进行沙盒处理,但有一些机制可以安装内核扩展等,这些机制是支持某些应用程序所必需的。因此,Mac 的防病毒软件也使用这些机制来保护您的系统免受可能试图将其用作攻击媒介的恶意软件的侵害。
答案2
在 OS X 上,通过系统管理员访问权限,您可以安装内核扩展(kext;例如,设备驱动程序通常就是 kext),它们作为内核的一部分加载和运行,具有内核的所有权限(即一切)。所以是的,在 OS X 上,反恶意软件或其他安全软件基本上没有什么不能做的。
某些应用的智能手机操作系统有所不同。应用商店应用通常需要在沙盒(隔离、受保护、受限制)环境中运行,这样它们就无法干扰自身沙盒之外的任何东西。在某些智能手机操作系统上,侧载应用可能没有相同的限制。或者,如果您“越狱”操作系统以消除限制,则可以运行几乎没有限制的应用。沙盒反恶意软件或其他安全软件需要特殊的 API(“钩子”),以允许它们在沙盒之外执行操作,例如在文件系统中任何位置的任何文件发生更改时接收通知,以便重新扫描病毒。
在 OS X 上,Mac 应用商店应用程序处于沙盒状态,无法安装 kext,也不需要管理员或 root 权限。因此,反恶意软件或其他安全软件可能会通过 Mac App Store 销售可能不具备 Mac App Store 以外销售的类似 Mac 软件的功能。