0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

“无法破解的芯片”是个什么原理?

中科院半导体所 来源:歪睿老哥 作者:歪睿老哥 2022-04-06 09:41 次阅读

1:“无法破解芯片?”

今年的hotchips 33 ,密歇根大学的Austin教授带来MORPHEUS II。上一个版本的MORPUHES 最早出来的时候,被称作:“无法破解”的芯片,号称580名专家13000个小时尝试均告失败。但是世界上没有绝对的事!

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

48f2e158-b00f-11ec-aa7f-dac502259ad0.png

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

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

在MORPHEUS之前就有很多手段,来保护返回地址的安全性,如一些控制流完整性的手段(CFI),这个本来也不稀奇。MORPHEUS通过一个加密单元实现底层机器码实现每50毫秒更改一次。通过加密后的更改这些底层代码,使得每个时间段后,机器码都会发生变化,同样不同处理器运行也不一致。

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

这样,在时间上,代码随着时间变化,在空间上,代码随着不同机器变化,因此要想分析这些机器码,就很困难。代码数据的自然识别系统每隔50毫秒生成一次,这意味着它可以阻止最强大的自动黑客工具。因此,即使黑客发现了一个漏洞,他们也利用不了该漏洞。当他们获得了破解漏洞必要的信息时,就会发现代码已发生了改变。

4910b62e-b00f-11ec-aa7f-dac502259ad0.png

虽然宣传的不错,但是这种手段来抗攻击,川剧“变脸”,每隔一段时间就“churn” 扰动,这种手段带来了开销。虽然文章中说,开销很少,但是我还是持怀疑态度。另外,就是这个证明要靠悬赏。580名专家13000个小时的这些操作。搞这么多操作,用在什么地方?控制流完整性CFI搞了这么多年,在处理器领域也是,研究的多,应用的少。虽是如此,但是Morphus II的改进,还是令人眼前一亮。

2:MORPHEUS II的进化

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

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

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

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

4923866e-b00f-11ec-aa7f-dac502259ad0.png

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

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

49428564-b00f-11ec-aa7f-dac502259ad0.png

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

2:云端虚拟化的隔离

云端虚拟化业务,每个租户对自身数据安全性都是无价之宝,传统的云端隔离通道主要有四种隔离手段:

1:计算CPU隔离

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

2:内存DRAM隔离

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

3:磁盘SSD隔离

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

4:网络NETWORK隔离

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

目前所有的隔离全部依靠是Hypervisor。如果租户相信Hypervisor,那就依赖Hypervisor。但是还是很多高安全业务,例如保险,证券等等也不完全信赖公有云的隔离。所有,更安全的方式是单租户独享物理资源,这就是裸金属云。使用裸金属云也更安全,不用和别人共享,可以做到物理隔离。那么虚拟化的隔离只能依赖Hypervisor?

目前通过加密实现云端虚拟化的隔离是一个理想的手段,例如磁盘加密虚拟磁盘的隔离,加密数据其他任何人不能读取内部的数据,除用户自身外,任何其他人无法读取和访问其中的数据。这种隔离方式,是一种更为安全隔离的方式。这些技术对于云端虚拟化安全可以提升一个层次。以前hypervisor,是一个软件程序,计算CPU和内存DRAM目前看还不能加密。由软的hypervisor到硬CPU架构,通过CPU架构加密实现隔离,这个应该是不错的想法,虽然还有很长的路要走。

从Morphous II来看,其架构上,可以实现,指令,数据全部加密,也就是说,内存和磁盘上存储全是加密数据,这些加密数据可以和CPU处理架构绑定,这样可以通过密码手段实现整个虚拟化运行环境的隔离。可以通过这个处理器RISC-V的微架构来保证,计算CPU内部和DRAM内部都是密文,只有在取指(IF)后,以及读取数据(LOAD),数据才变成明文。这个与“同态加密”技术对比来看,同态加密技术,目前效率还是比较低,还需要一段时间才能实用化。而Morphous II 虽然没有同态加密那么高大上,但是也算是CPU架构上的创新,有可能解决很大一部分问题。

495bd456-b00f-11ec-aa7f-dac502259ad0.png

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

其中包括,高安全隐私计算,基于加密和物理隔离的防护,以及在亚马逊的AWS和微软的Azure来部署。从这点来看,Morpheus II终于从不停“扰动”到找到方向。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    454

    文章

    50502

    浏览量

    422332
  • 代码
    +关注

    关注

    30

    文章

    4762

    浏览量

    68408

原文标题:“无法破解的芯片”到底是个什么原理?

