受损的内核是否可以完全控制设备?

信息安全 linux 安卓 移动的 病毒 核心
2021-08-23 03:43:14

WiFi固件中最近的一个漏洞似乎允许攻击者在内核空间中运行代码,例如用恶意代码替换内核函数。在 Android/Linux 中:

  • 这会让攻击者完全控制电话吗?例如,他们可以安装键盘记录器或其他恶意软件吗?
  • 它会允许受感染的设备以相同的方式对其他设备执行 OTA 攻击(成为蠕虫)吗?
  • 其他安全功能(例如 SELinux、dm-verity 等)是否缓解了这些担忧?

基本上,我想知道这个 OTA 漏洞对于未打补丁的手机有多重要

2个回答

在“内核空间”中运行代码意味着在环 0空间中运行它。换句话说,它是“完全控制”的严格定义。

唯一的例外是您正在运行管理程序。在这种情况下,在虚拟化操作系统的 ring 0 中运行代码“只会”让您完全控制虚拟化设备,而不是运行它的 hypervisor(据说在 ring -1 中运行)。你需要一个单独的逃逸漏洞来达到这个目的。

这会让攻击者完全控制电话吗?例如,他们可以安装键盘记录器或其他恶意软件吗?

这个有可能。由于任何权限检查(即文件访问、键盘访问...)都是在内核内部完成的,因此在内核内部运行的代码可以直接调用所需的操作而无需执行这些检查。

它会允许受感染的设备以相同的方式对其他设备执行 OTA 攻击(成为蠕虫)吗?

某些操作可能需要内核访问,例如创建可用于危害不同设备的受控网络数据包的能力。但这并不意味着您总是需要内核访问来进行此类攻击,即 root 访问通常就足够了,有时甚至普通用户进程也可以做到这一点,具体取决于确切的攻击。

其他安全功能(例如 SELinux、dm-verity 等)是否缓解了这些担忧?

一旦攻击者获得内核访问权限,这些技术就无济于事了。但它们可能会帮助攻击者无法获得内核访问权限。但它们是否有帮助取决于确切的攻击向量。例如,如果 Broadcom 网络驱动程序中最近的漏洞可能由特定的网络数据包触发,它们就没有帮助。