StackGuard + $\text{StackGuard}^+$ : Interoperable alternative to canary-based protection of stack smashing

IF 0.7 4区 工程技术 Q4 ENGINEERING, ELECTRICAL & ELECTRONIC Electronics Letters Pub Date : 2024-10-07 DOI:10.1049/ell2.13310
Kangmin Kim, Jeong-Nyeo Kim, Seungkwang Lee
{"title":"StackGuard\n +\n \n $\\text{StackGuard}^+$\n : Interoperable alternative to canary-based protection of stack smashing","authors":"Kangmin Kim,&nbsp;Jeong-Nyeo Kim,&nbsp;Seungkwang Lee","doi":"10.1049/ell2.13310","DOIUrl":null,"url":null,"abstract":"<p>This paper introduces a novel software-based approach to enhancing stack smashing protection in C/C++ applications, specifically targeting return-oriented programming attacks, which remain a significant threat to firmware and software security. Traditional canary-based protections are vulnerable to brute-force and format string attacks. Additionally, many stack protection mechanisms require access to the source code or recompilation, complicating the security of existing binaries. This paper proposes a new method, aptly named <span></span><math>\n <semantics>\n <msup>\n <mtext>StackGuard</mtext>\n <mo>+</mo>\n </msup>\n <annotation>$\\text{StackGuard}^+$</annotation>\n </semantics></math>, that modifies the canary-based protection mechanism by altering the code responsible for canary insertion and verification. This change ensures the integrity of the return address while maintaining the original code size, allowing for seamless interoperability without the need for recompilation or additional hardware. The approach can be automated using a Python script, which modifies existing canary-based binaries with only 26 bytes of machine code on the <span></span><math>\n <semantics>\n <mo>×</mo>\n <annotation>$\\times$</annotation>\n </semantics></math>86-64 platform. Moreover, this approach can be easily adapted to other platforms, including <span></span><math>\n <semantics>\n <mo>×</mo>\n <annotation>$\\times$</annotation>\n </semantics></math>86 and ARM64.</p>","PeriodicalId":11556,"journal":{"name":"Electronics Letters","volume":null,"pages":null},"PeriodicalIF":0.7000,"publicationDate":"2024-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1049/ell2.13310","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Electronics Letters","FirstCategoryId":"5","ListUrlMain":"https://onlinelibrary.wiley.com/doi/10.1049/ell2.13310","RegionNum":4,"RegionCategory":"工程技术","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"ENGINEERING, ELECTRICAL & ELECTRONIC","Score":null,"Total":0}
引用次数: 0

Abstract

This paper introduces a novel software-based approach to enhancing stack smashing protection in C/C++ applications, specifically targeting return-oriented programming attacks, which remain a significant threat to firmware and software security. Traditional canary-based protections are vulnerable to brute-force and format string attacks. Additionally, many stack protection mechanisms require access to the source code or recompilation, complicating the security of existing binaries. This paper proposes a new method, aptly named StackGuard + $\text{StackGuard}^+$ , that modifies the canary-based protection mechanism by altering the code responsible for canary insertion and verification. This change ensures the integrity of the return address while maintaining the original code size, allowing for seamless interoperability without the need for recompilation or additional hardware. The approach can be automated using a Python script, which modifies existing canary-based binaries with only 26 bytes of machine code on the × $\times$ 86-64 platform. Moreover, this approach can be easily adapted to other platforms, including × $\times$ 86 and ARM64.

查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
StackGuard + $\text{StackGuard}^+$ : 基于金丝雀的堆栈粉碎保护的可互操作替代方案
本文介绍了一种基于软件的新方法,用于加强 C/C++ 应用程序中的堆栈粉碎保护,特别是针对面向返回的编程攻击,这种攻击仍然是对固件和软件安全的重大威胁。传统的基于金丝雀的保护措施容易受到暴力破解和格式字符串攻击。此外,许多堆栈保护机制需要访问源代码或重新编译,使现有二进制文件的安全性变得更加复杂。本文提出了一种名为 StackGuard + $\text{StackGuard}^+$ 的新方法,通过修改负责金丝雀插入和验证的代码来修改基于金丝雀的保护机制。这种修改既能确保返回地址的完整性,又能保持原始代码的大小,从而实现无缝互操作性,而无需重新编译或增加硬件。该方法可使用 Python 脚本实现自动化,在 × $\times$ 86-64 平台上修改现有的基于金丝雀的二进制文件,只需 26 字节的机器代码。此外,这种方法还可以很容易地适用于其他平台,包括 × $\times$ 86 和 ARM64。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
Electronics Letters
Electronics Letters 工程技术-工程:电子与电气
CiteScore
2.70
自引率
0.00%
发文量
268
审稿时长
3.6 months
期刊介绍: Electronics Letters is an internationally renowned peer-reviewed rapid-communication journal that publishes short original research papers every two weeks. Its broad and interdisciplinary scope covers the latest developments in all electronic engineering related fields including communication, biomedical, optical and device technologies. Electronics Letters also provides further insight into some of the latest developments through special features and interviews. Scope As a journal at the forefront of its field, Electronics Letters publishes papers covering all themes of electronic and electrical engineering. The major themes of the journal are listed below. Antennas and Propagation Biomedical and Bioinspired Technologies, Signal Processing and Applications Control Engineering Electromagnetism: Theory, Materials and Devices Electronic Circuits and Systems Image, Video and Vision Processing and Applications Information, Computing and Communications Instrumentation and Measurement Microwave Technology Optical Communications Photonics and Opto-Electronics Power Electronics, Energy and Sustainability Radar, Sonar and Navigation Semiconductor Technology Signal Processing MIMO
期刊最新文献
U-ONet: Remote sensing image semantic labelling based on octave convolution and coordination attention in U-shape deep neural network Active learning for efficient data selection in radio-signal-based positioning via deep learning Decoding microwave modulation transfer: The impact of dissipation through stochastic processes End-to-end speech-denoising deep neural network based on residual-attention gated linear units Dynamic pricing-based integration for non-cooperative ubiquitous sensing and communication network
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1