ACM SIGARCH Computer Architecture News · 2015 · 10 citations · 22 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureFormal MethodsProgramming LanguagesMemory ModelingMemory SafetyExternal Memory ModelMemory InterpretationMemory Model SemanticsMemory Protection MechanismsProtection
We propose a new memory-safe interpretation of the C abstract machine that provides stronger protection to benefit security and debugging. Despite ambiguities in the specification intended to provide implementation flexibility, contemporary implementations of C have converged on a memory model similar to the PDP-11, the original target for C. This model lacks support for memory safety despite well-documented impacts on security and reliability. Attempts to change this model are often hampered by assumptions embedded in a large body of existing C code, dating back to the memory model exposed by the original C compiler for the PDP-11. Our experience with attempting to implement a memory-safe variant of C on the CHERI experimental microprocessor led us to identify a number of problematic idioms. We describe these as well as their interaction with existing memory safety schemes and the assumptions that they make beyond the requirements of the C specification. Finally, we refine the CHERI ISA and abstract model for C, by combining elements of the CHERI capability model and fat pointers, and present a softcore CPU that implements a C abstract machine that can run legacy C code with strong memory protection guarantees.
22
The protection of information in computer systems
Jerome H. Saltzer, Michael Schroeder · Proceedings of the IEEE · 1975 · 1.9K citations
Protection of information in computer systems
Jerome H. Saltier, Michael P. Schroeder · IEEE CSIT Newsletter · 1975 · 1.4K citations
Efficient software-based fault isolation
Robert Wahbe, Steven Lucco, Thomas E. Anderson et al. · 1993 · 1.2K citations · Full text
Smashing The Stack For Fun And Profit
A. One · Medical Entomology and Zoology · 1996 · 769 citations
László Szekeres, Mathias Payer, Tao Wei et al. · 2013 · 658 citations · Full text