This paper provides a survey of methods and tools for automated code-reuse exploit generation. Such exploits use code that is already contained in a vulnerable program. The code-reuse approach allows one to exploit vulnerabilities in the presence of operating system protection that prohibits data memory execution. This paper contains a description of various code-reuse methods: return-to-libc attack, return-oriented programming, jump-oriented programming, and others. We define fundamental terms: gadget, gadget frame, gadget catalog. Moreover, we show that, in fact, a gadget is an instruction, and a set of gadgets defines a virtual machine. We can reduce an exploit creation problem to code generation for this virtual machine. Each particular executable file defines a virtual machine instruction set. We provide a survey of methods for gadgets searching and determining their semantics (creating a gadget catalog). These methods allow one to get the virtual machine instruction set. If a set of gadgets is Turing-complete, then a compiler can use a gadget catalog as a target architecture. However, some instructions can be absent. Hence we discuss several approaches to replace missing instructions with multiple gadgets. An exploit generation tool can chain gadgets by pattern searching (regular expressions) or considering gadgets semantics. Furthermore, some chaining methods use genetic algorithms, while others use SMT-solvers. We compare existing open-source tools and propose a testing system rop-benchmark that can be used to verify whether a generated chain successfully opens a shell.


翻译:本文对自动代码复制开发生成的方法和工具进行了调查。 此类开发使用使用的代码已经包含在一个脆弱的程序中。 代码复制方法允许人们在禁止执行数据存储的操作系统保护存在的情况下利用脆弱性。 本文描述各种代码复制方法: 返回到libc 攻击、 返回方向编程、 跳动方向编程等。 我们定义了基本术语 : 工具、 工具框架、 工具库等。 此外, 我们显示, 事实上, 一个工具是一个指令, 以及一组工具可以定义一个虚拟机器。 我们可以减少一个利用创建问题到这个虚拟机器的代码生成。 每个特定的可执行文件都定义了一个虚拟机器指令集 。 我们提供一种用于查找和决定其语义的方法调查( 创建一个工具图案目录 ) 。 这些方法可以让一个获得虚拟机器指令集。 如果一个工具组可以打开, 则一个编译者可以使用一个小工具库来定义一个虚拟工具库, 并且可以使用一个工具库来定义一个虚拟机器的游戏。 将一个小类目录作为这个虚拟机器的创建工具库作为目标机器的生成结构。 但是,, 某些可以使用一些可以使用常规的序列测试工具可以使用一个工具来取代一个工具 。 。 使用一个工具可以使用一个工具可以使用一个工具来复制工具来复制工具来复制一个工具 。 。 。 使用一个工具可以使用一个工具可以使用一个工具来复制一个工具来复制一个工具来复制一个工具来复制一个工具 。 。 。 使用一个工具来复制一个工具 使用一个工具 使用一个工具 使用一个工具 使用一个工具 使用一个工具 使用一个工具 。 使用一个工具 使用一个工具来复制一个工具 使用一个工具 使用一个工具 使用一个工具 使用一个工具 使用一个工具 使用一个工具 使用一个工具 使用一个工具 使用一个工具 。 使用一个工具 。

0
下载
关闭预览

相关内容

Automator是苹果公司为他们的Mac OS X系统开发的一款软件。 只要通过点击拖拽鼠标等操作就可以将一系列动作组合成一个工作流,从而帮助你自动的(可重复的)完成一些复杂的工作。Automator还能横跨很多不同种类的程序,包括:查找器、Safari网络浏览器、iCal、地址簿或者其他的一些程序。它还能和一些第三方的程序一起工作,如微软的Office、Adobe公司的Photoshop或者Pixelmator等。
【EMNLP2020】自然语言生成,Neural Language Generation
专知会员服务
38+阅读 · 2020年11月20日
零样本文本分类,Zero-Shot Learning for Text Classification
专知会员服务
95+阅读 · 2020年5月31日
专知会员服务
60+阅读 · 2020年3月19日
100+篇《自监督学习(Self-Supervised Learning)》论文最新合集
专知会员服务
163+阅读 · 2020年3月18日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
Hierarchically Structured Meta-learning
CreateAMind
24+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
Deep Compression/Acceleration:模型压缩加速论文汇总
极市平台
14+阅读 · 2019年5月15日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
IEEE | DSC 2019诚邀稿件 (EI检索)
Call4Papers
10+阅读 · 2019年2月25日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年9月21日
A Survey on Automated Fact-Checking
Arxiv
8+阅读 · 2021年8月26日
Arxiv
25+阅读 · 2021年3月20日
One-Shot Federated Learning
Arxiv
9+阅读 · 2019年3月5日
VIP会员
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
24+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
Deep Compression/Acceleration:模型压缩加速论文汇总
极市平台
14+阅读 · 2019年5月15日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
IEEE | DSC 2019诚邀稿件 (EI检索)
Call4Papers
10+阅读 · 2019年2月25日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员