中文 英语

为什么很难阻止针对ic的网络攻击

与会专家:任何芯片都可以被逆向工程,那么如何才能将损害降到最低呢?

受欢迎程度

半导体工程公司坐下来讨论跨多个细分市场的安全风险与海伦娜Handschuh,安全技术研究员Rambus;Mike Borza,解决方案组的首席安全技术专家Synopsys对此;史蒂夫卡尔森,航天和国防解决方案的主管节奏;Alric Althoff,高级硬件安全工程师龟岛的逻辑;以及国家安全研发中心Galois的首席科学家Joe Kiniry。以下是在虚拟硬件安全峰会上进行的现场讨论的摘录。要查看本讨论的第一部分,请单击在这里.第二部分是在这里

SE:由于空中更新和安全补丁被添加到许多不同的设备中,这会影响性能和功率吗?

Borza:是的,我们在很多安全算法中都看到了这种情况。随着我们发现越来越多的方法,一些攻击可以先完成,然后再进行防御,我们已经看到一些x86计算机在处理许多微架构攻击时速度减慢得有多严重。这是有成本的,包括性能、功耗,有时还包括面积或内存占用。

卡尔森:你可以权衡每个区域的性能损失成本。有些人使用安全协处理器来监视正在发生的事情,当有事情发生时,他们会中断。它们总是打开并运行,所以你也会受到能量惩罚。但是您可以减少性能影响。这不是一个很好的持续的权衡,但你可以做一些事情来帮助你决定你想要如何受到影响。

HandschuhRISC-V的工作目前正在研究是否可以在ISA关卡,但也提供了一些指导,尽量避免这些幽灵风格,或投机执行风格的攻击。要解决这个问题并不容易,但你可以从一些小事情开始着手。一个小组正在试图找出最好的方法是什么,例如,只在需要时刷新缓存,但不太频繁,以免对性能造成太大影响。但你仍然需要至少在每种安全上下文切换上这样你才能确定你的数据已经消失了。这是一种工作风格。他们在思考如何充分利用它。但是没有通解。还需要更多的研究。

Kiniry:在我们对所使用的组件有控制权的情况下,或者至少我将其称为“über透明度”,并且您对它们的行为和正确性有非常强的保证,这意味着您实际上可以构建一个比以前更快、性能更好的系统。现在您对接口有了保证,这基本上意味着您可以满足前提条件和不变量,否则您必须首先检查或监视它们。实际上,最终我们使用这些技术构建的系统要小得多,因为你不需要在软件、固件或硬件上进行防御性编程,你可以真正专注于解决你的问题,而不是特殊情况。这可能会从硬件一直渗透到操作系统。但有这样的保证是非常特殊的情况。

Althoff:在可用性和发现性能真正重要的方面,这是一个机会。我们可以说,‘好吧,我们只是加快了整个过程,每个人都会对我们的表现感到满意。但我的处理器非常快,Windows系统也死机了。就像‘为什么会这样?这是因为轻重缓急。我们现在有机会在多个轴上优先考虑某些性能特征和细分性能。这是一个很好的机会。

Kiniry的确,在我们在SETH(安全可靠硬件)所做的大部分工作中,我们发现人们可能会花很多时间专注于让一个部件更快,比如让CPU快20%。SETH是关于跨产品线系列的功耗、性能、面积和安全性的测量。最后,它使面积变大,它使能量上升,它使安全性下降,但你的整个系统并没有更快,因为你一直在等待网络和I/O。

Borza:是的,您正在系统中寻找瓶颈。

Kiniry你总是在追求错误的东西。还记得老式的高效计算机吗?我很怀念那些日子,但在某种意义上,我们可以通过对我们的作品有更多的把握,摆脱我们今天不得不处理的许多无意义的包袱,来回到那个时代。

SE:在你的设计中,有一些是在边缘处设计的。我们不再有这样的利润空间了,特别是当我们进入人工智能领域时,我们开始真正收紧一切。当你开始失去利润时会发生什么?如果你必须在汽车上安装安全装置,这会减慢路上所有车辆的速度吗?

Handschuh至少到目前为止,安全更新还没有实时完成。他们试图等到你在家的时候再尝试这样做,插在某个地方。他们不会立即发送。车辆本身有很多监控。您收集数据并将数据发送回分析服务器,这样您就已经知道您想要进行的下一个更新是什么。但是是的,在野外似乎有点棘手。

Kiniry:关于边际的问题,我们所做的大部分工作都完全避免了关于边际的讨论,部分原因是为了追求更高的性能和更小的节点等,但部分原因是我们构建东西的方式——我们做系统工程的方式。对我们来说,在软件上做最坏情况执行时间分析是很常见的,所以你实际上知道它有多糟糕,以及你如何安排事情。或者在硬件设计的例子中,我们不使用时钟,因此我们没有突破时钟设计的界限。我们最终建立了异步设计,在任何类型的公差存在下都是稳健的,一直到阈值电压。有时候,跳出框框思考是聪明的,不要用一种可能舒适和常用的方式来解决这些难题,但在现代环境中是不合适的。

