卢卡斯·戴维和艾哈迈德·雷扎·萨德吉,达姆施塔特科技大学的英特尔CRI-SC;丹尼尔·莱曼,达姆施塔特科技大学;费比安·蒙罗斯,北卡罗来纳大学教堂山分校
面向返回的编程(ROP)提供了一种强大的攻击技术,毫不奇怪,它被广泛用于利用现代软件程序(例如,web浏览器和PDF阅读器)中的漏洞。ROP攻击不需要代码注入,并且已经证明其强大到足以绕过细粒度内存随机化(ASLR)防御。为了应对这种巧妙的攻击策略,出现了一些实施(粗粒度)控制流完整性(CFI)的建议。这些工作提出的关键论点是粗粒度CFI策略足以防止ROP攻击。随着这一推理的深入,这些提案中提出的想法甚至被纳入广泛采用的工具(例如,微软的EMET框架)中的粗粒度CFI防御。
在本文中,我们对各种CFI解决方案(包括kBouncer、ROPecker、COTS二进制文件的CFI、ROPGuard和Microsoft EMET 4.1)进行了第一次全面的安全分析。一个关键贡献是证明了这些技术可以被有效地破坏,即使在较弱的对抗性假设下也是如此。更具体地说,我们表明,即使使用最严格的强制策略,在最低限度的假设下,仍然可以发起图灵完备和真实世界的ROP攻击。为此,我们引入了几种新的ROP攻击原语,并通过将现有的真实世界漏洞利用转化为绕过粗粒度CFI防御的更隐蔽的攻击,展示了我们方法的实用性。
USENIX致力于开放访问我们活动上展示的研究。活动开始后,所有人都可以免费获得论文和会议记录。活动结束后发布的任何视频、音频和/或幻灯片也免费向所有人开放。支持USENIX以及我们对开放存取的承诺。
下载音频