SoK: Sanitizing for security

D Song, J Lettner, P Rajasekaran, Y Na… - … IEEE Symposium on …, 2019 - ieeexplore.ieee.org
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 …

Pluginizing quic

Q De Coninck, F Michel, M Piraux, F Rochet… - Proceedings of the …, 2019 - dl.acm.org
Application requirements evolve over time and the underlying protocols need to adapt. Most
transport protocols evolve by negotiating protocol extensions during the handshake …

CheriABI: Enforcing valid pointer provenance and minimizing pointer privilege in the POSIX C run-time environment

B Davis, RNM Watson, A Richardson… - Proceedings of the …, 2019 - dl.acm.org
The CHERI architecture allows pointers to be implemented as capabilities (rather than
integer virtual addresses) in a manner that is compatible with, and strengthens, the …

Capability hardware enhanced RISC instructions: CHERI instruction-set architecture (version 7)

RNM Watson, PG Neumann, J Woodruff, M Roe… - 2019 - cl.cam.ac.uk
This technical report describes CHERI ISAv7, the seventh version of the Capability
Hardware Enhanced RISC Instructions (CHERI) Instruction-Set Architecture (ISA) being …

Cheri concentrate: Practical compressed capabilities

J Woodruff, A Joannou, H Xia, A Fox… - IEEE Transactions …, 2019 - ieeexplore.ieee.org
We present CHERI Concentrate, a new fat-pointer compression scheme applied to CHERI,
the most developed capability-pointer system at present. Capability fat pointers are a …

Bogo: Buy spatial memory safety, get temporal memory safety (almost) free

T Zhang, D Lee, C Jung - Proceedings of the Twenty-Fourth International …, 2019 - dl.acm.org
A memory safety violation occurs when a program has an out-of-bound (spatial safety) or
use-after-free (temporal safety) memory access. Given its importance as a security …

Fuzzification:{Anti-Fuzzing} techniques

J Jung, H Hu, D Solodukhin, D Pagan, KH Lee… - 28th USENIX Security …, 2019 - usenix.org
Fuzzing is a software testing technique that quickly and automatically explores the input
space of a program without knowing its internals. Therefore, developers commonly use …

Position paper: Progressive memory safety for webassembly

C Disselkoen, J Renner, C Watt, T Garfinkel… - Proceedings of the 8th …, 2019 - dl.acm.org
WebAssembly (Wasm) is a low-level platform-independent bytecode language. Today,
developers can compile C/C++ to Wasm and run it everywhere, at almost native speeds …

Counting immutable beans: Reference counting optimized for purely functional programming

S Ullrich, L de Moura - Proceedings of the 31st Symposium on …, 2019 - dl.acm.org
Most functional languages rely on some kind of garbage collection for automatic memory
management. They usually eschew reference counting in favor of a tracing garbage …

Mitigating data leakage by protecting memory-resident sensitive data

T Palit, F Monrose, M Polychronakis - Proceedings of the 35th Annual …, 2019 - dl.acm.org
Gaining reliable arbitrary code execution through the exploitation of memory corruption
vulnerabilities is becoming increasingly more difficult in the face of modern exploit …