Simplex:利用英特尔 MPX 实现安全存储
1. 引言
在当今数字化时代,信息安全至关重要。为了保护敏感数据不被攻击者获取,研究人员开发了各种技术。Simplex 库就是其中之一,它旨在利用英特尔的 MPX(Memory Protection Extensions)技术实现安全存储。本文将详细介绍 Simplex 库的设计、实现和评估。
2. 设计决策
在隐藏信息免受攻击者侵害方面,以往的工作通常选择以下三种方案之一:
1. 内核或特权模式页面存储 :将信息存储在内核或只能在特权硬件模式下访问的页面中,只要操作系统未被破坏,这种方法是安全的。然而,每次查询或更新都需要额外的上下文切换,会影响性能。
2. 程序地址空间隐藏区域存储 :将信息存储在程序地址空间的隐藏区域,这种方法性能较好。但它依赖于概率隐藏措施,如果攻击者了解隐藏信息的类型,或者能够容忍搜索过程中的崩溃和重启,这种方法可能会被破解。
3. 保留寄存器存储 :从编译器的分配池中保留寄存器,专门用于存储敏感数据。一旦选择了寄存器,防御者可以正式验证没有其他代码访问这些寄存器,从而保证安全性。然而,可用寄存器有限,可能会与其他防御措施或动态链接代码发生冲突。
3. Simplex 编译
3.1 手动修改的局限性
在评估中,手动将全局指针对象及其引用/解引用语句替换为使用边界寄存器的必要代码。但这种方法不可扩展,例如对 SPEC CPU2017 基准测试的修改,小代码库的修改都需要大量的开发时间和精力,对于
超级会员免费看
订阅专栏 解锁全文
1018

被折叠的 条评论
为什么被折叠?



