An Integer Overflow Endgame: Compiler and Architecture Support for Default-On Integer Overflow Mitigation
Zheng Zhang, Qi Ling, Kian Kasad, Brendan Ryan Sweeney, Deepak Gupta, Tal Garfinkel, Kazem Taram
摘要
Integer overflow checks are off-by-default in most production settings due to their high overheads. Consequently, many serious vulnerabilities remain unmitigated. We analyze the source of these overheads---in compilers including LLVM (UBSan, Rust), and in processors including x86-64, ARM64, and RISC-V---and show how to eliminate them. Overheads in LLVM stem from how overflow semantics are expressed in LLVM IR. LLVM's current approach, based on intrinsics and branches, interferes with a variety of middle end optimizations. We develop an alternative approach that tracks overflow semantics with metadata, but otherwise leaves LLVM IR unchanged, eliminating this overhead. Overheads in hardware primarily result from current ISA designs, that require doubling the number of μops for checked vs. unchecked arithmetic, stressing the processor pipeline. We show how simple ISA extensions can alleviate this stress, enabling overflow-checked arithmetic to issue as a single μop. We evaluate these extensions through compiler-based emulation on real hardware and simulation in gem5. Our work offers a path to significantly reducing the cost of overflow checks in existing compilers, and demonstrates that integer overflow mitigation can be cheap enough for default-on use in future hardware.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper3
- Alive2: bounded translation validation for LLVMNuno P. Lopes, Juneyoung Lee, Chung-Kil Hur, Zhengyang Liu 等PLDI 2021 · 被引用 109 次
- Robustifying Debug Information Updates in LLVM via Control-Flow Conformance AnalysisShan Huang, Jingjing Liang, Ting Su, Qirun ZhangPLDI 2025 · 被引用 3 次
- KUBO: Precise and Scalable Detection of User-triggerable Undefined Behavior Bugs in OS KernelChangming Liu, Yaohui Chen, Long LuNDSS 2021
相关 Paper
- Practical Object-Level Sanitizer with Aggregated Memory Access and Custom AllocatorXiaolei Wang, Ruilin Li, Bin Zhang, Chao Feng 等ICSE 2025
- RangeSanitizer: Detecting Memory Errors with Efficient Range ChecksFloris Gorter, Cristiano GiuffridaUSENIX Security 2025
- COGENT: Adaptable Compiler Toolchain for Tagging RISC-V BinariesDavid B. Demicco, Matthew Cole, Gokturk Yuksek, Ravi Theja Gollapudi 等ASPLOS 2025
- Structural Operational Semantics for Functional and Security Verification of Pipelined ProcessorsRobert J. Colvin, Roger C. SuCAV 2025 · 被引用 2 次
- SafeFFI: Efficient Sanitization at the Boundary Between Safe and Unsafe Code in Rust and Mixed-Language ApplicationsOliver Braunsdorf, Tim Lange, Konrad Hohentanner, Julian Horsch 等USENIX Security 2026
