JIT-ROP攻击


Just-In-Time ROP

参考:https://www.sohu.com/a/154764211_354899

主要是为了绕过非常细粒度的内存地址随机化。(可能类似于内核中FGKASLR,很多模块都存在随即偏移);为了绕过这种攻击,通常要在运行时利用任意地址读漏洞扫描可执行内存,寻找gadget;

XoM

其核心思想是不给可执行内存赋予读权限;

XnR

利用软件仿真技术,设置PTE,读可执行页会触发PF,然后handler检查是否指向一个code page;

缺陷:一些数据和代码共存的页无法解决;

Readactor

利用硬件辅助的虚拟化技术,Intel的扩展页表,去掉所有code page的可读权限;

HideM

将ITLB和DTLB异步。

首先回忆一下TLB:https://zhuanlan.zhihu.com/p/582644685

Destructive Code Reads

code-page标记为只可执行,然后搞一个副本;

每次读code-page中的数据时,从副本读,而将原本中对应的数据用随机数覆盖,保证攻击者搜到的code不会被执行;

无法抵御代码推测攻击:

参考

https://www.sohu.com/a/154764211_354899

https://zhuanlan.zhihu.com/p/582644685


文章作者: q1ming
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 q1ming !
  目录