0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

星星科技指导员 来源:STM 作者:STM 2023-02-02 09:32 次阅读

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 安全方面加强合作。该行业正在进入一个新的领域,对嵌入式系统的要求要严格得多。数据越来越宝贵,甚至消费者系统也是任务关键型的,保护信息不再是可有可无的。通过采用白皮书中概述的经验教训,并与开源社区和意法半导体合作伙伴计划的成员合作,公司可以改变其文化。安全性不一定是事后的想法。它可以引导公司创建强大的嵌入式系统,即使在面临安全挑战时也能蓬勃发展。

审核编辑:郭婷

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

    关注

    5045

    文章

    18816

    浏览量

    298459
  • Linux
    +关注

    关注

    87

    文章

    11123

    浏览量

    207895
  • 服务器
    +关注

    关注

    12

    文章

    8700

    浏览量

    84534
收藏 人收藏

    评论

    相关推荐

    嵌入式系统的未来趋势有哪些?

    (ML)技术的快速发展,嵌入式系统将更多地整合这些先进技术,以支持智能决策和自动化。在设备直接运行AI和ML模型,进行图像识别、自然语言处理、预测分析等任务,将极大提升嵌入式系统的智
    发表于 09-12 15:42

    七大嵌入式GUI盘点

    提供商业技术支持,同时也继续提供开源版本。MiniGUI嵌入式Linux系统提供了完整的多进程
    发表于 09-02 10:58

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发是一复杂的过程,涉及到硬件选择、操作系统移植、驱动开发、应用程序开发等多个方面。以下是嵌入式Linux开发的基本步骤,
    的头像 发表于 09-02 09:11 180次阅读

    嵌入式linux开发板怎么操作

    开发板概述 嵌入式Linux开发板是一种专门嵌入式系统开发而设计的硬件平台。它具有体积小、功耗低、性能高等特点,广泛应用于工业控制、智能家居、医疗设备、汽车电子等领域。与传统的PC机
    的头像 发表于 09-02 09:09 200次阅读

    嵌入式linux开发板芯片的工作原理

    了处理器、存储器、输入/输出接口等硬件资源的嵌入式系统开发平台。它通常采用Linux操作系统作为底层软件平台,提供了丰富的开发工具和库函数,方便开发进行
    的头像 发表于 09-02 09:07 168次阅读

    专家力荐|《嵌入式系统原理与开发——基于RISC-V和Linux系统》新书发售

    当前,嵌入式系统已成为智能设备的核心之一,RISC-V+Linux的开源力量嵌入式系统注入强大的创新动力。作为中国RISC-V软硬件生态领
    的头像 发表于 07-24 08:20 282次阅读
    专家力荐|《<b class='flag-5'>嵌入式</b>系统原理与开发——基于RISC-V和<b class='flag-5'>Linux</b>系统》新书发售

    嵌入式会越来越卷吗?

    以及大数据处理等技术之间的整合与互动可能会越来越密切。这种融合或许会带来更强大的系统和更广泛的应用,但也会带来新的挑战,如数据安全性和系统稳定性等问题。 嵌入式系统的“卷”涵盖了技术、应用和发展等多方面
    发表于 03-18 16:41

    嵌入式Linux应用程序开发详解-第3

    电子发烧友网站提供嵌入式Linux应用程序开发详解-第3章.pdf》资料免费下载
    发表于 11-16 11:19 0次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>应用程序开发详解-第<b class='flag-5'>3</b>章

    嵌入式软件与生态系统:嵌入式开发者提供必要的组件

    Xilinx 提供两款工具来构建和部署嵌入式 Linux 解决方案。这些工具有 Xilinx 的 PetaLinux 和 Yocto 的开源项目。PetaLinux 用户
    的头像 发表于 10-31 16:59 505次阅读
    <b class='flag-5'>嵌入式</b>软件与生态系统:<b class='flag-5'>为</b><b class='flag-5'>嵌入式开发者</b><b class='flag-5'>提供</b>必要的组件

    基于嵌入式Linux的数字相框设计

    电子发烧友网站提供《基于嵌入式Linux的数字相框设计.pdf》资料免费下载
    发表于 10-23 09:45 0次下载
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的数字相框设计

    基于ARM Linux和S3C2440的嵌入式Linux内核设计

    电子发烧友网站提供《基于ARM Linux和S3C2440的嵌入式Linux内核设计.pdf》资料免费下载
    发表于 10-12 10:37 2次下载
    基于ARM <b class='flag-5'>Linux</b>和S<b class='flag-5'>3</b>C2440的<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>内核设计

    基于嵌入式Linux系统的MiniGUI的移植

    电子发烧友网站提供《基于嵌入式Linux系统的MiniGUI的移植.pdf》资料免费下载
    发表于 10-12 10:20 1次下载
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系统的MiniGUI的移植

    什么是嵌入式Linux

    Linux到底是什么呢? 嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统
    发表于 10-11 13:47

    基于Linux嵌入式视觉系统设计原理

    电子发烧友网站提供《基于Linux嵌入式视觉系统设计原理.pdf》资料免费下载
    发表于 10-11 11:26 0次下载
    基于<b class='flag-5'>Linux</b>的<b class='flag-5'>嵌入式</b>视觉系统设计原理

    嵌入式Linux应用开发的完全手册

    嵌入式Linux嵌入式领域发展迅速、需求旺盛,但是嵌入式Linux 的入门很难。初学者多是自己琢磨,效率不高。学习过程中碰到的问题千奇百怪
    发表于 09-25 07:12