DynaGuard: Armoring Canary-based Protections against Brute-force Attacks

Theofilos Petsios, V. Kemerlis, M. Polychronakis, A. Keromytis
{"title":"DynaGuard: Armoring Canary-based Protections against Brute-force Attacks","authors":"Theofilos Petsios, V. Kemerlis, M. Polychronakis, A. Keromytis","doi":"10.1145/2818000.2818031","DOIUrl":null,"url":null,"abstract":"Over the past decade many exploit mitigation techniques have been introduced to defend against memory corruption attacks. W^X, ASLR, and canary-based protections are nowadays widely deployed and considered standard practice. However, despite the fact that these techniques have evolved over time, they still suffer from limitations that enable skilled adversaries to bypass them. In this work, we focus on countermeasures against the byte-by-byte discovery of stack canaries in forking programs. This limitation, although known for years, has yet to be addressed effectively, and was recently abused by a series of exploits that allowed for the remote compromise of the popular Nginx web server and a full ASLR bypass in x86-64 Linux. We present DynaGuard, an extension to canary-based protections that further armors hardened applications against brute-force canary attacks. We have implemented DynaGuard in two flavors: a compiler-based version, which incurs an average runtime overhead of 1.2%, and a version based on dynamic binary instrumentation, which can protect binary-only applications without requiring access to source code. We have evaluated both implementations using a set of popular server applications and benchmark suites, and examined how the proposed design overcomes the limitations of previous proposals, ensuring application correctness and seamless integration with third-party software.","PeriodicalId":338725,"journal":{"name":"Proceedings of the 31st Annual Computer Security Applications Conference","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"24","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 31st Annual Computer Security Applications Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2818000.2818031","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 24

Abstract

Over the past decade many exploit mitigation techniques have been introduced to defend against memory corruption attacks. W^X, ASLR, and canary-based protections are nowadays widely deployed and considered standard practice. However, despite the fact that these techniques have evolved over time, they still suffer from limitations that enable skilled adversaries to bypass them. In this work, we focus on countermeasures against the byte-by-byte discovery of stack canaries in forking programs. This limitation, although known for years, has yet to be addressed effectively, and was recently abused by a series of exploits that allowed for the remote compromise of the popular Nginx web server and a full ASLR bypass in x86-64 Linux. We present DynaGuard, an extension to canary-based protections that further armors hardened applications against brute-force canary attacks. We have implemented DynaGuard in two flavors: a compiler-based version, which incurs an average runtime overhead of 1.2%, and a version based on dynamic binary instrumentation, which can protect binary-only applications without requiring access to source code. We have evaluated both implementations using a set of popular server applications and benchmark suites, and examined how the proposed design overcomes the limitations of previous proposals, ensuring application correctness and seamless integration with third-party software.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
DynaGuard:基于金丝雀的盔甲保护,防止暴力攻击
在过去的十年中,已经引入了许多漏洞利用缓解技术来防御内存损坏攻击。W^X、ASLR和基于金丝雀的保护现在被广泛部署并被认为是标准实践。然而,尽管这些技术随着时间的推移而发展,它们仍然受到限制,使熟练的对手能够绕过它们。在这项工作中,我们专注于针对分叉程序中逐字节发现堆栈金丝雀的对策。这个限制,虽然已经知道很多年了,但还没有被有效地解决,最近被一系列的漏洞所滥用,这些漏洞允许远程入侵流行的Nginx web服务器,并在x86-64 Linux中完全绕过ASLR。我们提出了DynaGuard,这是一个基于金丝雀的保护的扩展,它进一步强化了应用程序,防止暴力金丝雀攻击。我们以两种方式实现了DynaGuard:一种是基于编译器的版本,它的平均运行时开销为1.2%;另一种是基于动态二进制检测的版本,它可以保护仅二进制的应用程序,而不需要访问源代码。我们使用一组流行的服务器应用程序和基准套件评估了这两种实现,并检查了建议的设计如何克服先前建议的局限性,确保应用程序的正确性和与第三方软件的无缝集成。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Scalable and Secure Concurrent Evaluation of History-based Access Control Policies Grab 'n Run: Secure and Practical Dynamic Code Loading for Android Applications Getting to know your Card: Reverse-Engineering the Smart-Card Application Protocol Data Unit PARS: A Uniform and Open-source Password Analysis and Research System Defeating ROP Through Denial of Stack Pivot
×
引用
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