Strato: A Retargetable Framework for Low-Level Inlined-Reference Monitors.

SEC'13: Proceedings of the 22nd USENIX conference on Security(2013)

引用 26|浏览56
暂无评分
摘要
Low-level Inlined Reference Monitors (IRM) such as control-flow integrity and software-based fault isolation can foil numerous software attacks. Conventionally, those IRMs are implemented through binary rewriting or transformation on equivalent low-level programs that are tightly coupled with a specific Instruction Set Architecture (ISA). Resulting implementations have poor retargetability to different ISAs. This paper introduces an IRM-implementation framework at a compiler intermediate-representation (IR) level. The IR-level framework enables easy retargetability to different ISAs, but raises the challenge of how to preserve security at the low level, as the compiler backend might invalidate the assumptions at the IR level. We propose a constraint language to encode the assumptions and check whether they still hold after the backend transformations and optimizations. Furthermore, an independent verifier is implemented to validate the security of low-level code. We have implemented the framework inside LLVM to enforce the policy of control-flow integrity and data sandboxing for both reads and writes. Experimental results demonstrate that it incurs modest runtime overhead of 19.90% and 25.34% on SPECint2000 programs for ×86- 32 and ×86-64, respectively.
更多
查看译文
关键词
control-flow integrity,different ISAs,IR level,IR-level framework,IRM-implementation framework,low level,backend transformation,compiler backend,compiler intermediate-representation,easy retargetability,low-level inlined-reference monitor,retargetable framework
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要