中文 英语

为安全设计硬件

过去的大多数攻击都集中在获取软件的访问权上,但Meltdown和Spectre永远地改变了这一点。

受欢迎程度

埃德·斯珀林和凯文·福格蒂著

网络犯罪分子开始瞄准硬件的弱点来控制设备,而不是把硬件作为访问软件的垫脚石。

这一转变凸显了攻击者的复杂性显著提高,2017年谷歌Project Zero发现Spectre和Meltdown(2018年1月公布)就是证明。英特尔、AMD、IBM和Arm近几个月来一直在努力弄清楚,要防止这些攻击需要多大的性能和功耗。

业内人士表示,对于大多数应用来说,这种影响可以忽略不计。然而,在云计算中,关闭这个安全漏洞可能会降低10%的总性能。这是一个非常重要的问题,因为与大多数企业数据中心不同的是,云计算的整体目标是通过动态扩展计算资源来最大化效率。10%的性能损失意味着需要额外的时间和周期来弥补损失。

所有主要的处理器供应商都已经通过补丁和大量信息解决了这些安全漏洞。英特尔写了18个单独的注释关于这个话题。在最近的一次白皮书Arm将缓存计时侧通道标记为“按照设计运行的处理器的软件无法访问的信息”的来源。该公司指出,这只有在恶意软件在本地运行时才有可能。


图1:硬件目标和解决方案。来源:Rambus

不过,针对特定硬件的恶意软件的发现凸显了一个更大的问题。芯片应该可以使用很长一段时间——在汽车和工业应用的情况下,长达15年。在许多情况下,它们还有望与前几代芯片向后兼容。因此,如果硬件成为攻击载体,将需要全新的安全方法来维护系统的完整性。

设计的复杂性正在飞速增长,这也无济于事。持续的设备扩展迫使芯片制造商采取非凡的措施来最大限度地提高性能,包括增加多个功率域、复杂的路由、多级缓存和多个片上加速器。芯片中还内置了大量额外的电路,以抵消由多种模式和工艺变化引起的问题。所有这些都为网络攻击提供了更多的机会,加剧了人们对安全的担忧,即使在那些被认为已经足够好的地方。

“事物越复杂,就越难保证安全,”微软高级产品管理总监本•莱文(Ben Levine)表示Rambus安全.“现代的标量CPU是为性能而不是安全性而设计的。硬件的问题在于它可能不是你可以在软件中打补丁的东西。你需要一种不同的方法,即在设计硬件时考虑到安全性,而不是为了其他目的而优化它。”

安全遇上安全
这在工业和汽车市场具有新的意义,因为在这些市场,数据泄露可能会产生安全影响。但在这两个市场都特别困难,因为很多系统都是一次性的、定制的解决方案。

“用于确保工业物联网设备可靠运行的‘验证使用’概念只会部分起作用,因为单独的传感、处理和执行任务需要特定的解决方案,”德国理工大学设计方法学部门负责人罗兰·扬克(Roland Jancke)说弗劳恩霍夫东亚峰会.“这给设计、测试和维护带来了一个关键挑战。物联网平台是克服这一问题的一种方法。但其产量仍将比消费电子产品小几个数量级。因此系统的开发过程确保功能安全符合标准等IEC61508是安全关键型工业应用程序的必填项。在不久的将来,必须制定和发布有关安全的类似标准。”

人们正在开发不同的方法,这在一定程度上取决于企业愿意为解决方案付费。不同的公司,从边缘到云端,情况都有很大的不同。而且,由于没有系统的方法从安全角度对不同设备进行比较,在一款设备上收取额外的安全费用,使得它更难与具有类似功能的低价设备竞争。

风险往往随着一家公司生成的数据的数量和价值而增加。HERE Technologies物联网业务解决方案副总裁拉吉夫·拉詹(Rajeev Rajan)说:“一些拥有大量数据的大公司开始认为这是做生意的成本。“成本也取决于你所处的地理位置。欧洲实施的管制比世界其他地区多得多,因此在那里做生意是一个必不可少的部分。”

当涉及多个设备时,同样的想法也适用于边缘,但单个设备的额外成本仍然是一个问题。Eta Compute首席执行官Gopal Rahgavan表示:“我们认为,在前沿领域需要机器学习。“你必须在边缘上学习,这就是无监督学习。但随着时间的推移,你会发现一些规律。你可能说不出问题是什么,但你至少可以说某些东西不自然或它已经习惯了。这可以非常有效地用于边缘和扩展。”

因此,虽然设备本身可能容易受到攻击,但这些设备之间的安全性却更高了一步。

