由Jeff Shepard主持, EE世界 已将这个“虚拟圆桌会议”组织为“嵌入式系统的安全性”。与会嘉宾包括Haydn Povey(HP),IAR Systems嵌入式安全解决方案总经理,Mike Dow(MD),Silicon Labs物联网安全高级产品经理Jim McElroy( LDRA Technology的销售和营销副总裁JM)和HCC 嵌入式的的创始人兼首席执行官Dave Hughes(DH)。
JS:对于嵌入式开发人员来说,最先开始实现安全功能的挑战是什么?

惠普:实施安全性最具挑战性的方面是了解您所保护的内容,所保护的对象以及资产的价值或攻击可能带来的影响。这些对于任何组织来说都是非常困难的问题,尤其是潜在的影响,因为参考点相对较少。例如,直到最近发生一系列攻击之前,保护运营技术(OT)免受恶意软件攻击的需求一直被组织视为相对较低的优先事项,其中许多攻击已造成数千万美元的损失。跨越这一学习曲线的方法是采用一种标准,例如消费电子产品的EN 606345或工业和智能城市应用的IEC 62443。这些标准概述了安全性的基本要求,例如确保没有固定的密码以及转移到正确的密码身份。需要披露漏洞,需要适当的版本管理和代码签名;以及需要对每台设备进行更新的需求,以及通过正式的安全启动过程为设备在修复时可以信任的坚实基础。还有许多其他要求,例如安全通信,但是一旦设备具有坚实的安全基础,这些要求就会变得很容易实现。

MD:通常,对于安全新手来说,开发人员最具挑战性的方面是对安全基础知识的充分理解。安全性就像其他任何技术一样。在实施之前,您必须了解技术基础。我认为许多工程师都对密码学一无所知,这吓坏了他们。如果他们可以开始以系统工程师的身份思考,并且将算法可视化为带有输入和输出功能的黑匣子,那么它可以简化流程,并使基本概念更易于掌握。事实是,如果您不知道非对称和对称密码学之间的区别–或者哈希函数有什么用–如果您这样做,您将不知所措,根本无法实施安全性,或者实施安全性很差。
JM:对于嵌入式软件开发人员而言,最具挑战性的学习曲线可能会集中在理解需要将安全性视为安全硬件,安全通信协议,安全操作系统,安全引导,加密,静态和传输中的数据,安全性的范围内。消除安全漏洞,健壮性测试等的编码实践。考虑因素清单很多,开发健壮和安全的嵌入式系统的成本通常成为主要考虑因素。根据预期做出决定“risk”被利用的系统。
DH:所有嵌入式开发都充满挑战。安全要求增加了挑战,而挑战的程度则由目标系统确定’s specific security requirements. The jumping-off point is a detailed assessment of the 风险s from which you build, mitigating each 风险 while always keeping in mind that complexity obfuscates.
JS:设计人员可以最简单的方法来增强嵌入式系统和设备’ security?
DH: Designers need to create a proper assessment of the 风险s their device should defend itself against. This is the core of building any security case and ensuring the resulting design is focused on what is actually required by the product without introducing unnecessary complexity. Reduce your attack surface!
JM:设计人员要做的最简单的事情就是,利用最新的安全编码标准(例如MISRA和CERT),应用自动化的静态分析。这有助于确保安全的编码做法并消除安全漏洞。对于嵌入式软件,最佳实践认识到需要从一开始就考虑安全性。它’建立系统后,既不能提高成本效益,也不能发挥功能上的安全性。需要在整个组织中应用,检查和标准化安全编码做法。实现这一目标的最简单,最具成本效益的方法是自动化标准合规性,这也大大增强了嵌入式系统’s overall security.

