麻省理工学院和
加州大学伯克利分校的一组研究人员
在 Facebook,谷歌,微软和其他IT巨头的支持下
介绍了
Keystone项目。 这是一个开放源代码组件,使您可以基于RISC-V体系结构为运行程序组织受信任的环境(受信任的执行环境,
TEE )。
接下来-关于需要解决方案的原因及其工作方式。
/图片Wikimedia CC为什么选择基石
可信执行环境是主处理器的隔离区域(安全区),具有一组安全机制。 可以相信,可靠地保护了加载到该区域的代码和数据不受更改和外界干扰。
这样做的想法是,由于操作系统和其他应用程序都无法访问处理器的这些区域,因此您可以在这些区域中对个人和机密数据进行操作而不必担心受到破坏。
市场上有一些系统和解决方案可以保护数据。 但是,它们都是专有的,因为它们是由计算机芯片制造商自己实现的。 并且
有一种观点认为这些技术没有得到很好的保护(因为它们不能由独立的信息安全专家进行评估)。
例如,英特尔提供了
Software Guard Extensions (SGX)体系结构
扩展 ,可以保护数据免遭未经授权的访问和修改。 该技术还涉及在其中执行用户应用程序代码的区域。 但是,最近
已经知道此系统易受
Foreshadow攻击(
CVE-2018-3615 )。 攻击者可以使用
推测性执行命令的功能来访问SGX飞地中的数据。
除英特尔外,AMD还提供他们的解决方案-它们的名称分别是安全处理器和SEV,以及ARM-他们拥有TrustZone。 但是,
安全专家
也 对其安全性 有疑问 。
据麻省理工学院和加利福尼亚大学的研究人员称,开源系统虽然不会使飞地无敌,但仍将通过许多社区专家的专业知识来提高其安全性。
/图片Brad Holt CC因此,Keystone系统是基于RISC-V架构的TEE开源项目。 研究人员之所以选择RISC-V,是因为它不易受到旨在实际实施密码系统
的第三方渠道的攻击 。 尤其是,此类架构
不受 Meltdown和Spectre等漏洞的
影响 。
Keystone开发
人员设定了以下目标 :
- 建立信任链以检查硬件和软件的每个组件(包括安全启动系统和远程硬件可靠性验证);
- 将内存与外界干扰隔离;
- 实施防范第三方渠道攻击的方法;
- 实现内存和地址总线的加密方法。
解决方案组件
Keystone的概念基于
SGX技术和
麻省理工学院开发的
Sanctum处理器安全区平台。
后者是使用所谓的可信
抽象层或可信抽象平台(TAP)构建的。 平台(TAP)由具有
命令计数器的处理器,
通用寄存器 ,用于
转换虚拟地址的系统以及用于在安全区域中执行代码的一组原语组成。
在SGX系统中,Keystone“采用”了引擎进行内存加密(Memory Encryption Engine,MEE)。 解决方案的核心是使用
Rocket SoC生成器上的参数化RISC-V
BOOM处理器(伯克利无序机器)来组织的。
一般而言,具有RISC-V的安全区域的系统的实现方案如下:
研究人员已经对其解决方案进行了几次测试,
发现它可以可靠地隔离代码的运行时环境,并保护其免受外界干扰(至少免受已知攻击)。
释放时
第一个版本-Keystone v0.1-
将于今年秋天面世,并将在FPGA上执行。 研究人员发现,将来它将能够在
实施区块链平台时取代SGX。
PS第一个公司IaaS博客的其他资源:
PPS我们在Habré博客上的几则帖子: