TY - GEN
T1 - CFG construction soundness in Control-Flow integrity
AU - Tan, Gang
AU - Jaeger, Trent
N1 - Publisher Copyright:
© 2017 Association for Computing Machinery.
PY - 2017/10/30
Y1 - 2017/10/30
N2 - Control-Flow Integrity (CFI) is an intensively studied technique for hardening software security. It enforces a Control-Flow Graph (CFG) by inlining runtime checks into target programs. Many methods have been proposed to construct the enforced CFG, with different degrees of precision and sets of assumptions. However, past CFI work has not made attempt at justifying their CFG construction soundness using formal semantics and proofs. In this paper, we formalize the CFG construction in two major CFI systems, identify their assumptions, and prove their soundness; the soundness proof shows that their computed sets of targets for indirect calls are safe over-approximations.
AB - Control-Flow Integrity (CFI) is an intensively studied technique for hardening software security. It enforces a Control-Flow Graph (CFG) by inlining runtime checks into target programs. Many methods have been proposed to construct the enforced CFG, with different degrees of precision and sets of assumptions. However, past CFI work has not made attempt at justifying their CFG construction soundness using formal semantics and proofs. In this paper, we formalize the CFG construction in two major CFI systems, identify their assumptions, and prove their soundness; the soundness proof shows that their computed sets of targets for indirect calls are safe over-approximations.
UR - https://www.scopus.com/pages/publications/85043357015
UR - https://www.scopus.com/pages/publications/85043357015#tab=citedBy
U2 - 10.1145/3139337.3139339
DO - 10.1145/3139337.3139339
M3 - Conference contribution
AN - SCOPUS:85043357015
T3 - PLAS 2017 - Proceedings of the 2017 Workshop on Programming Languages and Analysis for Security, co-located with CCS 2017
SP - 3
EP - 13
BT - PLAS 2017 - Proceedings of the 2017 Workshop on Programming Languages and Analysis for Security, co-located with CCS 2017
PB - Association for Computing Machinery, Inc
T2 - 12th ACM SIGSAC Workshop on Programming Languages and Analysis for Security, PLAS 2017
Y2 - 30 October 2017
ER -