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

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

3天内不再提示

保护嵌入式软件安全的5个步骤

星星科技指导员 来源:嵌入式计算设计 作者:Bill Dickenson 2022-10-20 10:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着越来越多的功能被嵌入到越来越小的设备占用空间中,安全问题也在增加。通常,新功能会排挤基本的安全问题,因为供应商将越来越多的功能打包到软件包中,而几乎没有整体系统工程,而只是粗略的安全测试。

嵌入式环境已经成熟,安全性必须走在最前沿,就像 20 世纪 90 年代 PC 发展时的安全性一样。随着物联网IoT)的爆炸式增长,毫无疑问,任何安全漏洞都将被利用。物联网设备使非常有用的业务案例成为现实。同时,它们也带来了失去控制的风险。今天的嵌入式系统更加强大和脆弱。如果嵌入式系统要避免1990年代的陷阱,协议和方法在成为新一代黑客的切入点之前必须到位。

IT 标准组织(如 IT 软件质量联盟 (CISQ)、MITRE 常见弱点枚举 (CWE) 以及 ISO 9000 和 ISO 25000)发布了指南和软件质量标准。CISQ发布了针对安全性、可靠性、性能效率和可维护性的自动化质量措施。这些度量提供了一些特定属性,这些属性应用作嵌入式系统可能需要实现其业务/任务功能的证据。在检查嵌入式系统的状态时,很明显,安全性应该预先设计。

实施安全策略

在考虑安全性时,大多数嵌入式系统工程师会立即关注保护数据的问题。系统不仅应该保护数据(在应用程序中),还应该保护接口不被滥用。这五个步骤代表了开发嵌入式安全策略的合理起点。

执行空间中没有未经测试的程序 – 除了执行函数所需的程序之外,其他任何程序都不应存在于可以执行它们的位置

数据必须是私有的 - 程序不应无意中向彼此或向网络公开信息

在两端确认数据 – 所有信息必须能够得到验证,并且必须在预期范围内,并且越界信息被拒绝

安全设备 – 设备应能够在启动期间验证其完整性;设备应在发送或接收数据之前对自己进行身份验证

遵循标准 – 查看 IT 软件质量联盟 (CISQ) 质量特征度量,这些度量值可以自动执行,以进行持续的安全性和软件质量分析和缓解

采取措施 – 如果发生异常,程序在处理问题时必须继续运行

执行空间中没有未经测试的程序

随着嵌入式供应商努力使其产品与众不同,他们将程序添加到其标准分发中。其中许多将不会被使用,并代表潜在的安全风险。这些程序必须被消除,或者更好的是,永远不要安装。要求一个操作系统发行版,除了操作系统工作和手动安装程序的必需品之外,没有任何内容。极简主义策略最适合代码。如果供应商不提供精简的分发,操作系统可以限制这些程序和敏感 API 的访问权限,或者可以删除未使用的代码。

更好的方法是为自定义和第三方应用程序提供一个沙盒,以便执行,然后通过 API 推送通信,从而提供必要的隔离。

硬件本身应该是“干净的”,没有安装任何程序。开发人员安装设备上的任何程序都是关键。每段代码都必须来自受信任的开发人员,并且在安装之前无法更改。

数据必须是私有的

程序不应无意中相互暴露信息或向网络公开信息。尽管相信一台设备不能在互联网上被黑客入侵是很诱人的,但它根本不是现实。随着程序中模块的增长,数据工件往往会随之增长,数据往往会变得越来越暴露。

嵌入式设备收集敏感数据(例如,医疗保健,企业),并且很有可能在数据流量到达目的地之前重新路由和修改数据流量。应该进行检查以防止复制和粘贴,以及在设备落入坏人之手时远程擦除数据的能力。

开发人员在满足最后期限的压力下,倾向于从自己和同事那里借用代码和例程。任何安全漏洞都将被传播。在第一时间正确设计和构建代码。

在两端确认数据

所有信息都必须在预期范围内进行验证,并明确识别。在两端使用相同的例程来验证内容至关重要。接口应该对传入的内容敏感,并且能够在数据不正确时采取措施。当设备从“受信任”的设备接收到不良数据时,入侵很可能是黑客攻击。对于直接硬件接口也是如此。

与隐私一样,所有与外部世界的联系都需要被视为可疑。应验证接口并检查数据。

保护设备

设备应该能够在启动期间验证其完整性,并应在发送或接收数据之前对自己进行身份验证。知道谁在发送数据很重要,其中一个更简单的黑客是替换未经验证的设备。

启动时,设备必须使用加密生成的数字签名。资源受限的设备可以使用独特的硬件特征而不是计算密集型算法来生成用于身份验证的数字签名。未通过该检查的设备应具有计划的响应。默认操作可能不适用于任何给定设备。

每个设备都应该有一个密钥,每个设备都应该知道其类型的可接受密钥。当收到未识别的密钥时,应计划响应,而不是简单地忽略响应。如果接收信息对设备的功能至关重要,则多次接收错误的 ID 应被视为攻击。规划此故障至关重要。

遵循标准

CISQ发布了一个安全标准,旨在识别由MITRE在常见弱点枚举(CWE)中维护的IT应用软件中的前25个已知安全漏洞。CWE 是一组可衡量的项目,可用作复原能力、安全性和安全性的证据。代码分析器(如 CAST)可以从复杂的环境中挑选出这些代码。开发人员应该始终与这些重要标准保持联系。

下手

如果发生异常,程序在处理问题时必须继续运行。开发人员通常专注于接收到良好数据时会发生什么,但错误处理通常过于简单。开发人员培训假设不良数据是编程的产物,而不是黑客攻击,这是需要审查的策略。对所有关键组件进行保证案例测试。保证案例支持对实现进行迭代审查和修订,直到系统显示正确的行为。