SE:有很多错误会慢慢出现。有些只是简单的编程错误,有些是设计错误。我们是否在追踪问题根源并解决问题方面做得更好了?工具和方法变得更好了吗?

卡尔森:这取决于您谈论的是生命周期中的哪个点。当然,设计环境和实验室环境之间的联系是存在的。现在,将其扩展到整个生命周期,数字双胞胎的概念让你在生命周期的任何一点上都有一个连续的信息路径。这可以带你回到设计数据库,在那里你可以完全看到设计的操作,系统中每一点的状态,这样你就可以诊断你知道你是如何到达那里的。

Borza:我们开始看到很多关于形式验证Front,它将一些形式和数学扩展到芯片验证,在较小的程度上,在软件中,试图证明程序是正确的,以及在特定处理器上的实现是正确的。这对于理解这些系统中正在发生的事情以及追踪事情出错的时候非常有帮助。

Kiniry在我们能够使用这些工具和技术的情况下,它是非常有效的-特别是对于我们使用或构建的工具来说,它可以做最少的反例,最短的轨迹,这类事情。但当我看到传统硬件工程师试图调试,“为什么这条线上有一个X”,在周期100万,他们手动追踪它,我只是不明白任何东西是如何工作的,考虑到传统的设计和验证技术。我得承认,我的机器能工作真是个奇迹。更强大的工具确实可以做到这一点,但即使是我用于硬件设计的最好的工具,与我用于软件和固件分析的工具相比,仍然相当糟糕。对于新的研发和有影响力的工具来说,这是真正的沃土。

Borza:我同意。

Handschuh:我们开始看到一些工具可以进行几乎直接的功率分析风格的攻击,我们看到相当多的努力,试图确保在最低级别,当你写代码时,你看到它的走向,你可以衡量和分析事情。这为未来提供了一些希望。但公司还有很大的发展空间。

卡尔森:通过形式化技术和完全同态加密的结合,我们就万事俱备了。

Althoff:我们从谁负责以及我们要追究谁的责任开始,然后我们开始讨论可调试性,这揭示了很多关于责任的问题,以及我们如何思考它并真正施加压力。这就是为什么我们专注于将工具集成到流程中,并使这些工具在流程中变得重要。相比之下,软件中的工具非常棒,而且还有很长的路要走,因为它们可以做得更好。但它们也被集成到开发人员的流程中。在硬件工程师的过程中,没有那么多。

卡尔森:有很多功能没有被应用。它需要学习新的工具,并在新工具和计算资源上花费更多的钱来执行它们。回到胡萝卜和大棒的对话,大棒将在其中发挥作用。如今,由于安全措施不足,公司可能会被政府罚款。如果你看到这种情况发生,公司的会计人员就很容易说,‘让我们把钱花在这些安全工具上,把事情做好吧。’

Kiniry:我期待着有一天,当我花很多钱授权一个IP时,它实际上带有一个使用Tortuga、Yosys、VC Formal和Jasper的验证平台,甚至是它们的任何子集,因为突然之间,我有了可重复的证据,可以帮助我更好地设计我的系统。这种情况今天不会发生。

SE:这与验证IP的方法类似,对吗?

Kiniry是的,这不仅仅是一些人在吃汉堡的时候随机写的一堆测试台。抱歉,这还不够。

Handschuh我们在软件中构建了工具。我们在硬件上也需要同样的东西,我们需要集成安全部分——某种类型的夜间安全回归。这完全说得通。

Kiniry:我希望我们能够发布的部分内容,无论是开源的还是来自FETT(寻找漏洞以阻止篡改)的出版物,都是我们构建的持续集成、持续验证系统,它涵盖了所有不同的SoC平台、编译器,以及正确性和安全性方面的验证。我目前正在使用云来对FETT项目的拉请求进行评估,以及在我Galois实验室的fpga上进行评估。我们可以做很多事情,我们采用现代的开发实践——不是DevOps,而是来自软件和固件世界的现代严格的开发实践——并将其应用到硬件上。

Borza有很多人都在做那件事。我们已经调整了整个Jenkins Flow,以便能够为我们的IP产品做这些事情,并且它们一直在回归中运行。所以我们每个人都有希望学习一些东西,软件人员从硬件人员那里学习,反之亦然。这说明软件的调试工具好多了。它表明有多少公司或多少人开发他们的软件并测试质量,而不是从一开始就设计高质量和安全的软件。所以在软件方面绝对有很好的调试工具,而在硬件方面却没有这么好的工具。在硬件方面,往往会有更多的验证工具,这意味着能够运行数十亿个循环,并尽可能多地到达各个角落,这与软件方面采取的方法不同。

