Control-flow hijacking is an extremely harmful form of attacks. All of existing software defenses insert a huge amount of extra codes into the protected applications. They rely on these extra codes to enforce security checks, access information needed by these security checks, and manage the storage of the required information. This behavior leads to significant performance degradation and may introduce potential security vulnerabilities. The root cause of all these issues lies on the fact that, the current memory and cache architecture does not support the storage of the information required by the aforementioned security checks. This project proposes a set of run-time defenses using hardware implemented tagged memory. Tagged memory stores the security related information along with the data (code), removing the need for extra memory accesses as required in software defenses. These security defenses are enforced by a co-processor tightly coupled with the main processor pipeline. The co-processor adds the original processor with extra security checks: efficient enforcement on control-flow integrity and code-pointer integrity along with fine-grained code hiding. It is believed that these defenses can defeat the control-flow hijacking attacks because they block the attacks from multiple different angles. Compared with the traditional defenses implemented in software, hardware implemented defenses significantly decrease the amount of extra codes, minimize the possibility of introducing new security vulnerabilities, and reduce the performance overhead to a level which hopefully can be accepted by current processor designers.
控制流劫持是一种危害极其严重的攻击方式。现有的软件防御措施都依赖于大量的附加代码来完成运行时的安全检查、对附加信息的内存读写和对附加信息空间的动态管理。这就导致了软件防御性能低下,同时安全性不良的弊病。造成以上问题的最根本的原因,是现有的内存(缓存)结构没有为安全防御措施提供附加的存储空间。本项目拟提出一种用硬件标签内存实现的运行时安全防御机制。标签内存将安全防御所需的信息直接存放至数据(代码)的标签上,去除了软件防御中对安全信息的附加操作。硬件标签内存使用一个深度耦合的安全协处理器,扩展现有流水线的逻辑功能,实现高效的代码指针完整性检查、控制流完整性检查和细粒度的代码隐藏。这些功能为系统安全提供了多层面的整体防御,从而阻止控制流劫持攻击。基于硬件的安全防御机制显著减小了防御所需的代码量,防御措施本身被攻击的可能性,并将性能代价大幅度降低至现有系统可承受的范围。
控制流劫持是一种危害极其严重的攻击方式。现有的软件防御措施都依赖于大量的附加代码来完成运行时的安全检查、对附加信息的内存读写和对附加信息空间的动态管理。这就导致了软件防御性能低下,同时安全性不良的弊病。造成以上问题的最根本的原因,是现有的内存(缓存)结构没有为安全防御措施提供附加的存储空间。本项目提出了一种用硬件标签内存实现的运行时安全防御机制和基于随机化缓存的缓存侧信道防御机制。这些功能为系统安全提供了多层面的整体防御,从而阻止控制流劫持攻击。
{{i.achievement_title}}
数据更新时间:2023-05-31
基于被动变阻尼装置高层结构风振控制效果对比分析
基于多色集合理论的医院异常工作流处理建模
新产品脱销等待时间对顾客抱怨行为的影响:基于有调节的双中介模型
机电控制无级变速器执行机构动态响应特性仿真研究
汽车侧倾运动安全主动悬架LQG控制器设计方法
MPSoC的片上数据内存结构的软硬件协同设计方法研究
众核片上网络芯片的硬件木马在线检测关键技术研究
具有事务型内存的片上多处理器访存优化技术研究
复杂SoCs片上通信关键技术研究