文章出处:【微信号:bdtdsj,微信公众号:中科院半导体所】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    USB驱动问题:设备无法识别的全面指南!

    今天我把USB驱动问题,关于设备无法识别方面做一全面指南供大家参考。连接USB无法识别模组设备,是不是驱动问题?今天就一起来聊聊如何排查解决。
    的头像 发表于 11-26 12:35 159次阅读
    USB驱动问题:设备<b class='flag-5'>无法</b>识别的全面指南!

    3D案例 破解细小、反光针脚检测难题

    细小的针脚,虽不引人瞩目,却在整个生产链条中起着至关重要的作用。三极管是一种控制电流的半导体器件,它的针脚排列必须与封装对应一致,否则电路无法正常工作,因此其针脚检测尤为重要。 但目前的2D相机无法
    的头像 发表于 10-09 16:33 193次阅读
    3D案例 <b class='flag-5'>破解</b>细小、反光针脚检测难题

    急寻电力网关破解方案,求助各位大侠!

    大家好,我最近在项目中遇到了一款电力网关,想要进行一些定制化的功能实现,但无奈无法获取其源代码或相关文档。希望能有经验丰富的朋友提供一些破解或绕过的方法,或者推荐一些相关的资源和工具。我会非常感激,也愿意分享我的项目经验与大家交流!谢谢!
    发表于 10-09 12:26

    路由器无法连接网关怎么解决

    路由器无法连接网关通常意味着路由器无法与互联网服务提供商(ISP)的服务器建立通信。这可能导致无法访问互联网、无法访问特定的在线资源或无法访
    的头像 发表于 09-30 11:41 3525次阅读

    LKT(LCS)代码移植芯片优势

    智能卡芯片内的程序段,获得运行结果,并以此结果作为用户程序进一步运行的输入数据。因此加密芯片成了产品的一部分,而代码在芯片内部运算,盗版商无法破解
    的头像 发表于 08-22 10:03 697次阅读

    PSIM的电机驱动模块怎么破解

    请问我下载的软件电机模块不能使用怎么解决?显示如下:此元件 PMSM3_V 是电机驱动模块的一部分,而许可证不包括此模块。请与Powersim公司联系购买电机驱动模块。必须要购买吗,我在网上找的软件,该如何破解
    发表于 04-16 22:16

    如何破解芯片热管理难题

    电源问题,尤其是热量问题,正是制约了当今芯片和系统设计的关键因素。持续增加的晶体管密度导致了更高的功率密度,这限制了时钟频率的提升。
    的头像 发表于 03-26 09:28 491次阅读
    如何<b class='flag-5'>破解</b><b class='flag-5'>芯片</b>热管理难题

    miniprog3下载器无法识别芯片怎么解决?

    大家好,请问大家有没有遇到过miniprog3连接之后,PSoC Programmer显示无法识别芯片的情况?我用自己画的电路板和CY8CKIT-050开发板连接之后都显示无法识别,请问这种情况是哪里出了问题,要怎么解决呢?
    发表于 02-20 07:33

    STM32无法进入片上Bootloader的处理方法

    STM32无法进入片上Bootloader的处理方法  当STM32芯片无法进入片上Bootloader时,我们需要采取一系列的处理方法来解决这个问题。以下将详细介绍一些常见的处理方法。 1.编程器
    的头像 发表于 02-02 14:33 1967次阅读

    STM芯片锁定或无法发送ACK的原因是什么?

    了 ACK,固件升级过程开始了,但随后由于 I2C 总线繁忙,中途失败 \" \" 我还连接了一示波器来查看 I2C 总线上的信号;边缘和时序看起来还不错。 在此固件升级过程中,STM 芯片(在 ROM 引导加载程序中)似乎锁定或无法
    发表于 01-30 06:55

    ADUCM360利用Jlink模式无法识别芯片是什么原因导致的?

    专家您好: 我做到ADUCM360的板子已经投产了100套未发现下载问题 但是今天遇到一问题无法解决,请专家帮助。图1是我的原理图,我采用keil5的环境利用jlink采用(SW)模式进行调试
    发表于 01-11 06:08

    ch340g无法识别的usb设备

    CH340G芯片是一种常用的USB转串口芯片,常用于Arduino开发板和其他一些需要通过USB与计算机通信的设备。然而,有时候我们可能会遇到CH340G无法被识别的问题。这可能会导致设备无法
    的头像 发表于 01-05 14:18 4137次阅读

    flymcu芯片超时无应答,无法连接

    flymcu芯片是一种集成电路,广泛应用于嵌入式系统和智能设备中。然而,有时候用户会遇到一些问题,比如芯片超时无应答、无法连接等。本文将从几个方面详细分析这些问题并提供解决方案,以帮助读者更好地理
    的头像 发表于 12-27 10:39 7666次阅读

    同一芯片不同封装的原因

    同一芯片的不同封装可能是为了满足不同的应用需求和设计要求。不同的封装可以影响芯片的功耗、散热性能、引脚数量和布局等方面。
    的头像 发表于 12-18 18:15 1127次阅读

    为什么示波器无法直接测量差分信号?

    不同的引脚输入示波器。传统示波器通常只有一输入通道,而无法直接处理差分信号。因此,如果将差分信号直接连接到示波器的输入通道上,将无法正确地显示差分信号的波形。 其次,差分信号的幅度通常较小,峰峰值较低。这使得示
    的头像 发表于 12-05 11:23 1049次阅读
    为什么示波器<b class='flag-5'>无法</b>直接测量差分信号?