在某些情况下,设备可能有一种方法可以通知另一个设备它受到攻击。在其他情况下,它可能只是选择忽略或解决威胁。无论哪种情况,通信都是避免黑客攻击的强大武器。

保护嵌入式设备

嵌入式安全正在成为嵌入式设备的关键需求。通过遵循这些建议,您的嵌入式解决方案可以专注于解决其旨在解决的问题,而不会为新一代黑客打开闸门。

审核编辑:郭婷

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

    关注

    5186

    文章

    20146

    浏览量

    328812
  • 物联网
    +关注

    关注

    2939

    文章

    47317

    浏览量

    407852
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32嵌入式软件开发的必备知识

    嵌入式软件开发作为计算机科学和电子工程的交叉领域,要求开发人员具备一系列的专业知识和技能。 而基于CW32的嵌入式软件开发必备知识包括以下部分: 1 、编程语言 熟练掌握C(C++
    发表于 11-28 07:48

    如何采用SAFERTOS和ESM保护嵌入式系统安全

    信任根的重要组成部分是实时操作系统(RTOS),它为应用程序的运行提供了一安全的平台。嵌入式系统的具体安全要求取决于其架构以及所面临的威胁。在本博客中,我们将探讨RTOS的
    的头像 发表于 10-24 15:51 1149次阅读

    RT-Thread 2025嵌入式软件大赛重磅来袭

    为激发开发者潜能、促进技术交流,RT-Thread 正式启动2025年度嵌入式软件大赛! 本赛道为嵌入式软件大赛,聚焦嵌入式
    的头像 发表于 09-22 16:40 3251次阅读
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>大赛重磅来袭

    RT-Thread 2025嵌入式软件大赛重磅来袭

    为激发开发者潜能、促进技术交流,RT-Thread正式启动2025年度嵌入式软件大赛!本赛道为嵌入式软件大赛,聚焦嵌入式
    的头像 发表于 09-20 10:06 1290次阅读
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>大赛重磅来袭

    新一代嵌入式开发平台 AMD嵌入式软件和工具2025.1版现已推出

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。 2025.1 版嵌入式软件
    的头像 发表于 08-20 09:15 3627次阅读

    AMD 2025.1版嵌入式软件和工具的新增功能

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。
    的头像 发表于 08-15 15:32 1031次阅读

    嵌入式软件开发常用的软件有哪些?

    、编译和调试嵌入式系统软件。它提供了一集成的开发环境(IDE),包括代码编辑器、编译器、调试器和仿真器等组件,这些组件可以方便地进行配置和管理,提供了高效的开发体验。Keil 5支持
    发表于 07-03 17:06

    嵌入式软件行业增长驱动因素

    嵌入式软件在物联网应用中至关重要,因为它管理设备操作、控制传感器、支持连接并确保数据安全。例如,在智能家居中,恒温器、安全摄像头和灯光等设备使用嵌入
    的头像 发表于 05-09 11:26 665次阅读

    嵌入式应用中常见的安全威胁

    越来越多的嵌入式设备存在互联需求,在安全应用开发中,除功能安全外,应用还需考虑信息安全
    的头像 发表于 04-28 14:45 992次阅读
    <b class='flag-5'>嵌入式</b>应用中常见的<b class='flag-5'>安全</b>威胁

    嵌入式主板开发详细指南

    嵌入式主板开发涉及硬件设计、软件集成、系统优化等多个环节,需要结合具体应用场景进行深度定制。以下是嵌入式主板开发的详细指南,涵盖关键步骤、工具、挑战及实际案例:一、开发流程与关键
    的头像 发表于 04-02 11:35 937次阅读
    <b class='flag-5'>嵌入式</b>主板开发详细指南

    嵌入式软件测试技术深度研究报告

    嵌入式软件测试技术深度研究报告 ——基于winAMS的全生命周期质量保障体系构建 一、行业技术瓶颈与解决方案框架 2025年嵌入式软件测试领域面临两大核心矛盾: ‌
    的头像 发表于 03-03 13:54 764次阅读

    嵌入式机器学习的应用特性与软件开发环境

    设备和智能传感器)上,这些设备通常具有有限的计算能力、存储空间和功耗。本文将您介绍嵌入式机器学习的应用特性,以及常见的机器学习开发软件与开发环境。 嵌入式机器学习的应用特性与优势 由于嵌入式
    的头像 发表于 01-25 17:05 1210次阅读
    <b class='flag-5'>嵌入式</b>机器学习的应用特性与<b class='flag-5'>软件</b>开发环境

    如何提高嵌入式代码质量?

    嵌入式系统的发展已经深刻地影响了我们日常生活的方方面面,从智能家居到汽车控制系统,再到医疗设备和工业自动化等领域,嵌入式系统无处不在。嵌入式软件的质量直接关系到系统的
    发表于 01-15 10:48

    普华基础软件推动嵌入式功能安全迈向新台阶

    近日,由普华基础软件、IAR、秒尼科、芯来科技、恩智浦、Parasoft、瑞萨电子7家企业作为初始成员共同组成的功能安全专家小组中国(简称FSG中国)在上海正式宣布成立。作为专门研究嵌入式功能
    的头像 发表于 12-12 11:19 861次阅读

    新手怎么学嵌入式?

    ,实现一些简单的功能,如点亮一 LED 灯、读取传感器数据等,来加深对嵌入式技术的理解。你还可以参加一些线上或线下的嵌入式项目实践活动,与其他爱好者一起学习和交流。 5. 学习
    发表于 12-12 10:51