“必须确保不同供应商的物联网设备之间的可信通信,”Fraunhofer的janke说。“与此同时,如果设备是电池供电或使用能量收集,设备的认证不能增加太多的功耗开销。此外,寿命将是未来工业物联网设备的一个关键设计参数,其中预期的使用场景是验证是否满足可靠性目标的关键输入。所有这些额外的要求都阻碍了工业物联网设备目前在工业上的广泛应用,但一旦解决,很快就会形成一个巨大的市场。”

IIoT担忧
工业物联网由于用于工业物联网设备的大量硬件平台和操作环境使得互操作性变得困难,因此也增加了一系列独特的问题。这些实现中的许多都是一次性的设计,通常涉及已经运行了几十年的系统的改造。

“大多数游戏在某种程度上都是基于Arm Cortex微控制器知识产权但这些芯片都是高度定制的,以完成一个项目所需的特定任务,因此不同供应商的芯片组之间几乎没有相似之处,也没有互操作性的机会,”该公司的业务开发总监罗布·库姆斯说手臂的物联网设备IP业务。几乎所有的Arm微控制器IP都包含某种程度的安全性——或者至少是使安全引导、加密、身份验证或全功能PKI证书管理成为可能的布线。自2002年以来,Arm IP已经拥有了值得信赖的执行环境和安全生态系统,无论是用于传感器和其他低功耗设备的资源受限微控制器,还是功能更强大的硬件。

然而,这并不意味着同样的安全措施在任何地方都适用。首先,不是每个人都使用这些设备中存在的安全性,也不是每个选择使用它的人都会平等地使用它。另一方面,并非所有的实现都是相同的。嵌入式系统咨询和培训公司巴尔集团(Barr Group) 2018年的一项调查指出,技术提供商一直未能建立一个有凝聚力的社区或实施良好的安全性。但是,即使有更一致和更好的安全性,它仍然不能消除所有潜在的问题。


图2:嵌入式系统硬件和软件架构的多样性。来源:巴尔集团

英飞凌科技高级主管Steve Hanna表示:“我不想过多地指责运营技术(OT)方面,但如果我们回到几年前的OT环境中,网络就有了非常不同的意义。”“你的工厂真的是一个独立的环境。除了总部,它和其他地方没什么联系。而且它没有与商业网络相同的协议或交叉连接,多亏了物联网,现在它肯定有了。”

运营技术人员通常认为,没有人会使用像互联网这样存在固有缺陷的网络或连接。因此,他们往往没有意识到他们错过的漏洞,因为他们没有假设潜在的入侵,或者最终用户和技术提供商需要共同努力,以锁定他们刚刚引入的潜在威胁。

Real-Time Innovations首席技术官Gerardo Pardo表示:“安全是一个广泛的问题。“你的团队中有人想要在你不太确定的Wifi网络上用运行Javascript的iPad监控石油钻井平台?你也可以制造一辆高性能的汽车,但它的转向系统失灵了,或者没有变速器。那你就没有高绩效,你就很脆弱。但有时你必须深入挖掘几层才能找到答案,”帕尔多说。

其他问题
关于如何提高安全性的信息并不缺乏。有来自互联网产业联盟(IIC)、NIST、IEC、ISO、可信安全组织、思科、IBM和戴尔的指导方针EdgeX铸造、欧洲工业4.0、对象管理组和IEEE.事实上,信息太多了,让人不知所措。

“我对工业物联网安全性的评估?工业互联网联盟(Industrial Internet Consortium)执行董事、对象管理集团(Object Management Group)董事长兼首席执行官Richard Soley说。“我见过的几乎所有工业物联网的实现都假设你要在他们周围建一堵墙,他们不需要额外的安全措施,因为边界将远离任何威胁。这是无稽之谈。在消费者互联网上,80%的入侵涉及边界内的一些破坏安全的东西,无论是恶意软件,还是网络钓鱼电话,或者是你不应该信任的内部人员。”

但在安全问题上,人们能够或愿意接受的东西似乎确实是有限的。

“这并不是说我们没有标准或指导方针,”英飞凌的汉纳说。“我们两者都太多了。我们缺乏的是一种方法来整合最好的标准,并获得安全公司的参与,例如,帮助创建在其他领域常见的那种集成标准和支持结构。”

这说起来容易做起来难,特别是在工业物联网一次性安全实现方面。

密歇根大学电气工程和计算机科学教授阿图尔·普拉卡什(Atul Prakash)说:“从安全分析的角度来看,一个挑战是很难验证安全性是否如预期那样工作,因为隐藏安全信息的相同架构并不容易验证。”他领导的团队破解了漏洞记录2016年智能家居安全薄弱。普拉卡什为物联网设备编写了一个信息流控制系统,并为它们编写了一个上下文权限应用程序。他还发现如何欺骗AI驾驶在停车标志上贴上贴纸的自动驾驶汽车。“你显然不想让安全部分暴露在外,但芯片业务的供应链方面已经提出了担忧,这应该让我们怀疑,我们是否知道每个芯片的补充来自哪里,它们是否运行正确的代码,以及固件是否已被泄露。”

