日本語
 
Help Privacy Policy ポリシー/免責事項
  詳細検索ブラウズ

アイテム詳細


公開

成果報告書

An Instrumenting Compiler for Enforcing Confidentiality in Low-Level Code

MPS-Authors
/persons/resource/persons144522

Garg,  Deepak
Group D. Garg, Max Planck Institute for Software Systems, Max Planck Society;

External Resource
There are no locators available
Fulltext (restricted access)
There are currently no full texts shared for your IP range.
フルテキスト (公開)

arXiv:1711.11396.pdf
(プレプリント), 775KB

付随資料 (公開)
There is no public supplementary material available
引用

Brahmakshatriya, A., Kedia, P., McKee, D. P., Bhatu, P., Garg, D., Lal, A., & Rastogi, A. (2017). An Instrumenting Compiler for Enforcing Confidentiality in Low-Level Code. Retrieved from http://arxiv.org/abs/1711.11396.


引用: https://hdl.handle.net/21.11116/0000-0000-AC98-3
要旨
We present an instrumenting compiler for enforcing data confidentiality in low-level applications (e.g. those written in C) in the presence of an active adversary. In our approach, the programmer marks secret data by writing lightweight annotations on top-level definitions in the source code. The compiler then uses a static flow analysis coupled with efficient runtime instrumentation, a custom memory layout, and custom control-flow integrity checks to prevent data leaks even in the presence of low-level attacks. We have implemented our scheme as part of the LLVM compiler. We evaluate it on the SPEC micro-benchmarks for performance, and on larger, real-world applications (including OpenLDAP, which is around 300KLoC) for programmer overhead required to restructure the application when protecting the sensitive data such as passwords. We find that performance overheads introduced by our instrumentation are moderate (average 12% on SPEC), and the programmer effort to port OpenLDAP is only about 160 LoC.