ROP图灵完备的普遍可实现性
本文选题:软件漏洞利用 + 返回导向编程 ; 参考:《软件学报》2017年10期
【摘要】:返回导向编程(return-oriented programming,简称ROP)被广泛用于软件漏洞利用攻击中,用来构造攻击代码.通过更新ROP构造技术,证实了图灵完备的纯ROP攻击代码在软件模块中是普遍可实现的.ROP构造功能代码的难点是实现条件转移逻辑.通过深入分析条件转移机器指令的执行上下文发现,对这些指令的传统认知存在一定的局限性.事实上,在已有代码中存在少量的条件转移指令,它们的两个分支的开始部分都是可复用的代码片段(称为gadgets),而且这两个gadgets会从不同的内存单元中取得下一个gadget的地址,因此,以这些条件转移指令开始的代码片段可以帮助ROP实现条件转移逻辑.把这种代码片段称为if-gadget.在Linux和Windows系统上的实验结果表明,if-gadget普遍存在,即使在代码量很小的日常可执行程序中也存在.在Binutils程序集上的实验结果表明,引入if-gadget后,构造图灵完备的ROP代码要比用传统方法容易得多.在Ubuntu这样的主流操作系统上,由于可执行程序上默认没有实施防御ROP攻击的保护机制,因此,攻击者可以在这些软件模块中构造纯ROP攻击代码来发动攻击.由此可见,ROP对系统安全的威胁比原来认为的严重得多.
[Abstract]:Return-oriented programming (ROP) is widely used to exploit software vulnerabilities and construct attack code. By updating the ROP construction technology, it is proved that Turing's complete pure ROP attack code is generally realizable in the software module. The difficulty of constructing the functional code of .ROP is to implement conditional transfer logic. Through in-depth analysis of the execution context of conditional transfer machine instructions, it is found that the traditional cognition of these instructions is limited. In fact, there are a small number of conditional transfer instructions in existing code, where both branches start with reusable snippets of code called gadgets, and the gadgets takes the address of the next gadget from a different memory unit, so, Code snippets starting with these conditional transfer instructions can help ROP implement conditional transfer logic. This code snippet is called if-gadget. Experimental results on Linux and Windows systems show that if-gadget is ubiquitous, even in daily executable programs with a small amount of code. The experimental results on Binutils assemblies show that it is much easier to construct Turing complete ROP code after the introduction of if-gadget. In mainstream operating systems such as Ubuntu, because there is no protection mechanism against ROP attacks by default on executable programs, attackers can construct pure ROP attack code in these software modules to launch attacks. This shows that ROP is a much more serious threat to system security than previously thought.
【作者单位】: 南京大学计算机科学与技术系;计算机软件新技术国家重点实验室(南京大学);
【基金】:国家自然科学基金(61772266,61572248,61431008,61321491) 国家科技支撑计划(2012BAK26B01)~~
【分类号】:TP309;TP311.5
【相似文献】
相关期刊论文 前7条
1 ;图灵社区[J];电脑编程技巧与维护;2014年07期
2 ;图灵社区[J];电脑编程技巧与维护;2014年10期
3 卢敏;;图灵和图灵奖[J];软件世界;2007年01期
4 王黔玲;驳西尔勒对图灵测验的诘难——兼论行为主义作为图灵测验理论基础的合理性[J];社会科学研究;2002年03期
5 克劳斯·安博司比斯;王玮;;每一个非零的可计算可枚举强有界图灵度都具有反成杯性质(英文)[J];逻辑学研究;2012年03期
6 刘兴武,徐志伟,孙毓忠;关于交互和图灵可计算性的一些注记[J];科学通报;2004年22期
7 赵奂辉;;三驾数学马车把电脑带上了路[J];大科技;2001年09期
相关会议论文 前1条
1 李雅瑞;;关于多项式时间谱系中语言的多项式图灵完全性[A];2005年全国理论计算机科学学术年会论文集[C];2005年
相关重要报纸文章 前1条
1 记者 张巍巍;著名解码机“图灵甜点”仿制成功[N];科技日报;2009年
相关硕士学位论文 前5条
1 王勇;加杯图灵度的一个层谱[D];中国科学院研究生院(软件研究所);2003年
2 赵宜成;加杯图灵度的代数结构[D];中国科学院研究生院(软件研究所);2003年
3 黄韬;一种绕过平行影子栈的ROP攻击方法的设计与实现[D];南京大学;2016年
4 唐维华;基于寄存器上下文干扰的ROP攻击防御技术[D];南京大学;2016年
5 丁文彪;基于ROP技术的攻击自动化构造与程序混淆研究[D];南京大学;2015年
,本文编号:1969793
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/1969793.html