广告

“无法破解的芯片”是怎样做到无法破解的?

2021-09-13 歪睿老哥 阅读:
今年的hotchips 33 ,密歇根大学的Austin教授带来MORPHEUS II。上一个版本的MORPUHES 最早出来的时候,被称作:“无法破解”的芯片,号称580名专家13000个小时尝试均告失败。MORPHEUS II的安全性更高了。这款芯片是怎样做到无法破解的?

1:“无法破解芯片?”qrUednc

今年的hotchips 33 ,密歇根大学的Austin教授带来MORPHEUS II。qrUednc

上一个版本的MORPUHES 最早出来的时候,被称作:“无法破解”的芯片,号称580名专家13000个小时尝试均告失败。qrUednc

但是世界上没有绝对的事!qrUednc

Austin教授说:“媒体上说芯片无法破解。我自己一般不会这么说,因为我认为它是可以破解的,但是这非常难破解!”qrUednc

qrUednc

 qrUednc

通常,当程序“调用”一个子程序时,它会在返回堆栈中存储该子程序结束时程序应返回的地址, 这个返回地址就是攻击者操纵执行所谓的缓冲区溢出或代码注入的位置。qrUednc

返回地址就是很多攻击的来源。qrUednc

在MORPHEUS之前就有很多手段,来保护返回地址的安全性,如一些控制流完整性的手段(CFI),这个本来也不稀奇。qrUednc

MORPHEUS通过一个加密单元实现底层机器码实现每50毫秒更改一次。通过加密后的更改这些底层代码,使得每个时间段后,机器码都会发生变化,同样不同处理器运行也不一致。qrUednc

这些返回地址,攻击者找不到,或者找到了,下一次就发生了改变。qrUednc

这样,在时间上,代码随着时间变化,在空间上,代码随着不同机器变化,因此要想分析这些机器码,就很困难。qrUednc

代码数据的自然识别系统每隔50毫秒生成一次,这意味着它可以阻止最强大的自动黑客工具。因此,即使黑客发现了一个漏洞,他们也利用不了该漏洞。当他们获得了破解漏洞必要的信息时,就会发现代码已发生了改变。qrUednc

qrUednc

 qrUednc

 qrUednc

 qrUednc

虽然宣传的不错,但是这种手段来抗攻击,川剧“变脸”,每隔一段时间就“churn” 扰动,这种手段带来了开销。qrUednc

虽然文章中说,开销很少,但是我还是持怀疑态度。qrUednc

另外,就是这个证明要靠悬赏。580名专家13000个小时的这些操作。qrUednc

搞这么多操作,用在什么地方?qrUednc

控制流完整性CFI搞了这么多年,在处理器领域也是,研究的多,应用的少。qrUednc

虽是如此,但是Morphus II的改进,还是令人眼前一亮。qrUednc

 qrUednc

2:MORPHEUS II的进化qrUednc

MORPHEUS II 和最初的不同,这个进化设计了这个RISC-V的微结构,基于Rocket Core,把处理器外部的所有输入指令和数据都加密了,这个想法起码挺不错的,这就带来了两个好处。qrUednc

第一点:所有指令和数据都是加密的。qrUednc

      加密的RAM和Disks,甚至,Cache内部也是加密的。包括I-Cache 和D-Cache。qrUednc

      也就是说,数据只有在处理器内部才是解密的,处理器外部所有的部分,全是密文。qrUednc

qrUednc

第二点:所有的指针都是加密的。qrUednc

对于抵抗攻击来说,这个是一个非常好的做法,可以有效防止对攻击者无法伪造/分析代码/指针;qrUednc

qrUednc

我比较看好这个基于RISC-V的微架构另一个潜在应用,就是云端虚拟化的隔离。qrUednc

2:云端虚拟化的隔离qrUednc

云端虚拟化业务,每个租户对自身数据安全性都是无价之宝,qrUednc

传统的云端隔离通道主要有四种隔离手段:qrUednc

1:计算CPU隔离qrUednc

      Hypervisor 通过相互隔离的计算通道来控制虚拟机与主机资源的交互。从而防止用户获得对系统以及对其他租户的读,写请求,实现多租户之间的计算隔离。qrUednc

2:内存DRAM隔离qrUednc

     Hypervisor同样负责隔离内存,确保虚拟机之间无法访问对方的内存。当实例被释放后,所有内存被Hypervisor清零,可以防止释放的物理内存页被其他用户访问;qrUednc

3:磁盘SSD隔离qrUednc

      存储隔离,目前的存储隔离通过hypervisor截获处理,保证虚拟机只能访问虚拟机分配的物理磁盘空间,实现虚拟磁盘空间的安全隔离。qrUednc

4:网络NETWORK隔离qrUednc

     Hypervisor复杂虚拟网络进行隔离,确保流量不被随意转发,虚拟机的网络资源只能被对应的虚拟机来获取。qrUednc

目前所有的隔离全部依靠是Hypervisor。qrUednc

如果租户相信Hypervisor,那就依赖Hypervisor。qrUednc

但是还是很多高安全业务,例如保险,证券等等也不完全信赖公有云的隔离。qrUednc

所有,更安全的方式是单租户独享物理资源,这就是裸金属云。qrUednc

使用裸金属云也更安全,不用和别人共享,可以做到物理隔离。qrUednc

那么虚拟化的隔离只能依赖Hypervisor?qrUednc

目前通过加密实现云端虚拟化的隔离是一个理想的手段,例如磁盘加密虚拟磁盘的隔离,加密数据其他任何人不能读取内部的数据,除用户自身外,任何其他人无法读取和访问其中的数据。qrUednc

这种隔离方式,是一种更为安全隔离的方式。qrUednc

这些技术对于云端虚拟化安全可以提升一个层次。qrUednc

以前hypervisor,是一个软件程序,计算CPU和内存DRAM目前看还不能加密。qrUednc

由软的hypervisor到硬CPU架构,通过CPU架构加密实现隔离,这个应该是不错的想法,虽然还有很长的路要走。qrUednc

从Morphous II来看,其架构上,可以实现,指令,数据全部加密,也就是说,内存和磁盘上存储全是加密数据,这些加密数据可以和CPU处理架构绑定,这样可以通过密码手段实现整个虚拟化运行环境的隔离。qrUednc

可以通过这个处理器RISC-V的微架构来保证,计算CPU内部和DRAM内部都是密文,只有在取指(IF)后,以及读取数据(LOAD),数据才变成明文。qrUednc

这个与“同态加密”技术对比来看,同态加密技术,目前效率还是比较低,还需要一段时间才能实用化。qrUednc

而Morphous II 虽然没有同态加密那么高大上,但是也算是CPU架构上的创新,有可能解决很大一部分问题。qrUednc

   qrUednc

 qrUednc

qrUednc

 qrUednc

 qrUednc

 qrUednc

这个工作也列出了下一代的Morpheus的方向。qrUednc

其中包括,高安全隐私计算,基于加密和物理隔离的防护,以及在亚马逊的AWS和微软的Azure来部署。qrUednc

从这点来看,Morpheus II终于从不停“扰动”到找到方向。qrUednc

 欢迎关注:歪睿老哥,如果你觉得本文还不错,欢迎点赞,在看,分享。qrUednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
歪睿老哥
一个芯片设计行业老哥;忙时研发,闲时写作;聚焦芯片行业的那些事,唯武侠与芯片不可辜负。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了