中文

JIT-ROP 下量化(重)随机化安全性与时机的方法论

密码学与安全 2020-06-16 v3

摘要

即时面向返回编程(JIT-ROP)允许动态发现指令页并发起代码复用攻击,有效绕过大多数细粒度地址空间布局随机化(ASLR)保护。然而,关于代码(重)随机化对代码复用攻击影响的前沿问题尚未得到研究。例如,如何通过在考虑 gadget 收敛速度以击败 JIT-ROP 攻击的前提下有效计算重随机化间隔?;JIT-ROP 中的起始指针如何影响 gadget 可用性与 gadget 收敛时间?;细粒度代码随机化对 JIT-ROP 载荷的图灵完备表达能力有何影响?我们对细粒度代码随机化方案的有效性进行了全面测量研究,涉及 5 种工具、20 个应用程序(包括 6 个浏览器、1 个浏览器引擎和 25 个动态库)。我们提供了测量 JIT-ROP gadget 可用性、质量及其图灵完备表达力的方法论,以及使用图灵完备(TC)、优先级、MOV TC 和载荷 gadget 集合经验确定重随机化方案中重随机化间隔上界的方法论。实验表明,在我们测试的应用中,该上界范围为 1.5 至 3.5 秒。此外,我们的结果表明,JIT-ROP 攻击中使用的泄露指针的位置对 gadget 可用性无影响,但会影响攻击者发现 gadget 的速度。我们的结果还表明,在 JIT-ROP 威胁模型下,指令级单轮随机化可挫败当前的 gadget 发现技术。

关键词

引用

@article{arxiv.1910.03034,
  title  = {Methodologies for Quantifying (Re-)randomization Security and Timing under JIT-ROP},
  author = {Salman Ahmed and Ya Xiao and Gang Tan and Kevin Snow and Fabian Monrose and Danfeng and Yao},
  journal= {arXiv preprint arXiv:1910.03034},
  year   = {2020}
}

备注

18 pages, 10 figures