2017 IEEE Symposium on Security and Privacy (SP) 2017
DOI: 10.1109/sp.2017.30
|View full text |Cite
|
Sign up to set email alerts
|

NORAX: Enabling Execute-Only Memory for COTS Binaries on AArch64

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
23
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 28 publications
(23 citation statements)
references
References 32 publications
0
23
0
Order By: Relevance
“…JIT spraying attacks using one-and two-byte constants are, however, feasible in practice [7]. Similarly, there are several existing implementations of execute-only memory, but they only apply to statically generated code [8], [9], [15], [21], [23], [29], [43]. This leaves these implementations vulnerable to JIT-ROP attacks that only use gadgets found in the JIT code cache.…”
Section: A Overviewmentioning
confidence: 99%
“…JIT spraying attacks using one-and two-byte constants are, however, feasible in practice [7]. Similarly, there are several existing implementations of execute-only memory, but they only apply to statically generated code [8], [9], [15], [21], [23], [29], [43]. This leaves these implementations vulnerable to JIT-ROP attacks that only use gadgets found in the JIT code cache.…”
Section: A Overviewmentioning
confidence: 99%
“…More recent leakage-resistant schemes implement execute-only memory (XoM) for the code region, using software instrumentation such as selective paging [6], pointer masking [13], and range checking [71] or a variety of hardware-based isolation features on commodity architectures [55], such as Intel MPX [71], MPK [40,70], EPT [14,22,23,32], split TLB [33], or ARM's MMU/MPU builtins [19,59]. While these schemes prevent all reads from code memory pages, they are still vulnerable to advanced code-reuse attacks that only rely on code pointers leaked from data memory [73,91] and data-only attacks that do not even require code pointer corruption or control-flow hijacking at all [44].…”
Section: Background 21 Code-reuse Attacksmentioning
confidence: 99%
“…SECRET [158] provides XOM-equivalent protection to COTS binaries, using memory segmentation on x86 and information hiding on x86-64, while NORAX [27] leverages a combination of MMU permission bits to retrofit XOM to ARM binaries. In contrast, kR ∧ X enforces XOM on architectures that lack native support for marking memory pages as execute-only and employs strong memory isolation mechanisms (kR ∧ X-{SFI, MPX, SEG}), avoiding the use of information hiding to guard against direct JIT-ROP attacks, as this strategy has been shown to be ineffective in the kernel setting [70,74,78].…”
Section: Related Workmentioning
confidence: 99%
“…As a response to JIT-ROP attacks in user applications, execute-only memory prevents the (onthe-fly) discovery of gadgets by blocking read access to executable pages [27]. Nevertheless, given that widely used CPU architectures such as the x86 do not provide native support for enforcing execute-only permissions, such memory protection(s) can be achieved by relying on page table manipulation [9], TLB desynchronization [63], hardware virtualization [40,62], or techniques inspired by software-fault isolation (SFI) [86].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation