嵌入式Linux上的有效安全性:为当今决策者提供的3个强大教训

描述

1960 年代的汽车和保护嵌入式 Linux 系统有什么共同点?在2015年Linux安全峰会的一次演讲中,Linux基金会协作项目IT团队的系统管理员Konstantin Ryabitsev比较了汽车和IT安全。他解释说,到上个世纪末,汽车是可靠的。他们运送人员时故障风险最小。然而,车辆没有考虑到人为错误,司机在发生碰撞时几乎没有保护。如今,汽车制造商使用安全气囊、安全停机、防滑系统、可折叠转向柱、碰撞检测、预期断裂等。相比之下,今天的IT安全就像60年代的汽车;它很可靠,但不考虑人为错误。

下载STM32MP1安全白皮书

Ryabitsev的演讲着眼于保护Linux服务器。因此,虽然他演讲的细节很少适用于嵌入式系统,但这些原则是相关的。太多的公司仍然忽视其设计的重要安全方面。工程师致力于质量和安全,但未能制定针对安全故障的应急计划。一些团队甚至将安全性降级为事后的想法,因为他们不重视他们的数据。因此,许多人没有看到人为错误或新的攻击媒介如何伤害用户或严重破坏业务。因此,我们发布了一份白皮书,因此采用STM32MP1的嵌入式系统看起来更像今天的汽车:即使出现问题,也很安全。

安全性:攻击分类

物理攻击

在他的《嵌入式系统设计原理》教科书中1,KCS Murti将安全攻击分为两大类:物理攻击和逻辑攻击。物理攻击可能是侵入性的,例如黑客访问芯片或中断典型操作。物理攻击也可能是“非侵入性的”,最常见的是侧信道攻击。在这种情况下,黑客可能会使用时钟、内存或从功耗模式中获取某些功能。一段时间以来,意法半导体一直在提高对这些攻击的认识。因此,STM32MP1为这两种类型的物理攻击提供了重要的保护,犯罪分子侵入设备的风险仍然很低。

逻辑攻击

当公司谈论嵌入式系统的安全性时,他们传统上指的是防范逻辑攻击的措施。简而言之,逻辑攻击旨在访问数据或非法获得运行恶意软件的权限,这些恶意软件将泄露更多数据或允许黑客破坏系统及其连接的其他系统。当大众媒体报道安全主题时,他们大多谈论逻辑攻击。它们是最常见的,因为它们相对易于实施和低成本。事实上,他们传统上利用错误或漏洞。

逻辑攻击也可能针对硬件功能或安全系统。例如,当Spectre和Meltdown首次曝光时,IT世界发生了震动。这两个漏洞允许程序获取存储在内存中的敏感信息或绕过安全保护措施。根据Arm的说法,Cortex-M处理器和STM7MP32的Cortex-A1不受这些问题的影响。同样,Heartbleed是OpenSSL库中的一个缺陷,它允许黑客窃取据称受保护的信息。开发人员必须快速检查其实施并修补其系统,否则将面临重大影响的风险。OpenSTLinux使用的OpenSSL版本不会受到此漏洞的影响。

人为错误

上面的用例是对象课程,因为它们太出乎意料了。开发人员必须预测不可预测的情况,计划进行彻底的审计,并保证补丁的快速部署。这就是为什么意法半导体白皮书介绍了主要概念定义并帮助管理人员了解基本原理的原因。知识也很重要,因为在大多数情况下,黑客甚至不需要利用令人发指的漏洞。如今,大多数攻击都依赖于人为错误或社会工程。很容易使调试端口保持打开状态、错误地实现加密操作或泄露管理密码。在IT安全领域,就像在医学上一样,当听到马蹄声时,期待的是马,而不是斑马。

由于开发人员可以使用生态系统,嵌入式系统的安全性也更加强大。意法半导体的驱动程序上游,并与开源社区密切合作。因此,我们可以快速修补问题,并使用标准工具使安全性更易于访问。我们还通过STM32Trust或意法半导体合作伙伴计划等计划帮助客户实施关键安全功能。例如,OpenSTLinux发行版提供了实现安全启动所需的工具,以及支持安全固件更新的基础。然而,那些希望外包此类任务的人可以依靠意法半导体的合作伙伴,如Witekio及其FullMetalUpdate,以提高可靠性和效率。最终,白皮书旨在向决策者和行业专家保证,在这场斗争中,他们并不孤单。

1. 建立、管理和促进信任

什么是信任?

为了使IT更加可靠,尤其是在处理人为错误时,公司必须创建一系列受信任的设备和系统。如果应用层不安全,用户就无法保证安全性。同样,如果开发人员所依赖的操作系统不可信,则无法创建安全的应用程序。因此,IT安全取决于信任的概念。根据Murti的说法,信任是硬件或软件组件将“执行指定的安全策略”的保证。2例如,操作系统必须保证普通用户仅具有有限的权限,而不获得管理权限。同样,应用程序不得访问其安全策略定义的资源之外的资源。

什么是信任链 (CoT)?

IT安全的一个公理是,如果上层所依赖的下层不受信任,则上层就无法真正得到保护。例如,如果应用程序所依赖的操作系统不受信任,则应用程序不安全。事实上,即使软件加密了它收集的所有数据,操作系统不可信的事实意味着用户无法保证黑客没有破坏系统或窃取数据、加密密钥或更多。同样,如果受信任的操作系统运行的硬件不受信任,则它就不是真正安全的。因此,真正安全的嵌入式系统依赖于行业称为信任链(CoT)的级联完整性检查。

