没有单一的解决方案,最全面的安全方案可能过于昂贵。
半导体工程(semiengineering)访谈了 Synopsys 科学家 Mike Borza 讨论如何验证半导体设计的安全性;参与讨论的还有西门子 EDA 信任与安全产品经理 John Hallman;Pete Hardee,Cadence 产品管理集团总监;Expedera 营销副总裁 Paul Karazuba;和 Breker Verification 的首席执行官 Dave Kelf。
SE:在设计阶段可以预先确保多少安全性?我们可以验证设备是否安全吗?
Kelf:安全就是找出漏洞周围的状态空间,然后尝试对其进行验证。验证是否定验证。当进行功能验证时,你会验证某些功能是否正常运行。在这种情况下,查看芯片内部的安全元件——Arm Trust Zone 和 RISC-V PMP(物理内存保护)就是很好的例子,确保它不能通过某些特殊的状态组合进行访问。我们尝试对此进行验证,以确保没有其他漏洞。
Hallman: 状态空间显然是一个很好的焦点区域。但是能做到全部吗?可能不会。你必须加入约束。还有一个关于状态空间可见性的问题。能达到最低的设计水平吗?是不是在某个时候交付了一个黑匣子,而无法在其中看到内部的可见性?我们正在努力推动尽可能多的可见性,无论它涉及属性还是关于该 IP 的其他描述。我们如何才能尽早验证这一点?我们可以让 IP 开发人员进行验证吗?我们能否尽可能多地封闭和理解该状态空间?但除此之外,我们还在该 IP 开发商之外提供信息。你如何将安全性可能需要的验证信息传递到下一个级别,你可以在哪里进行集成级别的分析,并可能在以后的实施阶段进行分析?我不认为我们永远能够在设备生命周期的不同阶段检查安全性,无论是在开发阶段,还是在运行阶段。这就是数字化和数字孪生工作将有所帮助的地方。他们提供了一种在零件的整个生命周期中及早进行验证的方法。
Hardee: 至于用基于PSS的工具进行负面测试,可以帮助你超越状态空间的限制,编写一些有意义的测试程序,这有助于验证某些安全漏洞在你的系统中不存在并且不能被软件或非安全进程利用。能够在 PSS 中开发其中一些测试的关键确实是扩展 PSS 以能够应对负面测试。我们在状态空间问题上看到了完全相同的事情,我们看到了很多正式的使用。我们有很多人在实施流程、多个问题和乱序处理,并且很多都涉及极其全面的测试,因此他们不容易受到处理架构(如 Spectre)中发生的已知边信道攻击的影响,崩溃,和 PACMAN。正式也可以在子系统级别使用。我们有多个示例,其中 Arm 和 Intel 将与 Jasper 用户组讨论他们如何使用 formal 来验证加载存储单元和类似的东西。在系统层面,数字孪生之类的东西仍然很重要。但是,当我们与客户谈论现实的期望时,人们会对各种侧信道攻击感兴趣。其中一些可以在架构和 RTL 阶段进行测试和消除,而另一些则不能。其中一些涉及攻击者如何与你的电源系统交互,或者串扰如何可能通过电源信号、时钟信号或任何其他信号泄漏安全数据。除非你有系统的精确物理表示,否则几乎不可能验证这些。你需要模拟其中一些东西的模型变得非常详细,以至于即使是数字双胞胎也无法应对。需要稍后进行的物理攻击实验室测试是无可替代的。因此,你需要对 RTL 设计阶段、架构阶段可以完成的工作以及以后真正需要完成的工作设定预期。让人们了解这些不同类别的侧信道攻击是成功的关键。
Borza:我们在验证中所做的很多工作类似于一种 ISO 网络堆栈,你必须在与你正在工作的设计抽象级别相对应的每个级别上进行验证。在 RTL,你有一定程度的验证。布局布线后可以对物理设计进行一些分析和仿真,但这会变得更加复杂,并且需要更多的计算才能在这些阶段进行大量验证。你最终要做的是大量的硅后验证,以测试你的实际设计是否达到了你的目标。处理器侧通道就像新型的定时攻击。它们往往是基于时间的,而不是基于功率或能量的,但也有一些功率侧通道,人们需要关注。这甚至没有涉及一些物理攻击,比如光子发射。所以你需要关注很多层次,你越接近物理学,就会有越来越复杂的对手。这确实使得在验证方面做大量工作对于确保你已实现安全目标至关重要。
Karazuba:需要关注的一个方面是安全的经济学。你可以把三十多个工程师放在一个房间里,然后说,尽可能开发最安全的芯片。添加对侧信道攻击的抵抗力,建立信任根,尽可能部署最先进的加密算法。设计一个生产系统,我们在工厂中对设备进行验证,并在整个过程中插入密钥,以便我们可以在现场的任何地方对其进行 ping,并保证它运行正确的固件。你可以做所有这些,但它非常昂贵。这可能不符合你在特定芯片中寻找的成本概况。是否有可能开发出真正安全的设备?绝对地。这样做在经济上是否可行?这取决于你在何处部署设备的风险状况以及它将持有什么样的秘密。你的公司被黑客攻击的风险是什么?贵公司作为泄漏国家机密或公司机密的公司被纽约时报头版点名的公关风险有多大?
SE:我们今天看到的很多设计都是定制化程度更高,而且生产量更小。我们有新的工艺节点、混合节点设计、小芯片和新的键合方法,这些可能并不像每个人希望的那样完美。其中有多少可以预先确保?
Borza:每一步都必须进行分析,原因很简单。你越早发现问题并加以解决,成本就越低,因为你花费更少的时间和精力将其细化为最终设计。因此,早期验证事物的成本与等到以后你可以去寻找它们的成本之间存在平衡。但总的来说,及早解决问题的成本较低。然后,在每个级别,你需要确保如果你修复了某些东西,你不会在下一个级别重新引入它。这是挑战之一。你经常会破坏一些你认为已经修复的东西,而这些更改或决定是在设计过程的后期做出的——甚至是在晶圆厂的实施过程中做出的。
Kelf:随着我们设计更复杂和更定制化的系统,我们可以在设计中构建更多以关闭漏洞。当我们审视其中一些新应用时,汽车是最明显的应用,但也包括医疗和其他类似应用,是否存在与这些应用相关的特定漏洞,对于那些我们可以通过一些巧妙的设计工作作为目标的定制设备,甚至在我们验证之前?例如,你想确保某个人的心脏起搏器无法通过某些卫星链路进行控制。我们如何在架构层面设计一些东西,以避免在稍后的过程中在电源轨上使用某种奇怪的效果。我们现在看到了更多这样的东西,而且它对于某些应用程序来说真的会变得更加重要。
SE:在某种程度上,这也取决于人们想偷什么,对吧?因此,仅仅能够接管硬件是一回事。但是数据泄漏也很重要,你可以在其中收集少量非常重要的数据。
Karazuba:某人可以获得的价值,无论是数据还是对某物的物理访问,都在很大程度上取决于你将对其应用的安全级别。当你以起搏器为例谈论生命或健康时,显然这对起搏器的拥有者来说极其重要。从部署的角度来看,世界上一些最好的安全措施是围绕股票市场以及通过它们进行的数十亿或数万亿美元的交易。智能灯开关的货币价值要低得多,但在坏人手中,它可能会给高层建筑带来真正的问题。福特申请了一项关于自动收回汽车的专利。如果我真的想要那辆 Mustang GT,而且我可以破解他们的系统,它可以自动开到我的车库。
Hallman:目标之一是确定这些共同的安全领域,并尽早在这些部分进行设计。即使对于可能并不真正需要所有安全性的物联网设备,这也提高了标准。但是,如果更早地引入这种安全性,那么你就可以通过预先添加一些常见元素来提高整个行业的标准。所以这就是设计的安全性真正有好处的地方。但是我们需要在每个过程中不断检查安全性在开发链的任何地方都没有受到损害。
Borza:回到那个物联网电灯开关的例子,如果你可以使用那个物联网平台作为进入房屋的立足点,你可以获得比灯泡更多的价值。所以交换机制造商认为它在这方面没有太大的作用,因为它在交换机上没有赚到多少钱。它并没有保护很多利益。但问题是你屋子里的东西。所以现在我们正在讨论针对该问题的更多架构解决方案,例如将 IoT 网络放入一个单独的网络中,该网络在物理上或逻辑上隔离并受防火墙保护。你开始看到这个概念的出现,物联网在一个地方,并且将它作为立足点进入房屋要困难得多。
Hardee:物联网/边缘设备是一个值得关注的大领域。我们销售的客户越来越注重安全。我们还看到大量贸易公司正在创建自己的 AI/ML 芯片,并且能够在交易速度上获得微秒或纳秒级的延迟改进对于这些应用程序来说正变得非常重要。安全与此齐头并进,因为处理大量交易的速度对这些公司来说是成败攸关的。安全显然也是其中的一个重要因素。但是回到最初关于多芯片模块和其他各种东西的可扩展性大幅增加的问题,你无法测试很多物理侧信道效应。你必须去后硅。在构建安全电力网络方面仍然有非常好的设计实践,一种与这些新的大型设备的协议进行通信的安全方式。当然,测试和调试会引入完全不同类别的安全漏洞。我们有人在处理这些问题的各个方面,但你必须在整个过程中的每一步都进行测试和验证。没有单一的答案。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !