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

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

3天内不再提示

您需要了解的嵌入式系统软件的功能安全与信息安全

北汇信息POLELINK 2022-11-03 10:47 次阅读

当代的科技正在以前所未有的速度发展,每天都有崭新的产品与功能出现,完成难以想象的任务。这种情况不再局限于手机APP和计算机,同时也包括了对我们日常生活来说更普遍的嵌入式系统物联网设备。

感觉几乎所有的设备都在运行软件:婴儿监视器,扬声器,健身追踪器,安全摄像头,恒温器和车辆等等。

对于这样的新世界,建筑师、MIT教授、作家Nicholas Negroponte表示,“如同空气与饮水,数字化只会因缺失被注意到,而不是它的存在。”就Negroponte所提的观点,我们已被数字科技所包围,甚至直到它消失或其成为安全问题时,我们才会注意到它。

我们所知的包括嵌入式系统的物联网设备,具备处理器传感器和其它通过网络连接的功能。当我们谈及嵌入式系统,我们指的是在更大的数字、机械电气系统中有专门功能的处理器。嵌入式系统可以是物联网设备中的固件,也可以是汽车、机器人、信用卡读卡器、手机、小工具、网络设备、医疗设备或任何东西中的电子控制单元(ECU)。

为什么C与C++对于嵌入式系统软件的功能安全及信息安全很重要

由于规模及成本的限制,嵌入式系统的软件在运算、内存和功率方面的计算资源有限。随着对轻量化软件的需求提升,编程语言如C和C++等已在嵌入式系统中占据主导地位,就如同它们在当前大多数云服务器的 Linux 内核上一样。虽然 C++ 比 C 需要更多的计算资源,但微处理器性能的提升使得 C++ 成为全球数百万嵌入式系统的首选语言。

其他编程语言(如Python)也用于嵌入式系统,但C 和 C++ 是主要的语言选择。还有一种嵌入式C++(EC++)是C++语言的子集,它通过完整 C++ 语言的主要功能,实现更大的空间和速度效率。当今的微处理器可以装载C++ 编译器,这让嵌入式系统编码将变得更加简单。

嵌入式系统的编程不同于其它类型的应用。首先,你有资源限制,然后必须针对鲁棒性、实时性、可靠性以及长时间不停机运行进行设计。然而更重要的是代码必须兼信息安全与功能安全。尤其考虑到嵌入式系统与物联网设备在如医疗健康,制药,或汽车和航空航天行业中的重要性。这项技术的缺失不仅会引起关注,如果它们真的不安全更会造成严重后果。

为什么静态分析对于嵌入式系统软件的功能安全及信息安全很重要

静态分析是确保,源代码不存在可能导致漏洞和攻击缺陷的最重要工具之一。静态分析也被称为静态应用程序安全测试或SAST,静态分析会扫描应用程序的源代码,包括嵌入式系统和物联网的代码。高度专业的代码扫描根据所使用的相应编程语言和框架寻找特定缺陷。 静态分析工具(例如Perforce Helix QAC和Klocwork)也可以报告编码规范的合规情况。

静态分析工具允许开发测试团队去分析数千甚至数百万行代码。他们可寻找代码中的缺陷并根据规则执行编码标准。最重要的是,它们已成为软件开发生命周期中不可或缺的一部分,并且必须定期在源代码上运行,如在每次代码变更或发布新版本之前。

由于我们身处于以嵌入式系统和物联网形式的数字科技世界,功能安全与信息安全的重要性与日俱增,尤其在跨行业的关键功能领域。静态分析可以发现功能安全和信息安全缺陷,这可以防止有缺陷的设备被大规模生产,并节省资金和企业声誉。

嵌入式设备的安全性在于降低漏洞数量。严重性级别各不相同,高度严重的漏洞代表了更高的被攻击风险。有几种常见漏洞是所有软件都存在的,不管它是在哪部署的。在嵌入式系统和物联网设备中,漏洞大多与内存缓冲区溢出、资源泄漏、不当访问控制、密码问题和代码注入有关。这些是在嵌入式系统中通过静态分析扫描发现的一些最常见的嵌入式安全漏洞。

为什么编码标准对于嵌入式系统软件的功能安全及信息安全很重要

如上述所说,C 与C++在嵌入式系统中被广泛使用。多年来,企业意识到功能安全与信息安全在所有代码中的重要性,特别是C和C++的嵌入式设备。在这些设备中,故障的成本可能不仅仅是财务上的。随着时间的推移,编码标准的出台以及持续的改进,就是为了帮助提高软件安全性,可移植性,可靠性以及可维护性。静态分析除了搜索源代码中的缺陷和漏洞外,还可以应用编码标准中规定的规则和建议。这对需要验证是否符合行业标准合规性的企业尤其重要。常见的嵌入式系统编码标准包括MISRA,AUTOSAR以及CERT。

还有一些功能安全(FuSa) 标准,例如 ISO 21434、ISO 26262、IEC 61508、ISO 13849 和 IEC 62061,专门针对汽车和制造等不同行业的嵌入式系统。

为嵌入式系统编码,遵循编码标准,并将静态分析置于软件研发生命周期中的一部分,将会让我们的数字化世界更加安全。正如前面提到的,“如同空气与饮水,数字化只会因缺失被注意到”,还有在违反功能安全和信息安全的情况下亦如是。

