2026 IEEE 11th European Symposium on Security and Privacy (EuroS&P)(2026)
Stevens Institute of Technology
被引用0|浏览0
摘要
Control-Flow Integrity (CFI) mitigates code-reuse attacks by restricting indirect control-flow transfers to a predetermined set of valid targets. While prior work has demonstrated that finer-grained, dynamic policies can provide stronger security guarantees, enforcing such policies typically incurs substantial performance overhead. Recent approaches have explored offloading security checks to parallel monitors as a means to reduce this cost. In particular, Software-Driven Logging (SDL), enabled by processor extensions such as Intel Processor Trace (PT), has shown promise for secure and efficient offloading of CFI enforcement to a separate monitor process. However, existing SDL-based solutions are limited to conventional, statically-derived CFI policies (e.g., LLVM-CFI) and only marginally improve their performance.We present StreamCFI, an SDL-based framework that efficiently enforces dynamic CFI through a hybrid approach combining type-based and per-input policies. StreamCFI is built for x86-64 and leverages Intel PT along with the PTWRITE instruction to capture run-time metadata, introducing several novel optimizations to minimize logging overhead. Our evaluation on SPEC CPU2017 benchmarks shows that StreamCFI reduces geometric-mean overhead from 26.67% to 8.63% compared to the state-of-the-art per-input CFI solution, while reducing code-size overhead by 5×. Notably, StreamCFI makes dynamic CFI practical for deployment on commodity hardware, remaining reasonably close to LLVM-CFI’s 3.45% geometric-mean overhead while providing stronger security by reducing the set of allowed targets at run time.