Skip to main content
QUICK REVIEW

[论文解读] SoftTRR: Protect Page Tables Against RowHammer Attacks using Software-only Target Row Refresh

Zhang Zhi, Yueqiang Cheng|arXiv (Cornell University)|Feb 20, 2021
Security and Verification in Computing参考文献 31被引用 13
一句话总结

SoftTRR 是一种纯软件防御机制,通过检测靠近页表行的可疑内存访问模式,并利用内核管理的内存跟踪触发针对性的行刷新,从而保护 x86 系统页表免受 Rowhammer 攻击。它仅使用现有的虚拟内存机制,即可有效缓解所有已知的内核权限提升攻击,性能和内存开销极低。

ABSTRACT

Rowhammer attacks that corrupt level-1 page tables to gain kernel privilege are the most detrimental to system security and hard to mitigate. However, recently proposed software-only mitigations are not effective against such kernel privilege escalation attacks. In this paper, we propose an effective and practical software-only defense, called SoftTRR, to protect page tables from all existing rowhammer attacks on x86. The key idea of SoftTRR is to refresh the rows occupied by page tables when a suspicious rowhammer activity is detected. SoftTRR is motivated by DRAM-chip-based target row refresh (ChipTRR) but eliminates its main security limitation (i.e., ChipTRR tracks a limited number of rows and thus can be bypassed by many-sided hammer). Specifically, SoftTRR protects an unlimited number of page tables by tracking memory accesses to the rows that are in close proximity to page-table rows and refreshing the page-table rows once the tracked access count exceeds a pre-defined threshold. We implement a prototype of SoftTRR as a loadable kernel module, and evaluate its security effectiveness, performance overhead, and memory consumption. The experimental results show that SoftTRR protects page tables from real-world rowhammer attacks and incurs small performance overhead as well as memory cost.

研究动机与目标

  • 解决由 Rowhammer 引起的一级页表损坏所带来的关键安全威胁,此类损坏可导致内核权限提升。
  • 设计一种无需内核修改、可在通用硬件上运行的纯软件防御机制,克服先前软件缓解方案的局限性。
  • 防御所有已知的基于 Rowhammer 的内核权限提升攻击,包括绕过现有软件防御(如 CATT、CTA 和 ZebRAM)的攻击。
  • 消除对硬件特定功能的依赖,同时保持高防护效果和低开销。
  • 确保在使用 DDR3 和 DDR4 内存的多样化 Linux 系统中,实现真实环境部署的兼容性和稳定性。

提出的方法

  • SoftTRR 利用内核的 MMU 和页表管理机制,通过在叶级页表条目中设置保留位(rsrv),跟踪邻近页表行的内存访问。
  • 监控这些邻近行的访问计数,当计数超过预设阈值时,触发对应页表行的刷新。
  • 仅在检测到邻近行存在可疑的锤击活动时才触发该机制,确保刷新操作具有针对性且高效。
  • 该设计利用现有的虚拟内存基础设施,通过将 SoftTRR 实现为可加载内核模块,避免了对内核本身的修改。
  • 系统支持对距离攻击行最多六行以内的页表行提供保护,解决了先前防御机制假设仅一行为距离的局限性。
  • 系统通过主动检查页表条目中的存在位(present bit),检测并响应表明 Rowhammer 攻击的访问模式。

实验结果

研究问题

  • RQ1纯软件防御能否有效保护 x86 上的所有已知基于 Rowhammer 的内核权限提升攻击?
  • RQ2软件防御如何克服硬件基于目标行刷新(如 ChipTRR)在多方向锤击下失效的局限性?
  • RQ3能否仅使用现有的虚拟内存机制,在不修改内核的前提下实现有效的 Rowhammer 缓解?
  • RQ4此类防御在真实工作负载中的性能和内存开销如何?
  • RQ5该防御能否扩展以保护更高级别的页表或其它敏感数据结构?

主要发现

  • SoftTRR 成功防御了所有测试的内核权限提升攻击,包括可绕过先前纯软件缓解方案的 PThammer 攻击。
  • 系统性能开销可忽略不计,在使用 Linux 测试项目(LTP)进行的压力测试中未观察到性能偏差。
  • 内存占用保持在较低水平,因为 SoftTRR 仅跟踪页表邻近有限行的访问计数。
  • 系统保持稳定,长时间基准测试和真实工作负载下未观察到崩溃或异常。
  • 作为可加载内核模块实现的原型,与使用 DDR3 和 DDR4 内存模块的通用 Linux 系统兼容。
  • SoftTRR 的设计具有可扩展性,可通过扩展跟踪和刷新逻辑,轻松适配保护更高级别的页表或其它敏感数据结构。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。