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 …
Data-oriented attacks manipulate non-control data to alter a program's benign behavior without violating its control-flow integrity. It has been shown that such attacks can cause …
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 …
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 …
Capability architectures for memory safety have traditionally required expanding pointers and radically changing microarchitectural structures throughout processors, while only …
Automated program repair is an emerging technology that seeks to automatically rectify program errors and vulnerabilities. Repair techniques are driven by a correctness criterion …