Proceedings of the 5th ACM Conference on Data and Application Security and Privacy 2015
DOI: 10.1145/2699026.2699107
|View full text |Cite
|
Sign up to set email alerts
|

HideM

Abstract: Memory disclosure vulnerabilities have become a common component for enabling reliable exploitation of systems by leaking the contents of executable data. Previous research towards protecting executable data from disclosure has failed to gain popularity due to large performance penalties and required architectural changes. Other research has focused on protecting application data but fails to consider a vulnerable application that leaks its own executable data.In this paper we present HideM, a practical system… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
2
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 60 publications
(6 citation statements)
references
References 27 publications
0
2
0
Order By: Relevance
“…For data randomization specifically, this means the masks must be protected. In the case of static DSR, where all keys are embedded directly into the protected application's code, one could simply apply an execute-only memory mechanism to protect the keys against disclosure attacks [6,19,24].…”
Section: Challengesmentioning
confidence: 99%
See 1 more Smart Citation
“…For data randomization specifically, this means the masks must be protected. In the case of static DSR, where all keys are embedded directly into the protected application's code, one could simply apply an execute-only memory mechanism to protect the keys against disclosure attacks [6,19,24].…”
Section: Challengesmentioning
confidence: 99%
“…The compiler generates masks for each data partition and embeds them directly in the binary code of the application [8,11], or stores them in a dedicated key cache [7]. In both cases, the masks can be protected from memory exploit-based disclosure, either by giving the binary code pages execute-only permissions [6,19,24], or by modifying the CPU such that the key cache can only be accessed through custom data access instructions [7].…”
mentioning
confidence: 99%
“…State-of-the-art code disclosure defenses either focus on designing disclosure-resistant diversification techniques [34], [10] or emulating X⊕R semantics [9], [27], [42], [18], [30], [83], [91], [43], [64] to ensure code is executable but not readable. In either cases, such techniques mainly defend against read-based attacks, while leaving generic binaries vulnerable to execution-based attacks.…”
Section: Code Disclosure Defensesmentioning
confidence: 99%
“…In other words, CodeArmor's design probabilistically ensures that only "live" code pointers that can be leaked from data memory can be used (as-is) as individual gadgets by attackers, significantly reducing the attack surface. Unlike existing leakage-resistant code diversification techniques that provide similar security guarantees [43], [42], [27], [30], [83], [91], [64], [10], [9], [18], CodeArmor works entirely at the binary level without any need for source, special hardware support, or modifications to the underlying software stack (i.e., OS or hypervisor).…”
Section: Introductionmentioning
confidence: 99%
“…Apart from models that merely restrict an attacker's knowledge of the memory layout, some defenses impose additional properties on the memory. The principle of execute-only memory (XoM) [8], [23] allows for an additional access right, in contrast to the standard of execute access implying read access. Without the possibility of reading the code, an adversary has no way of determining the actual bytes used to implement a given functionality.…”
Section: B Information Hiding Defensesmentioning
confidence: 99%