CETS: compiler enforced temporal safety for C
By Santosh Nagarakatte, Jianzhou Zhao, Milo M. K. Martin, Steve Zdancewic. International Symposium on Mathematical Morphology and Its Application to Signal and Image Processing, 2010
421 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Electrical and Electronic Engineering, Hardware and Architecture
View Paper: https://www.semanticscholar.org/paper/70fbb4d5fee07011cda140149558696958c02008
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Ahmad-Reza Sadeghi
- Lucas Davi
- Dawn Song
- Zhenkai Liang
- R. Sekar
- Thorsten Holz
- Manuel Costa
- Prateek Saxena
In Electrical and Electronic Engineering
- R. Sekar
- Per Larsen
- Marcus Peinado
- Dawn Song
- Tao Wei
- Michael Franz
- Ahmad-Reza Sadeghi
- Stefan Brunthaler
In Hardware and Architecture
- Lucas Davi
- Ahmad-Reza Sadeghi
- Zhaofeng Chen
- Gloria Mainar-Ruiz
- Per Larsen
- Marcus Peinado
- Dawn Song
- Tao Wei
Citations in the corpus
- Control-Flow Integrity (2017, background): “While mechanisms that enforce spatial [45] and temporal [46] memory safety eliminate memory corruption (and thereby control-flow hijacking attacks), existing mechanisms are considered prohibitively expensive.”
- Data-Oriented Programming: On the Expressiveness of Non-control Data Attacks (2016, positive): “SoftBound with CETS stores metadata for each pointer inside a disjointed memory for bound checking and identifier matching to force a complete memory safety [53], [54].”
- The Art, Science, and Engineering of Fuzzing: A Survey (2018, background): “SoftBound/CETS [159], [160] is another memory error detector that instruments programs during compilation.”
- Code-pointer integrity (2014, methodology): “A memory-safe program execution trivially satisfies the CPI property, but memory-safety instrumentation typically has high runtime overhead, e.g., ≥ 2 × in state-of-the-art implementations [35].”
- Practical Control Flow Integrity and Randomization for Binary Executables (2013, methodology): “Recently proposed techniques, such as SoftBound [23] with CETS [24], also introduce an overhead of 116%.”
- VC3: Trustworthy Data Analytics in the Cloud Using SGX (2015, background): “Since memory safety implementations for C/C++ have high overhead [43], [44], [60], we instead address this problem with a compiler that efficiently enforces two security invariants for code running inside the enclave.”
- SGXBOUNDS: Memory Safety for Shielded Execution (2017, methodology): “In fact, all fat-pointer or disjoint-metadata techniques similar to Intel MPX suffer from multithreading issues [32, 57].”
- Counterfeit Object-oriented Programming: On the Difficulty of Preventing Code Reuse Attacks in C++ Applications (2015, background): “This changed through the broad deployment of the well-known data execution prevention (DEP) countermeasure [33] that renders immediate code injection attacks infeasible.”
- SoK: Eternal War in Memory (2013, background): “CETS is formally proven to enforce temporal safety, if spatial safety is also enforced.”