在经典意义上,CoT 表示从硬件的最低级别到应用程序的受信任层的工作流。然而,管理者必须明白,真正的信任链超越了系统本身。开发人员必须保护他们的工作,制定降低风险的指导方针,并预测不幸事件。如果心怀不满的员工窃取了加密密钥,加密密钥有什么用?同样,公司必须确保他们运送给OEM的固件是安全的。努力保护其代码的公司必须确保恶意行为者不会访问其源代码。真正的IT安全意味着尝试规划各种人类行为。

什么是信任根 (RoT)?

正如 UEFI 论坛所解释的那样,计算系统上的信任链始于硬件信任根。后者是一种机制,可确保系统的低级部分是可信的,因为它用于启动的代码通过了各种验证和认证。简而言之,信任根提供了一些保证。它确保没有人启用新的调试端口或更改固件等。它通常使用不可变的根密钥来验证代码的完整性和安全引导加载程序。密钥在硬件中的事实也可以防止黑客克隆系统。

什么是安全启动、安全固件安装、安全模块安装?

工程师和经理可能很难知道从哪里开始。因此,白皮书列出了创建可靠信任链所需的主要构建块。例如,它解释了STM32MP1环境如何附带依赖于信任根的参考引导序列。意法半导体使用TF-A安全启动,OP-TEE作为安全操作系统,然后在外部RAM初始化Linux内核期间使用U-Boot作为第二阶段引导加载程序。我们还有一个 wiki 来帮助开发人员实现所有这些元素。因此,白皮书是项目经理的跳板。

意法半导体还提供安全固件安装机制,如安全密钥配置。开发人员可以在硬件安全模块 (HSM) 上加密其密钥。OEM 加载加密的数据和机密信息,MPU 使用 HSM 在内部解密它们。因此,没有人可以运行不受保护的引导加载程序或访问敏感数据,客户可以跟踪OEM闪存的设备数量。因此,保证信任链至关重要,这种信任链超越了引导加载程序或软件层,而是作为产品设计和制造的综合方法。

2. 检测、预测和响应事件

为什么要审核日志、网关和代码?

嵌入式系统的世界不能再忽视IT安全在其他领域建立的最佳实践。几年前,公司很少审计他们的嵌入式系统,因为他们没有看到其中的价值。在许多情况下,数据仍然是本地的,没有敏感信息。然而,下一个自动化时代使嵌入式系统更加互联和智能。因此,公司审核其日志、定期检查软件实施并监控流量是否存在入侵至关重要。就像今天的汽车一样,开发人员只有在知道发生碰撞或正在进行危险情况时才能保护用户免受碰撞。因此,工程师必须及时了解最新的安全趋势3.

什么是应急计划和 FUOTA?

此外,公司必须制定应急计划,以便在检测到漏洞或入侵后迅速做出反应。制定应急响应可以节省大量宝贵的时间,并极大地帮助决策。它还避免了在充满压力和压力的时期不得不做出重大决定。团队可以从各种在线资源中汲取灵感。例如,美国网络安全与基础设施安全局的网络安全事件和漏洞响应手册是一个很好的起点。该文件主张创建两个剧本:一个是处理事件,另一个是处理漏洞。并非文档的每个方面都适用于嵌入式系统或私营公司,但这是一个很好的起点。

实施无线固件更新 (FUOTA) 机制也很重要。在危机中,远程修补系统至关重要。然而,FUOTA的实施特别复杂。在最近发表在《物联网》杂志上的一篇文章中4,法国的研究人员研究了 FUOTA 背后的挑战,从资源限制到网络拓扑、设备管理、安全性等。嵌入式系统和远程服务器上必须将许多组件组合在一起。在许多情况下,FUOTA比公司想象的更容易获得,对于大多数人来说,外包是具有成本效益的选择。

3. 投资、贡献和依赖开源社区和经过验证的合作伙伴

采用开源方法

有一个明显的转向开源社区。随着STM32MP1的推出,意法半导体承诺将继续提升其驱动程序并在OpenSTLinux上工作。除了我们已经讨论过的优势之外,使用开源软件还可以简化工作流程。使用开放和流行的工具意味着可以更轻松地雇用人员并将项目转移到新团队(如果需要)。在许多情况下,围绕开放软件的支持和知识比专有解决方案更多。成为社区的一员也往往会鼓舞士气。工程师将更有可能处理一个项目,知道它服务于更大的目的。例如,上游补丁是非常有益的,因为知道业内许多人会使用它们。

由于许可问题,一些公司不愿意采用开源技术。对于在 Linux 上运行并使用通用公共许可证 (GPL) 下工具的专有应用程序存在一些误解。然而,情况恰恰相反。TF-A、OP-TEE 和 U-Boot 等软件允许公司在其系统之上构建其商业解决方案,而不必担心法律后果。沃顿商学院2004年的一篇论文已经解释说,在开源平台上赚钱是可能的,未来的许可证将有助于澄清问题,这就是发生的事情。因此,白皮书可帮助管理人员更好地理解有关许可的基本概念,以便他们解决这个问题并以正确的心态开始他们的项目。

加强协作的必要性

协作的重要性

在 2021 年 《》 月签署的题为 “改善国家网络安全 ”的行政命令中,甚至白宫也建议服务提供商在 IT 安全方面加强合作。该行业正在进入一个新的领域,对嵌入式系统的要求要严格得多。数据越来越宝贵,甚至消费者系统也是任务关键型的,保护信息不再是可有可无的。通过采用白皮书中概述的经验教训,并与开源社区和意法半导体合作伙伴计划的成员合作,公司可以改变其文化。安全性不一定是事后的想法。它可以引导公司创建强大的嵌入式系统,即使在面临安全挑战时也能蓬勃发展。

审核编辑:郭婷

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分