MD:在运送产品之前,请锁定调试端口。听起来很简单,但是您会惊讶于没有完成多少次。下一个最基本的任务是基于不可变的信任根进行安全启动。安全启动是针对各种攻击媒介的最有效工具之一。
惠普:设计师最简单的事情就是使用正确的工具。在实现安全性方面存在许多细微差别和挑战,没有人期望每位工程师都能成为密码学专家。使用正确的工具可以将安全性从复杂的工程挑战过渡到每个组织都可以实施的东西。同样,有必要与设计师互动’CISO团队。产品标识,漏洞披露和补丁方法等方面都是CISO每天在其IT系统上使用的所有技术,但是通过将正确的技能融入产品中,我们可以确保安全性和可用性之间的正确平衡。
JS:一般来说,嵌入式设备安全维护和更新的实施情况如何?
JM:大多数嵌入式设备一旦投入使用,要么被搁置,要么充其量“patched”确定安全漏洞时。一旦发现漏洞。但是,’往往为时已晚。有价值的信息可能已经被获取,或者渗透了恶意软件的系统正在等待正确的时间进行恶意操作。对这些系统的更新可能需要将系统物理连接到网络,也可能需要打开设备以进行空中(OTA)更新。这种修补(可能再次为时已晚)需要安全的通信。
MD:很不幸,通常情况不佳。安全地进行无线更新并不容易。您需要一个安全的引导加载程序以及许多示例代码和文档。选择供应商时,请根据供应商对该功能的支持启用供应商,这一点很重要。
惠普:传统上,许多更新和维护方案都不是很好。许多人没有使用适当的签名来保护代码,从而无法部署恶意软件,并且许多人在应用程序空间中的高层运行,而显然需要假定系统的几乎每个方面都可能受到损害。实际上,更新的首要原则应该是使每台设备都受到损害,因此每台设备都需要安全的庇护所来进行恢复和补救。在我们的解决方案中,我们专注于自动创建功能强大的安全启动管理器,该管理器执行所有裸机工作以确保设备引导到一个清晰安全的空间中,然后可以在其中检查格式正确,签名正确,和加密的更新。这种多阶段方法假定在产品的生命周期内将有许多版本的软件,因此,还必须集成版本控制和防回滚功能。
DH: I do not think there is a general answer to such a question since every device has different 风险s associated with it. You must make the assessment based on the goals of the particular device. If data is not a security 风险, why protect it? Companies that do a proper 风险 assessment and then build mitigation based on the assessment will have a high level of confidence in their solution. Those that do not cannot make any meaningful claim.

JS:大多数嵌入式设计人员是否了解安全启动配置的重要性以及如何以及何时使用安全启动来增强嵌入式系统的安全性?
MD:在过去的五年左右的时间里,在运行Linux的微处理器中进行安全启动已广为人知并得到广泛使用。对于具有嵌入式闪存的微控制器,它仍然是一个非常新的概念,并且没有多少工程师接受。 ETSI和NIST提出的新IoT要求包括在运行前对代码进行身份验证,这现在迫使会话在微控制器(MCU)中进行。
DH: Most embedded developers do not actually have anything to do with secure boot configurations. If the system designers’ 风险 assessment mandates secure boot, then specialists implement this.
JM: Knowledge of the importance of secure boot is more prevalent in the industries where the 风险 of devices being exploited is higher (e.g., avionics system, autonomous vehicle control systems, medical infusion pumps). These systems require the highest security and safety assurance levels since the life and safety of the device operator, passengers, or patient can be adversely affected by improper operation of the device. Secure boot configuration is often overlooked in loosely connected or standalone devices.
惠普:大多数嵌入式开发人员都知道安全启动管理器很重要。但是,即使使用Arm TF-M之类的技术,也需要长期构建和支持安全系统。全球缺少350万网络安全专家,因此对这些技能的需求不足为奇,而且几乎没有工程师具有广博的知识来了解他们所保护的内容,保护谁的人以及如何最好地利用这些知识。实施解决方案。现实是EN 303645规范要求所有消费者嵌入式系统都必须具有安全的启动框架,而IEC 62443工业IOT在工业领域中也是如此。几乎没有连接的设备不需要强大的安全启动管理器。
JS:感谢我们的小组成员分享他们的见解和经验!您可能也有兴趣阅读 “嵌入式系统的功能安全” –虚拟圆桌会议(第2部分,共2部分)。
发表评论