SoftBound: highly compatible and complete spatial memory safety for c
By Santosh Nagarakatte, Jianzhou Zhao, Milo M. K. Martin, Steve Zdancewic. 2009
697 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Hardware and Architecture, Signal Processing
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
In Hardware and Architecture
- Dawn Song
- László Szekeres
- Mathias Payer
- Gloria Mainar-Ruiz
- Per Larsen
- Marcus Peinado
- Michael Franz
- Manuel Costa
In Signal Processing
- Dawn Song
- R. Sekar
- Manuel Costa
- Prateek Saxena
- Edward J. Schwartz
- Shweta Shinde
- Zhenkai Liang
- Sang Kil Cha
Citations in the corpus
- Forward Compatible Few-Shot Class-Incremental Learning (2022, methodology): “Backward Compatible Learning: The concept ‘compati-bility’ is a design characteristic considered in software engineering [17, 30, 45, 51].”
- 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.”
- Deep Class-Incremental Learning: A Survey (2023, background): “CIL with Bidirectional Compatibility: Compatibility is a design characteristic in software engineering community [240], [241], [242], [243], which was introduced to the machine learning community in [244], [245].”
- CETS: compiler enforced temporal safety for C (2010, methodology): “A shadowspace may be implemented as a large, directly accessed memory region, a hashtable [ 22 ], or a trie-based data structure [24].”
- 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.”
- Code-pointer integrity (2014, methodology): “These rules are identical to the corresponding rules of SoftBound [Nagarakatte et al. 2009] and ensure full spatial memory safety of all memory objects in the safe memory.”
- SGXBOUNDS: Memory Safety for Shielded Execution (2017, methodology): “As already mentioned, we leave libc uninstrumented and introduce manually written wrappers for all libc functions, similar to other approaches [9, 17, 56, 69].”
- Class-Incremental Learning: A Survey (2023, positive): “CIL with Bidirectional Compatibility : Compatibility is a design characteristic in software engineering community [229], [230], [231], [232], which was introduced to the machine learning community in [233], [234].”
- The Art, Science, and Engineering of Fuzzing: A Survey (2018, background): “SoftBound/CETS [165], [166] is another memory error detector that instruments programs during compilation.”
- Baggy Bounds Checking: An Efficient and Backwards-Compatible Defense against Out-of-Bounds Errors (2009, methodology): “The latest proposal, SoftBound [23], tracks bounds for each pointer to achieve sub-object protection.”
- 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].”