首页> 外文会议>USENIX security symposium >Address Obfuscation: an Efficient Approach to Combat a Broad Range of Memory Error Exploits
【24h】

Address Obfuscation: an Efficient Approach to Combat a Broad Range of Memory Error Exploits

机译:地址混淆:一种有效的方法来打击广泛的内存错误漏洞利用

获取原文

摘要

Attacks which exploit memory programming errors (such as buffer overflows) are one of today's most serious security threats. These attacks require an attacker to have an in-depth understanding of the internal details of a victim program, including the locations of critical data and/or code. Program obfuscation is a general technique for securing programs by making it difficult for attackers to acquire such a detailed understanding. This paper develops a systematic study of a particular kind of obfuscation called address obfuscation that randomizes the location of victim program data and code. We discuss different implementation strategies to randomize the absolute locations of data and code, as well as relative distances between data locations. We then present our implementation that transforms object files and executables at link-time and load-time. It requires no changes to the OS kernel or compilers, and can be applied to individual applications without affecting the rest of the system. It can be implemented with low runtime overheads. Address obfuscation can reduce the probability of successful attacks to be as low as a small fraction of a percent for most memory-error related attacks. Moreover, the randomization ensures that an attack that succeeds against one victim will likely not succeed against another victim, or even for a second time against the same victim. Each failed attempt will typically crash the victim program, thereby making it easy to detect attack attempts. These aspects make it particularly effective against large-scale attacks such as Code Red, since each infection attempt requires significantly more resources, thereby slowing down the propagation rate of such attacks.
机译:利用内存编程错误(例如缓冲区溢出)的攻击是今天最严重的安全威胁之一。这些攻击需要攻击者深入了解受害者程序的内部细节,包括关键数据和/或代码的位置。程序混淆是一种用于保护计划的一般技术,使攻击者难以获得这种详细的理解。本文开发了一种系统研究,称为地址混淆的特定混淆,随机化受害者计划数据和代码的位置。我们讨论了不同的实现策略,以便随机化数据和代码的绝对位置,以及数据位置之间的相对距离。然后,我们在链接 - 时间和加载时介绍了我们的实现将对象文件和可执行文件转换为可执行文件。它不需要更改OS内核或编译器,并且可以应用于单个应用程序而不影响系统其余部分。它可以用低运行时开销实现。地址混淆可以降低成功攻击的概率低至大多数内存误差相关攻击的百分比低。此外,随机化确保了对一个受害者成功的攻击可能不会取得成功反对另一个受害者,甚至是第二次反对同一受害者。每次失败的尝试都会崩溃受害者程序,从而使其易于检测攻击尝试。这些方面使得对诸如代码红色的大规模攻击特别有效,因为每个感染尝试需要更大的资源,从而减缓这种攻击的传播速率。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号