CodeArmor

Autor: Herbert Bos, Xi Chen, Cristiano Giuffrida
Přispěvatelé: Computer Systems, Network Institute, Systems and Network Security
Jazyk: angličtina
Rok vydání: 2017
Předmět:
Zdroj: 2017 IEEE European Symposium on Security and Privacy (EuroS&P)
Chen, X, Bos, H & Giuffrida, C 2017, CodeArmor : Virtualizing the Code Space to Counter Disclosure Attacks . in Proceedings-2nd IEEE European Symposium on Security and Privacy, EuroS and P 2017 ., 7962000, Institute of Electrical and Electronics Engineers Inc., pp. 514-529, 2nd IEEE European Symposium on Security and Privacy, EuroS and P 2017, Paris, France, 26/04/17 . https://doi.org/10.1109/EuroSP.2017.17
Proceedings-2nd IEEE European Symposium on Security and Privacy, EuroS and P 2017, 514-529
STARTPAGE=514;ENDPAGE=529;TITLE=Proceedings-2nd IEEE European Symposium on Security and Privacy, EuroS and P 2017
EuroS&P
DOI: 10.1109/EuroSP.2017.17
Popis: Code diversification is an effective strategy to prevent modern code-reuse exploits. Unfortunately, diversification techniques are inherently vulnerable to information disclosure. Recent diversification-aware ROP exploits have demonstrated that code disclosure attacks are a realistic threat, with an attacker able to read or execute arbitrary code memory and gather enough gadgets to bypass state-of-the-art code diversification defenses. In this paper, we present CodeArmor, a binary-level system to harden code diversification against all the existing read-based and execution-based code disclosure attacks. To counter such attacks, CodeArmor virtualizes the code space to completely decouple code pointer values from the concrete location of their targets in the memory address space. Using a combination of run-time randomization and pervasively deployed honey gadgets, code space virtualization probabilistically ensures that only code references that can legitimately be issued by the program are effectively translated to the concrete code space. This strategy significantly reduces the attack surface, limiting the attacker to only code pointer gadgets that can be leaked from data memory. In addition, unlike existing leakage-resistant code diversification techniques that provide similar security guarantees, CodeArmor requires no access to source code, hypervisors, or special hardware support. Our experimental results show that CodeArmor significantly raises the bar against existing and future attacks, at the cost of relatively low average performance overhead (6.9% on SPEC and 14.5% on popular server programs, and even lower - roughly halving such average overheads - when operating aggressive inlining optimizations at the binary level).
Databáze: OpenAIRE