如果您想亲手体验成千上万研发者所信赖的Perforce静态分析工具,现在即可免费申请试用,详情请私信联络北汇信息。

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

    关注

    5082

    文章

    19117

    浏览量

    304978
  • 信息安全
    +关注

    关注

    5

    文章

    656

    浏览量

    38899
收藏 人收藏

    评论

    相关推荐

    FSG中国正式成立,推动嵌入式功能安全迈向新高度

    功能安全专家小组致力于提供一站功能安全认证服务,助力提升嵌入式
    的头像 发表于 12-18 15:56 150次阅读
    FSG中国正式成立,推动<b class='flag-5'>嵌入式</b><b class='flag-5'>功能</b><b class='flag-5'>安全</b>迈向新高度

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

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

    【「嵌入式Hypervisor:架构、原理与应用」阅读体验】+ Hypervisor应用场景调研

    ,不依赖宿主操作系统,直接运行在硬件资源之上,如下图: 那嵌入式系统为什么要引入Hypervisor呢?书中说是因为嵌入式系统
    发表于 10-14 11:21

    嵌入式系统怎么学?

    系统设计与调试:需要掌握嵌入式系统的设计方法和调试技术,包括硬件设计、软件设计、电路调试等,以确保系统
    发表于 07-02 10:10

    从事嵌入式方向,一定要软硬件通吃?

    嵌入式系统开发领域,软件和硬件的界限常常模糊不清。一个常见的问题是,嵌入式软件工程师是否需要了解
    的头像 发表于 06-05 08:10 1183次阅读
    从事<b class='flag-5'>嵌入式</b>方向,一定要软硬件通吃?

    Vector推出符合ISO 26262最高安全标准的ECU嵌入式软件

    做到Fail-Operational,即要保证功能的高可用性。   Vector全新的高可用性嵌入式软件使得安全相关系统不仅能够检测故障,而
    的头像 发表于 06-03 17:21 758次阅读

    嵌入式系统软硬件基础知识大全

    ,应用程序开发是嵌入式系统开发的关键环节。我们还需要了解嵌入式系统的应用程序开发流程,包括需求分析、系统
    发表于 05-09 14:12

    FSG正式成立,Parasoft推动嵌入式功能安全FuSa再升级

    与协作平台,FSG将致力于提供一站功能安全认证相关的技术咨询服务、产品和开发资源,协助嵌入式功能安全
    的头像 发表于 04-24 15:21 313次阅读

    RT-Thread Safety Auto嵌入式操作系统通过多项国际功能安全认证

    RT-Thread Safety Auto作为一款专为汽车、工业自动化等高安全领域设计的嵌入式操作系统,通过了ISO 26262:2018、IEC 61508:2010以及EN 50128:2011等多项国际
    的头像 发表于 03-28 10:14 724次阅读
    RT-Thread Safety Auto<b class='flag-5'>嵌入式</b>操作<b class='flag-5'>系统</b>通过多项国际<b class='flag-5'>功能</b><b class='flag-5'>安全</b>认证

    定制嵌入式主板,需要考虑的功能有哪些?

    随着科技的不断发展和进步,嵌入式系统在各行各业中得到了广泛的应用。嵌入式主板作为嵌入式系统的核心组件,起着至关重要的作用。在定制
    的头像 发表于 02-29 17:38 519次阅读
    定制<b class='flag-5'>嵌入式</b>主板,<b class='flag-5'>需要</b>考虑的<b class='flag-5'>功能</b>有哪些?

    嵌入式软件开发应该掌握哪些知识?

    两个部分组成,其中嵌入式软件是指在嵌入式系统中运行的程序,用于控制硬件并提供特定的功能和服务。嵌入式
    发表于 02-19 11:23

    如何使用 DSC 和 MCU 确保嵌入式系统安全

    作者:Stephen Evanczuk 投稿人:DigiKey 北美编辑 随着向物联网 (IoT) 的迁移,安全性已不再是嵌入式应用中的选配功能,已发展成为确保系统完整性所需的必备能力
    的头像 发表于 02-13 14:38 735次阅读
    如何使用 DSC 和 MCU 确保<b class='flag-5'>嵌入式</b><b class='flag-5'>系统安全</b>

    嵌入式学习步骤

    语言编写。但是,有些嵌入式系统也使用其他编程语言,例如Python或Java。 (3).了解硬件:深入了解您要控制的硬件设备的功能和特性。
    发表于 02-02 15:24

    高端嵌入式实验平台

    一、整体概述 该嵌入式平台具有前沿性、专业性、高集成度、功能丰富等特点,平台涵盖嵌入式计算机技术、嵌入式硬件接口、嵌入式
    的头像 发表于 01-29 09:55 520次阅读
    高端<b class='flag-5'>嵌入式</b>实验平台

    基于功能安全的汽车嵌入式软件单元验证技术研究

    随着汽车嵌入式软件功能的不断叠加,软件复杂性不断提升,对汽车嵌入式软件
    的头像 发表于 01-07 11:27 1053次阅读
    基于<b class='flag-5'>功能</b><b class='flag-5'>安全</b>的汽车<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>单元验证技术研究