DataShield: Configurable data confidentiality and integrity
Applications written in C/C++ are prone to memory corrup- tion, which allows attackers to extract secrets or gain control of the system. With the rise of strong control-flow hijacking defenses, non-control data attacks have become the domi- nant threat. As vulnerabilities like HeartBleed have shown, such attacks are equally devastating. Data Confidentiality and Integrity (DCI) is a low-overhead non-control-data protection mechanism for systems software. DCI augments the C/C++ programming languages with an- notations, allowing the programmer to protect selected data types. The DCI compiler and runtime system prevent illegal reads (confidentiality) and writes (integrity) to instances of these types. The programmer selects types that contain se- curity critical information such as passwords, cryptographic keys, or identification tokens. Protecting only this critical data greatly reduces performance overhead relative to com- plete memory safety. Our prototype implementation of DCI, DataShield, shows the applicability and efficiency of our approach. For SPEC CPU2006, the performance overhead is at most 16.34%. For our case studies, we instrumented mbedTLS, astar, and libquantum to show that our annotation approach is prac- tical. The overhead of our SSL/TLS server is 35.7% with critical data structures protected at all times. Our security evaluation shows DataShield mitigates a recently discovered vulnerability in mbedTLS.
Cite this item
Carr, S. A., & Payer, M. (2017). DataShield: Configurable data confidentiality and integrity. ASIA CCS 2017 - Proceedings of the 2017 ACM Asia Conference on Computer and Communications Security, 193–204. https://doi.org/10.1145/3052973.3052983
Click Copy to copy the citation, or select the text manually.
2-s2.0-85021876544
Purdue University
École Polytechnique Fédérale de Lausanne
2017-04-02
9781450349444
193
204
REVIEWED
OTHER
| Event name | Event acronym | Event place | Event date |
Abu Dhabi, United Arab Emirates | 2017-04-02 - 2017-04-06 | ||