...
首页> 外文期刊>Operating systems review >Secure Virtual Architecture: A Safe Execution Environment for Commodity Operating Systems
【24h】

Secure Virtual Architecture: A Safe Execution Environment for Commodity Operating Systems

机译:安全的虚拟体系结构:商品操作系统的安全执行环境

获取原文
获取原文并翻译 | 示例
           

摘要

This paper describes an efficient and robust approach to provide a safe execution environment for an entire operating system, such as Linux, and all its applications. The approach, which we call Secure Virtual Architecture (SVA), defines a virtual, low-level, typed instruction set suitable for executing all code on a system, including kernel and application code. SVA code is translated for execution by a virtual machine transparently, offline or online. SVA aims to enforce fine-grained (object level) memory safety, control-flow integrity, type safety for a subset of objects, and sound analysis. A virtual machine implementing SVA achieves these goals by using a novel approach that exploits properties of existing memory pools in the kernel and by preserving the kernel's explicit control over memory, including custom allocators and explicit deallocation. Furthermore, the safety properties can be encoded compactly as extensions to the SVA type system, allowing the (complex) safety checking compiler to be outside the trusted computing base. SVA also defines a set of OS interface operations that abstract all privileged hardware instructions, allowing the virtual machine to monitor all privileged operations and control the physical resources on a given hardware platform. We have ported the Linux kernel to SVA, treating it as a new architecture, and made only minimal code changes (less than 300 lines of code) to the machine-independent parts of the kernel and device drivers. SVA is able to prevent 4 out of 5 memory safety exploits previously reported for the Linux 2.4.22 kernel for which exploit code is available, and would prevent the fifth one simply by compiling an additional kernel library.
机译:本文介绍了一种有效且健壮的方法,可为整个操作系统(例如Linux)及其所有应用程序提供安全的执行环境。我们称为安全虚拟体系结构(SVA)的方法定义了一种虚拟的,低级的,类型化的指令集,适用于在系统上执行所有代码,包括内核和应用程序代码。 SVA代码可以透明,脱机或联机地转换为由虚拟机执行。 SVA旨在加强细粒度(对象级别)的内存安全性,控制流完整性,对象子集的类型安全性以及声音分析。实现SVA的虚拟机通过使用一种新颖的方法来实现这些目标,该方法利用了内核中现有内存池的属性,并保留了内核对内存的显式控制,包括自定义分配器和显式释放。此外,可以将安全属性紧凑地编码为SVA类型系统的扩展,从而允许(复杂的)安全检查编译器位于受信任的计算基础之外。 SVA还定义了一组OS接口操作,用于抽象所有特权硬件指令,从而允许虚拟机监视所有特权操作并控制给定硬件平台上的物理资源。我们已经将Linux内核移植到SVA,将其视为新的体系结构,并且仅对内核和设备驱动程序中与机器无关的部分进行了最少的代码更改(少于300行代码)。 SVA能够防止先前针对可用漏洞利用代码的Linux 2.4.22内核报告的五分之四的内存安全漏洞,并且只需编译一个附加的内核库就可以防止第五个内存安全漏洞。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号