首页> 外文OA文献 >Heisenbyte: Thwarting Memory Disclosure Attacks using Destructive Code Reads
【2h】

Heisenbyte: Thwarting Memory Disclosure Attacks using Destructive Code Reads

机译:Heisenbyte:使用破坏性代码读取阻止内存泄露攻击

摘要

Vulnerabilities that disclose executable memory pages enable a new class of powerful code reuse attacks that build the attack payload at runtime. In this work, we present Heisenbyte, a system to protect against memory disclosure attacks. Central to Heisenbyte is the concept of destructive code reads – code is garbled right after it is read. Garbling the code after reading it takes away from the attacker her ability to leverage memory disclosure bugs in both static code and dynamically generated just-in-time code. By leveraging existing virtualization support, Heisenbyte’s novel use of destructive code reads sidesteps the problem of incomplete binary disassembly in binaries, and extends protection to close-sourced COTS binaries, which are two major limitations of prior solutions against memory disclosure vulnerabilities. Our experiments demonstrate that Heisenbyte can tolerate some degree of imperfect static analysis in disassembled binaries, while effectively thwarting dynamic code reuse exploits in both static and JIT code, at a modest 1.8% average runtime overhead due to virtualization and 16.5% average overhead due to the destructive code reads.
机译:揭示可执行内存页的漏洞启用了一类新型的强大代码重用攻击,这些攻击可在运行时构建攻击有效负载。在这项工作中,我们介绍了Heisenbyte,这是一种防止内存泄露攻击的系统。 Heisenbyte的核心是破坏性代码读取的概念-代码在读取后立即显示乱码。读取代码后将其乱码会使攻击者失去利用静态代码和动态生成的即时代码中的内存泄露错误的能力。通过利用现有的虚拟化支持,Heisenbyte对破坏性代码的新颖使用避免了二进制文件中二进制文件不完全反汇编的问题,并将保护范围扩展到了封闭源COTS二进制文件,这是现有解决方案针对内存泄漏漏洞的两个主要限制。我们的实验表明,Heisenbyte可以忍受反汇编二进制文件中某种程度的不完善的静态分析,同时有效地阻止了静态和JIT代码中的动态代码重用利用,其中虚拟化导致的平均运行时开销仅为1.8%,而虚拟化导致的平均开销为16.5%。破坏性代码读取。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号