Embedded software is used in safety-critical systems such as medical devices and autonomous vehicles, where software defects, including security vulnerabilities, have severe …
The C and C++ programming languages are notoriously insecure yet remain indispensable. Developers therefore resort to a multi-pronged approach to find security issues before …
Memory-safety violations are the primary cause of security and reliability issues in software systems written in unsafe languages. Given the limited adoption of decades-long research in …
Y Li, W Tan, Z Lv, S Yang, M Payer, Y Liu… - Proceedings of the 2022 …, 2022 - dl.acm.org
Memory safety is a key security property that stops memory corruption vulnerabilities. Different types of memory safety enforcement solutions have been proposed and adopted by …
D Kuvaiskii, O Oleksenko, S Arnautov, B Trach… - Proceedings of the …, 2017 - dl.acm.org
Shielded execution based on Intel SGX provides strong security guarantees for legacy applications running on untrusted platforms. However, memory safety attacks such as …
Rust is a programming language that simultaneously offers high performance and strong security guarantees. Safe Rust (ie, Rust code that does not use the unsafe keyword) is …
Static binary rewriting has many important applications in software security and systems, such as hardening, repair, patching, instrumentation, and debugging. While many different …
Object bounds overflow errors are a common source of security vulnerabilities. In principle, bounds check instrumentation eliminates the problem, but this introduces high overheads …
GJ Duck, RHC Yap - Proceedings of the 39th ACM SIGPLAN …, 2018 - dl.acm.org
Low-level programming languages with weak/static type systems, such as C and C++, are vulnerable to errors relating to the misuse of memory at runtime, such as (sub-) object …