Protecting C++ Applications Using CHERI
C++ remains the language of choice for writing large performant server and client applications but lacks memory- and type-safety and is thus vulnerable to spatial and temporal-related security attacks. The CHERI architecture provides fine-grained memory protection in hardware. We have developed the CHERI Clang/LLVM compiler that can compile existing C and C++ programs to CHERI, thus enabling strong memory protection with minimal changes to code. More recently, we have been looking at using CHERI to protect C++ applications: there are many interesting design-space questions as to how the CHERI protection model could be used to protect the C++ run-time (e.g. vtables) and C++ programs in general. We have been investigating some of these through the rendering engine WebKit, commonly used in popular web browsers. This talk will present some of the ways CHERI can be used in the context of C++ with the hope of inviting further discussion.
Presentation (cheri-cxx.pdf) | 8.87MiB |
Sun 13 JanDisplayed time zone: Belfast change
11:00 - 12:30 | |||
11:00 30mTalk | Trestle: Bridging the Performance and Safety Divide in WebAssembly PriSC Craig Disselkoen University of California San Diego, Tal Garfinkel Stanford University, Deian Stefan University of California San Diego, Conrad Watt University of Cambridge File Attached | ||
11:30 30mTalk | Protecting C++ Applications Using CHERI PriSC Khilan Gudka University of Cambridge, Alexander Richardson University of Cambridge, Robert N. M. Watson University of Cambridge File Attached | ||
12:00 30mTalk | Secure Linking in the CheriBSD Operating System PriSC File Attached |