研讨会回顾|AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

400-666-7732

研讨会回顾

AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

物联网时代,如何保障嵌入式系统安全?

来源:Perforce      作者:龙智      发布时间:2022-05-24

关于嵌入式系统中的软件安全和防范, 你需要知道的

技术与以往任何时候相比都更加蓬勃发展,每天都会为之前无法想象的任务创造出新产品及新功能。这些创新领域不再局限于移动应用程序和计算机,而是集中于嵌入式系统和物联网(IoT)设备,并且已经在我们的日常生活中得到广泛普及。

嵌入式系统和物联网(IoT)设备几乎可以为所有载体运行软件,包括婴儿监控器、扬声器、健身追踪器、安全摄像头、恒温器和汽车等。

对于这种数字化世界,身为建筑师、麻省理工学院教授和作家的  Nicholas Negroponte 表示:“就如同空气和饮用水一般,人们对数字化生活已经高度适应,适应到忘记它们的存在,但一旦缺少这些人们就会无所适从。”根据 Nicholas 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静态分析工具,现在就联系Perforce授权合作伙伴——龙智,开始免费试用。

作者简介:

本文作者为哈维尔·佩雷斯(Javier Perez),Perforce软件开源和安全首席宣传员。哈维尔对技术和开源软件充满热情,他负责开源和应用程序安全组合的技术思想领导以及宣传。

哈维尔在应用开发、开源、云计算、应用安全、人工智能、SaaS和移动领域拥有20余年的丰富经验,经常参加世界各地的行业活动并发言。哈维尔拥有计算机系统荣誉学位和工商管理硕士学位。

文章来源:https://bit.ly/3Nts4rQ

Klocwork——针对C, C++, C#, Java程序的 静态代码分析工具

最新文章

相关产品

分享到:
关于龙智

龙智DevSecOps解决方案

龙智深耕DevSecOps相关领域近十年,集成DevOps、ITSM、Agile管理思路及该领域的优秀工具,提供软件研发生命周期管理解决方案,以及实施、培训、升级、数据迁移、定制开发、运维等服务。

龙智致力于帮助企业实现软件开发运营一体化,并确保安全防护融入软件研发的整个生命周期中。龙智提供从产品规划与需求管理、开发,到测试、部署以及运维全生命周期的解决方案与管理工具,帮助企业科学、高效、安全地管理软件开发,更快、更好地交付软件产品。

近年来,龙智团队潜心开发,先后帮助金融、通信、互联网、汽车、芯片、游戏、医疗等行业的1000多家企业促进开发安全运营的一体化的实践。 秉承着打造开放式DevSecOps的理念,龙智与国外其他多家DevOps工具顶级厂商如Atlassian、Perforce、Mend(原WhiteSource)、CloudBees、SmartBear等合作,将国际市场上先进的工具引入中国市场,帮助企业打造量身定制的DevSecOps解决方案、ITSM解决方案,助力企业高效开发与运维。

我们的自研产品包括Confluence水印插件,Timewise-Jira计划及实际工时管理插件,Jira服务台企业微信应用插件等;我们还与全球DevOps领域领先的企业建立了合作伙伴关系,我们是:

· Atlassian全球白金合作伙伴

· Perforce中国授权合作伙伴

· Mend (原WhiteSource)中国授权合作伙伴

· CloudBees中国授权合作伙伴

· SmartBear中国授权合作伙伴