SE:那么量子计算上线后会发生什么呢?我们开始看到真正的进展。这对我们现在开发的东西有什么影响?

Borza:这意味着你最近使用公钥算法加密的任何东西都会被知道。

Handschuh:公钥加密变成公开是简单的答案。

Kiniry:这取决于你使用的算法。

Borza:确实如此,但在某种意义上,我们已经落后于采用后量子电阻算法的计划。整个过程开始的时间比必要的时间要晚,因为我们可能拥有量子计算机的时间与我们就算法应该支持什么达成一致的时间差不多。

Handschuh: NIST一直在研究一些相当不错的候选方案。还有七个人在竞选,还有一个候补名单。他们似乎很喜欢格子。还有其他一些更古老的方案,已经有一段时间了,研究得足够有信心。但更有趣的是更新的。人们对他们寄予了很大希望。

Kiniry其中一些已经在《财富》100强公司的软件和硬件中进行了早期应用,尤其是在实验环境中。如果你谷歌刚刚好,你甚至可以找到一些我们为亚马逊做的后量子算法的正式验证。

Althoff: NIST什么时候做决定?

Borza:目前的目标是2022年1月。

Kiniry:对。如果你如果你闻着风,听着国家安全局的公告,你就能猜到事情可能会落到哪里。

SE:当我们向下移动到7,5,3纳米时,电介质变得更薄,密度显著增加,进入片上通信或使事物受到电磁干扰的能力显著提高。有办法屏蔽这些东西吗?

Borza这是一个相当艰巨的挑战,但人们已经做了一段时间了。线宽越小,攻击它们就越困难。你需要一个更好的实验室来弄清楚里面发生了什么。所以变小对你有好处。但说到底,身体攻击的艺术一直在进步,而且还在继续进步。所以你有硬币的两面。身体攻击一直是最难防御的,这一点不会改变。

卡尔森:能够进行逆向工程或实施攻击是有代价的。物理访问方面是其中之一。但是由于这个民族国家的资源可能会发挥作用,这是极其难以预防的。fci(佛罗里达网络安全研究所)有一个很好的逆向工程实验室,在那里他们可以弄清楚系统中每一个比特都在发生什么。他们有14nm的能力。这只是一所大学。所以你可以想象一个民族国家在实验室能力方面会有什么,或者只是一个富有的商业公司,对其他竞争对手的工作感兴趣。同时,您可以使用逆向工程分析来查看正在开发的系统中的安全性问题。我认识一些在手机芯片公司工作的人,他们有一个很好的攻击实验室,他们侵入竞争对手的系统来取乐。他们最近一直在7nm工艺上这么做,而且他们还会继续这么做。我不知道你能在哪里阻止它。这更加困难,而且他们所使用的工具也越来越强大。

Handschuh一般来说,我认为如果你能构建它,你就能破坏它,因为如果你能构建它,那就意味着你能够调试它。如果你能调试它,那就意味着你可以在最低级别上攻击它在最小的门尺寸上,在最小的门级别上。现在,我们可以发明一些机制,对于较小的节点有点不同,但已经有一些东西可以保护这些设计。

Althoff:这是对终端用户进行生存性教育的一个好例子。在任何层面上,如果你使用它,非常清楚地沟通,如果你在这个环境中使用这个组件,你就有风险。对于任何拥有价值100美元的设备,或进入创客空间的人来说,我认为这种透明度非常重要,这样人们在图书馆放下手机离开时,就知道会发生什么。这是我们对系统的态度,作为公众和个人系统制造商,以及他们如何安装和配置组件。最后一个想法,它确实突出了大众市场电子产品的一个问题,一般来说,就是你要避免“一次坏掉,所有坏掉”的攻击。你想要一个单独的系统被它自己唯一的秘密数据保护,这些数据被隐藏在里面。你不会停止物理攻击,让你拆开一个芯片并获得数据。但你可以阻止这种攻击演变成对该设计的每一个实例的攻击。这意味着你在做一些事情,比如对芯片上的软件进行唯一加密。它单独使用一个唯一的密钥,并且该密钥不会被其他所有人共享。

相关的
处理芯片中的安全漏洞
第1部分:挑战包括从持续的安全更新到超出生产这些更新的公司的预期生命周期。
开源硬件和人工智能的安全漏洞
第2部分:为什么人工智能系统如此难以安全,以及正在部署哪些策略来改变这一现状。
新的安全方法,新的威胁
防止入侵的技术和技术正变得越来越复杂,但攻击也越来越复杂。
安全知识中心
关于安全的头条新闻、特别报道、视频、白皮书和博客



留下回复


(注:此名称将公开显示)

Baidu