本文已被:浏览 446次 下载 1132次
Received:December 26, 2024 Revised:January 26, 2025
Received:December 26, 2024 Revised:January 26, 2025
中文摘要: 缓冲区溢出漏洞广泛存在于由不安全的高级语言所编写的程序中. 利用缓冲区溢出漏洞, 攻击者可以实现控制流劫持等危险攻击方式. 基于Canary的栈保护技术是处理缓冲区溢出漏洞的一种简单有效且广泛部署的防御手段, 然而位置固定和取值相同的特点使其容易被攻击者分析和破解. 本文提出一种基于软件多样性的栈保护技术, 它以拥有随机化大小和偏移的异构Canary为核心, 不仅能直接抵御常规Canary无法处理的泄漏类和覆盖类攻击, 而且能构造出各种更加安全的多样性软件系统. 实验结果表明, 异构Canary在有效提升安全性的同时仅为SPEC CPU 2017基准程序集额外引入了不高于2%的编译开销和平均3.22%的运行开销.
Abstract:Buffer overflow vulnerabilities are widely present in programs written in insecure high-level languages. By exploiting buffer overflow vulnerabilities, attackers can carry out dangerous attacks such as control flow hijacking. Canary-based stack smashing protection is a simple, effective, and widely deployed defense mechanism against buffer overflow vulnerabilities. However, its characteristics of fixed locations and identical values make it susceptible to analysis and exploitation by attackers. This study proposes a stack smashing protection approach based on software diversity, which features heterogeneous Canary with randomized sizes and offsets. This approach not only directly defends against leakage and overwrite attacks that conventional Canary cannot handle, but also enables the construction of various diversified software systems with more security. Experimental results show that this technology introduces less than 2% compilation overhead and an average of 3.22% runtime overhead for the SPEC CPU 2017 benchmark set while effectively improving security.
keywords: stack smashing protection randomization software diversity buffer overflow control flow hijacking
文章编号: 中图分类号: 文献标志码:
基金项目:国家重点研发计划 (2023YFB4503702)
引用文本:
梁超毅,叶子昂,戴华昇,张为华.基于软件多样性的栈溢出保护技术.计算机系统应用,2025,34(8):43-52
LIANG Chao-Yi,YE Zi-Ang,DAI Hua-Sheng,ZHANG Wei-Hua.Stack Smashing Protection Technique Based on Software Diversity.COMPUTER SYSTEMS APPLICATIONS,2025,34(8):43-52
梁超毅,叶子昂,戴华昇,张为华.基于软件多样性的栈溢出保护技术.计算机系统应用,2025,34(8):43-52
LIANG Chao-Yi,YE Zi-Ang,DAI Hua-Sheng,ZHANG Wei-Hua.Stack Smashing Protection Technique Based on Software Diversity.COMPUTER SYSTEMS APPLICATIONS,2025,34(8):43-52

