中文

远程内存去重攻击

密码学与安全 2021-11-17 v1

摘要

通过将相同的内存块合并为写时复制映射,可以降低内存使用率。先前的研究表明,这种所谓的内存去重可在本地攻击中被利用来突破ASLR、窥探其他程序以及确定数据的存在(即网站图像)。所有这些攻击都利用了跨安全域的内存去重,而后者已被禁用。然而,在单一安全域内或无不可信本地访问的隔离系统上,内存去重仍不被视为安全风险,并且最近在Windows上被默认重新启用。在本文中,我们提出了首个完全远程的内存去重攻击。与先前的攻击不同,我们的攻击无需本地代码执行。因此,我们仅通过发送并计时HTTP/1和HTTP/2网络请求,即可从远程服务器泄露内存内容。我们在Windows和Linux上演示了针对去重的攻击,并攻击了Memcached和InnoDB等广泛使用的服务器软件。我们的侧信道通过互联网以高达34.41 B/h的速率泄露信息,比可类比的远程内存泄露信道更快。我们在三个案例研究中展示了远程内存去重攻击:首先,我们展示攻击者可以泄露运行Memcached的服务器上内存中数据的存在。我们表明该信息泄露信道也可用于指纹识别,并在166.51 s内通过互联网检测出正确的libc版本。其次,结合InnoDB,我们提出了一种泄露MariaDB数据库记录的信息泄露攻击。第三,我们展示了在不到4分钟内完全远程突破KASLR,从而通过互联网(即14个网络跳数之外)对虚拟机的内核映像去随机化。我们得出结论,即使仅在单一安全域内应用,内存去重也必须被视为安全风险。

关键词

引用

@article{arxiv.2111.08553,
  title  = {Remote Memory-Deduplication Attacks},
  author = {Martin Schwarzl and Erik Kraft and Moritz Lipp and Daniel Gruss},
  journal= {arXiv preprint arXiv:2111.08553},
  year   = {2021}
}