作者
Ben Niu, Gang Tan
发表日期
2014/6/9
图书
Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation
页码范围
577-587
简介
Control-Flow Integrity (CFI) is a software-hardening technique. It inlines checks into a program so that its execution always follows a predetermined Control-Flow Graph (CFG). As a result, CFI is effective at preventing control-flow hijacking attacks. However, past fine-grained CFI implementations do not support separate compilation, which hinders its adoption.
We present Modular Control-Flow Integrity (MCFI), a new CFI technique that supports separate compilation. MCFI allows modules to be independently instrumented and linked statically or dynamically. The combined module enforces a CFG that is a combination of the individual modules' CFGs. One challenge in supporting dynamic linking in multithreaded code is how to ensure a safe transition from the old CFG to the new CFG when libraries are dynamically linked. The key technique we use is to have the CFG represented in a runtime data structure and have …
引用总数
20142015201620172018201920202021202220232024330294038354327242616
学术搜索中的文章
B Niu, G Tan - Proceedings of the 35th ACM SIGPLAN Conference on …, 2014