DOI:
关键词: Static program analysis 、 Page table 、 Computer security 、 Computer science 、 Exploit 、 Memory virtualization 、 Code (cryptography) 、 Memory corruption 、 Compiler 、 Just-in-time compilation
摘要: Adversaries exploit software vulnerabilities in modern to compromise computer systems. While the amount and sophistication of such attacks is constantly increasing, most them are based on memory-corruption vulnerabilities---a problem that has been persisting over last four decades. The research community taken challenge providing mitigations against memory-corruption-based attack techniques as code-injection, code-reuse, data-only attacks. In a constant arms race, researchers from academia industry developed new reveal weaknesses existing defense techniques, these findings propose mitigation with goal provide efficient effective defenses presence vulnerabilities. Along this line research, dissertation contributes significantly by recently proposed more enhanced attacks. Specifically, we present sophisticated CFI implementation two premier open-source compilers, demonstrate conceptual limitations coarse- fine-grained CFI. Our first exploits compiler-introduced race-condition vulnerability, which temporarily spills read-only CFI-critical variables writable memory, hence, enables attacker bypass check. second modifies intermediate representation JIT compiler browsers generate attacker-controlled code. We then turn our attention attacking randomization-based defenses. randomization advanced memory-disclosure techniques. particular, can any code-randomization either reading code directly, or indirectly combining static analysis sufficient number disclosed pointers. Based insights gain through design implement leakage-resilient scheme defeat code-reuse using execute-only memory mitigate Since x86 does not natively support leverage virtualization enable it for server desktop Moreover, since embedded systems do offer virtualization, how overcome limitation implementing extension software-based ARM-based Lastly, also be deployed page table.