From 508cd39c7bd8c23033e18150c497d1bca31c80ac Mon Sep 17 00:00:00 2001 From: firmianay Date: Mon, 11 Jun 2018 14:56:56 +0800 Subject: [PATCH] finish 8.25 --- SUMMARY.md | 12 +- doc/1.5.11_jemalloc.md | 24 ++- doc/6.1.34_pwn_n1ctf2018_memsafety.md | 19 ++ doc/6_writeup.md | 1 + doc/8.25_angr.md | 169 ++++++++++++++++++ doc/8.25_offsensive_techniques.md | 1 - ....26_driller_fuzzing.md => 8.26_driller.md} | 0 doc/8.31_wysinwyx.md | 1 + doc/8.32_mayhem.md | 1 + doc/8.33_ucklee.md | 1 + doc/8.34_veritesting.md | 1 + doc/8.35_q.md | 1 + ...c_taint_analysis.md => 8.8_dta_and_fse.md} | 0 doc/8_academic.md | 11 +- pic/8.25_evaluation.png | Bin 0 -> 46818 bytes pic/8.25_example.png | Bin 0 -> 69536 bytes 16 files changed, 231 insertions(+), 11 deletions(-) create mode 100644 doc/6.1.34_pwn_n1ctf2018_memsafety.md create mode 100644 doc/8.25_angr.md delete mode 100644 doc/8.25_offsensive_techniques.md rename doc/{8.26_driller_fuzzing.md => 8.26_driller.md} (100%) create mode 100644 doc/8.31_wysinwyx.md create mode 100644 doc/8.32_mayhem.md create mode 100644 doc/8.33_ucklee.md create mode 100644 doc/8.34_veritesting.md create mode 100644 doc/8.35_q.md rename doc/{8.8_dynamic_taint_analysis.md => 8.8_dta_and_fse.md} (100%) create mode 100644 pic/8.25_evaluation.png create mode 100644 pic/8.25_example.png diff --git a/SUMMARY.md b/SUMMARY.md index af7d1c5..b10f8bc 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -168,6 +168,7 @@ GitHub 地址:https://github.com/firmianay/CTF-All-In-One * [6.1.31 pwn HITBCTF2018 mutepig](doc/6.1.31_pwn_hitbctf2018_mutepig.md) * [6.1.32 pwn SECCONCTF2017 vm_no_fun](doc/6.1.32_pwn_secconctf2017_vm_no_fun.md) * [6.1.33 pwn 34C3CTF2017 LFA](doc/6.1.33_pwn_34c3ctf2017_lfa.md) + * [6.2.34 pwn N1CTF2018 memsafety](doc/6.1.34_pwn_n1ctf2018_memsafety.md) * Reverse * [6.2.1 re XHPCTF2017 dont_panic](doc/6.2.1_re_xhpctf2017_dont_panic.md) * [6.2.2 re ECTF2016 tayy](doc/6.2.2_re_ectf2016_tayy.md) @@ -202,7 +203,7 @@ GitHub 地址:https://github.com/firmianay/CTF-All-In-One * [8.5 Data-Oriented Programming: On the Expressiveness of Non-Control Data Attacks](doc/8.5_dop.md) * [8.6 Hacking Blind](doc/8.6_brop.md) * [8.7 What Cannot Be Read, Cannot Be Leveraged? Revisiting Assumptions of JIT-ROP Defenses](doc/8.7_jit-rop_defenses.md) - * [8.8 All You Ever Wanted to Know About Dynamic Taint Analysis and Forward Symbolic Execution (but might have been afraid to ask)](doc/8.8_dynamic_taint_analysis.md) + * [8.8 All You Ever Wanted to Know About Dynamic Taint Analysis and Forward Symbolic Execution (but might have been afraid to ask)](doc/8.8_dta_and_fse.md) * [8.9 Symbolic Execution for Software Testing: Three Decades Later](doc/8.9_symbolic_execution.md) * [8.10 AEG: Automatic Exploit Generation](doc/8.10_aeg.md) * [8.11 Address Space Layout Permutation (ASLP): Towards Fine-Grained Randomization of Commodity Software](doc/8.11_aslp.md) @@ -219,12 +220,17 @@ GitHub 地址:https://github.com/firmianay/CTF-All-In-One * [8.22 Practical Memory Checking With Dr. Memory](doc/8.22_memory_checking.md) * [8.23 Evaluating the Effectiveness of Current Anti-ROP Defenses](doc/8.23_current_anti-rop.md) * [8.24 How to Make ASLR Win the Clone Wars: Runtime Re-Randomization](doc/8.24_runtime_re-randomization.md) - * [8.25 (State of) The Art of War: Offensive Techniques in Binary Analysis](doc/8.25_offsensive_techniques.md) - * [8.26 Driller: Augmenting Fuzzing Through Selective Symbolic Execution](doc/8.26_driller_fuzzing.md) + * [8.25 (State of) The Art of War: Offensive Techniques in Binary Analysis](doc/8.25_angr.md) + * [8.26 Driller: Augmenting Fuzzing Through Selective Symbolic Execution](doc/8.26_driller.md) * [8.27 Firmalice - Automatic Detection of Authentication Bypass Vulnerabilities in Binary Firmware](doc/8.27_firmalice_bypass.md) * [8.28 Cross-Architecture Bug Search in Binary Executables](doc/8.28_cross_arch_bug_search.md) * [8.29 Dynamic Hooks: Hiding Control Flow Changes within Non-Control Data](doc/8.29_dynamic_hooks.md) * [8.30 Preventing brute force attacks against stack canary protection on networking servers](doc/8.30_prevent_brute_force_canary.md) + * [8.31 WYSINWYX What You See Is Not What You eXecute](doc/8.31_wysinwyx.md) + * [8.32 Unleashing MAYHEM on Binary Code](doc/8.32_mayhem.md) + * [8.33 Under-Constrained Symbolic Execution: Correctness Checking for Real Code](doc/8.33_ucklee.md) + * [8.34 Enhancing Symbolic Execution with Veritesting](doc/8.34_veritesting.md) + * [8.35 Q: Exploit Hardening Made Easy](doc/8.35_q.md) * [九、附录](doc/9_appendix.md) * [9.1 更多 Linux 工具](doc/9.1_Linuxtools.md) * [9.2 更多 Windows 工具](doc/9.2_wintools.md) diff --git a/doc/1.5.11_jemalloc.md b/doc/1.5.11_jemalloc.md index 6a871e6..bfabe7e 100644 --- a/doc/1.5.11_jemalloc.md +++ b/doc/1.5.11_jemalloc.md @@ -1,12 +1,15 @@ # 1.5.11 jemalloc -- [jemalloc](#jemalloc) +- [简介](#简介) - [编译安装](#编译安装) +- [jemalloc 详解](#jemalloc-详解) + - [数据结构](#数据结构) +- [利用技术](#利用技术) - [CTF 实例](#ctf-实例) - [参考资料](#参考资料) -## jemalloc +## 简介 jemalloc 是 Facebook 推出的一种通用 malloc 实现,在 FreeBSD、firefox 中被广泛使用。比起 ptmalloc2 具有更高的性能。 @@ -26,7 +29,7 @@ $ make -j4 && sudo make install ``` 当我们想要在编译程序时指定 jemalloc 时可以像下面这样: ``` -$ gcc test.c -L/usr/local/jemalloc/lib -Wl,--rpath=/usr/local/jemalloc/lib -ljemalloc +$ gcc -L/usr/local/jemalloc/lib -Wl,--rpath=/usr/local/jemalloc/lib -ljemalloc test.c $ ldd a.out linux-vdso.so.1 (0x00007fff69b62000) libjemalloc.so.2 => /usr/local/jemalloc/lib/libjemalloc.so.2 (0x00007f744483b000) @@ -41,9 +44,22 @@ $ ldd a.out 可以看到 `libjemalloc.so.2` 已经被链接到程序里了。 +## jemalloc 详解 +我们以 jemalloc-4.5.0 版本来讲解。 + +#### 数据结构 + + +## 利用技术 + ## CTF 实例 -查看章节 6.1.29。 +查看章节 6.1.29、6.1.34。 ## 参考资料 - http://jemalloc.net/ +- [Pseudomonarchia jemallocum](http://phrack.org/issues/68/10.html) +- [The Shadow over Android](https://census-labs.com/media/shadow-infiltrate-2017.pdf) +- https://github.com/CENSUS/shadow/ +- [Exploiting VLC - A case study on jemalloc heap overflows](http://phrack.org/issues/68/13.html) +- [Exploiting the jemalloc Memory Allocator: Owning Firefox's Heap](https://media.blackhat.com/bh-us-12/Briefings/Argyoudis/BH_US_12_Argyroudis_Exploiting_the_%20jemalloc_Memory_%20Allocator_WP.pdf) diff --git a/doc/6.1.34_pwn_n1ctf2018_memsafety.md b/doc/6.1.34_pwn_n1ctf2018_memsafety.md new file mode 100644 index 0000000..8949145 --- /dev/null +++ b/doc/6.1.34_pwn_n1ctf2018_memsafety.md @@ -0,0 +1,19 @@ +# 6.2.34 pwn N1CTF2018 memsafety + +- [题目复现](#题目复现) +- [题目解析](#题目解析) +- [漏洞利用](#漏洞利用) +- [参考资料](#参考资料) + + +[下载文件](../src/writeup/6.1.34_pwn_n1ctf2018_memsafety) + +## 题目复现 + +## 题目解析 + +## 漏洞利用 + +## 参考资料 +- https://ctftime.org/task/5494 +- https://github.com/Nu1LCTF/n1ctf-2018/tree/master/source/pwn/memsafety diff --git a/doc/6_writeup.md b/doc/6_writeup.md index 00c3242..7375a64 100644 --- a/doc/6_writeup.md +++ b/doc/6_writeup.md @@ -34,6 +34,7 @@ * [6.1.31 pwn HITBCTF2018 mutepig](6.1.31_pwn_hitbctf2018_mutepig.md) * [6.1.32 pwn SECCONCTF2017 vm_no_fun](6.1.32_pwn_secconctf2017_vm_no_fun.md) * [6.1.33 pwn 34C3CTF2017 LFA](6.1.33_pwn_34c3ctf2017_lfa.md) + * [6.2.34 pwn N1CTF2018 memsafety](6.1.34_pwn_n1ctf2018_memsafety.md) * Reverse * [6.2.1 re XHPCTF2017 dont_panic](6.2.1_re_xhpctf2017_dont_panic.md) * [6.2.2 re ECTF2016 tayy](6.2.2_re_ectf2016_tayy.md) diff --git a/doc/8.25_angr.md b/doc/8.25_angr.md new file mode 100644 index 0000000..d1252d0 --- /dev/null +++ b/doc/8.25_angr.md @@ -0,0 +1,169 @@ +# 8.25 (State of) The Art of War: Offensive Techniques in Binary Analysis + +## 简介 +这篇文章提出了一个二进制分析框架,并实现了许多现有的分析技术。通过将这些技术系统化地实现,可以让其他研究人员直接利用并开发新的技术。此外,在统一框架中实现这些技术可以更直接地进行比较,并确定各自的优缺点。 + + +## 自动化二进制分析 +为了保持程序分析的可行性,往往需要在可重现性和语义理解两个方面需要进行权衡: +- 可重现性:由于分析系统做出的权衡,特定的分析所发现的漏洞可能无法重现。这可能是分析操作的覆盖范围导致的,一些分析从头执行整个应用程序,因此可以推断出触发漏洞的原因,而其他一些分析只是分析了程序的某个部分,这样做可以在特定模块中发现漏洞,但无法完整地推断出触发漏洞的原因,于是无法重现。 +- 语义理解:一些分析缺乏对程序语义的理解。例如,动态分析能够追踪程序执行的代码,但不能理解为什么这些代码被执行或者程序输入的哪些部分导致了这样的执行。 + +为了得到可重现的输入或者语义理解的能力,就需要对分析技术进行权衡。例如,高可重现性往往和低覆盖率相关,因为要想生成可重现的输入必须知道如何到达任何想要分析的代码,那么它将不能分析尽可能多的代码。另一方面,如果不能通过重现来验证漏洞,那么会产生高误报率(即并不存在漏洞)。在缺乏可重现性的情况下,这些误报必须通过启发式的方法进行过滤,反过来又会引入高漏报率。同样的,为了实现语义理解,必须存储和处理大量的数据。例如,具有语义理解能力的动态分析必须保存下程序分支的条件,而具有语义理解能力的静态分析需要适时地调整数据域。但由于系统资源有限,在分析中必须做出取舍。 + +下面是一个例子,可以对不同分析技术的能力有个简单的认识: + +![](../pic/8.25_example.png) + +对于静态分析,它可能会将全部 3 个 memcpy 调用都标记为漏洞(即使 16 行的调用其实是安全的),因为静态分析没有足够的信息来确定漏洞是否真的会发生。另外,静态分析可以得到漏洞的地点,但不能得到触发漏洞的输入。对于动态分析(例如 fuzzing),它通过制造输入来触发漏洞,所以通常有很大可能会漏掉需要精确输入的漏洞,例如第 10 行的漏洞。动态符号执行能够检测出第 10 行的错误并通过约束求解得到输入,也能判断出第 16 行没有漏洞,但是它很可能会漏掉第 30 行,因为有多个潜在的路径不会触发该漏洞。另外,在符号执行进行到循环时,可能存在路径爆炸的问题。 + + +## 静态漏洞挖掘 +Static analyses can be split into two paradigms: those that model program properties as graphs and those that model the data itself. + +#### 控制流图恢复 +CFG recovery is implemented as a recursive algorithm that disassembles and analyzes a basic block, identifies its possible exits and adds them to the CFG, and then repeats the analysis recursively until no new exits are identified. + +CFG recovery has one fundamental challenge: indirect jumps. Specifically, indirect jumps fall into several categories: +- Computed. The target of a computed jump is determined by the application by carrying out a calculation specified by the code. This calculation could further rely on values in other registers or in memory. A common example of this is a jump table. +- Context-sensitive. An indirect jump might depend on the context of an application. The common example is qsort() in the standard C library. +- Object-sensitive. A special case of context sensitivity is object sensitivity. In object-oriented languages, object polymorphism requires the use of virtual functions, often implemented as virtual tables of function pointers that are consulted, at runtime, to determine jump targets. + +The goal of CFG recovery is to resolve the targets of as many of these indirect jumps as possible, in order to create a CFG. Depending on how well jump targets are resolved, the CFG recovery analysis has two properties: +- Soundness. A CFG recovery technique is sound if the set of all potential control flow transfers is represented in the graph generated. +- Completeness. A complete CFG recovery builds a CFG in which all edges represent actually possible control flow transfers. + +#### 值集分析 +At a high level, VSA attempts to identify a tight over-approximation of the program state at any given point in the program. This can be used to understand the possible targets of indirect jumps or the possible targets of memory write operations. + + +## 动态漏洞挖掘 +Dynamic techniques here are split into two main categories: concrete and symbolic execution. + +#### 动态具体执行 +The most relevant application of dynamic concrete execution to vulnerability discovery is fuzzing. +- Coverage-based fuzzing. Such fuzzers attempt to produce inputs that maximize the amount of code executed in the target application based on the insight that the more code is executed, the higher the chance of executing vulnerable code. + - Coverage-based fuzzing suffers from a lack of semantic insight into the target application. +- Taint-based fuzzing. Such fuzzers analyze how an application processes input to understand what parts of the input to modify in future runs. + - While a taint-based fuzzer can understand what parts of the input should be mutated to drive execution down a given path in the program, it is still unaware of how to mutate this input. + +#### 动态符号执行 +Dynamic symbolic execution executes a program in an emulated environment with an abstract domain of symbolic variables. They track the state of registers and memory throughout program execution and the constraints on those variables. Whenever a conditional branch is reached, execution forks and follows both paths, saving the branch condition as a constraint on the path in which the branch was taken and the inverse of the branch condition as a constraint on the path in which the branch was not taken. +- Classical dynamic symbolic execution. These engines analyze an application by performing path exploration until a vulnerable state is identified. +- Symbolic-assisted fuzzing. Such fuzzers modify inputs identified by the fuzzing component by processing them in a dynamic symbolic execution engine. Dynamic symbolic execution uses a more in-depth understanding of the analyzed program to properly mutate inputs, providing additional test cases that trigger previously-unexplored code and allow the fuzzing component to continue making progress. +- Under-constrained symbolic execution. These engines execute only parts of an application in order to increase the tractability of dynamic symbolic execution. + + +## angr 分析引擎 +#### 设计目标 +- Cross-architecture support +- Cross-platform support +- Support for different analysis paradigms +- Usability + +#### 子模块:Intermediate Representation +We leveraged `libVEX`, the IR lifter of the Valgrind project. libVEX produces an IR, called VEX, that is specifically designed for program analysis. We used PyVEX to expose the VEX IR to Python. + +#### 子模块:Binary Loading +The task of loading an application binary into the analysis system is handled by a module called `CLE`. CLE abstracts over different binary formats to handle loading a given binary and any libraries that it depends on, resolving dynamic symbols, performing relocations, and properly initializing the program state. + +#### 子模块:Program State Representation/Modification +The `SimuVEX` module is responsible for representing the program state. The state, named SimState in SimuVEX terms, is implemented as a collection of state plugins, which are controlled by state options specified by the user or analysis when the state is created. +- Registers. SimuVEX tracks the values of registers at any given point in the program as a state plugin of the corresponding program state. +- Symbolic memory. To enable symbolic execution, SimuVEX provides a symbolic memory model as a state plugin. +- Abstract memory. The abstract memory state plugin is used by static analyses to model memory. Unlike symbolic memory, which implements a continuous indexed memory model, the abstract memory provides a region-based memory model. +- POSIX. When analyzing binaries for POSIX-compliant environments, SimuVEX tracks the system state in this state plugins. +- Log. SimuVEX tracks a log of everything that is done to the state in this plugin. +- Inspection. SimuVEX provides a powerful debugging interface, allowing breakpoints to be set on complex conditions, including taint, exact expression makeup, and symbolic conditions. This interface can also be used to change the behavior of SimuVEX. +- Solver. The Solver is a plugin that exposes an interface to different data domains, through the data model provider. +- Architecture. The architecture plugin provides architecturespecific information that is useful to the analysis. The information in this plugin is sourced from the archinfo module, that is also distributed as part of angr. + +#### 子模块:Data Model +`Claripy` abstracts all values to an internal representation of an expression that tracks all operations in which it is used. These expressions are represented as “expression trees” with values being the leaf nodes and operations being non-leaf nodes. + +At any point, an expression can be translated into data domains provided by Claripy’s backends. User-facing operations, such as interpreting the constructs provided by the backends into Python primitives are provided by frontends. A frontend augments a backend with additional functionality of varying complexity. +- FullFrontend. This frontend exposes symbolic solving to the user, tracking constraints, using the Z3 backend to solve them, and caching the results. +- CompositeFrontend. Splitting constraints into independent sets reduces the load on the solver. The CompositeFrontend provides a transparent interface to this functionality. +- LightFrontend. This frontend does not support constraint tracking, and simply uses the VSA backend to interpret expressions in the VSA domain. +- ReplacementFrontend. The ReplacementFrontend expands the LightFrontend to add support for constraints on VSA values. +- HybridFrontend. The HybridFrontend combines the FullFrontend and the ReplacementFrontend to provide fast approximation support for symbolic constraint solving. + +#### 子模块:Full-Program Analysis +`Project` is the analyst-facing part of angr, which provides complete analyses, such as dynamic symbolic execution and controlflow graph recovery. +- Path Groups. A PathGroup is an interface to dynamic symbolic execution. +- Analyses. angr provides an abstraction for any full program analysis with the Analysis class. + + +## 实现:数据流图恢复 +- CFGAccurate. Given a specific program, angr performs an iterative CFG recovery, starting from the entry point of the program, with some necessary optimizations. angr leverages a combination of forced execution, backwards slicing, and symbolic execution to recover, where possible, all jump targets of each indirect jump. Moreover, it generates and stores a large quantity of data about the target application, which can be used later in other analyses such as data-dependence tracking. +- CFGFast. A secondary algorithm that uses a quick disassembly of the binary (without executing any basic block), followed by heuristics to identify functions, intra-function control flow, and direct inter-function control flow transitions. + +#### 假设 +angr’s CFGAccurate makes several assumptions about binaries to optimize the run time of the algorithm. +- All code in the program can be distributed into different functions. +- All functions are either called by an explicit call instruction, or are preceded by a tail jump in the control flow. +- The stack cleanup behavior of each function is predictable, regardless of where it is called from. This lets CFGAccurate safely skip functions that it has already analyzed while analyzing a caller function and keep the stack balanced. + +#### 迭代生成 CFG +Throughout CFG recovery, CFGAccurate maintains a list of indirect jumps, Lj, whose jump targets have not been resolved. When the analysis identifies such a jump, it is added to Lj. After each iterative technique terminates, CFGAccurate triggers the next one in the list. This next technique may resolve jumps in Lj, may add new unresolved jumps to Lj, and may add basic blocks and edges to the CFG C. CFGAccurate terminates when a run of all techniques results in no change to Lj or C, as that means that no further indirect jumps can be resolved with any available analysis. + +- Forced Execution. angr’s CFGAccurate leverages the concept of Dynamic Forced Execution for the first stage of CFG recovery. Forced Execution ensures that both directions of a conditional branch will be executed at every branch point. CFGAccurate maintains a work-list of basic blocks, Bw, and a list of analyzed blocks, Ba. When the analysis starts, it initializes its work-list with all the basic blocks that are in C but not in Ba. Whenever CFGAccurate analyzes a basic block from this work-list, the basic block and any direct jumps from the block are added to C. Indirect jumps, however, cannot be handled this way. So each indirect jump is stored in the list Lj for later analysis. +- Symbolic Execution. For each jump J ∈ Lj, CFGAccurate traverses the CFG backwards until it find the first merge point or up to a threshold number of blocks. From there, it performs forward symbolic execution to the indirect jump and uses a constraint solver to retrieve possible values for the target of the indirect jump. If the jump is resolved successfully, J is removed from Lj and edges and nodes are added to the CFG for each possible value of the jump target. +- Backward Slicing. CFGAccurate computes a backward slice starting from the unresolved jump. The slice is extended through the beginning of the previous call context. That is, if the indirect jump being analyzed is in a function Fa that is called from both Fb and Fc, the slice will extend backward from the jump in Fa and contain two start nodes: the basic block at the start of Fb and the one at the start of Fc. CFGAccurate then executes this slice using angr’s symbolic execution engine and uses the constraint engine to identify possible targets of the symbolic jumps, with the same threshold of 256 for the size of the solution set for the jump target. If the jump target is resolved successfully, the jump is removed from Lj and the edge representing the control flow transition, and the target basic blocks are added to the recovered CFG. + +The goal of the fast CFG generation algorithm is to generate a graph, with high code coverage, that identifies at least the location and content of functions in the binary. +- Function identification. We use hard-coded function prologue signatures, which can be generated from techniques like ByteWeight, to identify functions inside the application. +- Recursive disassembly. Recursive disassembly is used to recover the direct jumps within the identified functions. +- Indirect jump resolution. Lightweight alias analysis, dataflow tracking, combined with pre-defined strategies are used to resolve intra-function control flow transfers. + +## 实现:值集分析 +Value-Set Analysis (VSA) is a static analysis technique that combines numeric analysis and pointer analysis for binary programs. It uses an abstract domain, called the Value-Set Abstract domain, for approximating possible values that registers or abstract locations may hold at each program point. + +- Creating a discrete set of strided-intervals. The basic data type of VSA, the strided interval, is essentially an approximation of a set of numbers. It is great for approximating a set of normal concrete values. We developed a new data type called “strided interval set”, which represents a set of strided intervals that are not unioned together. A strided interval set will be unioned into a single strided interval only when it contains more than K elements, where K is a threshold that can be adjusted. +- Applying an algebraic solver to path predicates. Tracking branch conditions helps us constrain variables in a state after taking a conditional exit or during a merging procedure, which produces a more precise analysis result. We implemented a lightweight algebraic solver that works on the strided interval domain, based on modulo arithmetic which take care of some of the affine relations. When a new path predicate is seen, we attempt to simplify and solve it to obtain a number range for the variables involved in the path predicate. Then we perform an intersection between the newly generated number range and the original values for each corresponding variable. +- Adopting a signedness-agnostic domain. Wrapped Interval Analysis is such an interval domain for analyzing LLVM code, which takes care of signed and unsigned numbers at the same time. We based our signedness-agnostic strided-interval domain on this theory, applied to the VSA domain. + +The main interface that angr provides into a full-program VSA analysis is the Value Flow Graph. The VFG is an enhanced CFG that includes the program state representing the VSA fix-point at each program location. + + +## 实现:动态符号执行 +The dynamic symbolic execution module of our analysis platform is mainly based on the techniques described in Mayhem. Our implementation follows the same memory model and path prioritization techniques. + +We use Claripy’s interface into Z3 to populate the symbolic memory model (specifically, SimSymbolicMemory) provided by SimuVEX. Individual execution paths through a program are managed by Path objects, provided by angr, which track the actions taken by paths, the path predicates, and various other path-specific information. Groups of these paths are managed by angr’s PathGroup functionality, which provides an interface for managing the splitting, merging, and filtering of paths during dynamic symbolic execution. + +angr has built-in support for Veritesting, implementing it as a Veritesting analysis and exposing transparent support for it with an option passed to PathGroup objects. + + +## 实现:非约束的符号执行 +We implemented under-constrained symbolic execution (UCSE), as proposed in UC-KLEE, and dubbed it UC-angr. UCSE is a dynamic symbolic execution technique where execution is performed on each function separately. + +We made two changes to the technique described in UCSE: +- Global memory under-constraining.We mark all global data as underconstrained, allowing us to lower our false positive rate. +- Path limiters. We abort the analysis of a function when we find that it is responsible for a path explosion. We detect this by hard-coding a limit and, when a single function branches over this many paths, we replace the function with an immediate return, and rewind the analysis from the call site of that function. +- False positive filtering. When we detect an exploitable state, we attempt to ensure that the state is not incorrectly made exploitable by a lack of constraints on under-constrained data. + + +## 实现:符号辅助的 fuzzing +Our implementation of symbolic-assisted fuzzing, called Driller, uses the AFL fuzzer as its foundation and angr as its symbolic tracer. + + +## 实现:崩溃重现 +We implemented the approach proposed by Replayer to recover missing relationships between input values and output values. + +We can define the problem of replaying a crashing input as the search for an input specification is to bring a program from an initial state s to a crash state q. Our implementation symbolically executes the path from sa to qa, using the input ia. It records all constraints that are generated while executing P. Given the constraints, the execution path, the program P, and the new initial state sb, we can symbolically execute P with an unconstrained symbolic input, following the previously recorded execution path until the new crash state qb is reached. At this point, the input constraints on the input and output can be analyzed, and relationships between them can be recovered. This relationship data is used to generate the input specification is, allowing the crashing input to be replayed. + + +## 实现:利用生成 +we generate exploits by performing concolic execution on crashing program inputs using angr. We drive concolic execution forward, forcing it to follow the same path as a dynamic trace gathered by concretely executing the crashing input applied to the program. Concolic execution is stopped at the point where the program crashed, and we inspect the symbolic state to determine the cause of the crash and measure exploitability. By counting the number of symbolic bits in certain registers, we can triage a crash into a number of categories such as frame pointer overwrite, instruction pointer overwrite, or arbitrary write, among others. + + +## 实现:利用强化 +To harden exploits against modern mitigation techniques, we implemented a ROP chain compiler based on the ideas in Q. +- Gadget discovery. We scan all executable code in the application, at every byte offset, to identify ROP gadgets and classify them according to their effects. To carry out the classification, our analysis leverages the action history provided by angr’s Path objects and symbolic relations provided by Claripy. +- Gadget arrangement. The ROP chain compiler then determines arrangements of gadgets that can be used to perform high-level actions. +- Payload generation. After the ROP compiler identifies the requisite set of gadget arrangements, it combines these gadgets into a chain to carry out high-level actions. This is done by writing gadget arrangements into a program state in angr, constraining their outputs to the provided arguments, and querying the SMT solver for a solution for their inputs. + + +## 比较评估 + +![](../pic/8.25_evaluation.png) diff --git a/doc/8.25_offsensive_techniques.md b/doc/8.25_offsensive_techniques.md deleted file mode 100644 index 522fbb2..0000000 --- a/doc/8.25_offsensive_techniques.md +++ /dev/null @@ -1 +0,0 @@ -# 8.25 (State of) The Art of War: Offensive Techniques in Binary Analysis diff --git a/doc/8.26_driller_fuzzing.md b/doc/8.26_driller.md similarity index 100% rename from doc/8.26_driller_fuzzing.md rename to doc/8.26_driller.md diff --git a/doc/8.31_wysinwyx.md b/doc/8.31_wysinwyx.md new file mode 100644 index 0000000..eb0473d --- /dev/null +++ b/doc/8.31_wysinwyx.md @@ -0,0 +1 @@ +# 8.31 WYSINWYX What You See Is Not What You eXecute diff --git a/doc/8.32_mayhem.md b/doc/8.32_mayhem.md new file mode 100644 index 0000000..4ee7987 --- /dev/null +++ b/doc/8.32_mayhem.md @@ -0,0 +1 @@ +# 8.32 Unleashing MAYHEM on Binary Code diff --git a/doc/8.33_ucklee.md b/doc/8.33_ucklee.md new file mode 100644 index 0000000..e2b250e --- /dev/null +++ b/doc/8.33_ucklee.md @@ -0,0 +1 @@ +# 8.33 Under-Constrained Symbolic Execution: Correctness Checking for Real Code diff --git a/doc/8.34_veritesting.md b/doc/8.34_veritesting.md new file mode 100644 index 0000000..9815a8f --- /dev/null +++ b/doc/8.34_veritesting.md @@ -0,0 +1 @@ +# 8.34 Enhancing Symbolic Execution with Veritesting diff --git a/doc/8.35_q.md b/doc/8.35_q.md new file mode 100644 index 0000000..47c3f16 --- /dev/null +++ b/doc/8.35_q.md @@ -0,0 +1 @@ +# 8.35 Q: Exploit Hardening Made Easy diff --git a/doc/8.8_dynamic_taint_analysis.md b/doc/8.8_dta_and_fse.md similarity index 100% rename from doc/8.8_dynamic_taint_analysis.md rename to doc/8.8_dta_and_fse.md diff --git a/doc/8_academic.md b/doc/8_academic.md index 901365a..f4bb82f 100644 --- a/doc/8_academic.md +++ b/doc/8_academic.md @@ -10,7 +10,7 @@ * [8.5 Data-Oriented Programming: On the Expressiveness of Non-Control Data Attacks](8.5_dop.md) * [8.6 Hacking Blind](8.6_brop.md) * [8.7 What Cannot Be Read, Cannot Be Leveraged? Revisiting Assumptions of JIT-ROP Defenses](8.7_jit-rop_defenses.md) -* [8.8 All You Ever Wanted to Know About Dynamic Taint Analysis and Forward Symbolic Execution (but might have been afraid to ask)](8.8_dynamic_taint_analysis.md) +* [8.8 All You Ever Wanted to Know About Dynamic Taint Analysis and Forward Symbolic Execution (but might have been afraid to ask)](8.8_dta_and_fse.md) * [8.9 Symbolic Execution for Software Testing: Three Decades Later](8.9_symbolic_execution.md) * [8.10 AEG: Automatic Exploit Generation](8.10_aeg.md) * [8.11 Address Space Layout Permutation (ASLP): Towards Fine-Grained Randomization of Commodity Software](8.11_aslp.md) @@ -27,9 +27,14 @@ * [8.22 Practical Memory Checking With Dr. Memory](8.22_memory_checking.md) * [8.23 Evaluating the Effectiveness of Current Anti-ROP Defenses](8.23_current_anti-rop.md) * [8.24 How to Make ASLR Win the Clone Wars: Runtime Re-Randomization](8.24_runtime_re-randomization.md) -* [8.25 (State of) The Art of War: Offensive Techniques in Binary Analysis](8.25_offsensive_techniques.md) -* [8.26 Driller: Augmenting Fuzzing Through Selective Symbolic Execution](8.26_driller_fuzzing.md) +* [8.25 (State of) The Art of War: Offensive Techniques in Binary Analysis](8.25_angr.md) +* [8.26 Driller: Augmenting Fuzzing Through Selective Symbolic Execution](8.26_driller.md) * [8.27 Firmalice - Automatic Detection of Authentication Bypass Vulnerabilities in Binary Firmware](8.27_firmalice_bypass.md) * [8.28 Cross-Architecture Bug Search in Binary Executables](8.28_cross_arch_bug_search.md) * [8.29 Dynamic Hooks: Hiding Control Flow Changes within Non-Control Data](8.29_dynamic_hooks.md) * [8.30 Preventing brute force attacks against stack canary protection on networking servers](8.30_prevent_brute_force_canary.md) +* [8.31 WYSINWYX What You See Is Not What You eXecute](8.31_wysinwyx.md) +* [8.32 Unleashing MAYHEM on Binary Code](8.32_mayhem.md) +* [8.33 Under-Constrained Symbolic Execution: Correctness Checking for Real Code](8.33_ucklee.md) +* [8.34 Enhancing Symbolic Execution with Veritesting](8.34_veritesting.md) +* [8.35 Q: Exploit Hardening Made Easy](8.35_q.md) diff --git a/pic/8.25_evaluation.png b/pic/8.25_evaluation.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3cb852985fd7fac7a4fcedd66cb0f4db1096df GIT binary patch literal 46818 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 z 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 CW_gtW literal 0 HcmV?d00001