首页> 外文会议>Association for Computing Machinery Conference on Computer and Communications Security >When Good Instructions Go Bad: Generalizing Return-Oriented Programming to RISC
【24h】

When Good Instructions Go Bad: Generalizing Return-Oriented Programming to RISC

机译:当良好的指示变坏时:将概括的返回方向编程到RISC

获取原文

摘要

This paper reconsiders the threat posed by Shacham's "return-oriented programming" - a technique by which W{direct +}/X-style hardware protections are evaded via carefully crafted stack frames that divert control flow into the middle of existing variable-length x86 instructions - creating short new instructions streams that then return. We believe this attack is both more general and a greater threat than the author appreciated. In fact, the vulnerability is not limited to the x86 architecture or any particular operating system, is readily exploitable, and bypasses an entire category of malware protections. In this paper we demonstrate general return-oriented programming on the SPARC, a fixed instruction length RISC architecture with structured control flow. We construct a Turing-complete library of code gadgets using snippets of the Solaris libc, a general purpose programming language, and a compiler for constructing return-oriented exploits. Finally, we argue that the threat posed by return-oriented programming, across all architectures and systems, has negative implications for an entire class of security mechanisms: those that seek to prevent malicious computation by preventing the execution of malicious code.
机译:本文重新考虑了Shacham“以返回返回的编程”构成的威胁 - 通过仔细制作堆栈框架将控制流入现有变量长度x86中间的care {direct +} / x风格的硬件保护延迟的技术。说明 - 创建短的新指令流,然后返回。我们认为这次袭击既是一般,也比作者感谢更大的威胁。实际上,漏洞不限于X86架构或任何特定的操作系统,很容易利用,并绕过整个恶意软件保护。在本文中,我们在SPARC上展示了一般的返回定向编程,具有结构化控制流的固定指令长度RISC架构。我们使用Solaris Libc的片段,通用编程语言和编译器构建一个图形的代码小工具库,用于构建返回导向的漏洞。最后,我们争辩说,以返回的所有架构和系统为导向的编程构成的威胁对整个安全机制具有负面影响:那些通过防止执行恶意代码来防止恶意计算的威胁。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号