硬件辅助的地址空间内防护技术综述
A Survey of Hardware-Assisted Intra-Address Space Protections
-
摘要:研究背景 由于非安全语言的使用、模块化的软件设计以及单体编程模型的流行,软件中处于同一地址空间中的代码和数据面临严峻的安全威胁。缓冲区溢出、控制流劫持和系统调用旁路等问题经常被利用导致严重的后果。在这个背景下, 地址空间内防护(Intra-Address Space Protection,IASP)的重要性逐渐受到关注。IASP基于特定的安全规则设置检查机制,对处于同一地址空间内部的软件敏感操作进行检查和认证。防止不受信任的代码被利用来窃取或者篡改软件敏感数据。纯软件实现的IASP难以有效应对日益复杂的软件规模和不断变化的安全威胁。而在学术界和工业界,利用硬件来支持地址空间内安全防护逐渐成为提高防护效率和安全性重要方向。目的 本综述目的在于揭示硬件辅助方法在IASP每个分类技术下如何起到帮助作用。作者通过对现有技术的定性分析,总结现有技术的问题和发展趋势,以使读者全面理解硬件辅助的IASP是一个多方面权衡的复杂设计问题。本文激励读者在不同层次、针对不同应用场景设计相应的IASP优化方案。方法 本文将IASP技术归结为内存安全、控制流完整性、接口/ISA资源限制以及分区隔离四个类别,同时分别针对这四个类别展开大量关于硬件辅助方法的调研。文章将硬件辅助的内存安全的关键设计考虑细分为防护目的、防护模式以及元数据策略四个方面;将硬件辅助的控制流完整性的关键设计考虑细分为方向、元数据结构;将软件分区的关键设计考虑细分为隔离模型、访问控制以及跨分区切换等三个方面;并从高特权态和ISA资源限制两个方面来讨论地址空间内的接口/ISA资源限制。作者基于文献调研,对上述各个分类的众多安全问题进行了详细技术讨论和总结分析,同时提出了面向性能、安全性、可移植性和硬件实现的12项技术评价标准,并将本文所讨论的工作按照这些标准进行了定性的评测。结果 文章分析总结了现有硬件辅助IASP技术的不足。总体上看,硬件辅助的IASP技术在性能、安全性、可移植性和实现四个方面还存在着挑战。在性能方面,元数据管理是当下硬件辅助IASP技术的主要性能开销来源;在安全性方面,对元数据和敏感指令的保护缺失,以及潜在的权限残留问题可能导致防护系统本身的失效;在可移植性方面,编译器支持、内核修改以及ABI修改阻碍着防护方法的实际应用;在实际实现方面,大量硬件资源开销以及硬件原型的缺乏导致一些防护方法距离部署还存在不小的差距。面对上述问题,文章总结了该方向的未来发展趋势,包括向轻量级的分区隔离系统的转移、对防护全面性的和元数据管理的重视,防护粒度的多样化以及对真实准确的系统平台的需求。结论 本文对硬件辅助的地址空间防护进行了全面综述,介绍了地址空间内保护(IASP)的背景、概念和应用场景,并强调了硬件辅助方法如何提高效率和安全性。根据目标威胁的类型,文章将硬件辅助的IASP方法分为四类:内存安全、控制流完整性、接口/ISA资源限制以及分区隔离。此外,还讨论了每一类方法的关键设计考虑因素。基于大量的文献调查和研究以及关于12项评价标准的定性分析,文章总结了当下硬件辅助IASP技术的主要问题,并讨论了该研究方向的发展趋势,这将有助于推进高效、安全且可用的IASP研究,为当下软件生态提供更强力的安全基础设施。Abstract: With a similar threat model, conventional software mechanisms aimed at various levels of security can be categorized as intra-address space protection (IASP) including memory safety, control-flow integrity, syscall filtering, and isolation. When enhancing security, software-only IASP methods result in an expanded trusted computing base (TCB) and can lead to performance slowdowns, making it challenging to strike a balance between security and performance. Recent studies indicate that hardware-assisted methods enhance efficiency by encapsulating hardware primitives and utilizing specialized microarchitecture designs. They also enhance security by reducing the trusted computing base’s attack surface. However, there has been limited discussion regarding the key challenges in current hardware-assisted IASP studies. This paper conducts a comprehensive survey of hardware-assisted IASP and discusses critical design issues, such as metadata management strategies, protection comprehensiveness, protection granularity, and processor complexity. Through a qualitative analysis of existing methods, this paper summarizes the research trends in hardware-assisted IASP technologies and emphasizes the importance of isolation models, access control strategies, and cross-compartment switching in future hardware-assisted IASP designs.
下载: