Proceedings 2020 Network and Distributed System Security Symposium 2020
DOI: 10.14722/ndss.2020.24016
|View full text |Cite
|
Sign up to set email alerts
|

$\mu$RAI: Securing Embedded Systems with Return Address Integrity

Abstract: Embedded systems are deployed in security critical environments and have become a prominent target for remote attacks. Microcontroller-based systems (MCUS) are particularly vulnerable due to a combination of limited resources and low level programming which leads to bugs. Since MCUS are often a part of larger systems, vulnerabilities may jeopardize not just the security of the device itself but that of other systems as well. For example, exploiting a WiFi System on Chip (SoC) allows an attacker to hijack the s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2

Citation Types

0
13
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
3
2
1

Relationship

0
6

Authors

Journals

citations
Cited by 33 publications
(14 citation statements)
references
References 28 publications
0
13
0
Order By: Relevance
“…As each function return address has to be pushed, compared with the stack top value, and popped from the shadow stack, the runtime overhead varies drastically from one shadow stack technique implementation to another depending on how efficient this process is implemented. Depending on the count of operations (instructions), which need to be performed (1)(2)(3), some research-based shadow techniques have high performance overheads (around 10%; see Dang et al [17] for more details), making them infeasible for deployment in production software. For these reasons, researchers have looked for approaches to do these operations with a minimal number of steps (see GCC's and Clang's shadow stack implementations for more details), such that the overhead is as low as possible and no memory leaks are generated.…”
Section: Shadow Stack Techniquesmentioning
confidence: 99%
See 4 more Smart Citations
“…As each function return address has to be pushed, compared with the stack top value, and popped from the shadow stack, the runtime overhead varies drastically from one shadow stack technique implementation to another depending on how efficient this process is implemented. Depending on the count of operations (instructions), which need to be performed (1)(2)(3), some research-based shadow techniques have high performance overheads (around 10%; see Dang et al [17] for more details), making them infeasible for deployment in production software. For these reasons, researchers have looked for approaches to do these operations with a minimal number of steps (see GCC's and Clang's shadow stack implementations for more details), such that the overhead is as low as possible and no memory leaks are generated.…”
Section: Shadow Stack Techniquesmentioning
confidence: 99%
“…This is because these techniques are optimized for performance, and some of the return edges remain unprotected, due to their imprecision. Furthermore, the checks of harvested addresses are slow due to: (1) the high volume of data flowing through the CPU, (2) the need to collect and analyze this data, and (3) the relatively low speed of the continuous reads. As such, these techniques are mostly inefficient against attacks which use backward edges (see Schuster et al [46]).…”
Section: Shadow Stack Techniquesmentioning
confidence: 99%
See 3 more Smart Citations