需要多少安全措施?
那么对于特定的应用程序,什么样的安全性是最好的呢?Rambus的物联网安全产品副总裁Asaf Ashkenazi说:“当你决定在一个可能生产数十亿美元的芯片中添加什么时,一分钱的差异是很大的问题,所以你必须非常小心地考虑你放入的东西——不是是否增加安全性或现在是否这样做,而是有多大的安全性。”“但每个供应商的硬件都是不同的。即使你只看信任的根源,每个人都有不同的方式来做到这一点,设备中有不同的内存限制,可能不是所有的软件都在那里,或者它没有完全实现。”

根据阿什肯纳兹的说法,即使是开始,一个安全服务也需要三样东西:

•能够访问和激活由硅供应商嵌入的安全;
•允许PaaS或其他云服务链接和控制设备的API或其他方法;
•一个数据库,其中的数据概述了如何处理另外两个步骤——尽可能广泛地覆盖构成物联网的混乱的设备和芯片组。

云服务——或任何提供控制的应用程序——必须能够与其控制的设备通信,防止这些设备与未经授权的设备通信,以减少感染Mirai或其他恶意软件的机会,并建立一个常见行为数据库,用作模板,并消除任何不寻常的活动。

Ashnkenazi说:“它们是非常基本的操作——醒来,测量一些东西,将其发送到云端,然后进入睡眠状态。”阿什肯纳兹说:“你必须知道会发生什么,这样你才能意识到什么时候发生了问题。”“这不是魔法。这是一项艰巨的工作。如果没有某种服务,一些公司就无法知道他们的设备在哪里,或者连接了什么。有一家公司已经部署了1000台设备,但只有3000台连接了这项服务。这就是为什么你需要强身份验证,并知道哪个设备正在连接,并且它没有被破坏。”

但是到底需要多少安全性呢?这方面没有明确的指导方针,当然实现也不一致。微软在4月份发布的Azure Sphere描述了一种由许多开发合作伙伴根据其规格构建的微控制器。内部是一个单核Arm Cortex-A7,一对Arm mcu,一个用于WiFi的安第斯核心,以及另一个由微软设计的Pluton安全功能的核心。该芯片能够完全基于PKI证书的管理和认证,以及使用定制版本的Linux直接连接到Azure。

林利集团高级分析师迈克·德姆勒表示,大多数物联网/工业物联网设备运行的硅含量要低得多,但主要倾向于单核Cortex M微控制器,即使没有额外的资源,也已经具备了高功能的物联网处理器的资格,而这些资源可以运行更高级别的操作系统。Demler说,只要有合适的api和软件,客户就可以使用Arm的PSA获得相同级别的安全,而且与Azure的连接将是可选的,而不是必须的。

Arm的mbed物联网设备平台操作系统支持更广泛的芯片,支持操作系统、网关、设备管理连接和api,允许与第三方集成,如Centri,后者在10月份宣布其物联网高级安全将在mbed上运行。它还连接到谷歌云物联网核心,微软Azure Sphere的谷歌云平台版本;它是在2017年9月宣布的,当时Arm、英特尔、迈威尔公司NXPRealtek、Sierra Wireless等芯片制造商。

结论
从一开始就需要在设备中构建安全架构的想法很有道理。问题在于,在许多应用程序中,例如经过改造的工业操作,或者在用例太多的应用程序中,或者在第三方部件和分布广泛的供应链使复杂性日益增加的应用程序中,或者在安全性增加设备成本或性能的应用程序中,这并不总是可行的。

但同样清楚的是,安全现在是一个系统问题,不仅仅是软件或固件。硬件现在也是攻击面的一部分,这将使设计出能够在最初设计后数年仍能抵御攻击的芯片变得更加困难。攻击者变得越来越聪明,在这一点上,任何东西似乎都是可能的目标。

有关的故事
不完美的硅,近乎完美的安全
物理不可克隆功能(PUF)似乎是为物联网安全量身定制的。
技术讲座:HW安全
在Meltdown和Spectre的阴影下,如何最大限度地降低硬件攻击的风险。
谁负责安全?
专家座谈,第三部分:如何管理安全成本;密码的值;无关紧要还是真正的威胁。
工业物联网安全威胁上升
不断增长的数据价值和日益增长的复杂性驱动了紧迫感。
谁负责安全?
与会专家,第2部分:污染供应链的廉价部件,对平台和认证的需求,以及尝试面向未来的设备的徒劳。
技术讲座:HW安全
在Meltdown和Spectre的阴影下,如何最大限度地降低硬件攻击的风险。
如何保护网络边缘
数据泄露的风险越来越大,潜在的损失也越来越大。



1评论

fabtex 说:

很棒的博客,谢谢分享,继续摇摆

留下回复


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

Baidu